300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 使用matlab设计IIR巴特沃斯低通滤波器

使用matlab设计IIR巴特沃斯低通滤波器

时间:2020-08-13 14:21:36

相关推荐

使用matlab设计IIR巴特沃斯低通滤波器

目的和要求

设计IIR巴特沃斯低通滤波器将滤波器用于加噪声信号的处理改变参数指标比较不同

实验结果与分析

(1)滤波器频率特性如图

输入信号特性如图:

经过滤波器之后信号特性如图:

(2)改变指标后

Wp=0.3pi, Ws=0.6pi, Rp=0.5, As=40

可以看到过渡带向右移动了一点,并且衰减的过渡变长了,然后通带内频衰减变少了,阻带衰减变大了。这是由于Wp和Ws分别决定了过渡带的起讫位置,而Rp决定了通带内允许的最大衰减,As则决定了阻带允许的最小衰减。 程序代码:

%课本P395%1、由模拟滤波器指标(Omegap、Omegas、Rp、As)计算巴特沃斯滤波器指标(阶数 N 和 3dB 截止频率Omegac)%buttord可用于计算低通、高通、带通、带阻巴特沃斯滤波器指标%Rp,As分别为通带最大衰减和组带最小衰减(dB),'s'表示模拟滤波器%根据指标,求得符合指标的、滤波器应有的阶数和截止频率clc;Td=1;Fs=1/Td;Wp=0.2*pi;Ws=0.3*pi;Rp=1;As=15;Omegap=2/Td*tan(Wp/2);Omegas=2/Td*tan(Ws/2);[N,Omegac]=buttord(Omegap,Omegas,Rp,As,'s');%2、计算连续系统系数a,b0%归一化(模板巴特沃斯的截止频率Omegac=1)的模拟滤波器,零点、极点、增益%级联式,z0,p0,k0分别为零点、极点、增益%去归一化(求出真正滤波器的Omegac),得到级联式%级联式转换为一般式(由根求系数):为由一般式为跳板,计算并联式[z0,p0,k0]=buttap(N);[Bap,Aap]=zp2tf(z0,p0,k0); [b,a]=lp2lp(Bap,Aap,Omegac);[bz,az]=bilinear(b,a,Fs); [H,W]=freqs(bz,az);figure;plot(W/pi,20*log10(abs(H))); title('巴特沃斯滤波器')xlabel('频率');ylabel('增益(dB)');f1=10;%第一个点频信号分量频率f2=30;%第二个点频信号分量频率f3=45;%第三个点频信号分量频率fs=100;%采样率T=2;%间隔长度n=round(T*fs);%采样点个数t=linspace(0,T,n);y=cos(2*pi*f1*t)+cos(2*pi*f2*t)+cos(2*pi*f3*t)+randn(size(t));figure;subplot(2,1,1);plot(t,y);title('输入信号时域图像');xlabel('t/s');ylabel('V');fft_y=fftshift(fft(y));f=linspace(-fs/2,fs/2,n);subplot(2,1,2);plot(f,abs(fft_y));title('输入信号频域图像');xlabel('f/Hz');ylabel('V');axis([ 0 50 0 100]);figure;final=filter(bz, az, y); subplot(2,1,1);plot(t,final); title( '滤波后信号波形时域波形' );xlabel('t/s');ylabel('V');finall=fftshift(fft(final));subplot(2,1,2);plot(f,abs(finall));title( '滤波后信号频域波形' );axis([ 0 50 0 100]);

注:课本指程佩青,数字信号处理教程,清华大学出版社。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。