一、获取代码方式
二、数字滤波器设计简介
1 设计原理
1.1 滤波器概念
1.2 数字滤波器的系统函数和差分方程
1.3 数字滤波器结构的表示
1.4 数字滤波器的分类
2.1 IIR滤波器与FIR滤波器的分析比较
2.2 FIR滤波器的原理
3 FIR滤波器的仿真步骤
三、部分源代码
%设计FIR数字低通滤波器,截止频率为pi/4,在不同窗口长度(N=15,N=33)下,分别求出
%h(n),通过幅频特性和相频特性,观察3dB带宽和20dB带宽,总结窗口长度N对滤波特性的影响。
close all;
clc;
clear;
N=15;
N1=N+mod(N+1,2);
wcc=pi/4;
wc=wcc/pi;
hn=fir1(N1-1,wc,hanning(N1)); %矩形窗boxcar(N) 三角窗bartlett(N) 汉宁窗 hanning(N) 哈明窗hamming(N)
% 布莱克曼窗函数blackman(N) 凯瑟-贝赛尔窗函数 kaiser(N,beta)
figure(1)
subplot(3,1,1)
freqz(hn,1)
ylim([-150,50]);
hold on;
plot([-1 1],[-3 -3],'r')
plot([-1 1],[-20 -20],'y')
title('N=15')
legend('N=15','3dB','20dB')
clc;
clear;
N=33;
N1=N+mod(N+1,2);
wcc=pi/4;
wc=wcc/pi;
hn=fir1(N1-1,wc,hanning(N1)); %矩形窗boxcar(N) 三角窗bartlett(N) 汉宁窗 hanning(N) 哈明窗hamming(N)
% 布莱克曼窗函数blackman(N) 凯瑟-贝赛尔窗函数 kaiser(N,beta)
%以N=33,wc=pi/4为技术指标,用三种窗函数设计线性相位低通滤波器,通过对相应的幅频特性分析,
%观察3dB和20dB带宽以及阻带最小衰减,比较三种窗函数对滤波特性的影响。
%假设:通带边界频率wp为pi/5,阻带截止频率ws为pi*3/10,此时通带截止频率wc为pi/4.
%结论:观察波形和数值,发现窗函数会影响滤波器带内波动和阻带最小衰减,
% 其中三角窗的幅频特性为单调衰减,相频特性在整个频域均为线性。矩形窗的阻带内最小衰减最大,衰减最快。
close all;
clc;
clear;
N=33;
N1=N+mod(N+1,2)
wcc=pi/4;
wc=wcc/pi;
hn=fir1(N1-1,wc,hanning(N1)); %矩形窗boxcar(N) 三角窗bartlett(N) 汉宁窗 hanning(N) 哈明窗hamming(N)
%布莱克曼窗函数blackman(N) 凯瑟-贝赛尔窗函数 kaiser(N,beta)
figure(1)
freqz(hn,1); %汉宁窗3dB带宽为0.2246*pi,20dB带宽为0.3074*pi,阻带内最小衰减为17.73
hold on;
plot([-1 1],[-3 -3],'r')
plot([-1 1],[-20 -20],'y')
title('N=33 汉宁窗')
hn1=fir1(N1-1,wc,boxcar(N1)); %矩形窗3dB带宽为0.2385*pi,20dB带宽为0.2776*pi,阻带内最小衰减为21.41
figure(2)
freqz(hn1,1);
hold on;
plot([-1 1],[-3 -3],'r')
plot([-1 1],[-20 -20],'y')
title('N=33 矩形窗')
hn2=fir1(N1-1,wc,bartlett(N1)); %三角窗3dB带宽为0.2261*pi,20dB带宽为0.315*pi,阻带内最小衰减为16.09
figure(3)
freqz(hn2,1);
hold on;
plot([-1 1],[-3 -3],'r')
plot([-1 1],[-20 -20],'y')
title('N=33 三角窗')
hn3=fir1(N1-1,wc,hamming(N1)); %哈明窗3dB带宽为0.2246*pi,20dB带宽为0.3073*pi,阻带内最小衰减为17.76
figure(4)
freqz(hn3,1);
hold on;
plot([-1 1],[-3 -3],'r')
plot([-1 1],[-20 -20],'y')
title('N=33 哈明窗')
四、运行结果
五、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.