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
(ejw, from ω = –π
to π) by
bilinear
can accept an optional parameter Fp
that
specifies prewarping. fp
, in hertz, indicates a “match”
frequency, that is, a 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:
fp = 2*pi*fp;
fs = fp/tan(fp/fs/2)
otherwise, fs = 2*fs
.
It strips any zeros at ±∞ using
It transforms the zeros, poles, and gain using
pd = (1+p/fs)./(1-p/fs); % Do bilinear transformation
zd = (1+z/fs)./(1-z/fs);
kd = real(k*prod(fs-z)./prod(fs-p));
It adds extra zeros at -1 so the resulting system has equivalent numerator and
denominator order.
State-Space Algorithm
An analog system in state space form is given by
. This system is converted to the discrete form using state-space
equations as follows:
To convert an analog system in state-space form,
bilinear
performs two steps:
If fp
is present, let
If fp
is not present, 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.