The Swiss Army Knife of Digital Networks

Rick LyonsJune 13, 20168 comments

This blog describes a general discrete-signal network that appears, in various forms, inside so many DSP applications. 

Figure 1 shows how the network's structure has the distinct look of a digital filter—a comb filter followed by a 2nd-order recursive network. However, I do not call this useful network a filter because its capabilities extend far beyond simple filtering. Through a series of examples I've illustrated the fundamental strength of this Swiss Army Knife of digital networks and its ability to be reconfigured to perform an astounding number of useful functions based on the values of its seven control coefficients.

This article is available in PDF format for easy printing

Figure 1. General discrete-signal processing network.

The Figure 1 network has a transfer function of

$$ H(z) = \frac{Y(z)}{X(z)} = (1-c_1z^{-N})\frac{b_0 + b_1z^{-1} + b_2z^{-2}}{1/a_0 - a_1z^{-1} - a_2z^{-2}} \tag{1}$$

The tables in this blog list various signal processing functions performed by the network based on the $ a_n,\ b_n\ and\ c_1 $ coefficients. Variable $ N $ is the order of the comb filter. Included in the tables are depictions of the network's impulse response, z-plane pole/zero locations, as well as frequency-domain magnitude and phase responses. The frequency axes in those tables is normalized such that a value of 0.5 represents a frequency of $ f_s / 2 $ where $ f_s $ is the sample rate in Hz.

To keep this blog manageable in size, detailed explanations of the network Functions in the following tables are contained in the downloadable PDF file associated with this blog.

[NOTE FROM AUTHOR LYONS (Oct. 2018): The downloadable PDF file has been updated since this blog’s original posting in June 2016.]

[ - ]
Comment by Tim WescottJune 13, 2016

I don't see any provisions for integrator anti-windup.

[ - ]
Comment by MartinMcCormickJune 15, 2016
Making the integrator slightly leaky would be fine for the moving averager and other a_1 = 1 configurations. Shouldn't be much of a difference, just a slight decay in moving average window. At least the comb is before the integrator!
[ - ]
Comment by aserJuly 3, 2016
Pole-zero diagrams are useful.
May be better to explain the equaliser as an allpass filter.
[ - ]
Comment by SerhiiRybkaSeptember 16, 2021

Dear Rick,

Question regarding Table 4, Real FSF Type IV:

Could you please advise from your experience what maximum value can take N-comb filter order at practical implementation?

Best regards, Serhii Rybka

[ - ]
Comment by Rick LyonsSeptember 17, 2021

Hello SerhilRybka.

Keeping in mind that the order of the comb subfilter, used in a Real FSF Type IV lowpass digital filter, determines how many memory locations are required I don't know of any limit on the comb subfilter's order.

[ - ]
Comment by SerhiiRybkaSeptember 18, 2021

Dear Rick,

Thanks a lot for your reply. I have another question on this topic - why in the books you are not considering bandpass filter based on real FSF Type IV?

Best regards, Serhii

[ - ]
Comment by Rick LyonsSeptember 18, 2021
Hello SerhilRybka.

When I wrote about real FSF Type IV in the 3rd edition of my "Understanding DSP" book I concentrated on lowpass filters. But in my book's Table 7-3 I mentioned that such filters could be used for bandpass filtering.

[ - ]
Comment by Rick LyonsSeptember 19, 2021
Hello SerhilRybka.

If you're designing an FSF Type IV digital filter for some actual filtering implementation send me an e-mail at: R.Lyons@ieee.org

To post reply to a comment, click on the 'reply' button attached to each comment. To post a new comment (not a reply to a comment) check out the 'Write a Comment' tab at the top of the comments.

Please login (on the right) if you already have an account on this platform.

Otherwise, please use this form to register (free) an join one of the largest online community for Electrical/Embedded/DSP/FPGA/ML engineers: