- Bilinear transform
The bilinear transform (also known as Tustin's method) is used in
digital signal processing and discrete-timecontrol theory to transform continuous-time system representations to discrete-time and vice versa. The bilinear transform is aconformal map ping, often used to convert atransfer function H_a(s) of alinear ,time-invariant (LTI) filter in the continuous-time domain (often called ananalog filter ) to a transfer function H_d(z) of a linear, shift-invariant filter in the discrete-time domain (often called adigital filter although there are analog filters constructed withcharge-coupled device s that are discrete-time filters). It maps positions on the j omega axis, Re [s] =0 , in thes-plane to theunit circle , z| = 1 , in the z-plane. Other bilinear transforms can be used to warp thefrequency response of any discrete-time linear system (e.g., to approximate the human auditory's non-linear frequency resolution) and are implementable in the discrete domain by replacing a system's unit delays left( z^{-1} ight) with first orderall-pass filter s.The transform preserves stability and maps every point of the
frequency response of the continuous-time filter, H_a(j omega_a) to a corresponding point in the frequency response of the discrete-time filter, H_d(e^{j omega_d T}) 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. This is barely noticeable at low frequencies but is quite evident at frequencies close to theNyquist frequency .The bilinear transform is a first-order approximation 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 theZ transform of the discrete-time sequence with the substitution of:egin{align}z &= e^{sT} \ &= frac{e^{sT/2{e^{-sT/2 \ &approx frac{1 + s T / 2}{1 - s T / 2}end{align}
where T is the
sample time (the reciprocal of thesampling frequency ) of the discrete-time filter. 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
:egin{align}s &= frac{1}{T} ln(z) \ &= frac{2}{T} left [frac{z-1}{z+1} + frac{1}{3} left( frac{z-1}{z+1} ight)^3 + frac{1}{5} left( frac{z-1}{z+1} ight)^5 + frac{1}{7} left( frac{z-1}{z+1} ight)^7 + cdots ight] \ &approx frac{2}{T} frac{z - 1}{z + 1} \ &approx frac{2}{T} frac{1 - z^{-1{1 + z^{-1end{align}
The bilinear transform essentially uses this first order approximation and substitutes into the continuous-time transfer function, H_a(s)
:s leftarrow frac{2}{T} frac{z - 1}{z + 1}.
That is
:H_d(z) = H_a(s) igg|_{s = frac{2}{T} frac{z - 1}{z + 1= H_a left( frac{2}{T} frac{z-1}{z+1} ight).
The bilinear transform is a special case of a
conformal map ping, namely, theMöbius transformation defined as:z^{prime} = frac{a z + b}{c z + d}.
Stability and minimum-phase property preserved
A continuous-time filter is stable if the poles of its transfer function fall in the left half of the complex
s-plane . A discrete-time filter is stable if the poles of its transfer function fall inside theunit 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 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.Example
As an example take a simple
low-pass RC filter . This continuous-time filter has a transfer function:egin{align}H_a(s) &= frac{1/sC}{R+1/sC} \&= frac{1}{1 + RC s}.end{align}
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:
:
Frequency warping
To determine the frequency response of a continuous-time filter, the
transfer function H_a(s) is evaluated at s = j omega which is on the j omega axis. Likewise, to determine the frequency response of a discrete-time filter, the transfer function H_d(z) is evaluated at z = e^{ j omega T} which is on the unit circle, z| = 1 . When the actual frequency of omega is input to the discrete-time filter designed by use of the bilinear transform, it is desired to know at what frequency, omega_a , for the continuous-time filter that this omega is mapped to.:H_d(z) = H_a left( frac{2}{T} frac{z-1}{z+1} ight)
:
This shows that every point on the unit circle in the discrete-time filter z-plane, z = e^{ j omega T} is mapped to a point on the j omega axis on the continuous-time filter s-plane, s = j omega_a . That is, the discrete-time to continuous-time frequency mapping of the bilinear transform is
:omega_a = frac{2}{T} an left( omega frac{T}{2} ight)
and the inverse mapping is
:omega = frac{2}{T} arctan left( omega_a frac{T}{2} ight).
The discrete-time filter behaves at frequency omega the same way that the continuous-time filter behaves at frequency 2/T) an(omega T/2) . Specifically, the gain and phase shift that the discrete-time filter has at frequency omega is the same gain and phase shift that the continuous-time filter has at frequency 2/T) an(omega T/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 omega ll 2/T or omega_a ll 2/T), omega approx omega_a .
One can see that the entire continuous frequency range
: infty < omega_a < +infty
is mapped onto the fundamental frequency interval
: frac{pi}{T} < omega < +frac{pi}{T}.
The continuous-time filter frequency omega_a = 0 corresponds to the discrete-time filter frequency omega = 0 and the continuous-time filter frequency omega_a = pm infty correspond to the discrete-time filter frequency omega = pm pi / T.
One can also see that there is a nonlinear relationship between omega_a and omega. 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 omega_a = frac{2}{T} an left( omega frac{T}{2} ight) 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.
The main advantage of the warping phenomenon is the absence of aliasing distortion of the frequency response characteristic, such as observed with
Impulse invariance . It is necessary, however, to compensate for the frequency warping by pre-warping the given frequency specifications of the continuous-time system. These pre-warped specifications may then be used in the bilinear transform to obtain the desired discrete-time system.
Wikimedia Foundation. 2010.