640
Practical MATLAB
® Applications for Engineers
hnham = fir1(64,.4);
[h4,w4] = freqz(hnham,1,256);
magham = 20*log10(abs(h4));
plot(w4,magham)
title(‘Filter using hamming win.’)
ylabel(‘gain in db’)
subplot(3,2,5)
hntri = fir1(64,.4,triang(65));
[h5,w5] = freqz(hntri,1,256);
magtri = 20*log10(abs(h5));
plot(w5,magtri)
title(‘Filter using triang. win.’)
xlabel(‘frequency in rad.’)
ylabel(‘gain in db’)
axis([0 3 -60 10])
subplot(3,2,6)
hnbar = fir1(64,.4,bartlett(65));
[h6,w6] = freqz(hnbar,1,256);
magbar = 20*log10(abs(h6));
plot(w6,magbar)
title(‘Filter using bartlett win.’)
xlabel(‘frequency in rad.’)
ylabel(‘gain in db’)
axis([0 3 -60 10])
The script fi le fi lter_wind is executed and the results are shown in Figure 6.64.
FIGURE 6.64
Normalized LP FIR fi lters’ plots using fi r1 with the window arguments of Example 6.14.
Ϫ100
Ϫ200
100
0
0
gain in db
1
2
3
4
Filter using blackman win.
frequency in rad
gain in db
Ϫ100
Ϫ200
100
0
0
1
2
3
4
Filter using hamming win.
frequency in rad
Filter using bartlett win.
gain in db
Ϫ40
Ϫ60
0
Ϫ20
0
1
2
3
frequency in rad
gain in db
100
Ϫ100
Ϫ200
0
0
1
2
Filter using hanning win.
3
4
frequency in rad
100
Ϫ100
Ϫ200
0
0
gain in db
1
2
Filter using kaiser win.
3
4
frequency in rad
Ϫ40
Ϫ60
0
Ϫ20
gain in db
0
1
2
3
Filter using triang. win.
frequency in rad
CRC_47760_CH006.indd 640
CRC_47760_CH006.indd 640
7/23/2008 2:26:56 PM
7/23/2008 2:26:56 PM
Précédent

- 651/708

Suivant