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