An Introduction To High Efficiency And Multi-rate Digital Filters

John Edwards · Watch Now · DSP Online Conference 2021 · Duration: 01:07:59

There are many ways to implement digital filters and many architectures that can be chosen to achieve the optimum performance, which is typically measured in terms of MIPS and memory. This presentation will describe several optimized filtering techniques and architectures and show how they are used.

Examples will include Comb, Polyphase, Cascaded Integrator Comb (CIC) and more.

What this presentation is about and why it matters

John Edwards gives a practical introduction to high-efficiency and multi-rate digital filters: how to change sample rates (interpolation and decimation) and how to implement those operations efficiently. The talk focuses on two widely used tools in real systems: polyphase FIR filters and cascaded integrator-comb (CIC) filters, and it explains when and why each is the right choice.

This matters because changing sample rates is everywhere in DSP: audio systems that must bridge 44.1 kHz and 48 kHz domains, radio front ends that move from a high ADC rate to a narrow baseband, microphone PDM/DSD interfaces, and low-power embedded processing. Choosing the right architecture can cut MIPS, memory, and power dramatically — sometimes by orders of magnitude — and it can simplify FPGA or ASIC implementations by avoiding costly multiplies.

Who will benefit the most from this presentation

  • DSP engineers designing sample-rate converters for audio, RF, or sensor interfaces.
  • Embedded and FPGA/ASIC engineers who need low-cost, low-power filter implementations.
  • Students and practitioners who want an implementation-oriented view of polyphase decomposition and CIC filters.
  • Anyone building asynchronous sample-rate converters or multi-clock-domain systems.

What you need to know

To get the most out of the talk, you should be comfortable with these basic concepts:

  • Sampling theorem and Nyquist — understand aliasing and why you must low-pass before decimation.
  • FIR basics — taps, coefficients, convolution; how filter length, transition bandwidth and stop-band attenuation relate to computational cost.
  • Upsampling and downsampling — the operations of inserting zeros (upsampling) and removing samples (downsampling) and why filtering is required around them.
  • Polyphase idea — split a single FIR into N phase sub-filters so work is done incrementally as samples arrive. This avoids processing multiplies where the input would be zero and lets you move filtering after rate conversion (using Noble identities) to reduce cost.
  • Noble identities — algebraic rules that let you commute (re-order) sampling-rate change with delays and filters to save computation. They are central to deriving efficient polyphase structures.
  • CIC basics — a CIC stage combines integrator(s) (accumulate) and comb(s) (difference). CICs need no multipliers and are ideal for very large integer rate changes, but have a shallow passband and ripple. Their closed-form transfer function (for decimation/interpolation) can be written as: $H(z)=\left(\dfrac{1 - z^{-RM}}{1 - z^{-1}}\right)^N = \left(\sum_{k=0}^{RM-1} z^{-k}\right)^N$, where $N$ is stages, $R$ the rate change and $M$ the comb delay.
  • Compensation (post) filters — a short FIR after a CIC sharpens the passband and achieves the required attenuation without multiplying complexity at the front end.
  • Word-length growth for CIC — plan accumulator width using the rule $B \ge B_{in} + N\log_2(RM)$ to avoid overflow issues or to size packed accumulators.
  • Asynchronous SRC — when clocks are not phase-locked you need a fractional-delay interpolator that tracks a tiny offset between domains; quadratic B-spline (3-tap) interpolators are a low-complexity, high-accuracy option mentioned in the talk.

Glossary

  • Sample-rate conversion — changing the sampling frequency of a discrete-time signal (interpolation or decimation).
  • Decimation — reducing sample rate by discarding samples after appropriate low-pass filtering.
  • Interpolation — increasing sample rate by inserting samples and filtering to reconstruct the band-limited signal.
  • Polyphase filter — an FIR split into phase sub-filters that operate on different sample phases to reduce redundant work.
  • Commutator — the switching mechanism that distributes samples to different polyphase branches (order matters for correct response).
  • CIC filter — cascaded integrator-comb filter useful for large integer rate changes; multiplier-free and efficient for hardware.
  • Integrator — accumulator stage (IIR-like) in a CIC that sums samples; provides lowpass behaviour.
  • Comb — differentiator-like FIR stage that subtracts delayed samples to form the overall CIC FIR response.
  • Noble identities — algebraic identities that allow swapping sample-rate changes with delays/filters to produce efficient implementations.
  • Fractional-delay filter — an interpolator that produces values at non-integer sample offsets (used in asynchronous SRC).

Final notes

This presentation is practical and well grounded in implementation concerns. John Edwards balances intuition (why aliasing matters, where zeros/poles sit) with engineering advice (word-length planning, when to use a post-filter, and commutation order). If you care about efficient, low-power DSP — especially on FPGAs or embedded devices — you'll come away with concrete patterns to apply immediately. Stay for the Q&A: the speaker clearly invites follow-up and offers to share code, which is a great opportunity to deepen understanding.

1 / 5
Please log in or create an account to test your knowledge and see the answers.

Why does a polyphase implementation reduce the computational load for integer-factor decimation or interpolation compared with a straightforward full-rate FIR applied to every sample?

A Because the polyphase method replaces the FIR with a shorter IIR filter that needs fewer multiplications.
B Because it splits the FIR into N phase subfilters and processes only one small subfilter per input sample, avoiding multiplications on zero-valued samples and lowering per-sample work.
C Because polyphase filtering compresses the coefficients so fewer memory accesses are needed, at the cost of many more multiplies.
D Because it performs the full-rate FIR but with fixed-point arithmetic so each multiply is cheaper.
E Because polyphase filters require inserting zeros and filtering them at full rate, which is more parallel and thus faster on CPUs.
Formatting help
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
inline code
surround text with single
`backticks`
code block
(multi-line)
wrap on its own lines with three backticks:
```
your code here
```
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

FK
Score: 0 | 5 years ago | 1 reply

Hi John, very nice presentation thank you.
I would like to ask on the latency of filtering signals in lower rates. Will it have an impact compared to filtering the signal in the original higher rates?
Is my understanding correct that with the technique that you presented, the latency should remain unaffected?

john.edwardsSpeaker
Score: 0 | 5 years ago | no reply

Hi FK,
That can depend on the overall specification of the filter you are trying to implement but you are correct, that in general, the group delay is the same because ultimately the group delay for the filter at the higher sample rate will be very long.
Best,
John

fred_h
Score: 0 | 5 years ago | 1 reply

fred h here.
can always go back to 1-D filter and deliver 4-inputs tp single stage and of course with first in first out the sample go to addres -3, -2 -1 ,0

john.edwardsSpeaker
Score: 0 | 5 years ago | no reply

yes, indeed, fred
Thanks
John

fred_h
Score: 0 | 5 years ago | 1 reply

embedd the resampler between the input integrator and the output comb.... filter becomes a hogenauer filter instead of CIC.. I always recommend to avoid using the cic.... the polyphase will outperfomr the cic in number of registers and width of adders ..

fred

john.edwardsSpeaker
Score: 0 | 5 years ago | no reply

Thank fred and welcome to the conference.
Yes, agreed, I referenced hogenauer in the presentation.
I also referenced your excellent presentation from last year, regarding PP filters.
I'm looking forward to your talks later :-)
J

RK
Score: 0 | 5 years ago | 1 reply

Hi john,
ignore my question of 7bit Accumulator overflowing, it was very stupid of me.
keeping the 8th, 16th, 24th and 32nd bit zero solves any issue of overflows from lower 7bit group to any upper group.

john.edwardsSpeaker
Score: 0 | 5 years ago | no reply

Thanks RK,
There are no stupid questions in DSP.
I'm glad you understand.
Best regards, John

mpuchlik
Score: 0 | 5 years ago | 1 reply

Hi John! Thank you, it was very nice talk. As far as I understood, polyphase filtering provides both sample rate conversion and lowpass filtering (correct me if I am wrong). CIC filters provides only lowpass filtering (without sample rate conversion). The advantage of CIC is that is computationally efficient but is it the real constraint nowadays? Does CICs are being used in real systems? Cheers!

john.edwardsSpeaker
Score: 1 | 5 years ago | no reply

Hi,
Thank you for your kind words.
Both techniques use filtering and sample rate conversion to achieve the goal.
Yes, computational efficiency is very important to reduce power consumption and cost. Especially in battery applications such as mobile phones.
CIC filters are used in almost all digital radios - laptops (wifi, bluetooth), base stations, phones etc. and are very common. Having said this, PP filters can also be used in these applications and fred harris' 2020 talk, which you can still access this year, gives great insight into how PP filters can be used in place of CIC for wireless applications.
Best,
John