WEBVTT

00:00:00.040 --> 00:00:02.470
The following content is
provided under a Creative

00:00:02.470 --> 00:00:03.880
Commons license.

00:00:03.880 --> 00:00:06.920
Your support will help MIT
OpenCourseWare continue to

00:00:06.920 --> 00:00:10.570
offer high quality educational
resources for free.

00:00:10.570 --> 00:00:13.470
To make a donation or view
additional materials from

00:00:13.470 --> 00:00:19.290
hundreds of MIT courses, visit
MIT OpenCourseWare at

00:00:19.290 --> 00:00:20.540
ocw.mit.edu.

00:00:55.941 --> 00:00:58.330
ALAN V. OPPENHEIM: Last time,
we introduced the notion of

00:00:58.330 --> 00:01:01.120
mapping continuous time filters
to discrete time

00:01:01.120 --> 00:01:06.150
filters, and we developed
impulse invariance as one

00:01:06.150 --> 00:01:10.470
useful technique for carrying
out that type of mapping.

00:01:10.470 --> 00:01:15.520
What I'd like to do in this
lecture is illustrate impulse

00:01:15.520 --> 00:01:19.600
invariance as a design procedure
in the context of

00:01:19.600 --> 00:01:24.900
one specific class of filters,
namely Butterworth filters.

00:01:24.900 --> 00:01:29.790
And then following that, we'll
proceed on to discuss another

00:01:29.790 --> 00:01:33.610
very important and useful
mapping or design procedure

00:01:33.610 --> 00:01:36.810
referred to as the bilinear
transformation.

00:01:36.810 --> 00:01:42.020
So to begin, let me just discuss
briefly what the class

00:01:42.020 --> 00:01:44.580
of Butterworth filters is.

00:01:44.580 --> 00:01:49.720
And specifically, the
Butterworth filters are

00:01:49.720 --> 00:01:52.710
defined through their frequency

00:01:52.710 --> 00:01:54.390
response or transfer function.

00:01:54.390 --> 00:01:58.530
And I'm using capital B to
denote a Butterworth filter.

00:01:58.530 --> 00:02:01.080
And by definition, the magnitude
squared of the

00:02:01.080 --> 00:02:04.020
frequency response of a
Butterworth filter is given by

00:02:04.020 --> 00:02:05.310
this expression.

00:02:05.310 --> 00:02:09.750
And for example, if N were equal
to 1, then this would

00:02:09.750 --> 00:02:13.350
simply correspond to the
magnitude squared of the

00:02:13.350 --> 00:02:18.130
frequency response for a first
order differential equation.

00:02:18.130 --> 00:02:23.790
Now if you look at the frequency
response, B of omega

00:02:23.790 --> 00:02:25.930
for this class of filters--

00:02:25.930 --> 00:02:28.610
I've illustrated that below--

00:02:28.610 --> 00:02:35.370
and what we see is that the
frequency response starts at

00:02:35.370 --> 00:02:39.110
unity, because that's the way
that it's normalized, and it

00:02:39.110 --> 00:02:42.730
has a monotonic characteristic
in the pass band

00:02:42.730 --> 00:02:44.820
and in the stop band.

00:02:44.820 --> 00:02:49.340
At a frequency equal to the
parameter omega sub c, up

00:02:49.340 --> 00:02:52.800
here, which is referred to as
the cutoff frequency, the

00:02:52.800 --> 00:02:56.480
Butterworth filter frequency
response always goes through

00:02:56.480 --> 00:03:00.100
the same point, namely 0.707.

00:03:00.100 --> 00:03:04.130
And as the order of the
Butterworth filter, capital N,

00:03:04.130 --> 00:03:11.220
increases, the transition from
the pass band to the stop band

00:03:11.220 --> 00:03:12.780
becomes sharper and sharper.

00:03:12.780 --> 00:03:16.320
So for higher order filters,
then, the frequency response

00:03:16.320 --> 00:03:20.810
is flatter in the pass band and
drops off more quickly,

00:03:20.810 --> 00:03:24.950
and attenuates more
in the stop band.

00:03:24.950 --> 00:03:29.520
Now in designing Butterworth
filters, what we want to look

00:03:29.520 --> 00:03:36.060
at is the location of the poles
of the system function.

00:03:36.060 --> 00:03:40.780
And we can infer those from
our definition of what the

00:03:40.780 --> 00:03:44.050
frequency response for the
Butterworth filter is.

00:03:44.050 --> 00:03:48.760
In particular, we have this
expression for the magnitude

00:03:48.760 --> 00:03:51.190
squared of the frequency
response.

00:03:51.190 --> 00:03:58.170
And we recognize that, of
course, as B of j omega times

00:03:58.170 --> 00:04:03.240
B of minus j omega, that's what
the magnitude squared

00:04:03.240 --> 00:04:04.910
will be equal to.

00:04:04.910 --> 00:04:10.110
And in order to convert this
to an expression describing

00:04:10.110 --> 00:04:13.110
the system function, or in
terms of the more general

00:04:13.110 --> 00:04:18.000
Laplace transform variable s,
what we recognize is that j

00:04:18.000 --> 00:04:23.005
omega, in the more general
setting, simply corresponds to

00:04:23.005 --> 00:04:25.860
the Laplace transform
variable s.

00:04:25.860 --> 00:04:32.440
So this product, in fact, is
the Laplace transform for s

00:04:32.440 --> 00:04:34.070
equal to j omega.

00:04:34.070 --> 00:04:38.970
More generally, then, this is
the result of evaluating B of

00:04:38.970 --> 00:04:42.830
s times B of minus s at
s equals j omega.

00:04:42.830 --> 00:04:48.060
Consequently, comparing this
expression with this statement

00:04:48.060 --> 00:04:52.490
leads us to the conclusion that
the transfer function B

00:04:52.490 --> 00:04:57.730
of s of the Butterworth filter,
times B of minus s, is

00:04:57.730 --> 00:05:01.250
given by the expression that
I indicate here, simply

00:05:01.250 --> 00:05:05.490
replacing j omega by s.

00:05:05.490 --> 00:05:10.540
Now what we want to look at
are the poles of B of s.

00:05:10.540 --> 00:05:14.200
That's what we'll want
to get as we design

00:05:14.200 --> 00:05:15.870
a Butterworth filter.

00:05:15.870 --> 00:05:21.520
And we can recognize the poles
of this product simply by

00:05:21.520 --> 00:05:24.470
looking at the roots of the
denominative polynomial.

00:05:24.470 --> 00:05:26.740
And those roots are--

00:05:26.740 --> 00:05:29.220
just taking account of
this factor 2N--

00:05:29.220 --> 00:05:36.000
those roots are at j omega
sub c times the 2N

00:05:36.000 --> 00:05:39.450
roots of minus 1.

00:05:39.450 --> 00:05:43.740
Those roots, in fact, all
lie on a circle, and the

00:05:43.740 --> 00:05:53.140
consequence of that is that the
poles of this expression

00:05:53.140 --> 00:05:55.400
are on a circle.

00:05:55.400 --> 00:05:59.770
The circle is of radius omega
sub c, and the poles are

00:05:59.770 --> 00:06:02.550
distributed around the circle.

00:06:02.550 --> 00:06:07.130
So here I've illustrated the
poles of B of s times B of

00:06:07.130 --> 00:06:09.920
minus s, for this specific
case where capital

00:06:09.920 --> 00:06:11.320
N is equal to 3.

00:06:11.320 --> 00:06:15.970
So there are a total of six
poles around this circle.

00:06:15.970 --> 00:06:20.800
And then for this specific case,
the poles are spaced by

00:06:20.800 --> 00:06:22.850
60 degrees.

00:06:22.850 --> 00:06:26.020
Now we have B of s times
B of minus s.

00:06:26.020 --> 00:06:29.020
To get the system function for
the Butterworth filter, we'd

00:06:29.020 --> 00:06:33.320
like to get B of s, and
the question now is

00:06:33.320 --> 00:06:35.140
how do we get that?

00:06:35.140 --> 00:06:40.250
Well, the thing to recognize is
that wherever this factor

00:06:40.250 --> 00:06:45.590
has a root, this factor
has to have a root at

00:06:45.590 --> 00:06:47.420
the negative location.

00:06:47.420 --> 00:06:51.600
So in fact, when we look at
these poles, we compare them

00:06:51.600 --> 00:06:55.180
with this, for example,
associated with B of s, this

00:06:55.180 --> 00:06:57.560
associated with B of minus s.

00:06:57.560 --> 00:07:01.200
And likewise, we compare these
two together, likewise we

00:07:01.200 --> 00:07:03.010
compare these two together.

00:07:03.010 --> 00:07:07.190
And so we can extract B of s
from this product, simply by

00:07:07.190 --> 00:07:11.360
taking one pole out of
each of those pairs.

00:07:11.360 --> 00:07:15.110
Now a question, of course, is
out of each pair, which one do

00:07:15.110 --> 00:07:17.860
we associate with B of s, and
which do we associate with B

00:07:17.860 --> 00:07:19.470
of minus s?

00:07:19.470 --> 00:07:24.040
And the answer drops out fairly
simply if we recognize

00:07:24.040 --> 00:07:30.510
that if we want to design
filters that are stable, then

00:07:30.510 --> 00:07:33.570
B of s, the transfer function
that we're designing, must

00:07:33.570 --> 00:07:36.440
have all its poles in the left
half of the s plane.

00:07:36.440 --> 00:07:41.760
So in fact, out of each of these
pairs we would associate

00:07:41.760 --> 00:07:47.900
the left half plane pole with
B of s, and so the transfer

00:07:47.900 --> 00:07:52.170
function for the Butterworth
filter for this particular

00:07:52.170 --> 00:07:57.020
case, where the this designates
the parameter omega

00:07:57.020 --> 00:07:59.950
sub c and capital N is 3,
namely a third order

00:07:59.950 --> 00:08:03.850
Butterworth filter, is this
set of pole locations.

00:08:03.850 --> 00:08:08.020
Given those, of course, we can
figure out, simply through

00:08:08.020 --> 00:08:13.360
Algebraic means, what the
transfer function B of s is.

00:08:13.360 --> 00:08:16.700
All right, so that's what
Butterworth filters are.

00:08:16.700 --> 00:08:22.430
And now what I'd like to do is
talk about the design of a

00:08:22.430 --> 00:08:27.460
digital Butterworth filter using
the design technique

00:08:27.460 --> 00:08:31.680
that we introduced last time,
namely impulse invariance.

00:08:31.680 --> 00:08:37.360
And the context in which I will
phrase the design is the

00:08:37.360 --> 00:08:42.809
context of mapping a continuous
time signal to a

00:08:42.809 --> 00:08:47.390
discrete time signal, carrying
out filtering using the

00:08:47.390 --> 00:08:50.360
discrete time filter that we're
designing, and then

00:08:50.360 --> 00:08:51.150
mapping back.

00:08:51.150 --> 00:08:56.980
So we're talking about now a
discrete time filter that we

00:08:56.980 --> 00:09:02.240
want to design through impulse
invariance from continuous

00:09:02.240 --> 00:09:05.950
time Butterworth filters, and
we're going to get our design

00:09:05.950 --> 00:09:11.990
specifications in the context of
having considered discrete

00:09:11.990 --> 00:09:16.660
time processing of continuous
time signals, where we will

00:09:16.660 --> 00:09:23.020
map from a continuous time
signal to a sequence, carry

00:09:23.020 --> 00:09:26.580
out the filtering with the
discrete time filter that

00:09:26.580 --> 00:09:28.440
we're going to design.

00:09:28.440 --> 00:09:35.860
And then we will take the
resulting filtered output and

00:09:35.860 --> 00:09:39.920
map it back to the continuous
time signal.

00:09:39.920 --> 00:09:44.460
But this discrete time filter is
the one that we're talking

00:09:44.460 --> 00:09:45.820
about designing.

00:09:45.820 --> 00:09:49.780
And for a choice of parameter,
there's a sampling frequency,

00:09:49.780 --> 00:09:51.910
of course, involved
in this process.

00:09:51.910 --> 00:09:56.120
And the value that I'll pick for
the sampling frequency is

00:09:56.120 --> 00:09:58.840
10 kilohertz.

00:09:58.840 --> 00:10:02.030
OK, all fairly straightforward
so far.

00:10:02.030 --> 00:10:08.470
And so since we have a sampling
rate of 10 kilohertz,

00:10:08.470 --> 00:10:16.140
we want to first look at our
specifications on the desired

00:10:16.140 --> 00:10:21.400
continuous time filter and then
map those to appropriate

00:10:21.400 --> 00:10:24.540
specifications on the discrete
time filter.

00:10:24.540 --> 00:10:29.740
And what I'll pick for the
desired specifications on the

00:10:29.740 --> 00:10:39.470
continuous time filter is that
at 1 kilohertz, I will ask

00:10:39.470 --> 00:10:44.070
that the continuous time
frequency response be down by

00:10:44.070 --> 00:10:50.610
no more than 1 db in comparison
with its value at

00:10:50.610 --> 00:10:53.130
omega equals 0.

00:10:53.130 --> 00:10:57.580
So that, in effect, specifies
the behavior in the pass band,

00:10:57.580 --> 00:11:00.480
or the specifications
on the pass band.

00:11:00.480 --> 00:11:06.070
And for the stop band, I'll
specify that the filter is

00:11:06.070 --> 00:11:12.830
down by 15 db by the time we've
gotten to 1.5 kilohertz.

00:11:12.830 --> 00:11:16.560
So we have, essentially, the
beginning of the transition

00:11:16.560 --> 00:11:19.610
band-- the end of the pass
band--at 1 kilohertz, and the

00:11:19.610 --> 00:11:23.850
beginning of the stop band
at 1.5 kilohertz.

00:11:23.850 --> 00:11:27.670
And since we're talking about
designing a Butterworth

00:11:27.670 --> 00:11:31.420
filter, we know that the
Butterworth filter is

00:11:31.420 --> 00:11:36.190
monotonic in the pass band and
stop band, and so we'll have a

00:11:36.190 --> 00:11:40.560
filter specification, something
as I show here.

00:11:40.560 --> 00:11:44.940
This represents the allowable
pass band tolerance.

00:11:44.940 --> 00:11:48.130
This is the allowable
stop band tolerance.

00:11:48.130 --> 00:11:53.460
And if I can draw this without
getting myself into trouble,

00:11:53.460 --> 00:11:57.220
essentially we're looking for
a filter, then, that always

00:11:57.220 --> 00:12:04.580
stays between the specified
boundaries here.

00:12:07.580 --> 00:12:10.930
Now what we have to figure out
is what the corresponding

00:12:10.930 --> 00:12:13.820
specifications are for
the digital filter.

00:12:13.820 --> 00:12:19.640
And the strategy, let me
emphasize, is that we have a

00:12:19.640 --> 00:12:23.990
situation where we're doing
discrete time processing of

00:12:23.990 --> 00:12:29.350
continuous time signals,
and we have a set of

00:12:29.350 --> 00:12:31.850
specifications associated
with that.

00:12:31.850 --> 00:12:36.270
That imposes specifications on
our discrete time filter, and

00:12:36.270 --> 00:12:40.460
then we want to design the
discrete time filter using

00:12:40.460 --> 00:12:43.940
impulse invariance, and that's
the discrete time filter that

00:12:43.940 --> 00:12:47.360
we'll use in the
overall system.

00:12:47.360 --> 00:12:52.240
All right, now we want
specifications on the discrete

00:12:52.240 --> 00:12:58.430
time filter, and we want the
continuous overall equivalent

00:12:58.430 --> 00:13:04.560
system to meet certain
specifications at certain

00:13:04.560 --> 00:13:09.010
frequencies related to
continuous time frequencies.

00:13:09.010 --> 00:13:14.550
Recall that when we sample
a continuous time signal,

00:13:14.550 --> 00:13:17.990
there's a very specific mapping
from the continuous

00:13:17.990 --> 00:13:21.590
time frequency axis to the
discrete time frequency axis.

00:13:21.590 --> 00:13:29.120
In particular, the sampling
frequency gets mapped to 2 pi.

00:13:29.120 --> 00:13:32.550
Well, that means that our other
critical frequencies get

00:13:32.550 --> 00:13:34.500
mapped in proportion to that.

00:13:34.500 --> 00:13:39.000
So 1 kilohertz, which is
a 1/10 of the sampling

00:13:39.000 --> 00:13:42.590
frequency, would then convert
to a discrete time

00:13:42.590 --> 00:13:45.860
frequency of 0.2 pi.

00:13:45.860 --> 00:13:51.030
And 1.5 kilohertz will convert
to a discrete time

00:13:51.030 --> 00:13:54.620
frequency of 0.3 pi.

00:13:54.620 --> 00:14:00.230
So what this says is that for
the discrete time filter, we

00:14:00.230 --> 00:14:05.860
would like the same behavior,
but at frequencies--

00:14:05.860 --> 00:14:10.980
or the same specifications, but
at frequencies normalized

00:14:10.980 --> 00:14:14.360
to the discrete time
frequency axis.

00:14:14.360 --> 00:14:20.120
That means that we want the
discrete time frequency

00:14:20.120 --> 00:14:23.250
response magnitude to be greater
than or equal to minus

00:14:23.250 --> 00:14:26.770
1 db at 2/10 pi--

00:14:26.770 --> 00:14:30.060
corresponding to the 1 kilohertz
in continuous time--

00:14:30.060 --> 00:14:36.340
and for the beginning of the
stop band, that would occur at

00:14:36.340 --> 00:14:38.970
0.3 pi, at which point we
want this less than or

00:14:38.970 --> 00:14:42.230
equal to minus 15.

00:14:42.230 --> 00:14:45.680
So those are our discrete
time specifications.

00:14:45.680 --> 00:14:51.960
And we now want to design the
discrete time filter using

00:14:51.960 --> 00:14:54.260
impulse invariance.

00:14:54.260 --> 00:15:02.670
Now in impulse invariance, as
you recall, it corresponds to

00:15:02.670 --> 00:15:06.920
generating an impulse response
which is a sampled version of

00:15:06.920 --> 00:15:11.180
the continuous time impulse
response, and there is a

00:15:11.180 --> 00:15:16.050
temptation naturally to think
all of this parameter, capital

00:15:16.050 --> 00:15:25.190
T, as necessarily identical to
the sampling in the system in

00:15:25.190 --> 00:15:27.710
which the filter is
going to be used.

00:15:27.710 --> 00:15:31.200
Now this is a fairly subtle,
complicated, tongue twisting

00:15:31.200 --> 00:15:36.800
issue, but the bottom line on
it, the essential point, is

00:15:36.800 --> 00:15:41.140
that the parameter capital
T that we use in impulse

00:15:41.140 --> 00:15:46.060
invariant design is a totally
different, unrelated, and in

00:15:46.060 --> 00:15:50.660
fact, as it turns out, arbitrary
parameter, which is

00:15:50.660 --> 00:15:56.480
not necessarily pegged to
the sampling frequency.

00:15:56.480 --> 00:15:58.720
And I think it would be
difficult for me to totally

00:15:58.720 --> 00:16:03.180
clarify that during
the lecture.

00:16:03.180 --> 00:16:05.710
It's discussed more in the
book, and certainly, you

00:16:05.710 --> 00:16:08.850
should take plenty of time
to reflect on it.

00:16:08.850 --> 00:16:14.510
All right, but let's now look,
then, at where we are in our

00:16:14.510 --> 00:16:18.570
design procedure, and
specifically, what it is that

00:16:18.570 --> 00:16:21.720
we need to do in order
to design the

00:16:21.720 --> 00:16:26.000
digital Butterworth filter.

00:16:26.000 --> 00:16:30.900
Now we have a set of
specifications that we've

00:16:30.900 --> 00:16:35.000
generated relating, essentially,
to how we want

00:16:35.000 --> 00:16:38.950
the pass band of the digital
filter and the stop band of

00:16:38.950 --> 00:16:41.050
the digital filter to behave.

00:16:41.050 --> 00:16:46.170
Of course, since this isn't an
ideal filter, it has some

00:16:46.170 --> 00:16:50.510
transition from pass band to
stop band, and as we discussed

00:16:50.510 --> 00:16:54.430
last time, there is aliasing,
which we need to at

00:16:54.430 --> 00:16:57.140
least be aware of.

00:16:57.140 --> 00:17:01.500
We specified certain frequencies
along this axis

00:17:01.500 --> 00:17:07.420
which are easily converted by
relating to the two axes

00:17:07.420 --> 00:17:13.920
through this mapping, are easily
related back to the

00:17:13.920 --> 00:17:21.040
continuous time frequency
axis, as we have here.

00:17:21.040 --> 00:17:26.079
And in particular, now if we
were to simply pick that

00:17:26.079 --> 00:17:29.800
parameter in the impulse
invariant design, capital T,

00:17:29.800 --> 00:17:34.160
as equal to unity, and I
indicated just a minute ago

00:17:34.160 --> 00:17:37.850
that we can pick it arbitrarily,
if I pick it as

00:17:37.850 --> 00:17:43.580
unity, then the procedure would
consist of designing the

00:17:43.580 --> 00:17:47.800
continuous time Butterworth
filter with meeting or

00:17:47.800 --> 00:17:50.870
exceeding the appropriate
specifications and then going

00:17:50.870 --> 00:17:55.090
through the impulse invariant
procedure.

00:17:55.090 --> 00:17:58.250
All right, so let's
do that then.

00:18:01.070 --> 00:18:05.290
We want the discrete time
impulse response to be the

00:18:05.290 --> 00:18:09.750
continuous time impulse response
sampled, and for

00:18:09.750 --> 00:18:11.700
convenience, I'm going to
pick this parameter

00:18:11.700 --> 00:18:14.560
capital T equal to 1.

00:18:14.560 --> 00:18:20.080
That means that the frequency
normalization between the

00:18:20.080 --> 00:18:22.730
discrete time frequency axis
and the continuous time

00:18:22.730 --> 00:18:26.640
frequency axis in fact is--

00:18:26.640 --> 00:18:30.500
those axes are scaled
identically, because capital T

00:18:30.500 --> 00:18:32.000
is equal to 1.

00:18:32.000 --> 00:18:37.590
And so now we want the analog,
or continuous time,

00:18:37.590 --> 00:18:39.550
specifications.

00:18:39.550 --> 00:18:42.690
And so what we need to
do then is design

00:18:42.690 --> 00:18:44.000
a Butterworth filter.

00:18:44.000 --> 00:18:47.370
I'm using capital B here again
to denote the frequency

00:18:47.370 --> 00:18:49.400
response of the Butterworth
filter.

00:18:49.400 --> 00:18:53.300
The Butterworth filter to have
a magnitude which is greater

00:18:53.300 --> 00:18:59.590
than or equal to minus 1 db
prior to the frequency 0.2 pi,

00:18:59.590 --> 00:19:02.520
and less than or equal
to minus 15 at a

00:19:02.520 --> 00:19:07.770
frequency beyond 0.3 pi.

00:19:07.770 --> 00:19:14.820
And so now what we need to do
is determine capital N and

00:19:14.820 --> 00:19:17.910
omega sub c in order to
meet or exceed those

00:19:17.910 --> 00:19:19.160
specifications.

00:19:21.210 --> 00:19:24.300
Now if you go through the
associated algebra in doing

00:19:24.300 --> 00:19:27.360
that, let's say that you decide
that you want to pick

00:19:27.360 --> 00:19:31.040
capital N and omega sub c
to exactly meet those

00:19:31.040 --> 00:19:35.860
inequalities at the two
frequencies, 0.2 pi and 0.3

00:19:35.860 --> 00:19:40.320
pi, what you'll find after going
through the algebra is

00:19:40.320 --> 00:19:46.170
that they're exactly met if
capital N is 5.88 and omega

00:19:46.170 --> 00:19:50.320
sub c is 0.7047.

00:19:50.320 --> 00:19:55.560
And this obviously isn't
satisfactory as parameters for

00:19:55.560 --> 00:19:56.820
the Butterworth filter.

00:19:56.820 --> 00:19:58.720
Why is that?

00:19:58.720 --> 00:20:03.480
The reason is that capital N
isn't an integer, and in the

00:20:03.480 --> 00:20:06.320
class of Butterworth filters,
to generate a rational

00:20:06.320 --> 00:20:08.960
transfer function,
capital N, this

00:20:08.960 --> 00:20:11.420
parameter, must be an integer.

00:20:11.420 --> 00:20:18.480
So since it can't be 5.88, the
natural thing to do is to move

00:20:18.480 --> 00:20:22.510
it up to the next closest
integer, namely 6.

00:20:22.510 --> 00:20:26.330
And that means that we'll end
up with a filter that does

00:20:26.330 --> 00:20:30.100
even better than the
specifications.

00:20:30.100 --> 00:20:33.320
On the other hand, there's
something kind of underneath

00:20:33.320 --> 00:20:36.950
the surface that is inherent
in the impulse invariant

00:20:36.950 --> 00:20:41.350
design procedure, namely the
fact that there will always be

00:20:41.350 --> 00:20:42.960
some aliasing.

00:20:42.960 --> 00:20:46.960
So one strategy, and a natural
one, often, in impulse

00:20:46.960 --> 00:20:53.780
invariant design, is to choose
N as the next highest integer

00:20:53.780 --> 00:20:59.960
as I've done, and then choose
the parameter omega sub c so

00:20:59.960 --> 00:21:04.810
that the pass band
specifications are exactly

00:21:04.810 --> 00:21:07.940
met, and the stop band
specifications are then

00:21:07.940 --> 00:21:10.390
slightly exceeded, and
that will leave

00:21:10.390 --> 00:21:13.860
some margin for aliasing.

00:21:13.860 --> 00:21:18.660
All right, now continuing this
example, then, how would we

00:21:18.660 --> 00:21:21.910
complete the design?

00:21:21.910 --> 00:21:28.840
Well, we know what our two
parameters, capital N and

00:21:28.840 --> 00:21:31.680
omega sub c are.

00:21:31.680 --> 00:21:34.160
That means that we can
determine B of s

00:21:34.160 --> 00:21:35.970
times B of minus s.

00:21:35.970 --> 00:21:42.190
Those poles are located on a
circle in the complex s plane.

00:21:42.190 --> 00:21:47.420
And the poles on that circle
are paired, some being

00:21:47.420 --> 00:21:50.770
associated with B of s and
some with B of minus s.

00:21:50.770 --> 00:21:55.540
And in particular, to determine
B of s, we would

00:21:55.540 --> 00:22:00.780
simply take the poles on the
portion of the circle that's

00:22:00.780 --> 00:22:02.180
in the left half
of the s plane.

00:22:04.720 --> 00:22:11.280
Now what that gives us is a
Butterworth continuous time

00:22:11.280 --> 00:22:16.720
filter, which we are then
mapping through impulse

00:22:16.720 --> 00:22:20.960
invariance with capital
T equal to 1 to a

00:22:20.960 --> 00:22:22.960
discrete time filter.

00:22:22.960 --> 00:22:28.800
That discrete time filter to be
used in a system which has

00:22:28.800 --> 00:22:29.990
an associated sampling

00:22:29.990 --> 00:22:34.620
frequency which is 10 kilohertz.

00:22:34.620 --> 00:22:38.220
So to get the discrete time
filter, then, we first

00:22:38.220 --> 00:22:41.900
determine B of s,
as we just did--

00:22:41.900 --> 00:22:45.360
or at least I indicated
how to do it.

00:22:45.360 --> 00:22:48.940
We would then expand that out
in a partial fraction

00:22:48.940 --> 00:22:54.580
expansion, and then apply the
impulse invariant procedure,

00:22:54.580 --> 00:23:00.660
which consists of mapping the
poles in the s plane to poles

00:23:00.660 --> 00:23:05.230
in the z plane at locations e
to the s of k, capital T,

00:23:05.230 --> 00:23:07.310
capital T is equal to 1.

00:23:07.310 --> 00:23:10.190
And retaining the
residue, or the

00:23:10.190 --> 00:23:12.860
coefficient, in the expansion.

00:23:12.860 --> 00:23:17.050
And this, then, will give us the
transfer function for the

00:23:17.050 --> 00:23:20.370
discrete time filter.

00:23:20.370 --> 00:23:28.130
So if in fact we did that, then
the resulting frequency

00:23:28.130 --> 00:23:32.050
response that we would get is
what I've indicated here.

00:23:32.050 --> 00:23:37.310
And I indicated first on a
magnitude scale, linear

00:23:37.310 --> 00:23:42.580
magnitude scale, and second
on a logarithmic scale.

00:23:42.580 --> 00:23:47.120
And as we had originally
specified, the digital filter

00:23:47.120 --> 00:23:52.430
is supposed to be greater than
or equal to minus 1 db at

00:23:52.430 --> 00:23:55.680
point 2 pi, and less than
or equal to minus

00:23:55.680 --> 00:23:59.540
15 db at 0.3 pi.

00:23:59.540 --> 00:24:03.740
And in fact, this slightly
exceeds those specifications

00:24:03.740 --> 00:24:08.385
since we had purposely allowed
some margin in the stop band.

00:24:14.090 --> 00:24:17.540
Now this is an illustration
of the impulse invariant

00:24:17.540 --> 00:24:22.360
procedure, and it has a number
of very nice properties, one

00:24:22.360 --> 00:24:26.100
of which is that it takes
a continuous time filter

00:24:26.100 --> 00:24:31.630
frequency response and it
converts it to a discrete time

00:24:31.630 --> 00:24:35.270
frequency response, which in the
absence of aliasing, looks

00:24:35.270 --> 00:24:39.500
identical, except for a linear
frequency scale change.

00:24:39.500 --> 00:24:41.680
And in fact, if we picked
capital T equal to 1, then

00:24:41.680 --> 00:24:43.520
there is no scale change.

00:24:43.520 --> 00:24:49.950
It has the major disadvantage
that there is always aliasing,

00:24:49.950 --> 00:24:54.610
and for some problems, for
example, if the filter that

00:24:54.610 --> 00:24:59.940
we're trying to design is not
band limited or low pass, then

00:24:59.940 --> 00:25:04.820
the aliasing will naturally
become intolerable.

00:25:04.820 --> 00:25:07.340
Well, there's another design
procedure which I now want to

00:25:07.340 --> 00:25:11.300
introduce, which totally
avoids the problems of

00:25:11.300 --> 00:25:15.040
aliasing, but, obviously,
then has its own costs

00:25:15.040 --> 00:25:16.460
associated with it.

00:25:16.460 --> 00:25:20.640
And that's procedure is referred
to as the bilinear

00:25:20.640 --> 00:25:21.890
transformation.

00:25:24.430 --> 00:25:28.660
The bilinear transformation,
which I won't try to derive

00:25:28.660 --> 00:25:34.770
here in any detail, is a mapping
of continuous time

00:25:34.770 --> 00:25:40.910
filters to discrete time
filters, corresponding to

00:25:40.910 --> 00:25:45.110
taking the Laplace transform
variable s in the continuous

00:25:45.110 --> 00:25:50.220
time filter and replacing it
by what is referred to as a

00:25:50.220 --> 00:25:53.560
bilinear function of z.

00:25:53.560 --> 00:25:58.530
And so if I substitute this in
here, that will give me the

00:25:58.530 --> 00:26:02.370
discrete time frequency
response.

00:26:02.370 --> 00:26:05.670
Again in this procedure, there's
a parameter capital T,

00:26:05.670 --> 00:26:08.500
which again is totally
irrelevant given the approach

00:26:08.500 --> 00:26:11.610
that we're taking, and which
we will generally tend to

00:26:11.610 --> 00:26:13.570
normalize out to unity.

00:26:13.570 --> 00:26:19.130
And let me just say quickly and
in passing that although

00:26:19.130 --> 00:26:23.080
we won't go through this, the
notion that the bilinear

00:26:23.080 --> 00:26:29.370
transformation can be tied to
the concept of taking the

00:26:29.370 --> 00:26:32.730
differential equation for the
continuous time filter,

00:26:32.730 --> 00:26:36.560
converting it to an integral
equation by integrating enough

00:26:36.560 --> 00:26:42.700
times on both sides, and then
converting that to a

00:26:42.700 --> 00:26:47.600
difference equation by
approximating the integrals

00:26:47.600 --> 00:26:50.200
with the trapezoidal rule.

00:26:50.200 --> 00:26:54.380
And that, in effect, will
correspond to mapping the

00:26:54.380 --> 00:26:57.600
continuous time filter to a
discrete time filter with the

00:26:57.600 --> 00:26:59.930
bilinear transformation.

00:26:59.930 --> 00:27:04.400
Well, we'll just focus on the
properties of the mapping.

00:27:04.400 --> 00:27:09.190
And in particular, if we were
to substitute into the

00:27:09.190 --> 00:27:14.370
expression z equal to e to the
j omega corresponding to the

00:27:14.370 --> 00:27:20.020
unit circle, we would find
that the unit circle in

00:27:20.020 --> 00:27:26.510
discrete time corresponds to
mapping the j omega axis in

00:27:26.510 --> 00:27:30.970
continuous time, which is
exactly what we want.

00:27:30.970 --> 00:27:37.290
Now the mapping between the
continuous time frequency and

00:27:37.290 --> 00:27:43.260
the discrete time frequency is
a nonlinear mapping, which is

00:27:43.260 --> 00:27:44.940
given by the algebraic
expression

00:27:44.940 --> 00:27:46.530
that I indicate here.

00:27:46.530 --> 00:27:56.170
And if we plot this mapping,
what we have is this curve.

00:27:56.170 --> 00:28:03.510
And what this corresponds to,
then, is a mapping of the j

00:28:03.510 --> 00:28:07.410
omega axis, or continuous
time frequency, to

00:28:07.410 --> 00:28:10.270
discrete time frequency.

00:28:10.270 --> 00:28:14.390
And if we think more generally
of the mapping represented by

00:28:14.390 --> 00:28:18.730
the bilinear transformation in
the context of the s-plane and

00:28:18.730 --> 00:28:25.100
the z-plane, it corresponds to
mapping the j omega axis in

00:28:25.100 --> 00:28:31.170
the s-plane to once around the
unit circle in the z-plane.

00:28:31.170 --> 00:28:35.260
And you could also convince
yourself that the left half of

00:28:35.260 --> 00:28:39.850
the s-plane maps to the inside
of the unit circle.

00:28:39.850 --> 00:28:45.250
And so that means that stable
continuous time filters will

00:28:45.250 --> 00:28:48.690
always map to stable discrete
time filters, which is exactly

00:28:48.690 --> 00:28:51.310
what we desire.

00:28:51.310 --> 00:28:54.990
Now notice in this that there's
no issue of aliasing.

00:28:54.990 --> 00:28:58.320
What's happened is that we've
replaced s by a function of z,

00:28:58.320 --> 00:29:01.850
and it corresponds to mapping
the s-plane to the z-plane.

00:29:01.850 --> 00:29:05.970
In fact, the whole j omega axis
has mapped to once around

00:29:05.970 --> 00:29:13.150
the unit circle, which obviously
requires some type

00:29:13.150 --> 00:29:17.280
of nonlinear mapping, because,
look, the j omega axis is

00:29:17.280 --> 00:29:18.640
infinitely long.

00:29:18.640 --> 00:29:21.960
The unit circle has
a finite radius.

00:29:21.960 --> 00:29:25.720
And so essentially, what has to
happen is if you think of

00:29:25.720 --> 00:29:29.720
walking along the continuous
time frequency axis, and

00:29:29.720 --> 00:29:33.840
simultaneously walking around
the unit circle, if you walk

00:29:33.840 --> 00:29:37.580
at a constant rate around the
unit circle and you're

00:29:37.580 --> 00:29:41.330
simultaneously walking up the
j omega axis, if you want to

00:29:41.330 --> 00:29:45.810
get around to pi by the time,
here, you've gotten to

00:29:45.810 --> 00:29:50.530
infinity along the continuous
time frequency axis, you

00:29:50.530 --> 00:29:54.760
better start walking faster,
and faster, and faster,

00:29:54.760 --> 00:29:58.640
because you've got an infinite
distance to cover while you

00:29:58.640 --> 00:30:01.410
just go over a finite
distance here.

00:30:01.410 --> 00:30:07.420
Well, what all that says,
really, is that that's why, in

00:30:07.420 --> 00:30:10.200
fact, we're taking
the entire--

00:30:10.200 --> 00:30:14.850
or we're able to take the entire
omega axis and just map

00:30:14.850 --> 00:30:19.450
it into an interval
of length pi.

00:30:22.544 --> 00:30:27.640
All right, now that means that
there is a nonlinear

00:30:27.640 --> 00:30:31.170
distortion of the frequency
axis if we were to take a

00:30:31.170 --> 00:30:35.320
continuous time filter and
convert it to a discrete time

00:30:35.320 --> 00:30:37.860
filter with the bilinear
transformation.

00:30:37.860 --> 00:30:42.120
How do we account for that, or
for that matter, when can we

00:30:42.120 --> 00:30:44.230
really use it?

00:30:44.230 --> 00:30:49.050
And we can see how to both take
account of it, and what

00:30:49.050 --> 00:30:54.300
its limitations are, by
recognizing the following.

00:30:54.300 --> 00:31:02.690
Suppose that I want to design
a discrete time filter and

00:31:02.690 --> 00:31:06.220
what is going to happen is that
it will be mapped to a

00:31:06.220 --> 00:31:09.340
continuous time filter, or the
relationship between the two

00:31:09.340 --> 00:31:14.300
frequency axes will be
given by this curve.

00:31:14.300 --> 00:31:19.190
So let's suppose that the
continuous time frequency

00:31:19.190 --> 00:31:23.510
response looks as I've shown
here, with a pass band cutoff

00:31:23.510 --> 00:31:27.900
frequency and a stop band
cutoff frequency.

00:31:27.900 --> 00:31:34.270
If this were mapped through the
bilinear transformation to

00:31:34.270 --> 00:31:38.950
a discrete time filter, then
this cutoff frequency would

00:31:38.950 --> 00:31:44.410
fall over here, which is related
through this curve,

00:31:44.410 --> 00:31:49.950
and this cutoff frequency, the
stop band edge would be here.

00:31:49.950 --> 00:31:56.930
Again, it's these frequencies
reflected through this curve.

00:31:56.930 --> 00:32:02.620
So let's suppose now that what
I'd like to do is design a

00:32:02.620 --> 00:32:07.810
discrete time filter, where the
discrete time filter has

00:32:07.810 --> 00:32:11.650
certain frequency
specifications, which is what

00:32:11.650 --> 00:32:14.320
our previous example has.

00:32:14.320 --> 00:32:18.600
It has, let's say, a specified
stop band edge and a specified

00:32:18.600 --> 00:32:23.070
pass band edge, and a specified
stop band edge.

00:32:23.070 --> 00:32:29.100
The design procedure would then
correspond to mapping

00:32:29.100 --> 00:32:34.230
those frequencies to the
corresponding continuous time

00:32:34.230 --> 00:32:40.790
frequencies, designing the
continuous time filter to meet

00:32:40.790 --> 00:32:46.480
the specifications based on
those critical frequencies,

00:32:46.480 --> 00:32:51.300
then taking the continuous time
design and mapping it

00:32:51.300 --> 00:32:54.820
back to a discrete time filter
through the bilinear

00:32:54.820 --> 00:32:57.101
transformation.

00:32:57.101 --> 00:33:02.780
All right, now what we want to
do is again map a Butterworth

00:33:02.780 --> 00:33:05.460
filter, continuous time
Butterworth filter to a

00:33:05.460 --> 00:33:08.510
digital filter in such a way
that the digital filter

00:33:08.510 --> 00:33:11.050
approximately meets the

00:33:11.050 --> 00:33:13.720
specifications that we had before.

00:33:13.720 --> 00:33:16.720
And let me just remind
you of where we were.

00:33:16.720 --> 00:33:24.600
The critical frequencies were
at 0.2 pi and 0.3 pi.

00:33:24.600 --> 00:33:30.260
And what we had asked for is
that the frequency response be

00:33:30.260 --> 00:33:37.370
down by no more than 1 db up
to 0.2 pi, and down by at

00:33:37.370 --> 00:33:41.800
least 15 db at 0.3 pi.

00:33:41.800 --> 00:33:47.630
So we want to design the same
discrete time filter as we did

00:33:47.630 --> 00:33:49.780
before with impulse
invariance.

00:33:49.780 --> 00:33:52.900
We now want to do it with the
bilinear transformation

00:33:52.900 --> 00:33:56.160
applied to an appropriate
Butterworth design.

00:33:59.289 --> 00:34:05.970
OK, well, let's see what kind
of specifications we have.

00:34:05.970 --> 00:34:09.590
We know that the frequency, the
critical frequencies, are

00:34:09.590 --> 00:34:13.530
mapped through this curve,
or this equation.

00:34:13.530 --> 00:34:18.489
And I indicated again that this
parameter capital T is

00:34:18.489 --> 00:34:21.770
arbitrary in the design
procedure.

00:34:21.770 --> 00:34:26.120
That may seem confusing,
initially, but there's some

00:34:26.120 --> 00:34:28.719
further discussion of it in the
book, and it's true and

00:34:28.719 --> 00:34:31.000
important to sort out.

00:34:31.000 --> 00:34:35.070
So we're going to pick capital
T equal to unity.

00:34:35.070 --> 00:34:40.280
And that means then that the
corresponding critical

00:34:40.280 --> 00:34:46.650
frequencies of the continuous
time filter are at twice the

00:34:46.650 --> 00:34:51.690
tangent of 0.2 pi over 2,
and twice the tangent

00:34:51.690 --> 00:34:54.920
of 0.3 pi over 2.

00:34:54.920 --> 00:35:00.340
So that means then that the
specifications on our

00:35:00.340 --> 00:35:05.790
continuous time filter are given
by this, essentially

00:35:05.790 --> 00:35:09.380
pass band and stop band
edges warped through

00:35:09.380 --> 00:35:10.870
that nonlinear curve--

00:35:10.870 --> 00:35:12.620
this nonlinear curve.

00:35:12.620 --> 00:35:18.550
And I'm using capital G here to
denote the system function

00:35:18.550 --> 00:35:24.350
for the resulting continuous
time filter.

00:35:24.350 --> 00:35:28.760
And so now we could think of
designing a Butterworth filter

00:35:28.760 --> 00:35:34.430
that, let's say, exactly meets
these specifications.

00:35:34.430 --> 00:35:38.760
Well, if you do that, what
you'll find is that you get

00:35:38.760 --> 00:35:49.770
exact equality here if you pick
capital N equal to 5.3.

00:35:49.770 --> 00:35:55.240
And again, we have the issue
that if we want to meet or

00:35:55.240 --> 00:35:58.520
exceed the specifications, we
can't make the filter order

00:35:58.520 --> 00:36:00.440
lower, we have to
make it higher.

00:36:00.440 --> 00:36:03.740
And so we would make it, instead
of 5.3, we would make

00:36:03.740 --> 00:36:07.010
the filter order equal to 6.

00:36:07.010 --> 00:36:10.260
And now, again, we have several

00:36:10.260 --> 00:36:11.430
options and trade offs.

00:36:11.430 --> 00:36:15.600
Before, with impulse invariance,
we essentially

00:36:15.600 --> 00:36:20.930
decided to meet the pass band
specifications and exceed the

00:36:20.930 --> 00:36:23.530
stop band specifications
to provide

00:36:23.530 --> 00:36:26.940
some margin for aliasing.

00:36:26.940 --> 00:36:31.650
Here, we don't have any
aliasing, and we can trade

00:36:31.650 --> 00:36:33.470
things off anyway we'd like.

00:36:33.470 --> 00:36:40.390
The way that I've chosen to do
it is to exactly meet the stop

00:36:40.390 --> 00:36:46.910
band cut off, and exceed the
pass band specifications.

00:36:46.910 --> 00:36:52.490
And the result of doing that
is to choose a filter order

00:36:52.490 --> 00:36:57.580
capital N equal to 6, and the
parameter omega sub c in the

00:36:57.580 --> 00:37:04.350
Butterworth filter is
given by 0.76622.

00:37:04.350 --> 00:37:12.090
All right, so now we have the
parameters for the continuous

00:37:12.090 --> 00:37:18.920
time Butterworth filter, which
when mapped to the discrete

00:37:18.920 --> 00:37:23.690
time filter through the bilinear
transformation, will

00:37:23.690 --> 00:37:27.640
exceed our requirements in the
pass band and just meet the

00:37:27.640 --> 00:37:29.450
stop band cutoff.

00:37:29.450 --> 00:37:32.950
And so now we want to complete
the design procedure.

00:37:32.950 --> 00:37:41.240
And given the parameters of the
Butterworth filter, we can

00:37:41.240 --> 00:37:45.330
draw our appropriate circle in
the s-plane, which happens to

00:37:45.330 --> 00:37:49.580
be the same circle as before,
but with a different radius.

00:37:49.580 --> 00:37:56.800
And then associate poles on this
circle with B of s and B

00:37:56.800 --> 00:37:57.950
of minus s.

00:37:57.950 --> 00:37:59.760
In particular, take
the ones in the

00:37:59.760 --> 00:38:02.170
left half of the s-plane--

00:38:02.170 --> 00:38:05.070
same ones we had before except
we have a different value for

00:38:05.070 --> 00:38:07.380
omega sub c--

00:38:07.380 --> 00:38:11.880
and those, then, represent
B of s.

00:38:11.880 --> 00:38:16.810
So we can now determine
B of s.

00:38:16.810 --> 00:38:22.800
And once we have the transfer
function B of s, we then map

00:38:22.800 --> 00:38:28.060
that to a discrete time filter
by mapping through the

00:38:28.060 --> 00:38:30.760
bilinear transformation.

00:38:30.760 --> 00:38:35.790
And that then is the design
procedure which we would

00:38:35.790 --> 00:38:37.660
follow this example.

00:38:37.660 --> 00:38:41.880
All right, well, let's just see
what the result looks like

00:38:41.880 --> 00:38:44.260
when we're done.

00:38:44.260 --> 00:38:50.940
Here I show, again, on both a
linear magnitude scale and on

00:38:50.940 --> 00:38:55.010
a logarithmic or DB scale, the
frequency response of the

00:38:55.010 --> 00:38:57.440
resulting filter.

00:38:57.440 --> 00:39:00.310
And recall that the
specifications were that at

00:39:00.310 --> 00:39:05.730
0.2 pi, we should be down by no
more than 1 db, and clearly

00:39:05.730 --> 00:39:08.120
we've exceeded that
considerably.

00:39:08.120 --> 00:39:13.870
And at 0.3 pi, we should be down
by at least 15 db, and we

00:39:13.870 --> 00:39:17.750
chose the design so that we
would exactly meet that edge.

00:39:17.750 --> 00:39:21.910
So we've met this point and
exceeded this point, and this

00:39:21.910 --> 00:39:24.070
is our design.

00:39:24.070 --> 00:39:29.220
Now let's just compare this
with the impulse invariant

00:39:29.220 --> 00:39:31.870
design that we saw a
few minutes ago.

00:39:35.050 --> 00:39:41.046
The impulse invariant design
is what I indicate here.

00:39:41.046 --> 00:39:44.930
The bilinear transformation
design is now

00:39:44.930 --> 00:39:47.860
overlaid on top of it.

00:39:47.860 --> 00:39:51.420
It's hard to see much difference
on a linear

00:39:51.420 --> 00:39:54.820
magnitude scale, but let's look
on a logarithmic scale.

00:39:54.820 --> 00:39:58.750
And this one that I'm lifting
is the bilinear

00:39:58.750 --> 00:40:03.870
transformation, and this
is impulse invariance.

00:40:03.870 --> 00:40:08.410
And notice, in fact, something
very interesting, which is

00:40:08.410 --> 00:40:16.670
that the filter that we obtained
by mapping the

00:40:16.670 --> 00:40:19.655
Butterworth filter to a digital
filter through the

00:40:19.655 --> 00:40:24.740
bilinear transformation in fact
falls off in frequency

00:40:24.740 --> 00:40:28.900
much more rapidly than the one
that we got through impulse

00:40:28.900 --> 00:40:31.690
invariance.

00:40:31.690 --> 00:40:34.190
The question is why?

00:40:34.190 --> 00:40:36.600
Now one thought that might come
to mind is, well, impulse

00:40:36.600 --> 00:40:39.160
invariance has aliasing, the
bilinear transformation

00:40:39.160 --> 00:40:41.870
doesn't have aliasing,
that must be a

00:40:41.870 --> 00:40:44.990
consequence of aliasing.

00:40:44.990 --> 00:40:47.850
In fact, that's not
the reason.

00:40:47.850 --> 00:40:51.370
Aliasing, as it turns out in
this particular design, was

00:40:51.370 --> 00:40:54.460
relatively minimal in the
impulse invariant design.

00:40:54.460 --> 00:41:00.070
The reason has to do with this
nonlinear mapping in the

00:41:00.070 --> 00:41:03.710
bilinear transformation from the
continuous time frequency

00:41:03.710 --> 00:41:06.920
to the discrete time
frequency.

00:41:06.920 --> 00:41:12.070
Keep in mind that through that
mapping, as you start walking

00:41:12.070 --> 00:41:15.900
around the unit circle and
moving up to j omega axis, as

00:41:15.900 --> 00:41:18.700
you move up the j omega axis,
you have to move faster, and

00:41:18.700 --> 00:41:21.450
faster, and faster,
and faster.

00:41:21.450 --> 00:41:28.580
And what's in continuous time
frequency at infinity is what

00:41:28.580 --> 00:41:31.370
you get to in the discrete time
frequency by the time you

00:41:31.370 --> 00:41:32.920
get around to pi.

00:41:32.920 --> 00:41:38.870
So in fact, what we're looking
at as we look out along this

00:41:38.870 --> 00:41:45.340
frequency axis is we're seeing
higher, and higher, and higher

00:41:45.340 --> 00:41:48.520
frequencies in the continuous
time filter.

00:41:48.520 --> 00:41:53.550
By the time we get to pi, we
should in fact be in the

00:41:53.550 --> 00:41:57.560
continuous time filter
equivalently off to infinity,

00:41:57.560 --> 00:42:00.540
which sounds like a pretty
uncomfortable place to be.

00:42:04.380 --> 00:42:10.920
OK, now this was a fairly rapid
trip through a number of

00:42:10.920 --> 00:42:14.200
issues, in particular, some of
the issues associated with the

00:42:14.200 --> 00:42:20.980
bilinear transformation, and
also this issue of how you

00:42:20.980 --> 00:42:24.330
pick this parameter capital T,
and how it might be associated

00:42:24.330 --> 00:42:27.190
with a sampling frequency if
you're doing discrete time

00:42:27.190 --> 00:42:30.130
processing of continuous
time signals.

00:42:30.130 --> 00:42:35.020
And we don't have time to
explore some of those issues

00:42:35.020 --> 00:42:37.880
more fully in this lecture.

00:42:37.880 --> 00:42:41.220
But I'd like to conclude by
making a couple of comments.

00:42:41.220 --> 00:42:45.160
One comment is that the two
techniques that we've talked

00:42:45.160 --> 00:42:49.510
about, impulse invariance and
the bilinear transformation,

00:42:49.510 --> 00:42:54.610
are the two techniques that are
principally used when one

00:42:54.610 --> 00:42:58.900
thinks of mapping continuous
time filters to discrete time

00:42:58.900 --> 00:43:00.830
filters for whatever
application.

00:43:00.830 --> 00:43:05.890
And I stress again that you may
want to do that mapping

00:43:05.890 --> 00:43:10.080
whether or not the discrete
time filter is eventually

00:43:10.080 --> 00:43:11.910
going to be used for processing

00:43:11.910 --> 00:43:13.160
continuous time signals.

00:43:15.970 --> 00:43:24.020
Now impulse invariance had the
very nice characteristic that

00:43:24.020 --> 00:43:26.830
it corresponds to a linear
mapping between the two

00:43:26.830 --> 00:43:32.560
frequency axes, except for the
issue of aliasing, and that's

00:43:32.560 --> 00:43:36.020
a problem with it, and in
particular, limits its

00:43:36.020 --> 00:43:41.280
usefulness to filter designs, or
for mapping continuous time

00:43:41.280 --> 00:43:42.970
filters that are band limited.

00:43:46.610 --> 00:43:50.840
On the other hand, we have the
bilinear transformation as a

00:43:50.840 --> 00:43:55.830
design procedure, which totally
avoids aliasing, but

00:43:55.830 --> 00:44:00.210
has the disadvantage or
difficulty that it represents

00:44:00.210 --> 00:44:03.510
a nonlinear mapping from the
continuous time filter to the

00:44:03.510 --> 00:44:05.420
discrete time filter.

00:44:05.420 --> 00:44:10.230
Now this nonlinear distortion
is perfectly acceptable if

00:44:10.230 --> 00:44:13.210
we're designing or attempting
to design filters that have

00:44:13.210 --> 00:44:16.400
flat frequency characteristics.

00:44:16.400 --> 00:44:19.740
It's not acceptable if, for
example, we had a linear

00:44:19.740 --> 00:44:23.650
frequency characteristic that we
wanted to map to a discrete

00:44:23.650 --> 00:44:25.750
time filter and end up with
a linear frequency

00:44:25.750 --> 00:44:26.800
characteristic.

00:44:26.800 --> 00:44:31.480
It won't come out to be linear
because of this nonlinear

00:44:31.480 --> 00:44:34.320
mapping of the frequency axis.

00:44:34.320 --> 00:44:39.890
Now there are also a number of
other design procedures, which

00:44:39.890 --> 00:44:42.620
we won't go into, for designing
discrete time

00:44:42.620 --> 00:44:47.560
filters, and among them are
a variety of techniques,

00:44:47.560 --> 00:44:51.440
including, for example,
computer aided design

00:44:51.440 --> 00:44:52.700
procedures.

00:44:52.700 --> 00:44:56.460
And I invite you, if you're
interested and want to dig

00:44:56.460 --> 00:45:01.330
into that in more detail and
more deeply, to explore that

00:45:01.330 --> 00:45:08.060
topic by making reference to
various of the books listed in

00:45:08.060 --> 00:45:10.390
the bibliography in the text.

00:45:10.390 --> 00:45:11.640
Thank you.