# Coupled-Form 2nd-Order IIR Resonators: A Contradiction Resolved

This blog clarifies how to obtain and interpret the z-domain transfer function of the *coupled-form* 2nd-order IIR resonator. The coupled-form 2nd-order IIR resonator was developed to overcome a shortcoming in the standard 2nd-order IIR resonator. With that thought in mind, let's take a brief look at a standard 2nd-order IIR resonator.

**Standard 2nd-Order IIR Resonator**

A block diagram of the standard 2nd-order IIR resonator is shown in Figure 1(a). You've probably seen that block diagram many times before. The standard IIR resonator is a type of bandpass resonator with the center of it passband located at *f*_{r} Hz. (Factor *f*_{s} is the input data sample rate in Hz.)

The standard IIR resonator's z-domain transfer function is

having two conjugate *z*-plane poles as shown in Figure 1(b), of radii *r*, located at angles of ±Θ radians. (The subscript “stand” in Eq. (1) means standard.) Angle Θ is

The time-domain impulse response of the standard IIR resonator is a damped sinusoid whose frequency is *f*_{r} Hz. The amount of damping (the time duration of the damped sinusoid) is determined by the damping factor r, where 0 < *r* ≤ 1. The damping factor *r* affects the resonator's impulse response duration, and passband width, as:

The standard IIR resonator has been around for a long time, and is used when someone needs a simple, computationally efficient, bandpass filter. For example, it's used in the implementation of the Goertzel algorithm. OK, you probably know all of this already. Let's move to the main point of this blog.

**Quantized Coefficients**

With floating point 2*r*cos(2π*f*_{r}/*f*_{s}) and *r*^{2} coefficients we can place our resonator's pole wherever we wish on the *z*-plane. However, in fixed-point processing systems we must quantize those coefficients so as to represent them by binary words having a finite number of binary bits. And in doing so we limit where on the *z*-plane we can place the resonator's poles. This means we no longer have precise control over the standard resonator's *f*_{r} resonant frequency or its frequency response shape defined by *r*.

For example, Figure 2(a) shows the mandatory pole positions, in the *z*-plane's 1st quadrant, when the resonator's coefficients are quantized to 3 magnitude bits. (Due to trigonometric symmetry, the pole locations in the other three quadrants of the *z*-plane are mirror images of those shown in Figure 2(a).)

The reason the quantized poles must lie on the intersection of concentric circles and vertical lines is well described in the literature [1-3], so we won't worry about that here.

The key point is that, when using quantized coefficients, we cannot implement the standard Figure 1(a) resonator having relatively low resonant frequencies (poles whose ±Θ angles are near zero radians, i.e., near *z* = 1). This nonuniform *z*-plane pole distribution is the reason that low frequency Goertzel filters are difficult to implement. Likewise we cannot implement standard IIR resonators having relatively high resonant frequencies (poles whose ±Θ angles are near π radians, i.e., near *z* = -1).

This situation improves a little when we quantize our standard resonator's coefficients to a greater number of bits. Figure 2(b) shows the mandatory 1st quadrant pole positions when the coefficients are quantized to 5 magnitude bits. But here again, as shown by the shaded area in Figure 2(b), we are still not able to build a standard resonator that will resonate at a very low (or very high) frequency.

**Coupled-Form IIR Resonator**

One solution to the above *z*-plane pole location restrictions is to use what's called the "coupled-form 2nd-order IIR resonator" shown in Figure 3.

According to two DSP books on my bookshelf [1],[2], the coupled-form IIR resonator has *z*-plane pole positions, when we quantize the *r*cos(Θ) and *r*sin(Θ) coefficients using 5 magnitude bits, as shown in Figure 4. Notice the uniform pole spacing, where poles much closer to z = 1 are now possible. That behavior is what we need to build low-frequency or high-frequency 2nd-order IIR resonators.

**Coupled-Form IIR Resonator Transfer Function**

The question I had was, "What is the z-domain transfer function of a coupled-form IIR resonator?" Reference [2] text provided no *H*(*z*) expression for the coupled-form resonator, but according to Reference [1] the transfer function of the Figure 3 resonator is:

where, again, Θ = 2*r*cos(2π*f*_{r}/*f*_{s}) radians.

But here's the problem! How can Eq. (3)'s *H*(*z*) produce *z*-plane pole locations that are different from those from Eq. (1)'s *H*_{stand}(*z*) if both expressions have the same denominator polynomial? Something's wrong here.

We resolve this contradiction by realizing, from the derivation provided in the Appendix, that the appropriate transfer function of the coupled-form IIR resonator is:

where the subscript "coup" in Eq. (4) means coupled. Next we see that if Eq. (4)'s cos(Θ) and sin(Θ) terms are represented with infinite precision then those terms inside the brackets in the denominator will sum to unity. And in that case the denominator polynomials in Eq. (1), Eq. (3), and Eq. (4) will be identical.

However, when we quantize Figure 3's *r*cos(Θ) and *r*sin(Θ)coefficients to some finite number of bits, as we must in our binary world, the *r*^{2}[cos2(Θ)+sin2(Θ)] factor in the denominator of Eq. (4) will not equal *r*^{2}. In that case the coefficients of the *z*^{-2} terms in the denominators of Eq. (3) and Eq. (4) will be different. And that accounts for the difference in pole locations in Figure 4 compared to Figure 2(b). So the point is, we should always use Eq. (4) to predict the behavior of the coupled-form IIR resonator. This paragraph and Eq. (4) are the most important parts of this blog.

Because I became carried away while writing this blog, and it's longer than it need be, I might as well follow through and present a time-domain example of how the coupled-form IIR resonator is different from the standard IIR resonator.

**An IIR Resonator Example**

It's straightforward to show how the coupled-form resonator is an improvement over the standard Figure 1(a) resonator. Let's say we want to build a 2nd-order resonator having a resonant frequency of *f*_{r} = 7 Hz, when our *f*_{s} sample rate is 400 Hz, and we define our desired damping factor to be *r* = 0.99. Also we quantize the standard and coupled-form resonators' coefficients (2*r*cos(2π*f*_{r}/*f*_{s}), *r*^{2}, *r*cos(2π*f*_{r}/*f*_{s}), and *r*sin(2π*f*_{r}/*f*_{s})) to 5 magnitude bits. The following table shows our quantized-coefficients situation:

We see from the table that the resonant frequency of the coupled-form resonator is much closer to the desired value of *f*_{r} = 7 Hz than the resonant frequency of the standard Figure 1(a) resonator. Figure 5 shows the time-domain impulse responses of our two IIR resonators. Notice how the standard resonator oscillates at a much higher frequency than the coupled-form resonator.

OK, the bottom line here is that the coupled-form IIR resonator has better performance than the standard IIR resonator when our desired resonant frequency is very low, or very high, relative to the input data's sample rate. The price we pay for that improved performance is an increase in the number of necessary multiplications per input sample. To quote Forrest Gump, "And that's all I have to say about that."

**References **

[1] J. Proakis and D. Manolakis, Digital Signal Processing-Principles, Algorithms, and Applications, 3rd Ed., Prentice Hall, Upper Saddle River, New Jersey, 1996, pp. 572–576.

[2] A. Oppenheim and R. Schafer, Discrete-Time Signal Processing, 2nd Ed., Prentice Hall, Englewood Cliffs, New Jersey, 1999, pp. 382–386.

[3] R. Lyons, Understanding Digital Signal Processing, 3rd ed., Prentice Hall, Upper Saddle River, New Jersey, 2011, pp. 833-836.

**Appendix**

We can obtain the Figure 3 coupled-form resonator's z-domain transfer function by first writing two time-domain equations as:

The z-transforms of those expressions are:

From Eq. (A-1) we can write:

Plugging Eq. (A-3) into Eq. (A-2), we have:

Now we start massaging the heck out of Eq. (A-4) to put *Y*(*z*)/*X*(*z*) on the left side of an equation and everything else on the right side of that equation. From Eq. (A-4) we write:

Continuing:

or

and

And finally our desired coupled-form *H*_{coup}(*z*) transfer function is:

- Comments
- Write a Comment Select to add a comment

I just stumbled across this article. I've been using this form for years using a rather shaky combination of intuition and back of the envelope calculations. I hadn't realized that this form was in the literature.

Your article systematizes a lot of what I've been doing by the seat of my pants -- this is cool.

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: