资源描述
2014 年 春 季学期研究生课程考核大作业一考核科目:实验方法及数字信号分析处理学生所在院(系): 学生所在学科: 学 生 姓 名: 学 号: 学 生 类 别: 考核结果阅卷人一、题目:给定信号。要求:1、 离散化(),画出曲线(满足采样定理)2、 用卷积滤波器滤波1) 低通:保留5Hz信号(带修正/不带)2) 带通:保留50Hz信号3、 上述信号加上白噪声(0.2rand(1,v)再滤波二、图像及matlab程序1、离散化(),画出曲线(满足采样定理)根据采样定理:,=300Hz, 则0.00167,取采样周期=0.001,满足采样定理。在MATLAB中,用横坐标表示时间(取时间长度为0.4s),纵坐标表示幅值,原信号如下图所示:离散化matlab 程序如下:clear;clc;Dt=0.001;t=-0.2:Dt:0.2;x=sin(2*pi*5*t)+sin(2*pi*50*t)+sin(2*pi*300*t);figure(1);plot(t*1000,x);grid on;title(原信号离散化图形);xlabel(时间t(ms);ylabel(信号幅值);2、用卷积滤波器滤波a.低通:保留5Hz信号(带修正/不带)FIR 滤波器传递函数为:其中,fi滤波因子,N为滤波长度,对于低通和带通时其滤波因子求取如下:fi结果:; ;取截止频率F=20Hz.图像中包含五条曲线,分别表示标准信号,原始信号,未修正低通滤波,汉宁修正低通滤波,汉明修正低通滤波,第一幅图是整体的图像,第二幅图为细节图。分析对比:观察第三幅细节图大致可知,卷积低通滤波效果较好,相位基本没有滞后,但是未经过修正的信号因泄露原因幅值较小,且信号曲线不太平滑。汉明修正结果较汉宁修正结果要好,更符合标准曲线。低通滤波器滤波程序如下:主程序:clc;clear;Dt=1/1000;%设置采样时间间隔t=-0.2:Dt:0.2;%设置采样时间长度x1=sin(2*pi*5*t);x=sin(2*pi*5*t)+sin(2*pi*50*t)+sin(2*pi*300*t);%输入信号(未加噪声)%x=x+0.2*rand(1,size(x,2);%在原信号上加上一个均值为0,方差为1,序列长度与原信号等长的白噪声figure(2)set( figure(2), Color,w);y,tl=Lowpass(70,70,20,1);%原信号通过低通滤波器后返回的信号值y及时间长度,N1=70,N2=70,截止频率F=20y1,tl=Lowpass(70,70,20,2);y2,tl=Lowpass(70,70,20,3);plot(t,x1,t,x,tl,y,tl,y1,g-,tl,y2,r-.);hold on;grid on;xlabel(时间t(ms),Fontsize,18);ylabel(信号幅值),Fontsize,18);title(低通滤波器滤波及对比,Fontsize,18);legend(标准信号,原始信号,未修正低通滤波,汉宁修正低通滤波,汉明修正低通滤波);功能函数:function y,tl = Lowpass(N1,N2,F,cor)%低通卷积滤波器,cor-修正参数设置,1不修正 2汉宁修正 3汉明修正Dt=0.001;t=-0.2:Dt:0.2; x=sin(2*pi*5*t)+sin(2*pi*50*t)+sin(2*pi*300*t); for i=-N1:1:N2 if i =0 switch cor case 1 f(i+N1+1)=sin(2*pi*F*i*Dt)/(pi*i); case 2 f(i+N1+1)=1/2*(1+cos(pi*(i)/N1)*sin(2*pi*F*i*Dt)/(pi*i); case 3 f(i+N1+1)=(0.54+0.46*cos(pi*(i)/N1)*sin(2*pi*F*i*Dt)/(pi*i); end end if i=0 f(i+N1+1)=real(2*F*Dt); end end for k=(N2+1):1:(size(x,2)-N1-1) y(k-N2)=0; for i=-N1:1:N2 y(k-N2)=f(i+N1+1)*x(k-i)+y(k-N2); end end tl=t(N2+1):Dt:t(size(t,2)-N1-1); endb.带通:保留50Hz信号(带修正/不带)FIR 滤波器传递函数为:其中,fi滤波因子,N为滤波长度,对于低通和带通时其滤波因子求取如下:fi结果: 其中,;取则 Hz, Hz。图像中包含五条曲线,分别表示标准信号,原始信号,未修正带通滤波,汉宁修正带通滤波,汉明修正带通滤波,第一幅图是整体的图像,第二幅图为部分放大图,第三幅图为细节图。分析对比:观察第三幅细节图大致可知,和低通滤波结果一致,卷积带通滤波效果较好,相位基本没有滞后,但是未经过修正的信号因泄露原因幅值较小,且信号曲线不太平滑。汉明修正结果较汉宁修正结果要好,更符合标准曲线。 带通滤波器滤波程序如下:主程序:clc;clear;Dt=1/1000;%设置采样时间间隔t=-0.2:Dt:0.2;%设置采样时间长度x1=sin(2*pi*50*t)x=sin(2*pi*5*t)+sin(2*pi*50*t)+sin(2*pi*300*t);%输入信号(未加噪声)%x=x+0.2*rand(1,size(x,2);%在原信号上加上一个均值为0,方差为1,序列长度与原信号等长的白噪声figure(1)set( figure(1), Color,w);y,tb=Bandpass(70,70,35,65,1);%原信号通过带通滤波器后返回的信号值y及时间长度y1,tb=Bandpass(70,70,35,65,2);y2,tb=Bandpass(70,70,35,65,3);plot(t,x1,t,x,tb,y,tb,y1,g-,tb,y2,r-.);hold on;grid on;xlabel(时间t(ms),Fontsize,18);ylabel(信号幅值),Fontsize,18);title(带通滤波器滤波及对比,Fontsize,18);legend(标准信号,原始信号,未修正带通滤波,汉宁修正带通滤波,汉明修正带通滤波);功能函数:function y,tb=Bandpass(N1,N2,F1,F2,cor)%带通滤波器功能函数,N1+N2+1滤波长度,F1,F2截止频率上下限,cor,修正参数,1不修正 2汉宁修正 3汉明修正 Dt=0.001;t=-0.2:Dt:0.2; x=sin(2*pi*5*t)+sin(2*pi*50*t)+sin(2*pi*300*t);F0=(F1+F2)/2;DF=(F2-F1)/2;for i=-N1:1:N2 if i=0 switch cor case 1 f(i+N1+1)=(2*sin(2*pi*DF*i*Dt)*cos(2*pi*F0*i*Dt)/(pi*i); case 2 f(i+N1+1)=1/2*(1+cos(pi*(i)/N1)*(2*sin(2*pi*DF*i*Dt)*cos(2*pi*F0*i*Dt)/(pi*i); case 3 f(i+N1+1)=(0.54+0.46*cos(pi*(i)/N1)*(2*sin(2*pi*DF*i*Dt)*cos(2*pi*F0*i*Dt)/(pi*i); end end if i=0 f(i+N1+1)=4*Dt*DF; endendfor k=(N2+1):1:(size(x,2)-N1-1) y(k-N2)=0; for i=-N1:1:N2 y(k-N2)=f(i+N1+1)*x(k-i)+y(k-N2); endend tb=t(N2+1):Dt:t(size(t,2)-N1-1);endc. 用递推滤波器滤波:保留5Hz信号。低通滤波器设计基于巴特沃斯(Butterworth )函数,这里采用二阶递推滤波器进行低通滤波,参数计算公式如下:;取F=20; 图像中包含五条曲线,分别表示,原始信号, 标准信号递推低通滤波,第一幅图是整体的图像,第二幅图为为细节图。本次选用两个截止频率F=10,和F=20进行滤波,滤波结果如下图所示。分析对比:观察第三幅细节图大致可知,递推滤波器滤波时存在明显的相位滞后,但是幅值衰减并不明显,当截止频率F=20时,存在明显的噪声干扰,F=10时,噪声干扰较小,说明递推滤波器的频率响应在过了截止频率以后衰减并不是很迅速,因此选用递推滤波器时应该着重考虑其相位的滞后作用和抗干扰性能。递推滤波器的matlab程序如下:主程序:clear;clc;Dt=0.001;%设置采样时间间隔t=-0.2:Dt:0.2;%设置采样时间长度x=sin(2*pi*5*t)+sin(2*pi*50*t)+sin(2*pi*300*t);%输入信号(未加噪声)x1=sin(2*pi*5*t)%x=x+0.2*rand(1,size(x,2);%在原信号上加上一个均值为0,方差为1,序列长度与原信号等长的白噪声figure(1)set( figure(1), Color,w);y,ti=IIRLowpass(10);%截止频率是10Hzplot(t,x,t,x1,ti,y);legend(原始信号,标准信号,递推低通滤波);hold on;grid on;xlabel(时间t(ms),Fontsize,18);ylabel(信号幅值),Fontsize,18);title(递推低通滤波器滤波及对比F=10Hz,Fontsize,18);功能函数:function y,ti=IIRLowpass(F)Dt=0.001;%设置采样时间间隔t=-0.2:Dt:0.2;%设置采样时间长度x=sin(2*pi*5*t)+sin(2*pi*50*t)+sin(2*pi*300*t);%输入信号(未加噪声)w=tan(pi*Dt*F);f(1)=w*w/(1+sqrt(2)*w+w*w);f(2)=2*w*w/(1+sqrt(2)*w+w*w);f(3)=w*w/(1+sqrt(2)*w+w*w);g(1)=-2*(1-w*w)/(1+sqrt(2)*w+w*w);g(2)=(1-sqrt(2)*w+w*w)/(1+sqrt(2)*w+w*w);y(1)=f(1)*x(1);y(2)=f(1)*x(2)+f(2)*x(1)-g(1)*y(1); ti=t(1):Dt:t(size(t,2);for k=3:1:size(x,2) y(k)=f(1)*x(k)+f(2)*x(k-1)+f(3)*x(k-2)-g(1)*y(k-1)-g(2)*y(k-2);endend3.上述信号加上白噪声(0.2rand(1,v)再滤波原始信号为x=sin(2*pi*5*t)+sin(2*pi*50*t)+sin(2*pi*300*t);加入随机白噪声后信号变为x=x+0.2*rand(1,size(x,2);即在原信号上加上一个均值为0,方差为1,序列长度与原信号等长的随机白噪声,FIR与IIR的滤波程序同之前相同,故不再列出,其滤波图线如下所示。如上图可知,加入随机噪声后其信号波动更为明显。对于有随机噪声的信号,低通滤波器中经过修正和未修正的滤波都有幅值衰减,但相位滞后不明显。对于有随机噪声的信号,带通滤波器中未修正的滤波都有幅值衰减,经过休整的信号衰减程度较小,所有滤波相位滞后不明显。可以看出递推低通滤波器有明显的相位滞后作用,且F=10的滤波效果较F=20的滤波效果好的多,说明其递推滤波器的频率响应在过了截止频率以后衰减并不是很迅速,因此选用递推滤波器时应该着重考虑其相位的滞后作用和抗干扰性能。
展开阅读全文