1
00:00:00,040 --> 00:00:02,470
The following content is
provided under a Creative
2
00:00:02,470 --> 00:00:03,880
Commons license.
3
00:00:03,880 --> 00:00:06,920
Your support will help MIT
OpenCourseWare continue to
4
00:00:06,920 --> 00:00:10,570
offer high quality educational
resources for free.
5
00:00:10,570 --> 00:00:13,470
To make a donation or view
additional materials from
6
00:00:13,470 --> 00:00:19,290
hundreds of MIT courses, visit
MIT OpenCourseWare at
7
00:00:19,290 --> 00:00:20,540
ocw.mit.edu.
8
00:00:55,941 --> 00:00:58,330
ALAN V. OPPENHEIM: Last time,
we introduced the notion of
9
00:00:58,330 --> 00:01:01,120
mapping continuous time filters
to discrete time
10
00:01:01,120 --> 00:01:06,150
filters, and we developed
impulse invariance as one
11
00:01:06,150 --> 00:01:10,470
useful technique for carrying
out that type of mapping.
12
00:01:10,470 --> 00:01:15,520
What I'd like to do in this
lecture is illustrate impulse
13
00:01:15,520 --> 00:01:19,600
invariance as a design procedure
in the context of
14
00:01:19,600 --> 00:01:24,900
one specific class of filters,
namely Butterworth filters.
15
00:01:24,900 --> 00:01:29,790
And then following that, we'll
proceed on to discuss another
16
00:01:29,790 --> 00:01:33,610
very important and useful
mapping or design procedure
17
00:01:33,610 --> 00:01:36,810
referred to as the bilinear
transformation.
18
00:01:36,810 --> 00:01:42,020
So to begin, let me just discuss
briefly what the class
19
00:01:42,020 --> 00:01:44,580
of Butterworth filters is.
20
00:01:44,580 --> 00:01:49,720
And specifically, the
Butterworth filters are
21
00:01:49,720 --> 00:01:52,710
defined through their frequency
22
00:01:52,710 --> 00:01:54,390
response or transfer function.
23
00:01:54,390 --> 00:01:58,530
And I'm using capital B to
denote a Butterworth filter.
24
00:01:58,530 --> 00:02:01,080
And by definition, the magnitude
squared of the
25
00:02:01,080 --> 00:02:04,020
frequency response of a
Butterworth filter is given by
26
00:02:04,020 --> 00:02:05,310
this expression.
27
00:02:05,310 --> 00:02:09,750
And for example, if N were equal
to 1, then this would
28
00:02:09,750 --> 00:02:13,350
simply correspond to the
magnitude squared of the
29
00:02:13,350 --> 00:02:18,130
frequency response for a first
order differential equation.
30
00:02:18,130 --> 00:02:23,790
Now if you look at the frequency
response, B of omega
31
00:02:23,790 --> 00:02:25,930
for this class of filters--
32
00:02:25,930 --> 00:02:28,610
I've illustrated that below--
33
00:02:28,610 --> 00:02:35,370
and what we see is that the
frequency response starts at
34
00:02:35,370 --> 00:02:39,110
unity, because that's the way
that it's normalized, and it
35
00:02:39,110 --> 00:02:42,730
has a monotonic characteristic
in the pass band
36
00:02:42,730 --> 00:02:44,820
and in the stop band.
37
00:02:44,820 --> 00:02:49,340
At a frequency equal to the
parameter omega sub c, up
38
00:02:49,340 --> 00:02:52,800
here, which is referred to as
the cutoff frequency, the
39
00:02:52,800 --> 00:02:56,480
Butterworth filter frequency
response always goes through
40
00:02:56,480 --> 00:03:00,100
the same point, namely 0.707.
41
00:03:00,100 --> 00:03:04,130
And as the order of the
Butterworth filter, capital N,
42
00:03:04,130 --> 00:03:11,220
increases, the transition from
the pass band to the stop band
43
00:03:11,220 --> 00:03:12,780
becomes sharper and sharper.
44
00:03:12,780 --> 00:03:16,320
So for higher order filters,
then, the frequency response
45
00:03:16,320 --> 00:03:20,810
is flatter in the pass band and
drops off more quickly,
46
00:03:20,810 --> 00:03:24,950
and attenuates more
in the stop band.
47
00:03:24,950 --> 00:03:29,520
Now in designing Butterworth
filters, what we want to look
48
00:03:29,520 --> 00:03:36,060
at is the location of the poles
of the system function.
49
00:03:36,060 --> 00:03:40,780
And we can infer those from
our definition of what the
50
00:03:40,780 --> 00:03:44,050
frequency response for the
Butterworth filter is.
51
00:03:44,050 --> 00:03:48,760
In particular, we have this
expression for the magnitude
52
00:03:48,760 --> 00:03:51,190
squared of the frequency
response.
53
00:03:51,190 --> 00:03:58,170
And we recognize that, of
course, as B of j omega times
54
00:03:58,170 --> 00:04:03,240
B of minus j omega, that's what
the magnitude squared
55
00:04:03,240 --> 00:04:04,910
will be equal to.
56
00:04:04,910 --> 00:04:10,110
And in order to convert this
to an expression describing
57
00:04:10,110 --> 00:04:13,110
the system function, or in
terms of the more general
58
00:04:13,110 --> 00:04:18,000
Laplace transform variable s,
what we recognize is that j
59
00:04:18,000 --> 00:04:23,005
omega, in the more general
setting, simply corresponds to
60
00:04:23,005 --> 00:04:25,860
the Laplace transform
variable s.
61
00:04:25,860 --> 00:04:32,440
So this product, in fact, is
the Laplace transform for s
62
00:04:32,440 --> 00:04:34,070
equal to j omega.
63
00:04:34,070 --> 00:04:38,970
More generally, then, this is
the result of evaluating B of
64
00:04:38,970 --> 00:04:42,830
s times B of minus s at
s equals j omega.
65
00:04:42,830 --> 00:04:48,060
Consequently, comparing this
expression with this statement
66
00:04:48,060 --> 00:04:52,490
leads us to the conclusion that
the transfer function B
67
00:04:52,490 --> 00:04:57,730
of s of the Butterworth filter,
times B of minus s, is
68
00:04:57,730 --> 00:05:01,250
given by the expression that
I indicate here, simply
69
00:05:01,250 --> 00:05:05,490
replacing j omega by s.
70
00:05:05,490 --> 00:05:10,540
Now what we want to look at
are the poles of B of s.
71
00:05:10,540 --> 00:05:14,200
That's what we'll want
to get as we design
72
00:05:14,200 --> 00:05:15,870
a Butterworth filter.
73
00:05:15,870 --> 00:05:21,520
And we can recognize the poles
of this product simply by
74
00:05:21,520 --> 00:05:24,470
looking at the roots of the
denominative polynomial.
75
00:05:24,470 --> 00:05:26,740
And those roots are--
76
00:05:26,740 --> 00:05:29,220
just taking account of
this factor 2N--
77
00:05:29,220 --> 00:05:36,000
those roots are at j omega
sub c times the 2N
78
00:05:36,000 --> 00:05:39,450
roots of minus 1.
79
00:05:39,450 --> 00:05:43,740
Those roots, in fact, all
lie on a circle, and the
80
00:05:43,740 --> 00:05:53,140
consequence of that is that the
poles of this expression
81
00:05:53,140 --> 00:05:55,400
are on a circle.
82
00:05:55,400 --> 00:05:59,770
The circle is of radius omega
sub c, and the poles are
83
00:05:59,770 --> 00:06:02,550
distributed around the circle.
84
00:06:02,550 --> 00:06:07,130
So here I've illustrated the
poles of B of s times B of
85
00:06:07,130 --> 00:06:09,920
minus s, for this specific
case where capital
86
00:06:09,920 --> 00:06:11,320
N is equal to 3.
87
00:06:11,320 --> 00:06:15,970
So there are a total of six
poles around this circle.
88
00:06:15,970 --> 00:06:20,800
And then for this specific case,
the poles are spaced by
89
00:06:20,800 --> 00:06:22,850
60 degrees.
90
00:06:22,850 --> 00:06:26,020
Now we have B of s times
B of minus s.
91
00:06:26,020 --> 00:06:29,020
To get the system function for
the Butterworth filter, we'd
92
00:06:29,020 --> 00:06:33,320
like to get B of s, and
the question now is
93
00:06:33,320 --> 00:06:35,140
how do we get that?
94
00:06:35,140 --> 00:06:40,250
Well, the thing to recognize is
that wherever this factor
95
00:06:40,250 --> 00:06:45,590
has a root, this factor
has to have a root at
96
00:06:45,590 --> 00:06:47,420
the negative location.
97
00:06:47,420 --> 00:06:51,600
So in fact, when we look at
these poles, we compare them
98
00:06:51,600 --> 00:06:55,180
with this, for example,
associated with B of s, this
99
00:06:55,180 --> 00:06:57,560
associated with B of minus s.
100
00:06:57,560 --> 00:07:01,200
And likewise, we compare these
two together, likewise we
101
00:07:01,200 --> 00:07:03,010
compare these two together.
102
00:07:03,010 --> 00:07:07,190
And so we can extract B of s
from this product, simply by
103
00:07:07,190 --> 00:07:11,360
taking one pole out of
each of those pairs.
104
00:07:11,360 --> 00:07:15,110
Now a question, of course, is
out of each pair, which one do
105
00:07:15,110 --> 00:07:17,860
we associate with B of s, and
which do we associate with B
106
00:07:17,860 --> 00:07:19,470
of minus s?
107
00:07:19,470 --> 00:07:24,040
And the answer drops out fairly
simply if we recognize
108
00:07:24,040 --> 00:07:30,510
that if we want to design
filters that are stable, then
109
00:07:30,510 --> 00:07:33,570
B of s, the transfer function
that we're designing, must
110
00:07:33,570 --> 00:07:36,440
have all its poles in the left
half of the s plane.
111
00:07:36,440 --> 00:07:41,760
So in fact, out of each of these
pairs we would associate
112
00:07:41,760 --> 00:07:47,900
the left half plane pole with
B of s, and so the transfer
113
00:07:47,900 --> 00:07:52,170
function for the Butterworth
filter for this particular
114
00:07:52,170 --> 00:07:57,020
case, where the this designates
the parameter omega
115
00:07:57,020 --> 00:07:59,950
sub c and capital N is 3,
namely a third order
116
00:07:59,950 --> 00:08:03,850
Butterworth filter, is this
set of pole locations.
117
00:08:03,850 --> 00:08:08,020
Given those, of course, we can
figure out, simply through
118
00:08:08,020 --> 00:08:13,360
Algebraic means, what the
transfer function B of s is.
119
00:08:13,360 --> 00:08:16,700
All right, so that's what
Butterworth filters are.
120
00:08:16,700 --> 00:08:22,430
And now what I'd like to do is
talk about the design of a
121
00:08:22,430 --> 00:08:27,460
digital Butterworth filter using
the design technique
122
00:08:27,460 --> 00:08:31,680
that we introduced last time,
namely impulse invariance.
123
00:08:31,680 --> 00:08:37,360
And the context in which I will
phrase the design is the
124
00:08:37,360 --> 00:08:42,809
context of mapping a continuous
time signal to a
125
00:08:42,809 --> 00:08:47,390
discrete time signal, carrying
out filtering using the
126
00:08:47,390 --> 00:08:50,360
discrete time filter that we're
designing, and then
127
00:08:50,360 --> 00:08:51,150
mapping back.
128
00:08:51,150 --> 00:08:56,980
So we're talking about now a
discrete time filter that we
129
00:08:56,980 --> 00:09:02,240
want to design through impulse
invariance from continuous
130
00:09:02,240 --> 00:09:05,950
time Butterworth filters, and
we're going to get our design
131
00:09:05,950 --> 00:09:11,990
specifications in the context of
having considered discrete
132
00:09:11,990 --> 00:09:16,660
time processing of continuous
time signals, where we will
133
00:09:16,660 --> 00:09:23,020
map from a continuous time
signal to a sequence, carry
134
00:09:23,020 --> 00:09:26,580
out the filtering with the
discrete time filter that
135
00:09:26,580 --> 00:09:28,440
we're going to design.
136
00:09:28,440 --> 00:09:35,860
And then we will take the
resulting filtered output and
137
00:09:35,860 --> 00:09:39,920
map it back to the continuous
time signal.
138
00:09:39,920 --> 00:09:44,460
But this discrete time filter is
the one that we're talking
139
00:09:44,460 --> 00:09:45,820
about designing.
140
00:09:45,820 --> 00:09:49,780
And for a choice of parameter,
there's a sampling frequency,
141
00:09:49,780 --> 00:09:51,910
of course, involved
in this process.
142
00:09:51,910 --> 00:09:56,120
And the value that I'll pick for
the sampling frequency is
143
00:09:56,120 --> 00:09:58,840
10 kilohertz.
144
00:09:58,840 --> 00:10:02,030
OK, all fairly straightforward
so far.
145
00:10:02,030 --> 00:10:08,470
And so since we have a sampling
rate of 10 kilohertz,
146
00:10:08,470 --> 00:10:16,140
we want to first look at our
specifications on the desired
147
00:10:16,140 --> 00:10:21,400
continuous time filter and then
map those to appropriate
148
00:10:21,400 --> 00:10:24,540
specifications on the discrete
time filter.
149
00:10:24,540 --> 00:10:29,740
And what I'll pick for the
desired specifications on the
150
00:10:29,740 --> 00:10:39,470
continuous time filter is that
at 1 kilohertz, I will ask
151
00:10:39,470 --> 00:10:44,070
that the continuous time
frequency response be down by
152
00:10:44,070 --> 00:10:50,610
no more than 1 db in comparison
with its value at
153
00:10:50,610 --> 00:10:53,130
omega equals 0.
154
00:10:53,130 --> 00:10:57,580
So that, in effect, specifies
the behavior in the pass band,
155
00:10:57,580 --> 00:11:00,480
or the specifications
on the pass band.
156
00:11:00,480 --> 00:11:06,070
And for the stop band, I'll
specify that the filter is
157
00:11:06,070 --> 00:11:12,830
down by 15 db by the time we've
gotten to 1.5 kilohertz.
158
00:11:12,830 --> 00:11:16,560
So we have, essentially, the
beginning of the transition
159
00:11:16,560 --> 00:11:19,610
band-- the end of the pass
band--at 1 kilohertz, and the
160
00:11:19,610 --> 00:11:23,850
beginning of the stop band
at 1.5 kilohertz.
161
00:11:23,850 --> 00:11:27,670
And since we're talking about
designing a Butterworth
162
00:11:27,670 --> 00:11:31,420
filter, we know that the
Butterworth filter is
163
00:11:31,420 --> 00:11:36,190
monotonic in the pass band and
stop band, and so we'll have a
164
00:11:36,190 --> 00:11:40,560
filter specification, something
as I show here.
165
00:11:40,560 --> 00:11:44,940
This represents the allowable
pass band tolerance.
166
00:11:44,940 --> 00:11:48,130
This is the allowable
stop band tolerance.
167
00:11:48,130 --> 00:11:53,460
And if I can draw this without
getting myself into trouble,
168
00:11:53,460 --> 00:11:57,220
essentially we're looking for
a filter, then, that always
169
00:11:57,220 --> 00:12:04,580
stays between the specified
boundaries here.
170
00:12:07,580 --> 00:12:10,930
Now what we have to figure out
is what the corresponding
171
00:12:10,930 --> 00:12:13,820
specifications are for
the digital filter.
172
00:12:13,820 --> 00:12:19,640
And the strategy, let me
emphasize, is that we have a
173
00:12:19,640 --> 00:12:23,990
situation where we're doing
discrete time processing of
174
00:12:23,990 --> 00:12:29,350
continuous time signals,
and we have a set of
175
00:12:29,350 --> 00:12:31,850
specifications associated
with that.
176
00:12:31,850 --> 00:12:36,270
That imposes specifications on
our discrete time filter, and
177
00:12:36,270 --> 00:12:40,460
then we want to design the
discrete time filter using
178
00:12:40,460 --> 00:12:43,940
impulse invariance, and that's
the discrete time filter that
179
00:12:43,940 --> 00:12:47,360
we'll use in the
overall system.
180
00:12:47,360 --> 00:12:52,240
All right, now we want
specifications on the discrete
181
00:12:52,240 --> 00:12:58,430
time filter, and we want the
continuous overall equivalent
182
00:12:58,430 --> 00:13:04,560
system to meet certain
specifications at certain
183
00:13:04,560 --> 00:13:09,010
frequencies related to
continuous time frequencies.
184
00:13:09,010 --> 00:13:14,550
Recall that when we sample
a continuous time signal,
185
00:13:14,550 --> 00:13:17,990
there's a very specific mapping
from the continuous
186
00:13:17,990 --> 00:13:21,590
time frequency axis to the
discrete time frequency axis.
187
00:13:21,590 --> 00:13:29,120
In particular, the sampling
frequency gets mapped to 2 pi.
188
00:13:29,120 --> 00:13:32,550
Well, that means that our other
critical frequencies get
189
00:13:32,550 --> 00:13:34,500
mapped in proportion to that.
190
00:13:34,500 --> 00:13:39,000
So 1 kilohertz, which is
a 1/10 of the sampling
191
00:13:39,000 --> 00:13:42,590
frequency, would then convert
to a discrete time
192
00:13:42,590 --> 00:13:45,860
frequency of 0.2 pi.
193
00:13:45,860 --> 00:13:51,030
And 1.5 kilohertz will convert
to a discrete time
194
00:13:51,030 --> 00:13:54,620
frequency of 0.3 pi.
195
00:13:54,620 --> 00:14:00,230
So what this says is that for
the discrete time filter, we
196
00:14:00,230 --> 00:14:05,860
would like the same behavior,
but at frequencies--
197
00:14:05,860 --> 00:14:10,980
or the same specifications, but
at frequencies normalized
198
00:14:10,980 --> 00:14:14,360
to the discrete time
frequency axis.
199
00:14:14,360 --> 00:14:20,120
That means that we want the
discrete time frequency
200
00:14:20,120 --> 00:14:23,250
response magnitude to be greater
than or equal to minus
201
00:14:23,250 --> 00:14:26,770
1 db at 2/10 pi--
202
00:14:26,770 --> 00:14:30,060
corresponding to the 1 kilohertz
in continuous time--
203
00:14:30,060 --> 00:14:36,340
and for the beginning of the
stop band, that would occur at
204
00:14:36,340 --> 00:14:38,970
0.3 pi, at which point we
want this less than or
205
00:14:38,970 --> 00:14:42,230
equal to minus 15.
206
00:14:42,230 --> 00:14:45,680
So those are our discrete
time specifications.
207
00:14:45,680 --> 00:14:51,960
And we now want to design the
discrete time filter using
208
00:14:51,960 --> 00:14:54,260
impulse invariance.
209
00:14:54,260 --> 00:15:02,670
Now in impulse invariance, as
you recall, it corresponds to
210
00:15:02,670 --> 00:15:06,920
generating an impulse response
which is a sampled version of
211
00:15:06,920 --> 00:15:11,180
the continuous time impulse
response, and there is a
212
00:15:11,180 --> 00:15:16,050
temptation naturally to think
all of this parameter, capital
213
00:15:16,050 --> 00:15:25,190
T, as necessarily identical to
the sampling in the system in
214
00:15:25,190 --> 00:15:27,710
which the filter is
going to be used.
215
00:15:27,710 --> 00:15:31,200
Now this is a fairly subtle,
complicated, tongue twisting
216
00:15:31,200 --> 00:15:36,800
issue, but the bottom line on
it, the essential point, is
217
00:15:36,800 --> 00:15:41,140
that the parameter capital
T that we use in impulse
218
00:15:41,140 --> 00:15:46,060
invariant design is a totally
different, unrelated, and in
219
00:15:46,060 --> 00:15:50,660
fact, as it turns out, arbitrary
parameter, which is
220
00:15:50,660 --> 00:15:56,480
not necessarily pegged to
the sampling frequency.
221
00:15:56,480 --> 00:15:58,720
And I think it would be
difficult for me to totally
222
00:15:58,720 --> 00:16:03,180
clarify that during
the lecture.
223
00:16:03,180 --> 00:16:05,710
It's discussed more in the
book, and certainly, you
224
00:16:05,710 --> 00:16:08,850
should take plenty of time
to reflect on it.
225
00:16:08,850 --> 00:16:14,510
All right, but let's now look,
then, at where we are in our
226
00:16:14,510 --> 00:16:18,570
design procedure, and
specifically, what it is that
227
00:16:18,570 --> 00:16:21,720
we need to do in order
to design the
228
00:16:21,720 --> 00:16:26,000
digital Butterworth filter.
229
00:16:26,000 --> 00:16:30,900
Now we have a set of
specifications that we've
230
00:16:30,900 --> 00:16:35,000
generated relating, essentially,
to how we want
231
00:16:35,000 --> 00:16:38,950
the pass band of the digital
filter and the stop band of
232
00:16:38,950 --> 00:16:41,050
the digital filter to behave.
233
00:16:41,050 --> 00:16:46,170
Of course, since this isn't an
ideal filter, it has some
234
00:16:46,170 --> 00:16:50,510
transition from pass band to
stop band, and as we discussed
235
00:16:50,510 --> 00:16:54,430
last time, there is aliasing,
which we need to at
236
00:16:54,430 --> 00:16:57,140
least be aware of.
237
00:16:57,140 --> 00:17:01,500
We specified certain frequencies
along this axis
238
00:17:01,500 --> 00:17:07,420
which are easily converted by
relating to the two axes
239
00:17:07,420 --> 00:17:13,920
through this mapping, are easily
related back to the
240
00:17:13,920 --> 00:17:21,040
continuous time frequency
axis, as we have here.
241
00:17:21,040 --> 00:17:26,079
And in particular, now if we
were to simply pick that
242
00:17:26,079 --> 00:17:29,800
parameter in the impulse
invariant design, capital T,
243
00:17:29,800 --> 00:17:34,160
as equal to unity, and I
indicated just a minute ago
244
00:17:34,160 --> 00:17:37,850
that we can pick it arbitrarily,
if I pick it as
245
00:17:37,850 --> 00:17:43,580
unity, then the procedure would
consist of designing the
246
00:17:43,580 --> 00:17:47,800
continuous time Butterworth
filter with meeting or
247
00:17:47,800 --> 00:17:50,870
exceeding the appropriate
specifications and then going
248
00:17:50,870 --> 00:17:55,090
through the impulse invariant
procedure.
249
00:17:55,090 --> 00:17:58,250
All right, so let's
do that then.
250
00:18:01,070 --> 00:18:05,290
We want the discrete time
impulse response to be the
251
00:18:05,290 --> 00:18:09,750
continuous time impulse response
sampled, and for
252
00:18:09,750 --> 00:18:11,700
convenience, I'm going to
pick this parameter
253
00:18:11,700 --> 00:18:14,560
capital T equal to 1.
254
00:18:14,560 --> 00:18:20,080
That means that the frequency
normalization between the
255
00:18:20,080 --> 00:18:22,730
discrete time frequency axis
and the continuous time
256
00:18:22,730 --> 00:18:26,640
frequency axis in fact is--
257
00:18:26,640 --> 00:18:30,500
those axes are scaled
identically, because capital T
258
00:18:30,500 --> 00:18:32,000
is equal to 1.
259
00:18:32,000 --> 00:18:37,590
And so now we want the analog,
or continuous time,
260
00:18:37,590 --> 00:18:39,550
specifications.
261
00:18:39,550 --> 00:18:42,690
And so what we need to
do then is design
262
00:18:42,690 --> 00:18:44,000
a Butterworth filter.
263
00:18:44,000 --> 00:18:47,370
I'm using capital B here again
to denote the frequency
264
00:18:47,370 --> 00:18:49,400
response of the Butterworth
filter.
265
00:18:49,400 --> 00:18:53,300
The Butterworth filter to have
a magnitude which is greater
266
00:18:53,300 --> 00:18:59,590
than or equal to minus 1 db
prior to the frequency 0.2 pi,
267
00:18:59,590 --> 00:19:02,520
and less than or equal
to minus 15 at a
268
00:19:02,520 --> 00:19:07,770
frequency beyond 0.3 pi.
269
00:19:07,770 --> 00:19:14,820
And so now what we need to do
is determine capital N and
270
00:19:14,820 --> 00:19:17,910
omega sub c in order to
meet or exceed those
271
00:19:17,910 --> 00:19:19,160
specifications.
272
00:19:21,210 --> 00:19:24,300
Now if you go through the
associated algebra in doing
273
00:19:24,300 --> 00:19:27,360
that, let's say that you decide
that you want to pick
274
00:19:27,360 --> 00:19:31,040
capital N and omega sub c
to exactly meet those
275
00:19:31,040 --> 00:19:35,860
inequalities at the two
frequencies, 0.2 pi and 0.3
276
00:19:35,860 --> 00:19:40,320
pi, what you'll find after going
through the algebra is
277
00:19:40,320 --> 00:19:46,170
that they're exactly met if
capital N is 5.88 and omega
278
00:19:46,170 --> 00:19:50,320
sub c is 0.7047.
279
00:19:50,320 --> 00:19:55,560
And this obviously isn't
satisfactory as parameters for
280
00:19:55,560 --> 00:19:56,820
the Butterworth filter.
281
00:19:56,820 --> 00:19:58,720
Why is that?
282
00:19:58,720 --> 00:20:03,480
The reason is that capital N
isn't an integer, and in the
283
00:20:03,480 --> 00:20:06,320
class of Butterworth filters,
to generate a rational
284
00:20:06,320 --> 00:20:08,960
transfer function,
capital N, this
285
00:20:08,960 --> 00:20:11,420
parameter, must be an integer.
286
00:20:11,420 --> 00:20:18,480
So since it can't be 5.88, the
natural thing to do is to move
287
00:20:18,480 --> 00:20:22,510
it up to the next closest
integer, namely 6.
288
00:20:22,510 --> 00:20:26,330
And that means that we'll end
up with a filter that does
289
00:20:26,330 --> 00:20:30,100
even better than the
specifications.
290
00:20:30,100 --> 00:20:33,320
On the other hand, there's
something kind of underneath
291
00:20:33,320 --> 00:20:36,950
the surface that is inherent
in the impulse invariant
292
00:20:36,950 --> 00:20:41,350
design procedure, namely the
fact that there will always be
293
00:20:41,350 --> 00:20:42,960
some aliasing.
294
00:20:42,960 --> 00:20:46,960
So one strategy, and a natural
one, often, in impulse
295
00:20:46,960 --> 00:20:53,780
invariant design, is to choose
N as the next highest integer
296
00:20:53,780 --> 00:20:59,960
as I've done, and then choose
the parameter omega sub c so
297
00:20:59,960 --> 00:21:04,810
that the pass band
specifications are exactly
298
00:21:04,810 --> 00:21:07,940
met, and the stop band
specifications are then
299
00:21:07,940 --> 00:21:10,390
slightly exceeded, and
that will leave
300
00:21:10,390 --> 00:21:13,860
some margin for aliasing.
301
00:21:13,860 --> 00:21:18,660
All right, now continuing this
example, then, how would we
302
00:21:18,660 --> 00:21:21,910
complete the design?
303
00:21:21,910 --> 00:21:28,840
Well, we know what our two
parameters, capital N and
304
00:21:28,840 --> 00:21:31,680
omega sub c are.
305
00:21:31,680 --> 00:21:34,160
That means that we can
determine B of s
306
00:21:34,160 --> 00:21:35,970
times B of minus s.
307
00:21:35,970 --> 00:21:42,190
Those poles are located on a
circle in the complex s plane.
308
00:21:42,190 --> 00:21:47,420
And the poles on that circle
are paired, some being
309
00:21:47,420 --> 00:21:50,770
associated with B of s and
some with B of minus s.
310
00:21:50,770 --> 00:21:55,540
And in particular, to determine
B of s, we would
311
00:21:55,540 --> 00:22:00,780
simply take the poles on the
portion of the circle that's
312
00:22:00,780 --> 00:22:02,180
in the left half
of the s plane.
313
00:22:04,720 --> 00:22:11,280
Now what that gives us is a
Butterworth continuous time
314
00:22:11,280 --> 00:22:16,720
filter, which we are then
mapping through impulse
315
00:22:16,720 --> 00:22:20,960
invariance with capital
T equal to 1 to a
316
00:22:20,960 --> 00:22:22,960
discrete time filter.
317
00:22:22,960 --> 00:22:28,800
That discrete time filter to be
used in a system which has
318
00:22:28,800 --> 00:22:29,990
an associated sampling
319
00:22:29,990 --> 00:22:34,620
frequency which is 10 kilohertz.
320
00:22:34,620 --> 00:22:38,220
So to get the discrete time
filter, then, we first
321
00:22:38,220 --> 00:22:41,900
determine B of s,
as we just did--
322
00:22:41,900 --> 00:22:45,360
or at least I indicated
how to do it.
323
00:22:45,360 --> 00:22:48,940
We would then expand that out
in a partial fraction
324
00:22:48,940 --> 00:22:54,580
expansion, and then apply the
impulse invariant procedure,
325
00:22:54,580 --> 00:23:00,660
which consists of mapping the
poles in the s plane to poles
326
00:23:00,660 --> 00:23:05,230
in the z plane at locations e
to the s of k, capital T,
327
00:23:05,230 --> 00:23:07,310
capital T is equal to 1.
328
00:23:07,310 --> 00:23:10,190
And retaining the
residue, or the
329
00:23:10,190 --> 00:23:12,860
coefficient, in the expansion.
330
00:23:12,860 --> 00:23:17,050
And this, then, will give us the
transfer function for the
331
00:23:17,050 --> 00:23:20,370
discrete time filter.
332
00:23:20,370 --> 00:23:28,130
So if in fact we did that, then
the resulting frequency
333
00:23:28,130 --> 00:23:32,050
response that we would get is
what I've indicated here.
334
00:23:32,050 --> 00:23:37,310
And I indicated first on a
magnitude scale, linear
335
00:23:37,310 --> 00:23:42,580
magnitude scale, and second
on a logarithmic scale.
336
00:23:42,580 --> 00:23:47,120
And as we had originally
specified, the digital filter
337
00:23:47,120 --> 00:23:52,430
is supposed to be greater than
or equal to minus 1 db at
338
00:23:52,430 --> 00:23:55,680
point 2 pi, and less than
or equal to minus
339
00:23:55,680 --> 00:23:59,540
15 db at 0.3 pi.
340
00:23:59,540 --> 00:24:03,740
And in fact, this slightly
exceeds those specifications
341
00:24:03,740 --> 00:24:08,385
since we had purposely allowed
some margin in the stop band.
342
00:24:14,090 --> 00:24:17,540
Now this is an illustration
of the impulse invariant
343
00:24:17,540 --> 00:24:22,360
procedure, and it has a number
of very nice properties, one
344
00:24:22,360 --> 00:24:26,100
of which is that it takes
a continuous time filter
345
00:24:26,100 --> 00:24:31,630
frequency response and it
converts it to a discrete time
346
00:24:31,630 --> 00:24:35,270
frequency response, which in the
absence of aliasing, looks
347
00:24:35,270 --> 00:24:39,500
identical, except for a linear
frequency scale change.
348
00:24:39,500 --> 00:24:41,680
And in fact, if we picked
capital T equal to 1, then
349
00:24:41,680 --> 00:24:43,520
there is no scale change.
350
00:24:43,520 --> 00:24:49,950
It has the major disadvantage
that there is always aliasing,
351
00:24:49,950 --> 00:24:54,610
and for some problems, for
example, if the filter that
352
00:24:54,610 --> 00:24:59,940
we're trying to design is not
band limited or low pass, then
353
00:24:59,940 --> 00:25:04,820
the aliasing will naturally
become intolerable.
354
00:25:04,820 --> 00:25:07,340
Well, there's another design
procedure which I now want to
355
00:25:07,340 --> 00:25:11,300
introduce, which totally
avoids the problems of
356
00:25:11,300 --> 00:25:15,040
aliasing, but, obviously,
then has its own costs
357
00:25:15,040 --> 00:25:16,460
associated with it.
358
00:25:16,460 --> 00:25:20,640
And that's procedure is referred
to as the bilinear
359
00:25:20,640 --> 00:25:21,890
transformation.
360
00:25:24,430 --> 00:25:28,660
The bilinear transformation,
which I won't try to derive
361
00:25:28,660 --> 00:25:34,770
here in any detail, is a mapping
of continuous time
362
00:25:34,770 --> 00:25:40,910
filters to discrete time
filters, corresponding to
363
00:25:40,910 --> 00:25:45,110
taking the Laplace transform
variable s in the continuous
364
00:25:45,110 --> 00:25:50,220
time filter and replacing it
by what is referred to as a
365
00:25:50,220 --> 00:25:53,560
bilinear function of z.
366
00:25:53,560 --> 00:25:58,530
And so if I substitute this in
here, that will give me the
367
00:25:58,530 --> 00:26:02,370
discrete time frequency
response.
368
00:26:02,370 --> 00:26:05,670
Again in this procedure, there's
a parameter capital T,
369
00:26:05,670 --> 00:26:08,500
which again is totally
irrelevant given the approach
370
00:26:08,500 --> 00:26:11,610
that we're taking, and which
we will generally tend to
371
00:26:11,610 --> 00:26:13,570
normalize out to unity.
372
00:26:13,570 --> 00:26:19,130
And let me just say quickly and
in passing that although
373
00:26:19,130 --> 00:26:23,080
we won't go through this, the
notion that the bilinear
374
00:26:23,080 --> 00:26:29,370
transformation can be tied to
the concept of taking the
375
00:26:29,370 --> 00:26:32,730
differential equation for the
continuous time filter,
376
00:26:32,730 --> 00:26:36,560
converting it to an integral
equation by integrating enough
377
00:26:36,560 --> 00:26:42,700
times on both sides, and then
converting that to a
378
00:26:42,700 --> 00:26:47,600
difference equation by
approximating the integrals
379
00:26:47,600 --> 00:26:50,200
with the trapezoidal rule.
380
00:26:50,200 --> 00:26:54,380
And that, in effect, will
correspond to mapping the
381
00:26:54,380 --> 00:26:57,600
continuous time filter to a
discrete time filter with the
382
00:26:57,600 --> 00:26:59,930
bilinear transformation.
383
00:26:59,930 --> 00:27:04,400
Well, we'll just focus on the
properties of the mapping.
384
00:27:04,400 --> 00:27:09,190
And in particular, if we were
to substitute into the
385
00:27:09,190 --> 00:27:14,370
expression z equal to e to the
j omega corresponding to the
386
00:27:14,370 --> 00:27:20,020
unit circle, we would find
that the unit circle in
387
00:27:20,020 --> 00:27:26,510
discrete time corresponds to
mapping the j omega axis in
388
00:27:26,510 --> 00:27:30,970
continuous time, which is
exactly what we want.
389
00:27:30,970 --> 00:27:37,290
Now the mapping between the
continuous time frequency and
390
00:27:37,290 --> 00:27:43,260
the discrete time frequency is
a nonlinear mapping, which is
391
00:27:43,260 --> 00:27:44,940
given by the algebraic
expression
392
00:27:44,940 --> 00:27:46,530
that I indicate here.
393
00:27:46,530 --> 00:27:56,170
And if we plot this mapping,
what we have is this curve.
394
00:27:56,170 --> 00:28:03,510
And what this corresponds to,
then, is a mapping of the j
395
00:28:03,510 --> 00:28:07,410
omega axis, or continuous
time frequency, to
396
00:28:07,410 --> 00:28:10,270
discrete time frequency.
397
00:28:10,270 --> 00:28:14,390
And if we think more generally
of the mapping represented by
398
00:28:14,390 --> 00:28:18,730
the bilinear transformation in
the context of the s-plane and
399
00:28:18,730 --> 00:28:25,100
the z-plane, it corresponds to
mapping the j omega axis in
400
00:28:25,100 --> 00:28:31,170
the s-plane to once around the
unit circle in the z-plane.
401
00:28:31,170 --> 00:28:35,260
And you could also convince
yourself that the left half of
402
00:28:35,260 --> 00:28:39,850
the s-plane maps to the inside
of the unit circle.
403
00:28:39,850 --> 00:28:45,250
And so that means that stable
continuous time filters will
404
00:28:45,250 --> 00:28:48,690
always map to stable discrete
time filters, which is exactly
405
00:28:48,690 --> 00:28:51,310
what we desire.
406
00:28:51,310 --> 00:28:54,990
Now notice in this that there's
no issue of aliasing.
407
00:28:54,990 --> 00:28:58,320
What's happened is that we've
replaced s by a function of z,
408
00:28:58,320 --> 00:29:01,850
and it corresponds to mapping
the s-plane to the z-plane.
409
00:29:01,850 --> 00:29:05,970
In fact, the whole j omega axis
has mapped to once around
410
00:29:05,970 --> 00:29:13,150
the unit circle, which obviously
requires some type
411
00:29:13,150 --> 00:29:17,280
of nonlinear mapping, because,
look, the j omega axis is
412
00:29:17,280 --> 00:29:18,640
infinitely long.
413
00:29:18,640 --> 00:29:21,960
The unit circle has
a finite radius.
414
00:29:21,960 --> 00:29:25,720
And so essentially, what has to
happen is if you think of
415
00:29:25,720 --> 00:29:29,720
walking along the continuous
time frequency axis, and
416
00:29:29,720 --> 00:29:33,840
simultaneously walking around
the unit circle, if you walk
417
00:29:33,840 --> 00:29:37,580
at a constant rate around the
unit circle and you're
418
00:29:37,580 --> 00:29:41,330
simultaneously walking up the
j omega axis, if you want to
419
00:29:41,330 --> 00:29:45,810
get around to pi by the time,
here, you've gotten to
420
00:29:45,810 --> 00:29:50,530
infinity along the continuous
time frequency axis, you
421
00:29:50,530 --> 00:29:54,760
better start walking faster,
and faster, and faster,
422
00:29:54,760 --> 00:29:58,640
because you've got an infinite
distance to cover while you
423
00:29:58,640 --> 00:30:01,410
just go over a finite
distance here.
424
00:30:01,410 --> 00:30:07,420
Well, what all that says,
really, is that that's why, in
425
00:30:07,420 --> 00:30:10,200
fact, we're taking
the entire--
426
00:30:10,200 --> 00:30:14,850
or we're able to take the entire
omega axis and just map
427
00:30:14,850 --> 00:30:19,450
it into an interval
of length pi.
428
00:30:22,544 --> 00:30:27,640
All right, now that means that
there is a nonlinear
429
00:30:27,640 --> 00:30:31,170
distortion of the frequency
axis if we were to take a
430
00:30:31,170 --> 00:30:35,320
continuous time filter and
convert it to a discrete time
431
00:30:35,320 --> 00:30:37,860
filter with the bilinear
transformation.
432
00:30:37,860 --> 00:30:42,120
How do we account for that, or
for that matter, when can we
433
00:30:42,120 --> 00:30:44,230
really use it?
434
00:30:44,230 --> 00:30:49,050
And we can see how to both take
account of it, and what
435
00:30:49,050 --> 00:30:54,300
its limitations are, by
recognizing the following.
436
00:30:54,300 --> 00:31:02,690
Suppose that I want to design
a discrete time filter and
437
00:31:02,690 --> 00:31:06,220
what is going to happen is that
it will be mapped to a
438
00:31:06,220 --> 00:31:09,340
continuous time filter, or the
relationship between the two
439
00:31:09,340 --> 00:31:14,300
frequency axes will be
given by this curve.
440
00:31:14,300 --> 00:31:19,190
So let's suppose that the
continuous time frequency
441
00:31:19,190 --> 00:31:23,510
response looks as I've shown
here, with a pass band cutoff
442
00:31:23,510 --> 00:31:27,900
frequency and a stop band
cutoff frequency.
443
00:31:27,900 --> 00:31:34,270
If this were mapped through the
bilinear transformation to
444
00:31:34,270 --> 00:31:38,950
a discrete time filter, then
this cutoff frequency would
445
00:31:38,950 --> 00:31:44,410
fall over here, which is related
through this curve,
446
00:31:44,410 --> 00:31:49,950
and this cutoff frequency, the
stop band edge would be here.
447
00:31:49,950 --> 00:31:56,930
Again, it's these frequencies
reflected through this curve.
448
00:31:56,930 --> 00:32:02,620
So let's suppose now that what
I'd like to do is design a
449
00:32:02,620 --> 00:32:07,810
discrete time filter, where the
discrete time filter has
450
00:32:07,810 --> 00:32:11,650
certain frequency
specifications, which is what
451
00:32:11,650 --> 00:32:14,320
our previous example has.
452
00:32:14,320 --> 00:32:18,600
It has, let's say, a specified
stop band edge and a specified
453
00:32:18,600 --> 00:32:23,070
pass band edge, and a specified
stop band edge.
454
00:32:23,070 --> 00:32:29,100
The design procedure would then
correspond to mapping
455
00:32:29,100 --> 00:32:34,230
those frequencies to the
corresponding continuous time
456
00:32:34,230 --> 00:32:40,790
frequencies, designing the
continuous time filter to meet
457
00:32:40,790 --> 00:32:46,480
the specifications based on
those critical frequencies,
458
00:32:46,480 --> 00:32:51,300
then taking the continuous time
design and mapping it
459
00:32:51,300 --> 00:32:54,820
back to a discrete time filter
through the bilinear
460
00:32:54,820 --> 00:32:57,101
transformation.
461
00:32:57,101 --> 00:33:02,780
All right, now what we want to
do is again map a Butterworth
462
00:33:02,780 --> 00:33:05,460
filter, continuous time
Butterworth filter to a
463
00:33:05,460 --> 00:33:08,510
digital filter in such a way
that the digital filter
464
00:33:08,510 --> 00:33:11,050
approximately meets the
465
00:33:11,050 --> 00:33:13,720
specifications that we had before.
466
00:33:13,720 --> 00:33:16,720
And let me just remind
you of where we were.
467
00:33:16,720 --> 00:33:24,600
The critical frequencies were
at 0.2 pi and 0.3 pi.
468
00:33:24,600 --> 00:33:30,260
And what we had asked for is
that the frequency response be
469
00:33:30,260 --> 00:33:37,370
down by no more than 1 db up
to 0.2 pi, and down by at
470
00:33:37,370 --> 00:33:41,800
least 15 db at 0.3 pi.
471
00:33:41,800 --> 00:33:47,630
So we want to design the same
discrete time filter as we did
472
00:33:47,630 --> 00:33:49,780
before with impulse
invariance.
473
00:33:49,780 --> 00:33:52,900
We now want to do it with the
bilinear transformation
474
00:33:52,900 --> 00:33:56,160
applied to an appropriate
Butterworth design.
475
00:33:59,289 --> 00:34:05,970
OK, well, let's see what kind
of specifications we have.
476
00:34:05,970 --> 00:34:09,590
We know that the frequency, the
critical frequencies, are
477
00:34:09,590 --> 00:34:13,530
mapped through this curve,
or this equation.
478
00:34:13,530 --> 00:34:18,489
And I indicated again that this
parameter capital T is
479
00:34:18,489 --> 00:34:21,770
arbitrary in the design
procedure.
480
00:34:21,770 --> 00:34:26,120
That may seem confusing,
initially, but there's some
481
00:34:26,120 --> 00:34:28,719
further discussion of it in the
book, and it's true and
482
00:34:28,719 --> 00:34:31,000
important to sort out.
483
00:34:31,000 --> 00:34:35,070
So we're going to pick capital
T equal to unity.
484
00:34:35,070 --> 00:34:40,280
And that means then that the
corresponding critical
485
00:34:40,280 --> 00:34:46,650
frequencies of the continuous
time filter are at twice the
486
00:34:46,650 --> 00:34:51,690
tangent of 0.2 pi over 2,
and twice the tangent
487
00:34:51,690 --> 00:34:54,920
of 0.3 pi over 2.
488
00:34:54,920 --> 00:35:00,340
So that means then that the
specifications on our
489
00:35:00,340 --> 00:35:05,790
continuous time filter are given
by this, essentially
490
00:35:05,790 --> 00:35:09,380
pass band and stop band
edges warped through
491
00:35:09,380 --> 00:35:10,870
that nonlinear curve--
492
00:35:10,870 --> 00:35:12,620
this nonlinear curve.
493
00:35:12,620 --> 00:35:18,550
And I'm using capital G here to
denote the system function
494
00:35:18,550 --> 00:35:24,350
for the resulting continuous
time filter.
495
00:35:24,350 --> 00:35:28,760
And so now we could think of
designing a Butterworth filter
496
00:35:28,760 --> 00:35:34,430
that, let's say, exactly meets
these specifications.
497
00:35:34,430 --> 00:35:38,760
Well, if you do that, what
you'll find is that you get
498
00:35:38,760 --> 00:35:49,770
exact equality here if you pick
capital N equal to 5.3.
499
00:35:49,770 --> 00:35:55,240
And again, we have the issue
that if we want to meet or
500
00:35:55,240 --> 00:35:58,520
exceed the specifications, we
can't make the filter order
501
00:35:58,520 --> 00:36:00,440
lower, we have to
make it higher.
502
00:36:00,440 --> 00:36:03,740
And so we would make it, instead
of 5.3, we would make
503
00:36:03,740 --> 00:36:07,010
the filter order equal to 6.
504
00:36:07,010 --> 00:36:10,260
And now, again, we have several
505
00:36:10,260 --> 00:36:11,430
options and trade offs.
506
00:36:11,430 --> 00:36:15,600
Before, with impulse invariance,
we essentially
507
00:36:15,600 --> 00:36:20,930
decided to meet the pass band
specifications and exceed the
508
00:36:20,930 --> 00:36:23,530
stop band specifications
to provide
509
00:36:23,530 --> 00:36:26,940
some margin for aliasing.
510
00:36:26,940 --> 00:36:31,650
Here, we don't have any
aliasing, and we can trade
511
00:36:31,650 --> 00:36:33,470
things off anyway we'd like.
512
00:36:33,470 --> 00:36:40,390
The way that I've chosen to do
it is to exactly meet the stop
513
00:36:40,390 --> 00:36:46,910
band cut off, and exceed the
pass band specifications.
514
00:36:46,910 --> 00:36:52,490
And the result of doing that
is to choose a filter order
515
00:36:52,490 --> 00:36:57,580
capital N equal to 6, and the
parameter omega sub c in the
516
00:36:57,580 --> 00:37:04,350
Butterworth filter is
given by 0.76622.
517
00:37:04,350 --> 00:37:12,090
All right, so now we have the
parameters for the continuous
518
00:37:12,090 --> 00:37:18,920
time Butterworth filter, which
when mapped to the discrete
519
00:37:18,920 --> 00:37:23,690
time filter through the bilinear
transformation, will
520
00:37:23,690 --> 00:37:27,640
exceed our requirements in the
pass band and just meet the
521
00:37:27,640 --> 00:37:29,450
stop band cutoff.
522
00:37:29,450 --> 00:37:32,950
And so now we want to complete
the design procedure.
523
00:37:32,950 --> 00:37:41,240
And given the parameters of the
Butterworth filter, we can
524
00:37:41,240 --> 00:37:45,330
draw our appropriate circle in
the s-plane, which happens to
525
00:37:45,330 --> 00:37:49,580
be the same circle as before,
but with a different radius.
526
00:37:49,580 --> 00:37:56,800
And then associate poles on this
circle with B of s and B
527
00:37:56,800 --> 00:37:57,950
of minus s.
528
00:37:57,950 --> 00:37:59,760
In particular, take
the ones in the
529
00:37:59,760 --> 00:38:02,170
left half of the s-plane--
530
00:38:02,170 --> 00:38:05,070
same ones we had before except
we have a different value for
531
00:38:05,070 --> 00:38:07,380
omega sub c--
532
00:38:07,380 --> 00:38:11,880
and those, then, represent
B of s.
533
00:38:11,880 --> 00:38:16,810
So we can now determine
B of s.
534
00:38:16,810 --> 00:38:22,800
And once we have the transfer
function B of s, we then map
535
00:38:22,800 --> 00:38:28,060
that to a discrete time filter
by mapping through the
536
00:38:28,060 --> 00:38:30,760
bilinear transformation.
537
00:38:30,760 --> 00:38:35,790
And that then is the design
procedure which we would
538
00:38:35,790 --> 00:38:37,660
follow this example.
539
00:38:37,660 --> 00:38:41,880
All right, well, let's just see
what the result looks like
540
00:38:41,880 --> 00:38:44,260
when we're done.
541
00:38:44,260 --> 00:38:50,940
Here I show, again, on both a
linear magnitude scale and on
542
00:38:50,940 --> 00:38:55,010
a logarithmic or DB scale, the
frequency response of the
543
00:38:55,010 --> 00:38:57,440
resulting filter.
544
00:38:57,440 --> 00:39:00,310
And recall that the
specifications were that at
545
00:39:00,310 --> 00:39:05,730
0.2 pi, we should be down by no
more than 1 db, and clearly
546
00:39:05,730 --> 00:39:08,120
we've exceeded that
considerably.
547
00:39:08,120 --> 00:39:13,870
And at 0.3 pi, we should be down
by at least 15 db, and we
548
00:39:13,870 --> 00:39:17,750
chose the design so that we
would exactly meet that edge.
549
00:39:17,750 --> 00:39:21,910
So we've met this point and
exceeded this point, and this
550
00:39:21,910 --> 00:39:24,070
is our design.
551
00:39:24,070 --> 00:39:29,220
Now let's just compare this
with the impulse invariant
552
00:39:29,220 --> 00:39:31,870
design that we saw a
few minutes ago.
553
00:39:35,050 --> 00:39:41,046
The impulse invariant design
is what I indicate here.
554
00:39:41,046 --> 00:39:44,930
The bilinear transformation
design is now
555
00:39:44,930 --> 00:39:47,860
overlaid on top of it.
556
00:39:47,860 --> 00:39:51,420
It's hard to see much difference
on a linear
557
00:39:51,420 --> 00:39:54,820
magnitude scale, but let's look
on a logarithmic scale.
558
00:39:54,820 --> 00:39:58,750
And this one that I'm lifting
is the bilinear
559
00:39:58,750 --> 00:40:03,870
transformation, and this
is impulse invariance.
560
00:40:03,870 --> 00:40:08,410
And notice, in fact, something
very interesting, which is
561
00:40:08,410 --> 00:40:16,670
that the filter that we obtained
by mapping the
562
00:40:16,670 --> 00:40:19,655
Butterworth filter to a digital
filter through the
563
00:40:19,655 --> 00:40:24,740
bilinear transformation in fact
falls off in frequency
564
00:40:24,740 --> 00:40:28,900
much more rapidly than the one
that we got through impulse
565
00:40:28,900 --> 00:40:31,690
invariance.
566
00:40:31,690 --> 00:40:34,190
The question is why?
567
00:40:34,190 --> 00:40:36,600
Now one thought that might come
to mind is, well, impulse
568
00:40:36,600 --> 00:40:39,160
invariance has aliasing, the
bilinear transformation
569
00:40:39,160 --> 00:40:41,870
doesn't have aliasing,
that must be a
570
00:40:41,870 --> 00:40:44,990
consequence of aliasing.
571
00:40:44,990 --> 00:40:47,850
In fact, that's not
the reason.
572
00:40:47,850 --> 00:40:51,370
Aliasing, as it turns out in
this particular design, was
573
00:40:51,370 --> 00:40:54,460
relatively minimal in the
impulse invariant design.
574
00:40:54,460 --> 00:41:00,070
The reason has to do with this
nonlinear mapping in the
575
00:41:00,070 --> 00:41:03,710
bilinear transformation from the
continuous time frequency
576
00:41:03,710 --> 00:41:06,920
to the discrete time
frequency.
577
00:41:06,920 --> 00:41:12,070
Keep in mind that through that
mapping, as you start walking
578
00:41:12,070 --> 00:41:15,900
around the unit circle and
moving up to j omega axis, as
579
00:41:15,900 --> 00:41:18,700
you move up the j omega axis,
you have to move faster, and
580
00:41:18,700 --> 00:41:21,450
faster, and faster,
and faster.
581
00:41:21,450 --> 00:41:28,580
And what's in continuous time
frequency at infinity is what
582
00:41:28,580 --> 00:41:31,370
you get to in the discrete time
frequency by the time you
583
00:41:31,370 --> 00:41:32,920
get around to pi.
584
00:41:32,920 --> 00:41:38,870
So in fact, what we're looking
at as we look out along this
585
00:41:38,870 --> 00:41:45,340
frequency axis is we're seeing
higher, and higher, and higher
586
00:41:45,340 --> 00:41:48,520
frequencies in the continuous
time filter.
587
00:41:48,520 --> 00:41:53,550
By the time we get to pi, we
should in fact be in the
588
00:41:53,550 --> 00:41:57,560
continuous time filter
equivalently off to infinity,
589
00:41:57,560 --> 00:42:00,540
which sounds like a pretty
uncomfortable place to be.
590
00:42:04,380 --> 00:42:10,920
OK, now this was a fairly rapid
trip through a number of
591
00:42:10,920 --> 00:42:14,200
issues, in particular, some of
the issues associated with the
592
00:42:14,200 --> 00:42:20,980
bilinear transformation, and
also this issue of how you
593
00:42:20,980 --> 00:42:24,330
pick this parameter capital T,
and how it might be associated
594
00:42:24,330 --> 00:42:27,190
with a sampling frequency if
you're doing discrete time
595
00:42:27,190 --> 00:42:30,130
processing of continuous
time signals.
596
00:42:30,130 --> 00:42:35,020
And we don't have time to
explore some of those issues
597
00:42:35,020 --> 00:42:37,880
more fully in this lecture.
598
00:42:37,880 --> 00:42:41,220
But I'd like to conclude by
making a couple of comments.
599
00:42:41,220 --> 00:42:45,160
One comment is that the two
techniques that we've talked
600
00:42:45,160 --> 00:42:49,510
about, impulse invariance and
the bilinear transformation,
601
00:42:49,510 --> 00:42:54,610
are the two techniques that are
principally used when one
602
00:42:54,610 --> 00:42:58,900
thinks of mapping continuous
time filters to discrete time
603
00:42:58,900 --> 00:43:00,830
filters for whatever
application.
604
00:43:00,830 --> 00:43:05,890
And I stress again that you may
want to do that mapping
605
00:43:05,890 --> 00:43:10,080
whether or not the discrete
time filter is eventually
606
00:43:10,080 --> 00:43:11,910
going to be used for processing
607
00:43:11,910 --> 00:43:13,160
continuous time signals.
608
00:43:15,970 --> 00:43:24,020
Now impulse invariance had the
very nice characteristic that
609
00:43:24,020 --> 00:43:26,830
it corresponds to a linear
mapping between the two
610
00:43:26,830 --> 00:43:32,560
frequency axes, except for the
issue of aliasing, and that's
611
00:43:32,560 --> 00:43:36,020
a problem with it, and in
particular, limits its
612
00:43:36,020 --> 00:43:41,280
usefulness to filter designs, or
for mapping continuous time
613
00:43:41,280 --> 00:43:42,970
filters that are band limited.
614
00:43:46,610 --> 00:43:50,840
On the other hand, we have the
bilinear transformation as a
615
00:43:50,840 --> 00:43:55,830
design procedure, which totally
avoids aliasing, but
616
00:43:55,830 --> 00:44:00,210
has the disadvantage or
difficulty that it represents
617
00:44:00,210 --> 00:44:03,510
a nonlinear mapping from the
continuous time filter to the
618
00:44:03,510 --> 00:44:05,420
discrete time filter.
619
00:44:05,420 --> 00:44:10,230
Now this nonlinear distortion
is perfectly acceptable if
620
00:44:10,230 --> 00:44:13,210
we're designing or attempting
to design filters that have
621
00:44:13,210 --> 00:44:16,400
flat frequency characteristics.
622
00:44:16,400 --> 00:44:19,740
It's not acceptable if, for
example, we had a linear
623
00:44:19,740 --> 00:44:23,650
frequency characteristic that we
wanted to map to a discrete
624
00:44:23,650 --> 00:44:25,750
time filter and end up with
a linear frequency
625
00:44:25,750 --> 00:44:26,800
characteristic.
626
00:44:26,800 --> 00:44:31,480
It won't come out to be linear
because of this nonlinear
627
00:44:31,480 --> 00:44:34,320
mapping of the frequency axis.
628
00:44:34,320 --> 00:44:39,890
Now there are also a number of
other design procedures, which
629
00:44:39,890 --> 00:44:42,620
we won't go into, for designing
discrete time
630
00:44:42,620 --> 00:44:47,560
filters, and among them are
a variety of techniques,
631
00:44:47,560 --> 00:44:51,440
including, for example,
computer aided design
632
00:44:51,440 --> 00:44:52,700
procedures.
633
00:44:52,700 --> 00:44:56,460
And I invite you, if you're
interested and want to dig
634
00:44:56,460 --> 00:45:01,330
into that in more detail and
more deeply, to explore that
635
00:45:01,330 --> 00:45:08,060
topic by making reference to
various of the books listed in
636
00:45:08,060 --> 00:45:10,390
the bibliography in the text.
637
00:45:10,390 --> 00:45:11,640
Thank you.