Advertisement
1 / 26

The Parks-McClellan Algorithm PowerPoint PPT Presentation


  • 233 Views
  • Uploaded on 01-06-2012
  • Presentation posted in: General

The Parks-McClellan Algorithm. ECE 345 Final Presentation Group 14 Justin Haldar Arun Ramani April 30 th , 2004. The Parks-McClellan algorithm. - PowerPoint PPT Presentation

Download Presentation

The Parks-McClellan Algorithm

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


The parks mcclellan algorithm l.jpg

The Parks-McClellan Algorithm

ECE 345 Final Presentation

Group 14

Justin Haldar

Arun Ramani

April 30th, 2004

Justin Haldar and Arun Ramani


The parks mcclellan algorithm2 l.jpg

The Parks-McClellan algorithm

  • The Parks-McClellan algorithm is used to design linear-phase Finite Impulse Response (FIR) digital filters that are optimal with respect to the Chebyshev Norm (minimize the maximum error).

Justin Haldar and Arun Ramani


Motivation l.jpg

Motivation

  • Low-pass filters are useful for many different applications in Electrical Engineering

  • It is useful to be able to quickly create a customized low-pass filter that can be used in a laboratory setting

Justin Haldar and Arun Ramani


The project l.jpg

The Project

  • This project allows a user to design an optimal finite impulse response (FIR) lowpass filter without having to have detailed signal processing knowledge. The user will be asked to input the passband and stopband frequencies, the desired filter length, and a desired weighting factor between the stopband and passband ripples. The Digital Signal Processor (DSP) board will then calculate the optimal filter satisfying these specifications, and will begin to filter its input based according to the optimal design.

Justin Haldar and Arun Ramani


The project continued l.jpg

The Project (continued)

  • In addition, we designed an analog low-pass filter to be used as a pre-filter on the ADC on the DSP.

Justin Haldar and Arun Ramani


User inputs l.jpg

User Inputs

  • Designed for band edges between 0 and 4 KHz

  • Designed for odd-length filters of order 5 to 127

  • User should specify the desired Passband/Stopband ripple ratio

Justin Haldar and Arun Ramani


Filter characteristics l.jpg

Filter Characteristics

Justin Haldar and Arun Ramani


Dsp specifications l.jpg

DSP Specifications

  • Ripple ratio of designed digital filter within 5% of desired ripple ratio

  • Designed digital filter coefficients to be within 50% of the same digital filter designed with a MATLAB library function

Justin Haldar and Arun Ramani


Software block diagram l.jpg

Software Block Diagram

Justin Haldar and Arun Ramani


Analog low pass filter l.jpg

Analog Low-pass Filter

Justin Haldar and Arun Ramani


Analog low pass filter specifications l.jpg

Analog Low-pass Filter Specifications

  • Passband of 4KHz

    • Maximum of 1 dB ripple

  • Stopband of 7KHz

    • Maximum of –20dB

  • 4th-order Chebyshev Design

Justin Haldar and Arun Ramani


Accomplishments l.jpg

Accomplishments

  • Designed MATLAB implementation of the Parks-McClellan Algorithm

  • Designed DSP implementation of the Parks-McClellan Algorithm

  • Designed Analog Low-pass filter

  • Integrated DSP and Analog filter together

Justin Haldar and Arun Ramani


Project build l.jpg

Project Build

  • First designed MATLAB implementation

    • Iterated through various combinations of passband, stopband, ripple ratio, and filter length for more than 15,000 total tests

    • Our MATLAB code matched MATLAB’s library function except when MATLAB designed a filter incorrectly

    • We did not always converge in the same places MATLAB does because MATLAB uses a modified version of the algorithm

    • We also began to notice numerical effects in the interpolation process

Justin Haldar and Arun Ramani


Project build ii l.jpg

Project Build (II)

  • Ported our MATLAB code to the DSP

    • DSP has 16 bit precision, while MATLAB has 32 bit precision, causing more extreme numerical effects

    • DSP also has helpful error messages when numerical effects cause the algorithm to fail to converge

      • Filter length suggestions

      • Transition band length suggestions

Justin Haldar and Arun Ramani


Dsp testing l.jpg

DSP Testing

  • 140 different tests on the coefficients generated by the DSP

    • 120 standard cases (moderate transition band lengths and moderate ripple ratios)

    • 20 extreme cases (very high or very low ripple ratios or very narrow transition bands)

Justin Haldar and Arun Ramani


Dsp testing ii l.jpg

DSP Testing (II)

  • In the standard cases where the algorithm converged correctly, there was a maximum of 3.79% ripple error and a maximum of 0.0027% error in the coefficients versus the MATLAB coefficients

Justin Haldar and Arun Ramani


Dsp testing iii l.jpg

DSP Testing (III)

  • In the 20 extreme cases, 17 passed correctly. Of these, the maximum ripple ratio error was 2.32% and the maximum coefficient error was 0.6436%

Justin Haldar and Arun Ramani


Dsp testing iv l.jpg

DSP Testing (IV)

  • The 3 cases that didn’t pass

    • 0Hz passband and 1Hz stopband was designed as an all-stop filter because of numerical precision effects in interpolation

    • The other 2 failures occurred in the extreme ripple ratio cases (106 and 10-6 passband/stopband ripple). This is because the problem is hard to represent numerically when one of the ripples is so small

Justin Haldar and Arun Ramani


Analog filter testing l.jpg

Analog Filter Testing

  • Before building the circuit, we simulated designs in ADS. The design we ended up with had an 85% yield given component variation

Justin Haldar and Arun Ramani


Analog filter testing20 l.jpg

Analog Filter Testing

Justin Haldar and Arun Ramani


Analog filter testing21 l.jpg

Analog Filter Testing

  • Conducted 15 tests of built filter

    • Did a frequency sweep as the input of the filter using several different input amplitudes

Justin Haldar and Arun Ramani


Analog filter testing ii l.jpg

Analog Filter Testing (II)

Justin Haldar and Arun Ramani


Overall system testing l.jpg

Overall System Testing

  • 16 Tests on output of overall system

    • Most of the cases we tried gave good results in terms of what the output signal looked like (it filtered what it was supposed to filter)

    • Ripple ratio error ranged from 59.64% to 3.95%

      • Issues arise from oscilloscope noise, DSP hardware filter, effects of ripple in Analog Filter

      • Noise effects skew ripple ratio greatly because the ripple is never larger than 1, and can be much smaller (i.e. 10-7), and the noise was on the order of 0.06 Volts. Thus, small perturbations in each ripple can cause large perturbations in the error

Justin Haldar and Arun Ramani


Performance results l.jpg

Performance Results

  • Overall system works as we intended it to

  • DSP has a built-in hardware filter that only passes frequencies of 500 Hz to 3.25 KHz with equiripple characteristics, while the DSP can design filters with frequencies between 0 Hz and 4 KHz

  • The DAC on the DSP inserts a 900 mV DC offset to the output signal

Justin Haldar and Arun Ramani


Recommendations l.jpg

Recommendations

  • Use a different DSP

    • Higher numerical precision

    • No hardware filter

    • No DC offset in output

  • Use less-noisy wires and oscilloscopes when extreme precision is required

Justin Haldar and Arun Ramani


The end is near l.jpg

The End is Near

  • Questions and Comments

Justin Haldar and Arun Ramani