数字滤波器设计实验报告.docx
《数字滤波器设计实验报告.docx》由会员分享,可在线阅读,更多相关《数字滤波器设计实验报告.docx(10页珍藏版)》请在冰豆网上搜索。
数字滤波器设计实验报告数字滤波器设计实验报告数字滤波器设计实验报告实验目的研究数字滤波器的设计思想,理解数字频域,模拟频域的关系,掌握数字系统处理模拟信号的方法。
FIR数字滤波器设计:
掌握窗函数设计FIR数字滤波器的方法,理解FIR的意义:
线性相位。
一、实验原理1、FIR的特点1系统的单位冲击响应在有限个n值处不为零。
2对于稳定系统,系统函数在|z|0处收敛,极点全部在z=0处。
3构造上主要是非递归构造,没有输出到输入的反应,但在个别构造中如频率抽样构造也包含反应的递归局部2、FIR滤波器的优点1即具有严格的线性相位,又具有任意的幅度2FIR滤波器的抽样响应是有限长的,因而滤波器的性能稳定。
3只要经过一定的延时,任何非因果的有限长序列都能变成有限长的因果的序列,因而能用因果系统来实现。
4FIR滤波器单位冲击响应是有限长的,因而可以进展快速傅立叶变换,提高运算效率。
3、用窗函数设计FIR数字滤波器对函数加窗处理,实际是用一个有限长函数来逼近原函数。
常用的窗函数有矩形窗、三角窗,汉宁窗、海明窗、布莱克曼窗、凯撒窗等。
二、实验要求1、设计FIR数字低通滤波器,要求在不同窗口长度N=15,33下,分别求出h(n),画出相应的幅频特性和相频特性曲线,观察3dB带宽和20dB带宽,总结窗口长度N对滤波特性的影响。
2、对三个拟合三角函数进展滤波处理。
3、对含噪心电信号函数进展滤波处理。
三、实验内容1、不同窗函数长度对于滤波特性的影响fs=100,N=32;n=0:
N-1;t=n/fs;f0=n*fs/N;y=exp(-2*t);z=fft(y);m=abs(z);w1=blackman(N);z1=w1.*y;x1=fft(z1),mo1=abs(x1);subplot(1,2,1);plot(f0,m/fs);subplot(1,2,2);plot(f0,mo1/fs)运行结果改变N值,令N=14,得到结果2、对三个拟合三角函数进展滤波clear;fs=2000;t=(1:
1000)/fs;x=10*cos(2*pi*30*t)+cos(2*pi*150*t)+5*cos(2*pi*600*t);L=length(x);N=2(nextpow2(L);Hw=fft(x,N);figure
(1);subplot(2,1,1);plot(t,x);gridon;title(滤波前信号x);xlabel(时间/s);%原始信号subplot(2,1,2);plot(0:
N-1)*fs/L,abs(Hw);%查看信号频谱gridon;title(滤波前信号频谱图);xlabel(频率/Hz);ylabel(振幅|H(ejw)|);%x_1=10*cos(2*pi*30*t)Ap=1;As=60;%定义通带及阻带衰减dev=(10(Ap/20)-1)/(10(Ap/20)+1),10(-As/20);%计算偏移量mags=1,0;%低通fcuts=60,100;%边界频率N,Wn,beta,ftype=kaiserord(fcuts,mags,dev,fs);%估算FIR滤波器阶数hh1=fir1(N,Wn,ftype,kaiser(N+1,beta);%FIR滤波器设计x_1=filter(hh1,1,x);%滤波x_1(1:
ceil(N/2)=;%群延时N/2,删除无用信号局部L=length(x_1);N=2(nextpow2(L);Hw_1=fft(x_1,N);figure
(2);subplot(2,1,1);plot(t(1:
L),x_1);gridon;title(x_1=10*cos(2*pi*30*t);xlabel(时间/s);subplot(2,1,2);plot(0:
N-1)*fs/L,abs(Hw_1);%查看信号频谱gridon;title(滤波后信号x_1频谱图);xlabel(频率/Hz);ylabel(振幅|H(ejw)|);%x_2=cos(2*pi*150*t)Ap=1;As=60;%定义通带及阻带衰减dev=10(-As/20),(10(Ap/20)-1)/(10(Ap/20)+1),10(-As/20);%计算偏移量mags=0,1,0;%带通fcuts=80,120,180,220;%边界频率N,Wn,beta,ftype=kaiserord(fcuts,mags,dev,fs);%估算FIR滤波器阶数hh2=fir1(N,Wn,ftype,kaiser(N+1,beta);%FIR滤波器设计x_2=filter(hh2,1,x);%滤波x_2(1:
ceil(N/2)=;%群延时N/2,删除无用信号局部L=length(x_2);N=2(nextpow2(L);Hw_2=fft(x_2,N);figure(3);subplot(2,1,1);plot(t(1:
L),x_2);gridon;title(x_2=cos(2*pi*150*t);xlabel(时间/s);subplot(2,1,2);plot(0:
N-1)*fs/L,abs(Hw_2);%查看信号频谱gridon;title(滤波后信号x_2频谱图);xlabel(频率/Hz);ylabel(振幅|H(ejw)|);%x_3=5*cos(2*pi*600*t)Ap=1;As=60;%定义通带及阻带衰减dev=10(-As/20),(10(Ap/20)-1)/(10(Ap/20)+1);%计算偏移量mags=0,1;%高通fcuts=500,550;%边界频率N,Wn,beta,ftype=kaiserord(fcuts,mags,dev,fs);%估算FIR滤波器阶数hh2=fir1(N,Wn,ftype,kaiser(N+1,beta);%FIR滤波器设计x_3=filter(hh2,1,x);%滤波x_3(1:
ceil(N/2)=;%群延时N/2,删除无用信号局部L=length(x_3);N=2(nextpow2(L);Hw_3=fft(x_3,N);figure(4);subplot(2,1,1);plot(t(1:
L),x_3);gridon;title(x_3=5*cos(2*pi*600*t);xlabel(时间/s);subplot(2,1,2);plot(0:
N-1)*fs/L,abs(Hw_3);%查看信号频谱gridon;title(滤波后信号x_3频谱图);xlabel(频率/Hz);ylabel(振幅|H(ejw)|);运行结果3、对含噪心电信号函数进展滤波处理。
clearclccloseall;fs=1000;N=500;n=0:
N-1;t=n/1000;x=ecg(100);X=xxxxx;u=sin(2*0.01*pi*t);y=X+sin(2*30*pi*t)+sin(2*0.01*pi*t);figure
(1);subplot(222);plot(t,y,t,u,:
);title(心电+工频干扰函数图);subplot(221);plot(t,X);title(心电干前函数图)f=n*fs/N;figure
(2);subplot(221);plot(f,abs(fft(X);title(心电干扰前幅度谱)subplot(222);y1=fft(y);plot(f,abs(y1)/N);%axis(00.0300.6);holdontitle(心电+工频干扰滤波前幅度谱)wp=0.1;ws=0.2;rp=2;rs=30;n,wn=buttord(wp,ws,rp,rs);b,a=butter(n,wn,high);y2=filter(b,a,y);figure
(1);subplot(223);plot(t,y2,r);title(心电+工频干扰滤波后函数图)y3=fft(y2);figure
(2);subplot(223);plot(f,abs(y3)/N,r);title(心电+工频干扰滤波后幅度谱)figure(3);H,F=freqz(b,a,512,fs);mag=abs(H);Hdb=20*log10(mag);plot(F,Hdb);gridon;title(滤波器图);运行结果