collapse all
The bilinear transformation is a mathematical mapping of variables.
In digital filtering, it is a standard method of mapping the s or analog
plane into the z or digital plane. It transforms analog filters, designed
using classical filter design techniques, into their discrete equivalents.
The bilinear transformation maps the s-plane into the
z-plane by
This transformation maps the jΩ axis (from Ω = –∞ to
+∞) repeatedly around the unit circle
(ejω, from ω =
–π to π) by
bilinear can accept an optional parameter
fp that specifies prewarping.
fp, in hertz, indicates a
match frequency for which the frequency responses before and after
mapping match exactly. In prewarped mode, the bilinear transformation maps the
s-plane into the z-plane with
With the prewarping option, bilinear maps the jΩ
axis (from Ω = –∞ to +∞) repeatedly around the unit circle
(ejω, from ω =
–π to π) by
In prewarped mode, bilinear matches the frequency
2πfp (in radians per second) in the
s-plane to the normalized frequency
2πfp/fs
(in radians per second) in the z-plane.
The bilinear function works with three different linear system
representations: zero-pole-gain, transfer function, and state-space form.
bilinear uses one of two algorithms depending on the format of the
input linear system you supply. One algorithm works on the zero-pole-gain format and the other
on the state-space format. For transfer function representations,
bilinear converts to state-space form, performs the transformation, and
converts the resulting state-space system back to transfer function form.
For a system in zero-pole-gain form, bilinear performs four
steps:
If fp is present, it prewarps:
otherwise, fs = 2*fs.
It strips any zeros at ±∞ using
It transforms the zeros, poles, and gain using
It adds extra zeros at –1 so the resulting system has equal numerator and
denominator orders.
The state-space equations for analog system
can be converted to discrete form:
To do the conversion, bilinear performs two steps
[1]:
If a match frequency fp is specified, let
If fp is not specified, let λ =
fs.
Compute Ad,
Bd,
Cd, and
Dd in terms of A,
B, C, and D using
For a system in transfer function form, bilinear converts an
s-domain transfer function given by num and
den to a discrete equivalent. Row vectors num and
den specify the coefficients of the numerator and denominator,
respectively, in descending powers of s. Let
B(s) be the numerator polynomial and
A(s) be the denominator polynomial. The transfer
function is:
fs is the sample rate in hertz. bilinear returns
the discrete equivalent in row vectors numd and dend
in descending powers of z (ascending powers of
z–1). fp is the optional
match frequency, in hertz, for prewarping.