Bilinear transform

From HandWiki
Short description: Signal processing operation


File:Bilinear Transform Mapping with Shading.svg
How the bilinear transform maps the z-plane to the s-plane. The unstable regions for the poles of a linear control system are shaded.

The bilinear transform (also known as Tustin's method, after Arnold Tustin) is used in digital signal processing and discrete-time control theory to transform continuous-time system representations to discrete-time and vice versa.

The bilinear transform is a special case of a conformal mapping (namely, a Möbius transformation), often used for converting a transfer function Ha(s) of a linear, time-invariant (LTI) filter in the continuous-time domain (often named an analog filter) to a transfer function Hd(z) of a linear, shift-invariant filter in the discrete-time domain (often named a digital filter although there are analog filters constructed with switched capacitors that are discrete-time filters). It maps positions on the jω axis, Re[s]=0, in the s-plane to the unit circle, |z|=1, in the z-plane. Other bilinear transforms can be used for warping the frequency response of any discrete-time linear system (for example to approximate the non-linear frequency resolution of the human auditory system) and are implementable in the discrete domain by replacing a system's unit delays (z−1) with first order all-pass filters.

The transform preserves stability and maps every point of the frequency response of the continuous-time filter, Ha(jωa) to a corresponding point in the frequency response of the discrete-time filter, Hd(ejωdT) although to a somewhat different frequency, as shown in the Frequency warping section below. This means that for every feature that one sees in the frequency response of the analog filter, there is a corresponding feature, with identical gain and phase shift, in the frequency response of the digital filter but, perhaps, at a somewhat different frequency. The change in frequency is barely noticeable at low frequencies but is quite evident at frequencies close to the Nyquist frequency.

Discrete-time approximation

The bilinear transform is a first-order Padé approximant of the natural logarithm function that is an exact mapping of the z-plane to the s-plane. When the Laplace transform is performed on a discrete-time signal (with each element of the discrete-time sequence attached to a correspondingly delayed unit impulse), the result is precisely the Z transform of the discrete-time sequence with the substitution of

z=esT=esT/2e−sT/2≈1+sT/21−sT/2

where T is the numerical integration step size of the trapezoidal rule used in the bilinear transform derivation;[1] or, in other words, the sampling period. The above bilinear approximation can be solved for s or a similar approximation for s=(1/T)ln⁡(z) can be performed.

The inverse of this mapping (and its first-order bilinear approximation) is

s=1Tln⁡(z)=2T[z−1z+1+13(z−1z+1)3+15(z−1z+1)5+17(z−1z+1)7+⋯]≈2Tz−1z+1=2T1−z−11+z−1

The bilinear transform essentially uses this first order approximation and substitutes into the continuous-time transfer function, Ha(s)

s←2Tz−1z+1.

That is

Hd(z)=Ha(s)|s=2Tz−1z+1=Ha(2Tz−1z+1). 

Stability and minimum-phase property preserved

A continuous-time causal filter is stable if the poles of its transfer function fall in the left half of the complex s-plane. A discrete-time causal filter is stable if the poles of its transfer function fall inside the unit circle in the complex z-plane. The bilinear transform maps the left half of the complex s-plane to the interior of the unit circle in the z-plane. Thus, filters designed in the continuous-time domain that are stable are converted to filters in the discrete-time domain that preserve that stability.

Likewise, a continuous-time filter is minimum-phase if the zeros of its transfer function fall in the left half of the complex s-plane. A discrete-time filter is minimum-phase if the zeros of its transfer function fall inside the unit circle in the complex z-plane. Then the same mapping property assures that continuous-time filters that are minimum-phase are converted to discrete-time filters that preserve that property of being minimum-phase.

Transformation of a General LTI System

A general LTI system has the transfer function Ha(s)=b0+b1s+b2s2+⋯+bQsQa0+a1s+a2s2+⋯+aPsP The order of the transfer function N is the greater of P and Q (in practice this is most likely P as the transfer function must be proper for the system to be stable). Applying the bilinear transform s=Kz−1z+1 where K is defined as either 2/T or otherwise if using frequency warping, gives Hd(z)=b0+b1(Kz−1z+1)+b2(Kz−1z+1)2+⋯+bQ(Kz−1z+1)Qa0+a1(Kz−1z+1)+a2(Kz−1z+1)2+⋯+bP(Kz−1z+1)P Multiplying the numerator and denominator by the largest power of (z + 1)−1 present, (z + 1)−N, gives Hd(z)=b0(z+1)N+b1K(z−1)(z+1)N−1+b2K2(z−1)2(z+1)N−2+⋯+bQKQ(z−1)Q(z+1)N−Qa0(z+1)N+a1K(z−1)(z+1)N−1+a2K2(z−1)2(z+1)N−2+⋯+aPKP(z−1)P(z+1)N−P It can be seen here that after the transformation, the degree of the numerator and denominator are both N.

Consider then the pole-zero form of the continuous-time transfer function Ha(s)=(s−ξ1)(s−ξ2)⋯(s−ξQ)(s−p1)(s−p2)⋯(s−pP) The roots of the numerator and denominator polynomials, ξi and pi, are the zeros and poles of the system. The bilinear transform is a one-to-one mapping, hence these can be transformed to the z-domain using z=K+sK−s yielding some of the discretized transfer function's zeros and poles ξ'i and p'i ξ'i=K+ξiK−ξi1≤i≤Qp'i=K+piK−pi1≤i≤P As described above, the degree of the numerator and denominator are now both N, in other words there is now an equal number of zeros and poles. The multiplication by (z + 1)−N means the additional zeros or poles are [2] ξ'i=−1Q<i≤Np'i=−1P<i≤N Given the full set of zeros and poles, the z-domain transfer function is then Hd(z)=(z−ξ'1)(z−ξ'2)⋯(z−ξ'N)(z−p'1)(z−p'2)⋯(z−p'N)

Example

As an example take a simple low-pass RC filter. This continuous-time filter has a transfer function

Ha(s)=1/sCR+1/sC=11+RCs.

If we wish to implement this filter as a digital filter, we can apply the bilinear transform by substituting for s the formula above; after some reworking, we get the following filter representation:

Hd(z)  =Ha(2Tz−1z+1) 
=11+RC(2Tz−1z+1) 
=1+z(1−2RC/T)+(1+2RC/T)z 
=1+z−1(1+2RC/T)+(1−2RC/T)z−1. 

The coefficients of the denominator are the 'feed-backward' coefficients and the coefficients of the numerator are the 'feed-forward' coefficients used for implementing a real-time digital filter.

Transformation for a general first-order continuous-time filter

It is possible to relate the coefficients of a continuous-time, analog filter with those of a similar discrete-time digital filter created through the bilinear transform process. Transforming a general, first-order continuous-time filter with the given transfer function

Ha(s)=b0s+b1a0s+a1=b0+b1s−1a0+a1s−1

using the bilinear transform (without prewarping any frequency specification) requires the substitution of

s←K1−z−11+z−1

where

K≜2T.

However, if the frequency warping compensation as described below is used in the bilinear transform, so that both analog and digital filter gain and phase agree at frequency ω0, then

K≜ω0tan⁡(ω0T2).

This results in a discrete-time digital filter with coefficients expressed in terms of the coefficients of the original continuous time filter:

Hd(z)=(b0K+b1)+(−b0K+b1)z−1(a0K+a1)+(−a0K+a1)z−1

Normally the constant term in the denominator must be normalized to 1 before deriving the corresponding difference equation. This results in

Hd(z)=b0K+b1a0K+a1+−b0K+b1a0K+a1z−11+−a0K+a1a0K+a1z−1.

The difference equation (using the Direct form I) is

y[n]=b0K+b1a0K+a1⋅x[n]+−b0K+b1a0K+a1⋅x[n−1]−−a0K+a1a0K+a1⋅y[n−1] .

General second-order biquad transformation

A similar process can be used for a general second-order filter with the given transfer function

Ha(s)=b0s2+b1s+b2a0s2+a1s+a2=b0+b1s−1+b2s−2a0+a1s−1+a2s−2 .

This results in a discrete-time digital biquad filter with coefficients expressed in terms of the coefficients of the original continuous time filter:

Hd(z)=(b0K2+b1K+b2)+(2b2−2b0K2)z−1+(b0K2−b1K+b2)z−2(a0K2+a1K+a2)+(2a2−2a0K2)z−1+(a0K2−a1K+a2)z−2

Again, the constant term in the denominator is generally normalized to 1 before deriving the corresponding difference equation. This results in

Hd(z)=b0K2+b1K+b2a0K2+a1K+a2+2b2−2b0K2a0K2+a1K+a2z−1+b0K2−b1K+b2a0K2+a1K+a2z−21+2a2−2a0K2a0K2+a1K+a2z−1+a0K2−a1K+a2a0K2+a1K+a2z−2.

The difference equation (using the Direct form I) is

y[n]=b0K2+b1K+b2a0K2+a1K+a2⋅x[n]+2b2−2b0K2a0K2+a1K+a2⋅x[n−1]+b0K2−b1K+b2a0K2+a1K+a2⋅x[n−2]−2a2−2a0K2a0K2+a1K+a2⋅y[n−1]−a0K2−a1K+a2a0K2+a1K+a2⋅y[n−2] .

Frequency warping

To determine the frequency response of a continuous-time filter, the transfer function Ha(s) is evaluated at s=jωa which is on the jω axis. Likewise, to determine the frequency response of a discrete-time filter, the transfer function Hd(z) is evaluated at z=ejωdT which is on the unit circle, |z|=1. The bilinear transform maps the jω axis of the s-plane (which is the domain of Ha(s)) to the unit circle of the z-plane, |z|=1 (which is the domain of Hd(z)), but it is not the same mapping z=esT which also maps the jω axis to the unit circle. When the actual frequency of ωd is input to the discrete-time filter designed by use of the bilinear transform, then it is desired to know at what frequency, ωa, for the continuous-time filter that this ωd is mapped to.

Hd(z)=Ha(2Tz−1z+1)
Hd(ejωdT) =Ha(2TejωdT−1ejωdT+1)
=Ha(2T⋅ejωdT/2(ejωdT/2−e−jωdT/2)ejωdT/2(ejωdT/2+e−jωdT/2))
=Ha(2T⋅(ejωdT/2−e−jωdT/2)(ejωdT/2+e−jωdT/2))
=Ha(j2T⋅(ejωdT/2−e−jωdT/2)/(2j)(ejωdT/2+e−jωdT/2)/2)
=Ha(j2T⋅sin⁡(ωdT/2)cos⁡(ωdT/2))
=Ha(j2T⋅tan⁡(ωdT/2))

This shows that every point on the unit circle in the discrete-time filter z-plane, z=ejωdT is mapped to a point on the jω axis on the continuous-time filter s-plane, s=jωa. That is, the discrete-time to continuous-time frequency mapping of the bilinear transform is

ωa=2Ttan⁡(ωdT2)

and the inverse mapping is

ωd=2Tarctan⁡(ωaT2).

The discrete-time filter behaves at frequency ωd the same way that the continuous-time filter behaves at frequency (2/T)tan⁡(ωdT/2). Specifically, the gain and phase shift that the discrete-time filter has at frequency ωd is the same gain and phase shift that the continuous-time filter has at frequency (2/T)tan⁡(ωdT/2). This means that every feature, every "bump" that is visible in the frequency response of the continuous-time filter is also visible in the discrete-time filter, but at a different frequency. For low frequencies (that is, when ωd≪2/T or ωa≪2/T), then the features are mapped to a slightly different frequency; ωd≈ωa.

One can see that the entire continuous frequency range

−∞<ωa<+∞

is mapped onto the fundamental frequency interval

−πT<ωd<+πT.

The continuous-time filter frequency ωa=0 corresponds to the discrete-time filter frequency ωd=0 and the continuous-time filter frequency ωa=±∞ correspond to the discrete-time filter frequency ωd=±π/T.

One can also see that there is a nonlinear relationship between ωa and ωd. This effect of the bilinear transform is called frequency warping. The continuous-time filter can be designed to compensate for this frequency warping by setting ωa=2Ttan⁡(ωdT2) for every frequency specification that the designer has control over (such as corner frequency or center frequency). This is called pre-warping the filter design.

It is possible, however, to compensate for the frequency warping by pre-warping a frequency specification ω0 (usually a resonant frequency or the frequency of the most significant feature of the frequency response) of the continuous-time system. These pre-warped specifications may then be used in the bilinear transform to obtain the desired discrete-time system. When designing a digital filter as an approximation of a continuous time filter, the frequency response (both amplitude and phase) of the digital filter can be made to match the frequency response of the continuous filter at a specified frequency ω0, as well as matching at DC, if the following transform is substituted into the continuous filter transfer function.[3] This is a modified version of Tustin's transform shown above.

s←ω0tan⁡(ω0T2)z−1z+1.

However, note that this transform becomes the original transform

s←2Tz−1z+1

as ω0→0.

The main advantage of the warping phenomenon is the absence of aliasing distortion of the frequency response characteristic, such as observed with Impulse invariance.

See also

References

  1. ↑ Oppenheim, Alan (2010). Discrete Time Signal Processing Third Edition. Upper Saddle River, NJ: Pearson Higher Education, Inc.. p. 504. ISBN 978-0-13-198842-2. 
  2. ↑ Bhandari, Ayush. "DSP and Digital Filters Lecture Notes". http://www.ee.ic.ac.uk/hp/staff/dmb/courses/DSPDF/00800_TransIIR.pdf. 
  3. ↑ Astrom, Karl J. (1990). Computer Controlled Systems, Theory and Design (Second ed.). Prentice-Hall. p. 212. ISBN 0-13-168600-3.