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.
Zero-Pole-Gain Algorithm
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.
State-Space Algorithm
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
Transfer Function
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.