Digital biquad filter

In signal processing, a digital biquad filter is a second-order recursive linear filter, containing two poles and two zeros. "Biquad" is an abbreviation of "biquadratic", which refers to the fact that in the Z domain, its transfer function is the ratio of two quadratic functions:

\ H(z)=\frac{b_0+b_1z^{-1}+b_2z^{-2}} {a_0+a_1z^{-1}+a_2z^{-2} }

The coefficients are often normalized such that a0 = 1:

\ H(z)=\frac{b_0+b_1z^{-1}+b_2z^{-2}} {1+a_1z^{-1}+a_2z^{-2} }

High-order IIR filters can be highly sensitive to quantization of their coefficients, and can easily become unstable. This is much less of a problem with first and second-order filters; therefore, higher-order filters are typically implemented as serially-cascaded biquad sections (and a first-order filter if necessary). The two poles of the biquad filter must be inside the unit circle for it to be stable. In general, this is true for all filters i.e. all poles must be inside the unit circle for the filter to be stable.

Implementation

Direct form 1

The most straightforward implementation is the direct form 1, which has the following difference equation:

\ y[n] = \frac{1}{a_0} \left ( b_0x[n] + b_1x[n-1] + b_2x[n-2] - a_1y[n-1] - a_2y[n-2] \right )

or, if normalized:

\ y[n] = b_0x[n] + b_1x[n-1] + b_2x[n-2] - a_1y[n-1] - a_2y[n-2]

Here the b_0, b_1 and b_2 coefficients determine zeros, and a_1, a_2 determine the position of the poles.

Flow graph of biquad filter in direct form 1:

Direct form 2

The direct form 1 implementation requires four delay registers. An equivalent circuit is the direct form 2 implementation, which requires only two delay registers:

The direct form 2 implementation is called the canonical form, because it uses the minimal amount of delays, adders and multipliers, yielding in the same transfer function as the direct form 1 implementation. The difference equations for Direct Form 2 are:

\ y[n]=b_0 w[n]+b_1 w[n-1]+b_2 w[n-2],

where

\ w[n]=x[n]-a_1 w[n-1]-a_2 w[n-2].

Transposed direct forms

Each of the two direct forms may be transposed by reversing the flow graph without altering the transfer function. Branch points are changed to summers and summers are changed to branch points.[1] These provide modified implementations that accomplish the same transfer function which can be mathematically significant in a real-world implementation where precision may be lost in state storage.

The difference equations for Transposed Direct Form 2 are:

\ y[n]=b_0 x[n]+s_1[n-1],

where

\ s_1[n]=s_2[n-1]+b_1 x[n]-a_1 y[n]

and

\ s_2[n]=b_2 x[n]-a_2 y[n].

See also

References

External links

This article is issued from Wikipedia - version of the Wednesday, February 10, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.