您好,欢迎访问三七文档
实验报告实验名称:信号滤波课程名称:数字信号处理院系部:电气与电子工程学院专业班级:信息1002学生姓名:王萌学号:1101200219同组人:实验台号:指导教师:范杰清成绩:实验日期:2012.11.30华北电力大学(北京)一、实验目的综合应用信号频谱分析和数字滤波器设计的知识,实现信号的滤波。加深理解信号时域和频域分析的物理概念,理解设计指标的工程概念,认识不同类型滤波器的特性和适用范围。二、实验原理首先对待滤波的信号进行频谱分析,观察信号频率分布的规律,从而确定数字滤波器的类型(FIR滤波器、IIR滤波器、自适应滤波器、小波滤波器等)。在加性噪声的情况下,若信号的频谱与噪声的频谱基本不重叠,可以采用频率选择滤波器(FIR滤波器、IIR滤波器)。若信号的频谱与噪声的频谱重叠较多,可以采用自适应滤波、小波滤波等。若为乘性噪声,可以根据同态滤波的原理对信号进行预处理,然后再按照加性噪声的情况处理。在确定了数字滤波器类型后,还需要根据信号时域特性、频域特性、或时频特性确定滤波器的设计参数,设计出相应的数字滤波器。最后,利用该数字滤波器对信号进行滤波,在时域和频域观察信号滤波的主观及客观效果。若主观及客观效果满足要求,说明分析过程和滤波方法正确有效,若不满足要求,需要重新分析和设计。三、实验内容1.对周期方波信号进行滤波。(1)生成一个基频为10Hz的周期方波信号x(t)。(2)设计一数字滤波器,滤去该周期信号中40Hz以外的频率成分,观察滤波前后信号时域波形及频谱。(3)若该信号x(t)淹没在噪声中(随机噪声用randn((1,N)生成),试用filter函数滤去噪声。解答:滤波前的时域波形Fs=1000;%采样频率T=1/10;%采样长度t=0:1/Fs:1;x=square(2*pi*10*t);%生成基频为10Hz的周期方波信号figureplot(t,x)title('矩形波')xlabel('时间(秒)')ylabel('函数值(福特)')axis([0,0.2,-1.5,1.5])滤波前的频谱N=T*Fs;%采样点数t1=0:1/Fs:1/Fs*(N-1)x1=square(2*pi*10*t1);f=(-N/2)*Fs/N:Fs/N:((N/2-1))*Fs/N;fx=fftshift(fft(x,N))/N;figureplot(f,abs(fx));title('方波信号的频谱')xlabel('频率')ylabel('函数值fx')滤波后的时域波形[n,Wn]=buttord(40/500,50/500,3,15);%确定buttord的参数,要求滤除40Hz以后的频率成分[b,a]=butter(n,Wn);%确定滤波器传递函数y=filter(b,a,x);%滤波figureplot(t,y)title('矩形波通过低通滤波器后的时域波形')xlabel('时间(秒)')ylabel('函数值(福特)')axis([0,0.2,-1.5,1.5])滤波后的频谱N=512;%滤波后的频谱f=(-N/2)*Fs/N:Fs/N:(N/2-1)*Fs/N;fy=fftshift(fft(y,N))/N;figureplot(f,abs(fy))title('滤波后信号的频谱')xlabel('频率')ylabel('函数值fx')figurefreqz(b,a);%滤波器频率特性title('低通滤波器的频率特性')%figure%freqz(b,a);%滤波器频率特性%title('低通滤波器的频率特性')滤除噪声noise=randn(1,100);HC=x1+noise;f=(-N/2)*Fs/N:Fs/N:(N/2-1)*Fs/N;HC=fftshift(fft(HC,N))/N;figureplot(f,abs(HC));title('滤除噪声之前')xlabel('频率f')ylabel('幅度')HC1=filter(b,a,HC);figureplot(f,abs(HC1));title('滤除噪声之后')xlabel('频率f')ylabel('幅度')2.若原始落信号由5Hz、15Hz、30Hz三个幅度相等的正弦信号构成。分别设计一个FIR和IIR数字滤波器滤除5Hz和30Hz频率成分。(1)绘制原始信号时域波形和幅度频谱。(2)分别设计FIR和IIR数字滤波器,滤绘制其幅频特性。(3)利用设计的滤波器对信号进行滤波,绘制输出信号的时域波形和幅度频谱。解答:时域波形(1)k=0:255;x=cos(2*pi*5*k*0.01)+cos(2*pi*15*k*0.01)+cos(2*pi*30*k*0.01);figurestem(x)X=fft(x);figureplot(abs(X))FIR滤波器%FIRk=0:255;x=cos(2*pi*5*k*0.01)+cos(2*pi*15*k*0.01)+cos(2*pi*30*k*0.01);X=fft(x);plot(abs(X));title('原始信号频谱');Rs=0.01;f=[0.05,0.11,0.15,0.4];a=[0,1,0];dev=Rs*ones(1,length(a));[M,Wc,beta,ftype]=kaiserord(f,a,dev);h=fir1(M,Wc,ftype,kaiser(M+1,beta));omega=linspace(0,pi,256)mag=freqz(h,[1],omega);figureplot(omega/pi,20*log10(abs(mag)));title('fir带通滤波器');Y=X.*mag;figureplot(abs(Y));title('滤波后频谱');%IIRk=0:255;t=0:.001:2.55;x0=cos(2*pi*5*k*0.01)+cos(2*pi*15*k*0.01)+cos(2*pi*30*k*0.01);x=cos(2*pi*5*t)+cos(2*pi*15*t)+cos(2*pi*30*t);figureplot(x);axis([0,1000,-3,3])title('原始信号时域波形');X=fft(x0);figureplot(abs(X));title('原始信号频谱');[N,Wn]=buttord([0.11,0.15],[0.05,0.4],1,40)[b,a]=butter(N,Wn);x1=filter(b,a,x);figureplot(x1);axis([0,200,-0.5,0.5])title('滤波后时域波形');figurefreqz(b,a,256,1000)m=freqz(b,a,256,1000);title('iir带通滤波器');%axis([0,500,-80,0]);gridony=X.*m';figureplot(abs(y));title('滤波后频谱');3、用所设计的滤波器对实际心电图信号采样序列(在本实验的实验步骤中给出)进行仿真滤波处理,并分别打印出滤波前后的心电图信号波形图,观察总结滤波作用与效果。人体心电图信号在测量过程中往往受到工业高频于扰,所以必须经过低通滤波处理后,才能作为判断心脏功能的有用信息。下面给出一实际心电图信号采样序列样本x(n),其中存在高频干扰。提示:心电信号通常均分布在200Hz范围内。在实验中,以x(n)作为输入序列,滤除其中的干扰成分。{x(n)}={-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0}思考题直接运行程序,结果输出滤波器幅频特性曲线图,把有噪声的心电图采集信号波形图和经过三级二阶滤波器滤波后的心电图信号波形图进行对比,总结滤波效果。解答:x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,...0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,...4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0];figurestem(x);title('原心电图的时域序列')Fs=1000;%采样频率T=1/10;%采样长度N=T*Fs;%采样点数f=(-N/2)*Fs/N:Fs/N:((N/2-1))*Fs/N;fx=fftshift(fft(x,N))/N;figureplot(f,abs(fx));title('原心电图的频谱')xlabel('频率')ylabel('函数值fx')[N,Wc]=buttord(150/500,250/500,3,60);[b,a]=butter(N,Wc);figurefreqz(b,a,256,1000)fori=1:3y=filter(b,a,x);endfigureplot(f,abs(fftshift(fft(y,512))));Wp=[4555]/500;Ws=[45-555+5]/500;Rp=3;Rs=40;[M,Wn]=buttord(Wp,Ws,Rp,Rs)[p,q]=butter(M,Rp,Wn,'stop');figurefreqz(p,q,256,1000)z=filter(p,q,y);figurestem(z)figureplot(f,abs(fftshift(fft(z,512))));低通滤波器频谱通过低通滤波器的心电图频谱带阻滤波器频谱最终结果四、思考题1.利用频率选择滤波器(FIR滤波器、IIR滤波器)进行信号去噪的基本思想及主要步骤是什么?主要思想:利用频率选择滤波器的传输选择特性,对输入信号进行加工和变换,改变输入序列的频谱或信号波形,使需要的频率分量通过,抑制无用的信号分量。主要步骤:(1)根据输入信号的频谱特性及设计目标要求确定需要使用的滤波器类型:包括低通、高通、带通等;(2)由需要的相位特性及幅度特性确定滤波器的设计方法:包括fir(巴特沃斯、切比雪夫)、iir(巴特沃斯、切比雪夫);(3)根据目标设计要求确定滤波器参数,需要的参数根据滤波器的设计方法确定,主要参数包括:滤波器的阶次,频率要求、幅度响应要求;(4)利用设计好的滤波器对实际信号进行处理,检验是否满足设计要求,调整并优化。2.如何根据含有噪声信号的频谱特性选择滤波器的类型和设计指标?根据采集到的信号获得频谱图,由时域频域的对应关系,确定需要滤除噪声的特性,然后从以下角度确定所需要的滤波器:(1)频响特性角度:IIR滤波器设计时不考虑相位特性,且通常相位都是非线性的,而FIR滤波器在满足幅频特性要求的同时,还能获得比较严格的线性相位特性,利用窗函数或者其他算法可以逼近更加任意的频响特性,因此性能优越,使用范围更广;(2)稳定性问题:IIR滤波器设计时,极点必须在单位圆之内;而FIR滤波器极点在单位圆内,因此始终稳定;(3)滤波器结构的影响:IIR滤波器一般采用递归结构,存在有输出对输入的反,而IIR滤波器阶次相对较低,运算次数少,存储单元少,FIR滤波器正好相反;(4)设计工作量:FIR无表可查,需要用到迭代法,计算量较大;而IIR滤波器相对简单,有现成的计公式和数据表格可用。
本文标题:数字信号处理实验九
链接地址:https://www.777doc.com/doc-6530235 .html