模拟滤波器与数字滤波器的Matlab转换

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

%IIR滤波器设计

%首先确定

%通带和阻带截止频率Wp Ws rad/s此截至频率对应下面的最大衰减与最小衰减,不要与三分贝点弄混了

%通带最大衰减与阻带最小衰减Rp Rs dB

%现在设计通带截止频率10HZ通带最大衰减2dB阻带截止频率20HZ阻带最小衰减12dB的

%模拟滤波器然后将其转化为一个数字滤波器

%转化分为两种方法

%1.脉冲响应不变该法设计出的滤波器幅频特性更接近于模拟滤波器

%2.双线性法抗混叠性能更好

fp=10;fs=20;

Rp=2;Rs=12;

Wp=2*pi*fp;Ws=2*pi*fs;

[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s')%注意此时为模拟滤波器

fn=Wn/(2*pi);

[z0,p0,k0]=buttap(N);%注意此时是归一化的buttord

%相当于去归一化以Wn做因子进行扩展

z0=Wn*z0;%零点

p0=Wn*p0;%极点

k0=Wn^N*k0;%增益

b=real(poly(z0));

b=b*k0;

a=real(poly(p0));%a为直接分母系数,b为直接分子系数

[H,w]=freqs(b,a);%系统频率特性

f=w./(2*pi);

figure(1)

subplot(311)

plot(f,20*log10(abs(H)/max(abs(H))));

title('幅频特性曲线');

xlabel('f:HZ');ylabel('abs(H)/max(abs(H)');

grid

%脉冲响应不变法

%数字频率转化即为模拟频率在折叠频率内的归一化

%通带和阻带截止频率Wp Ws rad/s

%Wn为3dB截止频率

d1Wp=Wp/100;

d1Ws=Ws/100;

w1n=Wn/100;

%脉冲响应不变

[bz,az]=impinvar(b,a,100);%a为直接分母系数,b为直接分子系数这应该是程序员最关心的参数了哈哈哈

[zz,pz,kz]=residuez(bz,az);

[Hz,wz]=freqz(bz,az);

subplot(312);

plot((wz./2*pi),20*log10(abs(Hz)/max(abs(Hz))));

grid

%双线性变换抗混叠性能更好

%Wn为3dB截止频率

d2Wp=atan(Wp/(2*100));

d2Ws=atan(Ws/(2*100));

w2n=atan(Wn/(2*100));

%双线性变换

[bz1,az1]=bilinear(b,a,100);

[zz1,pz1,kz1]=residuez(bz1,az1);

[Hz1,wz1]=freqz(bz1,az1);

subplot(313);

plot((wz1./2*pi),20*log10(abs(Hz1)/max(abs(Hz1))));

grid

相关文档
最新文档