《2022年对周期方波信号进行滤波matlab的实现 .pdf》由会员分享,可在线阅读,更多相关《2022年对周期方波信号进行滤波matlab的实现 .pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、对周期方波信号进行滤波)1、生成一个基频为10Hz 的周期方波信号;)2、设计一个滤波器,滤去该周期信号中40Hz 以后的频率成分,观察滤波前后的信号波形和频谱。)3、如果该信号 x(t)淹没在噪声中(随机噪声用randn(1,N)生成,N 为其样点数),试滤去噪声。%采样频率取 200Hz,可以改变看看。输入、输出信号频谱同时绘制在一起对比%采用低通滤波器,保留40Hz以下频率成分clear fs=200;t=0:1/fs:1;x=square(2*pi*10*t);wp=40*2/fs;ws=45*2/fs;Rp=3;Rs=45;Nn=128;N,wn=buttord(wp,ws,Rp,R
2、s)b,a=butter(N,wn,low)y=filter(b,a,x);figure(1)plot(t,x,r-,t,y)%grid on axis(0 1.2-2 2)title(红色代表原信号,蓝色代表只保留40Hz以下频率成分)figure(2)H,W=freqz(b,a);k=0:511;plot(fs/2)/512*k,abs(H);grid on title(滤波器频率响应)T=1/fs;N=4*(fs/10);n=0:N-1;xn=square(2*pi*10*n*T);X=fftshift(fft(xn,512);xk=1/N*X;名师资料总结-精品资料欢迎下载-名师精心整
3、理-第 1 页,共 3 页 -Y=fftshift(fft(y,512);yk=1/N*Y;figure(3)plot(-fs/2+fs/512*k,abs(xk)grid on legend(方波信号的频谱)figure(4)plot(-fs/2+fs/512*k,abs(xk),b,-fs/2+fs/512*k,abs(yk),r)grid on legend(原信号的频谱,滤波后信号的频谱)%保留 40Hz频率成分%采样频率取 200Hz,可以改变看看。输入、输出信号频谱同时绘制在一起对比%采用带通滤波器,只保留40Hz频率成分clear fs=200;t=0:1/fs:1;x=squa
4、re(2*pi*10*t);wp=35 45*2/fs;ws=30 50*2/fs;Rp=3;Rs=45;Nn=128;N,wn=buttord(wp,ws,Rp,Rs)b,a=butter(N,wn,bandpass)%只保留 40Hz频率成分y=filter(b,a,x);figure(1)plot(t,x,r-,t,y)grid on axis(0 1.2-1.2 1.2)title(红色代表原信号,蓝色代表只保留40Hz频率成分)figure(2)H,W=freqz(b,a);k=0:511;plot(fs/2)/512*k,abs(H);grid on title(滤波器频率响应)T=1/fs;N=4*(fs/10);n=0:N-1;xn=square(2*pi*10*n*T);名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 3 页 -X=fftshift(fft(xn,512);xk=1/N*X;Y=fftshift(fft(y,512);yk=1/N*Y;figure(3)plot(-fs/2+fs/512*k,abs(xk),b,-fs/2+fs/512*k,abs(yk),r)grid on legend(原信号的频谱,滤波后信号的频谱)名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 3 页 -