Polyphase Wide-Bandwidth Filters Implemented with Order of Magnitude Workload Reduction: Capabilities and Implementation
We examined Polyphase Analysis and Synthesis filter banks in an earlier workshop. The two filter banks are duals and can operate independently of each other. In this workshop, we use both banks in a tightly coupled manner to synthesize broadband filters with an order of magnitude workload reduction. For this design process, the filter bandwidths are a large fraction of the sample rate. Since the target filter specification has a wide bandwidth, it would seem that the signal processing that we conduct here can’t be the same as that used in the analysis filter banks. That is we can’t reduce the sample rate to the reduced bandwidth of the signal and operate the script at the reduced clock rate as we did in channelizer designs. In fact, we can do that! We can form a filter with a wide bandwidth from a set of narrow bandwidth fragments of the wide bandwidth system by using the perfect reconstruction properties of the analysis channelizer’s Nyquist segments. The synthesis channelizer seamlessly reassembles the desired wide BW filter from multiple contiguous narrow BW fragments formed by the analysis channelizer. The process trivially accommodates sample rate changes if there is a BW reduction in the assembled band as well as frequency offsets and Hilbert transforms. The remarkable attribute of this process is the order of magnitude reduction in computational workload of the composite processing chain relative to the direct implementation of the same process.
We will build the MATLAB processing chain of the Analysis and Synthesis filter banks and then demonstrate variations of how they interact to simulate variable BW, variable sample rate, and variable frequency shift operations
What this presentation is about and why it matters
This talk demonstrates how to build very wide‑band filters with far less computation by combining a polyphase analysis bank and its dual synthesis bank. Instead of implementing one long FIR at the high sample rate, the method breaks a wide band into many narrow, low‑rate fragments (the channelizer), processes those fragments at the reduced rate, and then reassembles the desired broadband response. The result is often an order‑of‑magnitude reduction in multiplies and memory traffic compared with a direct implementation.
Why it matters: modern radio receivers, repeaters and software radios frequently need large instantaneous bandwidths and tight stopband specs, but power, heat and CPU budget are limited. The polyphase + transform approach trades extra structure (transforms, rotators and masks) for much lower per‑sample work and lower clock rates, making high‑performance filtering feasible on constrained hardware.
Who will benefit the most from this presentation
- DSP engineers designing channelizers, multirate filters, or broadband front ends for radios and communications systems.
- Embedded systems and FPGA designers who must reduce runtime workload and heat while implementing long FIR filters.
- Students and researchers learning multirate signal processing, polyphase structures, perfect reconstruction filter banks and practical FFT-based optimizations.
- Anyone comparing fast convolution, FFT techniques and alternative factorizations (Good–Thomas, Winograd) for efficient convolution/filtering.
What you need to know
Before watching, you should be comfortable with these basic ideas:
- Linear time‑invariant FIR filters: taps, impulse response, passband/stopband and transition width.
- Multirate basics: downsampling (decimation), upsampling (interpolation), aliasing and the Nyquist zone concept. A practical sampling rule used in the talk is: the sample rate must at least cover the two‑sided analysis bandwidth plus the transition bandwidth, e.g. fs >= two‑sided bandwidth + transition band; you can write a compact form as \(f_s \ge 2B + \Delta f\).
- Polyphase decomposition: splitting an N‑tap FIR into M polyphase paths where each path contains every Mth coefficient; the per‑input cost becomes roughly the number of taps per polyphase arm, i.e. \(\frac{N}{M}\) multiplies per arriving sample.
- Channelizer idea: analysis bank aliases many Nyquist zones to baseband; properly chosen phase rotators and an inverse DFT (or IFFT) select and de‑rotate particular aliased channels. The synthesis (dual) bank reintroduces the tilt and reconstructs the high‑rate time series.
- Transforms and workload: using an FFT/IFFT or alternative factorizations (Good–Thomas, Winograd) amortizes rotator cost so M channels cost roughly O(M log M) (Cooley–Tukey) or better with other algorithms. The talk emphasizes that choosing the right transform can save another order of magnitude.
- Tradeoffs you will see: reduced computation and memory at the cost of extra delay, careful handling of transition‑band aliasing, and attention to fixed‑point/trig‑table precision.
Glossary
- Polyphase filter — decomposition of an FIR into M interleaved subfilters (paths) to implement decimation/interpolation efficiently.
- Analysis bank — the polyphase + transform side that breaks a wideband input into many narrow downsampled subbands.
- Synthesis bank — the dual of the analysis bank; it re‑spins and recombines selected subbands to reconstruct the broadband output.
- Nyquist zone — a frequency interval of width fs/2; multiple Nyquist zones alias into each other under decimation.
- Rotator — complex phasor multipliers applied per polyphase arm to de‑spin or re‑spin channel aliases (roots of unity).
- Perfect reconstruction — a property where analysis followed by synthesis reproduces the original signal (within numerical error).
- Masking — zeroing (or passing) selected transform bins to change the synthesized bandwidth without changing filter coefficients.
- Good–Thomas / Winograd — FFT/factorization algorithms that reduce twiddle factor cost and trig‑table requirements compared with standard Cooley–Tukey.
- Overlap / circular buffer — memory trick to handle alternating phase/polarity effects and avoid per‑bin sign flips when changing block alignment.
- In‑band ripple / reconstruction error — residual amplitude variation or low‑level artifacts caused by finite filters and numerical effects; design controls these.
Final words
Fred Harris elivers a very practical and example‑rich treatment of how analysis/synthesis polyphase banks can synthesize wideband filters with dramatically reduced work. The talk mixes key theoretical insights (the tilt/phase picture that "makes the whole thing click") with hands‑on design strategies, numerical cautions, and implementation tips (memory layout, circular buffers, transform choice). If you build channelizers, embedded radios or high‑performance filters, this presentation is a concise guide to a powerful set of tricks you can immediately try in MATLAB or on hardware.
What is the primary reason putting the resampler inside a polyphase analysis filter yields an order-of-magnitude reduction in computational workload?
can you also provide the 'myfrf' function? Thanks!
The myfrf file can be found as part of the first presentation on the left hand side under "Files Provided by the Speaker(s)"
stephane will have it in a minute!
11:50:02 From Ryan : On slide 28, is 20kHz supposed to be 20 MHz? 12:16:35 From Kenneth Houston : Also a very slow-rate chirp is a useful test signal 12:17:12 From mnapier : If you can share it I would like to see the paper on how to debug a polyphase filter. 12:42:42 From Michael Kirkhart : Is this the book that you mentioned? https://www.amazon.com/DFT-FFT-Convolution-Algorithms-Implementation/dp/0471819328 12:48:19 From Kenneth Houston : Suppose we implement the 600-tap filter version using fast convolution. How would the computation compare to the analysis-synthesis version? 13:00:09 From Francisco Denk : Can you provide any insight about how the degradation introduced by the numerical precision used on the different stages (filter coefs, filter ouptuts, IFFT outputs, etc.) translates to the end-to-end performance of the channelizer? It is not intuitive to me since, apart from the typical effects, it also seems to have influence over how "good" the cancelation of the aliases is at the sum that is performed at the output of the filters 13:02:19 From Michael Kirkhart : I believe this is the paper you were referring to: "Teaching Programming and Debugging Techniques for Multirate Signal Processing" 13:03:18 From Mike Kloos : Can you share your scripts when this lecture replay is available? 13:03:52 From Michael Kirkhart : If so, it can be accessed at the following (need IEEE Xplore access): https://ieeexplore.ieee.org/document/8631695 13:03:57 From Curie Chung : On slide 9 (I think), can you pls explain the number 22? 13:13:51 From Radu Pralea : slide 54: when translating one block of IFFT (not centered around DC) out to a smaller FFT (let's say centered), doesn't a linear phase ramp (rotation) occur between the input and the output, proportional to the difference in "central frequency" of the block on the IFFT and FFT, that has to be accounted for (compensated)? 13:28:32 From John Kotrosa : Screen not matching his description ? 13:29:04 From Francisco Denk : is ok on my side 13:50:50 From Mike Mitchell : http://www.radiosoft.rs/how-to-pack-a-room-of-analog-fm-modulators-into-xilinx-fpga.pdf 13:59:26 From Radu Pralea : fabulous talk! 13:59:40 From Michael Kirkhart : Yes - trying to drink for a fire hose! 14:00:29 From Michael Kirkhart : Another awesome talk! Thank you very much! 14:00:31 From Kenneth Houston : Thanks! 14:00:33 From Lubberhuizen : great talk, thanks! 14:00:33 From Sam Liimatainen : Thank you for another great talk! 14:00:37 From Tim : Thank you! 14:00:42 From Mike Kloos : Great talk! Thanks you! 14:00:48 From Michał Knioła : Terrific as always, thank you! 14:01:14 From JohnP : Amazing ! Clicking. 14:01:39 From mnapier : Your talk from last year led be to a two path IIR half-band decimator. Again, thank you much! 14:02:36 From Michael Kirkhart : LOL! 14:02:39 From Sam Liimatainen : 😂 14:02:51 From Jeff Cannon : Thank you, fred! Great stuff. 14:02:55 From Francisco Denk : Thank you!!

Will the slides from this workshop be available?