Polyphase Analysis and Synthesis Filter banks: capabilities and implementation

fred harris · Watch Now · DSP Online Conference 2022 · Duration: 03:01:25

Polyphase Analysis and Synthesis Filter banks: capabilities and implementation
fred harris

Two papers related to this workshop and made available by fred harris:

Polyphase Analysis and Synthesis filter banks, a very important segment of the multirate signal processing community, are the most incredible signal processing algorithms. Your first reaction to your understanding them is: “I’ll be darned!” Your second reaction is: “I can hardly wait to tell all my friends about this!” Do you know about these things?

Let’s start with the analysis filter bank which has a dual structure called the synthesis filter bank. Each does the opposite of the other. The analysis channelizer processes a sampled data input signal spanning a wide frequency band containing many contiguous narrow bandwidth channels. The result of that processing is a set of narrow bandwidth signals translated from their original centers to baseband and low-pass filtered to their channel bandwidths to separate them from their neighbors and further down sampled to a rate commensurate with their reduced bandwidths. This process for a single channel is called a digital down converter (DDC). The remarkable property of the analysis channelizer is the cost of M (say 100) channels is only about the cost of 5 channels. Amazingly the process occurs in a completely different manner and order of what you would imagine! Rather than down convert, filter, and reduce sample rate, the sample rate is reduced on the way into the filter bank and the processing is performed at the reduced output rate instead at the high input rate. 

If we were a fly on the wall we might overhear this conversation between a potential buyer and the salesperson in the polyphase analysis filter bank store. The customer asks “What will a single channel DDC cost me?” The salesperson answers “It will cost you $10”. The customer then asks “What will 10 equal BW channels of DDCs cost me?” The salesperson answers “it will cost you $100 but if you are interested, we have a special this week; we have a 100 channel DDC for only $50. For that price, you can compute all 100 channels, throw away 90 of them and still have your 10 channels at a reduced price!” Which option do you think the customer will buy?  Have we caught your attention? 

There is surely another store in town that sells synthesis filter banks. These banks up sample many baseband narrowband signals a higher sample rate and translates the baseband signals to selected center frequencies to form a composite broadband spectrum. These are digital up converters (DUCs).  The two filter banks are duals of each other; one uses aliasing caused by down sampling to translate all the band center signals to baseband and a clever trick to separate the aliases while the other uses aliasing caused by up-sampling to translate all the baseband signals to selected band centers and the same trick to perform the dual task of separating the up-sampled aliased spectral bands.

We will review the signal processing sequence of the M-path analysis and synthesis channelizers. We will then go through all the steps to implement the MATLAB realizations of the same and illustrate performance and methods of verifying its operation. This is a process you have to do three or four times till it finally clicks. I have former students contact me and ask “Remind me why we did this thing at this point in the script?” Reset time!

What this presentation is about and why it matters

Polyphase Analysis and Synthesis Filter Banks are a class of multirate DSP architectures that let you extract, process, and reassemble many narrow frequency bands from a wideband sampled signal with far less computation than doing independent digital down converters (DDCs) for each band. Fred Harris shows the intuition, the block‑diagram transforms, and the practical steps to build working channelizers and reconstructors (synthesis banks). This topic matters because modern radio receivers, software‑defined radios, multi‑channel communications systems, and many spectrum‑processing tasks demand efficient, low‑power, and high‑performance ways to handle tens to thousands of channels simultaneously. Polyphase methods and the FFT/IFFT trick reduce cost from O(N^2) approaches to roughly O(N log N), and that is a game changer in real systems.

Who will benefit the most from this presentation

  • DSP engineers designing wideband receivers, channelizers, and multichannel transceivers.
  • Graduate and advanced undergraduate students learning multirate signal processing and filter‑bank theory.
  • Software engineers implementing real‑time channelizers in MATLAB, embedded processors, or FPGAs who want practical, implementation‑level insight.
  • System architects who need to evaluate tradeoffs between filter length, sample rate, complexity, and reconstruction fidelity.

What you need to know

This talk emphasizes intuition and practical implementation more than rigorous proofs. To get the most out of it you should be comfortable with:

  • Basic sampling and aliasing: what happens to a continuous spectrum when you sample, and how aliasing can move energy to baseband.
  • FIR filtering and frequency response: linear‑phase FIRs, transition width, stopband attenuation, and how filter length relates to specs.
  • Multirate operations: upsampling (zero insertion) and downsampling (decimation), and how these operations change the spectral layout.
  • Polyphase decomposition: splitting a prototype FIR into $M$ subfilters that each operate on every $M$th sample. The polyphase view lets you run work at the reduced output rate and avoid computing samples you will later discard.
  • Noble identity and equivalency theorem: the two practical algebraic identities you need to swap filtering and resampling order safely. In short: under the right conditions you can move decimators through filters to reduce workload, and you can interchange moving the oscillator (heterodyne) with moving the filter (heterodyned coefficients).
  • FFT/IFFT link: the phase rotations that remain after polyphase decomposition form the roots of unity; summing the polyphase outputs with those rotations is exactly an inverse DFT (IFFT). That is how an M‑channel analysis bank can be implemented with one prototype filter and one IFFT of size $M$.
  • Design tradeoffs: the role of transition bandwidth, oversampling (to avoid edge non‑linearities), and prototype filter length (Remez vs windowed‑sinc choices) for meeting attenuation and ripple specs.

Glossary

  • Polyphase filter — decomposition of a single FIR into M subfilters, each processing every Mth sample; key to efficient multirate filters.
  • Analysis filter bank — M‑path structure that splits a wideband input into M downsampled subbands (channelizer).
  • Synthesis filter bank — the dual that upsamples and frequency‑shifts subbands to reconstruct a composite output (DUC or reconstructor).
  • Channelizer — a system that extracts many narrow frequency channels from a broadband input efficiently.
  • Decimation / Downsampling — reducing the sample rate by keeping every $M$th sample; causes aliasing unless supported by filtering.
  • Interpolation / Upsampling — increasing the sample rate by inserting zeros and low‑pass filtering to reconstruct intermediate samples.
  • Noble identity — a property that lets you swap a delay and a decimator (or move decimators through certain linear operations) without changing the output.
  • Equivalency theorem — the idea that moving the heterodyne (frequency shift) into the filter (rotating coefficients) produces identical outputs and can reduce computation.
  • IFFT/DFT — the discrete transform (and inverse) that implements the phase rotations and sums across polyphase branches efficiently; cost ~N log N.
  • Prototype low‑pass filter — the single FIR whose polyphase components become the per‑path filters; its design (length, transition width, stopband) controls bank performance.

Final notes

Fred Harris presents a highly practical, example‑driven path from the classical heterodyne idea to an efficient polyphase + FFT channelizer. Expect clear block‑diagram intuition, engaging anecdotes, and MATLAB‑oriented implementation tips (including common pitfalls like scale factors and the need for odd lengths). If you want a working mental model of why polyphase banks are so much cheaper — and how to build one that meets realistic filter specs — this talk is an excellent use of your time.

Enjoy the demonstration: you’ll come away with both the 'why' and the 'how' — and the confidence to try a polyphase channelizer in MATLAB or in hardware.

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

What is the primary reason a polyphase analysis channelizer is dramatically more efficient than building many independent digital downconverters (DDCs)?

A Because it places explicit IQ mixers at the high input rate so each channel is independently demodulated.
B Because it reduces the sample rate before most filtering so the per-channel processing runs at the low output rate (polyphase decomposition).
C Because it replaces all filters by a single very long FIR that is cheaper to compute.
D Because it requires analog preprocessing to reduce the DSP workload.
E Because it uses multiple independent small FFTs (one per channel) instead of a single transform.
Formatting help
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

fred_hSpeaker
Score: 0 | 3 years ago | no reply

wessel,
The serpetine shift can form arbitrary ratio resampling ratios. The rational ratios are the simplest, We have implemented other ratios by zero packing the data which causes the filter set to require multiple sets of weights linked to the state machine that tracks the origin of the initial input data shift. I had a patent on that many years ago based on a design I did for Bell labs. It was never used and I let the patent expire.

wessel
Score: 0 | 3 years ago | no reply

Using the serpentine shift you can control the oversimplify rate at the output of the channeliser. Is this limited to rational oversampling only, or can you also implement an arbitrary oversampling ratio this way?

ryan_f
Score: 0 | 3 years ago | 1 reply

Hello Fred,
Thank you so much for your excellent talks! I thoroughly enjoyed them! Thank goodness the sessions were recorded so I can revisit the concepts that I didn't understand.
I have a question:
Is it possible to have an M-path analysis channelizer where each channel has equal bandwidth and decimated output sample rate, but there is significant spectral overlap between channels? For example, the center frequency of one channel appears within the pass band of another channel.
Thanks,
Ryan

fred_hSpeaker
Score: 0 | 3 years ago | 2 replies

Ryn, I have done that many times. I will send a piece of software I have written for a ten path filter with three options, no operla of adjacent channels, 3dB overlap level and 20% overlap of adjacent channels. The second pair require M-to-2 down sampling. We do this in surveillance receivers where we don''t know the channel center frequencies... the channel overlap optionmeans even if the received channel is at the midpoint bewteen channel centers, it winds up in two receiver channels and is not split by the receiver channel responses.

ryan_f
Score: 0 | 3 years ago | no reply

Hi fred,
Wanted to follow-up to see if you've had a chance to upload the overlapping channel software that you mentioned above. I did not seem to find it in the latest zip file linked on the left side of this webpage.
Thanks!
Ryan

ryan_f
Score: 0 | 3 years ago | no reply

Hi fred. That is wonderful news! Looking forward to your example code!

Stephane.Boucher
Score: 3 | 3 years ago | no reply

In the left column, under "Files Provided by the Speaker(s)", you should now be able to download a zip file with a few articles and code snippets provided by fred.

fred_hSpeaker
Score: 0 | 3 years ago | no reply

Leonard,

I'll chase down and resolve the confusion. I know I had submitted two sets of matlab script with copies of papers.
best regrds, fred

Leonard
Score: 0 | 3 years ago | no reply

Stephane, the code posted is the same as the other lecture : Polyphase Wide-Bandwidth Filters Implemented with Order of Magnitude Workload Reduction: Capabilities and Implementation. The code presented in this video is different than the file below.

Stephane.Boucher
Score: 1 | 3 years ago | 1 reply
adam.troyer
Score: 0 | 3 years ago | no reply

Thanks!

adam.troyer
Score: 0 | 3 years ago | 2 replies

Are the slides and code from this workshop going to be made available somewhere?

fred_hSpeaker
Score: 0 | 3 years ago | no reply

Adam,

Stephane is very good at doing that and will be doing so!
fred

fred_hSpeaker
Score: 0 | 3 years ago | no reply

yes, stephane will be doing that!
fred

adam.troyer
Score: 0 | 3 years ago | 1 reply

Great, thank you fred.

fred_hSpeaker
Score: 0 | 3 years ago | no reply

you are very welcome

fred_hSpeaker
Score: 1 | 3 years ago | no reply

adam,

the slide will be available shortly. They do contain the matlb script but I can make the script available separtely.

fred