183
社区成员




clc,clear,close all;
fp = 200; fs = 250; FS = 2000; %模拟域指标,单位Hz
%通带截止频率,阻带截止频率,采样频率
%数字频率w = 2*pi*f/Fs
wp = 2*pi*fp/FS; ws = 2*pi*fs/FS; %数字域指标,单位rad
wc = (wp+ws)/2; %3dB截止频率
N = 61; M = 60; %窗长41(阶数60)
b1 = fir1(M,wc/pi,'low',boxcar(N)); %矩形窗设计低通FIR
b2 = fir1(M,wc/pi,'low',hanning(N)); %汉宁窗设计低通FIR
b3 = fir1(M,wc/pi,'low',hamming(N)); %海明窗设计低通FIR
b4 = fir1(M,wc/pi,'low',blackman(N)); %布拉克曼窗设计低通FIR
b5 = fir1(M,wc/pi,'low',kaiser(N)); %凯撒窗设计低通FIR
[h1,w1] = freqz(b1,1,-2*pi:pi/100:2*pi); %freqz求解窗函数法设计FIR的幅频响应
[h2,w2] = freqz(b2,1,-2*pi:pi/100:2*pi);
[h3,w3] = freqz(b3,1,-2*pi:pi/100:2*pi);
[h4,w4] = freqz(b4,1,-2*pi:pi/100:2*pi);
[h5,w5] = freqz(b5,1,-2*pi:pi/100:2*pi);
subplot(511)
plot(w1/pi,20*log10(abs(h1)),'LineWidth',1.2) %20log10(h)转化为dB
xlabel('归一化频率/\pi'); ylabel('幅度/db');
title('矩形窗幅频特性曲线 N=61')
grid on
subplot(512)
plot(w2/pi,20*log10(abs(h2)),'LineWidth',1.2)
xlabel('归一化频率/\pi'); ylabel('幅度/db');
title('汉宁窗幅频特性曲线 N=61')
grid on
subplot(513)
plot(w3/pi,20*log10(abs(h3)),'LineWidth',1.2);
xlabel('归一化频率/\pi'); ylabel('幅度/db');
title('海明窗幅频特性曲线 N=61')
grid on
subplot(514)
plot(w4/pi,20*log10(abs(h4)),'LineWidth',1.2);
xlabel('归一化频率/\pi'); ylabel('幅度/db');
title('布拉克曼窗幅频特性曲线 N=61')
grid on
subplot(515)
plot(w4/pi,20*log10(abs(h5)),'LineWidth',1.2);
xlabel('归一化频率/\pi'); ylabel('幅度/db');
title('凯撒窗幅频特性曲线 N=61')
grid on
汉宁窗以使用旁瓣互相抵消,消去高频干扰和漏能,从减小泄漏观点出发,汉宁窗优于矩形窗。但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降;
海明窗和汉宁窗函数的主瓣宽度是一样大,只是加权系数不同。海明窗加权的系数能使旁瓣达到更小;
这个窗函数和前两个窗函数很像,不过增加了升余弦的二次谐波分量,旁瓣峰值衰减增大。