Electronic – How to pick correct filter for a given signal processing task

digital filterdspMATLABsignal processing

I did a study on digital signal processing and I found many theories.

But I don't know how to figure out which filter to use when I get a practical signal processing task.

Is there a procedure for how to pick the right signal processing procedure?

Any there any rules of thumb to pick the right filter or how to get started to picking the right filter for any signal processing task?

Best Answer

It is not a matter of simplicity. Rather it is attention to details by stating the critical performance specs THEN meeting them simply.

Your first task in ANY DESIGN is to define ALL requirements. Then break it down into more detailed specs in a written checklist!

  • cost vs qty, R&D time, size or space, performance, reliability, stability, tolerances error budget.
  • If you know DSP and filter theory, next you need application theory or just experience to choose the best from SNR, Jitter group delay distortion, Phase jitter, BER, Inter Symbol Interference, Crossover gain flatness, Adjacent Channel rejection, Image Rejection, LO Rejection etc.

    Perhaps the Profs lack experience and that is reflected in the filter theory courses.

This is just a quick and dirty guide.

PHYSICAL: {Passive, analog electronic, Digital, Interdigital, Surface Acoustic Wave (SAW), Ceramic/Xtal}

  • Network synthesis filters

    Butterworth filter: ( Maximally Flat Amplitude response but large group delay near edge with step overshoot)
    Chebyshev filter: ( steep skirts vs passband ripple tradeoff )
    Cauer (Elliptic) filter: ( Bandpass-Bandstop with the steepest skirt tradeoff
    Bessel filter: ( a maximally flat group delay, maximally linear phase with max flat tradeoff )
    Gaussian filter: ( no overshoot to a step function input yet minimal rise, Gaussian Impulse approx )
    Legendre filter: Monotonic filter, unlike Cheby. but less initial steepness, aka Optimum "L"
    Raised Cosine: ( zero Inter-Symbol-Interference (ISI) with data patterns, jitter-free, tradeoffs Q ringing at zero-crossing )
    Linkwitz–Riley filter: (unlike all other filters defined by -3dB, this crossover LPF+HPF @ -6dB flat sum

Image impedance filters

***Constant-k*** filter
***m-type*** filter

Simple filter Apps: Falstad Pass & Active, TI Filter Designer ... many Others

enter image description here RC filter RL filter LC filter RLC filter

If you like to visualize Pole-Zeros or the location of peaks in the filter when unloaded ( no Damping Load resistor), for giggles and kicks, here is an Audio passive Mid-band filter.

Remember this for future use. The Red Line below is the actual filter with a load. I pulled the load R off so you could see the poles that shape the band edge. This is how filters are shaped by a series of staggered poles and zeros.

The source impedance is 0 here. This is not meant to be a practical filter with mH chokes with 0 DCR, just illustrative showing the tradeoffs between Q and Pole placement if you have a stronger visual memory.

Bessel Filters always have the lowest Q and lowest Group Delay error but most gentle amplitude changes at the breakpoint. In each filter, each pole/zero has a different Q and placement to control 1 characteristic of amplitude or delay or phase slope better as a tradeoff.

The mathematical properties are well defined with user-variables on ripple or perhaps linear-phase error BW beyond the -3dB breakpoint. The only difference below is the Filter choice (Butt..Cheb.. Bessel)

enter image description here enter image description here

The yellow line is cursor-controlled showing 1kHz on plot for both Bode Plot and Pole-Zero Plot.

enter image description here

Each filter is 1kHz centre with 3.78 kHz BW (arbitrary Mid-audio passband to cut-off bass and tweeter). The vertical scale is 20dB/grid.

This was just to show the RLC equivalent circuits not a practical Active RC filter. I could have shown 5G filters just as well, but some other time.

Keep in mind when displaying very high Q filters there may be aliasing errors (lower peaks than actual) on the display for both this simulator or a Network or Spectrum analyzers, so the Video resolution or span must be adjusted when possible.

OK maybe it's not so quick & dirty... ;) (*popular '70's designer choice words from a paper napkin design spec)