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?

  • \$\begingroup\$ KISS -- pick the simplest (whatever that means to you in terms of hardware or software) approach that meets your actual requirements. Or as Einstein once put it, "Make it as simple as possible, but no simpler." \$\endgroup\$ – Dave Tweed May 12 at 20:59
  • \$\begingroup\$ What about the specs @DaveTweed ? \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 May 12 at 23:09
  • 1
    \$\begingroup\$ Best avoid "rule of thumbs" as they only dumb down, with the risk of eternally oversimplifying all the results (and their consequences). The only good thing about these is a quick pointing in a direction, if you have no clue (might be this case, might not). Not the direction itself, or the goal. Think of them as initial conditions: properly set will allow for fast(er) transients before convergence, otherwise they wobble all over the place or even diverge. Personally, I found out that people going for these tend to be shallow and run from responsability or blame others when things go wrong. \$\endgroup\$ – a concerned citizen May 13 at 6:11
  • \$\begingroup\$ What kind of signal do you process? Is it frequency filter? If it is so then at least you should state frequency range (audio frequency, MW, SW, HF, UHF). If it is other type of filter then at least you should describe what kind of signal you have as input. \$\endgroup\$ – Polar Bear May 13 at 17:50

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)

| improve this answer | |
  • 1
    \$\begingroup\$ The Butterworth filter has both overshoot and flatness in passband. For Cauer you forgot to add "ripple". \$\endgroup\$ – a concerned citizen May 13 at 6:02
  • \$\begingroup\$ Good answer, but one other factor is real-time response. These are all IIR filters; of course they do have delays, but that delay is typically small. FIR filters typically have much longer delays; and other filters exist which work backwards on the data so cannot be run in real-time at all. \$\endgroup\$ – Graham May 13 at 13:58
  • \$\begingroup\$ Thanks @aconcernedcitizen maybe I’m dyslexic ;). Will update when time permits or feel free yourself. \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 May 13 at 17:58
  • \$\begingroup\$ @Graham Thanks . Since I have no IIR/FIR experience that would be good for you to expand. Or add ... \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 May 13 at 18:02

Yes, there is. Start with identifying the signal you need to filter and it's frequency range.

You want to pick a filter that won't filter out the signal. The pass band of the signal will need to be the same as the signals frequency range.

Low pass filters go from DC (0Hz) to wherever you set the pole.

High pass filters are the opposite.

Band pass and notch are simply combinations of low pass and high pass filters.

Then pick a filter

enter image description here Source: https://www.norwegiancreations.com/wp-content/uploads/2016/03/filters.png

If there is noise, you'll need to determine the stop band and the roll off of the filter to filter out the noise.

| improve this answer | |

determine where is the INFORMATION you need to preserve.

determine where is the "noise" you seek to remove.

determine how a quantizer may alias "noise" onto your information

Having done the three prior steps, you should be able to define

  • the dynamic range

  • the signal floor

  • the "noise" floor, include injected interferers from PCB layout and VDD trash

  • the allowable distortion of the quantizer ( called INL)

and now you can ponder the benefit of dsp.

| improve this answer | |

The basic filter types in the analog world (Bessel, Butterworth, Chebyshev, Cauer/elliptical and others) all have digital equivalents. And, just like in the analog world, different digital filters have tradeoffs in complexity, passband/stopband transition steepness, passband/stopband ripple, phase linearity, and stability/sensitivity.

Digital filters have an additional issue: quantization. That comes under the heading of 'sensitivity', but nevertheless must be dealt with in your design by sizing your coefficients and datapaths appropriately.

A common design approach for determining an optimal filter type is called windowing. More about this here: https://www.allaboutcircuits.com/technical-articles/finite-impulse-response-filter-design-by-windowing-part-i-concepts-and-rect/

With this in mind, if you're looking for a 'rule of thumb', choose the filter type that is the least aggressive to get the job done. Windowing will help you do that, as you will specify your constraints ahead of time and test your candidate filters against them.

If you're new to FIR design, this may be of interest to you. https://ocw.mit.edu/resources/res-6-008-digital-signal-processing-spring-2011/ It's taught by Alan V. Oppenheim, who wrote a well-known book on the topic. Bonus: epic 1970s mustache.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.