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
012 34
Filter using hamming win.
frequency in rad
Filter using bartlett win.
gain in db^40
60
0
20
0123
frequency in rad
gain in db
100
100
200
0
0
12
Filter using hanning win.
34
frequency in rad
100
100
200
0
0
gain in db
12
Filter using kaiser win.
34
frequency in rad
40
60
0
20
gain in db
0 1 23
Filter using triang. win.
frequency in rad