关于本文滤波器具体原理可参考课程设计:https://wenku.baidu.com/view/185d84061cb91a37f111f18583d049649b660edb
本文全套源码、PPT、课设:https://download.csdn.net/download/qq_32809093/12598101
目录
实例1 数字高通巴特沃斯滤波器设计
实例2 数字高通切比雪夫I型滤波器设计
实例3 数字带通巴特沃斯滤波器设计
实例4 数字带通切比雪夫I型滤波器设计
实例5 数字低通巴特沃斯滤波器设计
实例6 数字低通切比雪夫I型滤波器设计
实例7 数字带阻巴特沃斯滤波器设计
实例8 数字带阻切比雪夫I型滤波器设计
附录:freqz_m.m文件
实例1 数字高通巴特沃斯滤波器设计
注:如果freqz_m函数报错,是由于您的Matlab版本过高,可将文章附录freqz_m.m文件复制到运行目录即可
要求:抽样频率为10KHZ,通带截止频率为2.5KHZ,通带衰减不大于2dB,阻带上限截止频率为1.5KHZ,阻带衰减不小于15 dB。
Ap=2;As=15;%设置通带允许最大衰减设置为2dB,阻带应达到的最小衰减为15dB
Nn=1000;%抽样次数
Fs=10000;%抽样频率为10KHZ
F=2500;%当前频率
F_sh=1500;%阻带上限截止频率
%MATLAB工具函数常采用标准化频率,wp和ws的取值范围为0~1
wp=F*2/Fs; ws=F_sh*2/Fs;%所以通带截止频率为wp/pi ,阻带截止频率为ws/pi
[N,wn]=buttord(wp,ws,Ap,As);%计算巴特沃斯滤波器阶次和截止频率
[b,a]=butter(N,wn,'high');%频率变换法设计巴特沃斯高通滤波器
[db,mag,pha,grd,w]=freqz_m(b,a);
subplot(2,1,1)
plot(w*Fs/(2