【滤波器】脉冲响应不变法+双线性变换法数字滤波器设计【Matlab 884期】
作者:互联网
一、数字滤波器设计简介
1 设计原理
1.1 滤波器概念
1.2 数字滤波器的系统函数和差分方程
1.3 数字滤波器结构的表示
1.4 数字滤波器的分类
2.1 IIR滤波器与FIR滤波器的分析比较
2.2 FIR滤波器的原理
3 FIR滤波器的仿真步骤
二、部分源代码
%%利用双线性变换法设计一个Chebyshev I型数字高通滤波器
%确定已知的技术指标
Rp=1.2;Rs=20;T=0.001;fp=300;fs=200;
%求出将要设计的数字滤波器的边界频率
wp=2*pi*fp*T;ws=2*pi*fs*T;
%预畸变
wp1=(2/T)*tan(wp/2);ws1=(2/T)*tan(ws/2);
%设计模拟滤波器
%求出最小阶数和截止频率
[n,wn]=cheb1ord(wp1,ws1,Rp,Rs,'s');
%求出模拟滤波器的分子和分母系数向量
[b,a]=cheby1(n,Rp,wn,'high','s');
%双线性变换
[bz,az]=bilinear(b,a,1/T);
[db,mag,pha,grd,w]=freqz_m(bz,az);
%以w/pi为横轴,以db为纵轴绘图
plot(w/pi,db,'color','m');grid;
function[db,mag,pha,grd,w]=freqz_m(b,a)
[H,w]=freqz(b,a,1000,'whole');
mag=abs(H);
db=20*log10((mag+eps)/max(mag));
pha=angle(H);
grd=grpdelay(pha);
%用双线性变换法设计一个Butterworth数字低通滤波器
%确定已知的技术指标
Rp=1;Rs=25;T=0.001;fp=200;fs=300;
%求出将要设计的数字滤波器的边界频率
wp=2*pi*fp*T;ws=2*pi*fs*T;
%预畸变
wp1=(2/T)*tan(wp/2);ws1=(2/T)*tan(ws/2);
%求出最小阶数和截止频率
[n,wn]=buttord(wp1,ws1,Rp,Rs,'s');
%求出模拟滤波器的分子和分母系数向量
[b,a]=butter(n,wn,'low','s');
%双线性变换
[bz,az]=bilinear(b,a,1/T);
function [db,mag,pha,w] = freqs_m(b,a,wmax)
w = (0:1:500)*wmax/500;
H = freqs(b,a,w);
mag = abs(H);
db = 20*log10((mag+eps)/max(mag));
wp=400*pi;ws=600*pi;Rp=1;Rs=25;
%求出最小阶数和截止频率
[n,wn]=buttord(wp,ws,Rp,Rs,'s');
%求出模拟滤波器的分子和分母系数向量
[b,a]=butter(n,wn,'s');
[db,~,~,w]=freqs_m(b,a,500*2*pi);
subplot(2,1,1);
plot(w/(2*pi),db,'LineWidth',2,'Color','b');
title('模拟滤波器频响');
axis([0,500,-20,1]);
%脉冲响应不变法转换
fs=1000;[bz,az]=impinvar(b,a,fs);
[db,mag,pha,grd,w]=freqz_m(bz,az);
subplot(2,1,2);
wp1=0.25*pi;wp2=0.45*pi;ws1=0.15*pi;ws2=0.55*pi;
%预畸变
wp3=(2/T)*tan(wp1/2);wp4=(2/T)*tan(wp2/2);
ws3=(2/T)*tan(ws1/2);ws4=(2/T)*tan(ws2/2);
%将所需类型模拟滤波器技术指标转换成模拟低通滤波器技术指标,设计模拟滤波器
wp=[wp3,wp4];ws=[ws3,ws4];
[n,wn]=buttord(wp,ws,Rp,Rs,'s');[z,p,k]=buttap(n);[b,a]=zp2tf(z,p,k);
%频率变换
w0=sqrt(wp3*wp4);Bw=wp4-wp3;
[b1,a1]=lp2bp(b,a,w0,Bw);
%双线性变换法
[bz,az]=bilinear(b1,a1,1/T);
[db,mag,pha,grd,w]=freqz_m(bz,az);
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.
标签:滤波器,Rp,884,db,脉冲响应,ws,mag,pi 来源: https://blog.csdn.net/m0_54742769/article/details/120374746