Table of Contents list

The bilinear transform is a transformation from continuous-time systems (in the Laplace domain) to discrete-time systems (in the Z-domain). It uses the trapezoidal rule for numerical integration.

Derivation

Consider a continuous-time integrator y(t)=0tu(τ)dτ. (Where y(t) is the output of the integrator for input u(t)).
In the Laplace domain, we can represent these signals as follows: U(s)L{u(t)} Y(s)L{y(t)}=L{0tu(τ)dτ}=1sU(s) Therefore, the transfer function of an integrator is: (1)Ha(s)Y(s)U(s)=1sU(s)U(s)=1s

If we evaluate y(t) at a specific time t=kTs, y(t) can be written as follows: y[k]y(kTs)=0kTsu(τ)dτ By splitting up the integral: y[k]=0(k1)Tsu(τ)dτ+(k1)TskTsu(τ)dτ This results in a recursive formula for y[k]: (2)y[k]=y[k1]+(k1)TskTsu(τ)dτ The second term expresses the area under the curve of u(t) between t=(k1)Ts and t=kTs. It can be approximated in several different ways, using numerical integration techniques. In the case of the bilinear transform, the trapezoidal rule is used, with a step size (sample time) of Ts. This is demonstrated in the following figure.

images/Trapezoidal-rule.svg
The light red area on the left is the first term in Equation (2), and the darker red trapezoid on the right approximates the second term of the equation.
The area of this trapezoid is given by: A=Tsu((k1)Ts)+u(kTs)2=Ts2(u[k1]+u[k]) u[k]u(kTs) Therefore, we can approximate Equation (2): (3)y[k]y[k1]+Ts2(u[k1]+u[k]) We now have an approximation of the recurrence relation for the integrator.

In Equation (1), we found that the transfer function of an integrator in the Laplace domain was Ha(s)=1s. We can now apply the Z-transform to the recurrence relation in Equation (3) to relate the Laplace domain to the Z-domain. Z{y[k]y[k1]+Ts2(u[k1]+u[k])}Y(z)z1Y(z)+Ts2(z1U(z)+U(z))(1z1)Y(z)Ts2(1+z1)U(z) (4)Hd(z)Y(z)U(z)Ts2z+1z1 If we compare the continuous-time transfer function Ha(s) from Equation (1) to the approximated discrete-time transfer function Hd(z) from Equation (4), we find an approximation of s in function of z, that can be used to discretize a continuous-time transfer function: s2Tsz1z+1 We can also express z in function of s: s2Tsz1z+1sz+s2Tsz2Tsz(s2Ts)s2Tszs2Tss2Tsz1+Ts2s1Ts2s

Alternatively, the identity z=esTs can be used, together with the Taylor expansion of ex=1+x+x22!+x33!+: z=esTs=esTs/2esTs/21+Ts2s1Ts2s

Stability

In the Laplace domain, poles that lie to the right of the imaginary axis are unstable. In the Z-domain, poles that lie outside of the unit circle are unstable.
We wish to determine what happens to the stability of poles when applying the bilinear transform.
Let's look at the image of the imaginary axis (s=jω): z=1+Ts2jω1Ts2jω=1+Ts2jω1Ts2jω1+Ts2jω1+Ts2jω=(1+Ts2jω)21+(Ts2ω)2=1+2Ts2jω(Ts2ω)21+(Ts2ω)2 (5)z=1(Ts2ω)21+(Ts2ω)2+j2Ts2ω1+(Ts2ω)2 We'll now calculate |z|2, you'll see why in a moment. |z|2=(z)2+(z)2=(1(Ts2ω)2)2(1+(Ts2ω)2)2+(2Ts2ω)2(1+(Ts2ω)2)2=12(Ts2ω)2+(Ts2ω)4+4(Ts2ω)2(1+(Ts2ω)2)2=1+2(Ts2ω)2+(Ts2ω)4(1+(Ts2ω)2)2=(1+(Ts2ω)2)2(1+(Ts2ω)2)2|z|2=1 In other words, the imaginary axis in the s-plane (Laplace domain) maps to the unit circle in the z-plane (Z-domain).

Let's now look at the image of the real axis (s=σ): z=1+Ts2σ1Ts2σ Substituting xTs2σ results in: z=1+x1x Note that Ts (the sample time) is positive by definition, so x is positive when σ is positive, and x is negative when σ is negative. As you can see, the left half of the real axis (σ<0) is mapped to the interval z(1,1), so inside the unit circle; the right half of the real axis (σ>0) is mapped to the interval z(,1)(1,+).

We can conclude that the left half of the s-plane is mapped to the part of the z-plane inside of the unit circle, and the right half of the s-plane is mapped to the part of the z-plane outside of the unit circle.
This has a very important consequence: stable poles in the Laplace domain map to stable poles in the Z-domain, and unstable poles in the Laplace domain map to unstable poles in the Z-domain.

Frequency response

In the Laplace domain, we determine the frequency response of a system by evaluating the transfer function at s=jωa. In the Z-domain, on the other hand, we evaluate the transfer function at z=ejωd.

When designing a filter in the Laplace domain with a certain corner-frequency, we want the corner-frequency to be the same after discretization.
However, we'll find that there is no linear mapping from the frequency response of the continuous-time system to the frequency response of the discrete-time system.

In the previous section, we already found that the imaginary axis of the s-plane maps to the unit circle of the z-plane.
The phase of any z on the unit circle in the Z-domain is the frequency ωd ([rad/sample]) of a specific point in the frequency response of the discrete-time system.
The imaginary part of any s on the imaginary axis in the Laplace domain is the frequency ωa ([rad/s]) of a specific point in the frequency response of the continuous-time system.
ωdz=arctan((z)(z)) We'll be using Equation (5), substituting αTs2 to make it easier to read. ωd=arctan(2αωa1α2ωa2)tan(ωd)=2αωa1α2ωa2(1α2ωa2)tan(ωd)=2αωaα2tan(ωd)ωa2+2αωatan(ωd)=0 We can solve this quadratic polynomial in ωa using the discriminant method: Δ=4α2+4α2tan2ωd=4α2(1+tan2ωd)=4α2sec2ωd ωa=2α±Δ2α2tanωd=2α±2αsecωd2α2tanωd=1α1secωdtanωd=1αcosωd1sinωd=1α2cos2ωd2112sinωd2cosωd2ωa,1=1α2cos2ωd222sinωd2cosωd2=1α2(cos2ωd21)2sinωd2cosωd2=1αsin2ωd2sinωd2cosωd2=1αsinωd2cosωd2=1αtanωd2=2Tstanωd2ωa,2=1α2cos2ωd22sinωd2cosωd2=1αcosωd2sinωd2=1αcotωd2=2Tscotωd2 I used some trigonometric double-angle identities to simplify the result.

We get two possible solutions for ωa, however, only one is correct.
First, let's look at the case where ωa0: in that case, (z) is always positive (see Equation (5)), so ωdz[0,π].
The first solution ωa,1=2Tstanωd2 is positive, because the tangent function is positive for the argument ωd2[0,π/2].
The second solution ωa,2=2Tscotωd2 is negative, because the cotangent function is positive for the argument ωd2[0,π/2]. This is in contradiction to our initial assumption that ωa0.
Now consider the case where ωa0: in that case, (z) is always negative, so ωdz[0,π].
The first solution ωa,1=2Tstanωd2 is negative, because the tangent function is negative for the argument ωd2[0,π/2].
The second solution ωa,2=2Tscotωd2 is positive, because the cotangent function is negative for the argument ωd2[0,π/2]. This is in contradiction to our initial assumption that ωa0.

In conclusion, if we want our digital system to have a specific characteristic at a given frequency ωd, we have to use a different frequency ωa when designing the system in the analog domain. This action is called frequency prewarping. The prewarped frequency is given by: (6)ωa=2Tstanωd2 Where ωd is the normalized angular frequency in radians per sample. The actual frequency fd is given by: fd=ωd2πTs Note the units of the quantities involved: ωd is given in rad/sample, dividing by 2π cancels out the radians. The unit of Ts is s/sample, the samples cancel out, and the result fd is given in Hz or s1.