FFT算法和低通滤波器去除噪声作用的比较.doc_第1页
FFT算法和低通滤波器去除噪声作用的比较.doc_第2页
FFT算法和低通滤波器去除噪声作用的比较.doc_第3页
FFT算法和低通滤波器去除噪声作用的比较.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

FFT算法和低通滤波器去除噪声作用的比较我们可以把FFT简单地看作一个变换器,输入N+1个数,输出N+1个数,但他们对应的意义不同,如果把输入当作时域,则输出为频域,表征了其对应域的变化快慢。 假设输入信号本身的频率为fc(或者说频带宽为fc),被频率为fs的冲击 串采样(由采样定理,fs = 2*fc),则变换前的N1个数字对应的x轴为t0,t1,tN=0,Ts,2*Ts,.,N*Ts (其中Ts为1/fs,为采样周期)则变换后的N+1个数对应的x轴变为频率,范围为0fs,以fs/N为间隔,既为频率点0,fs/N,2*fs/N,fs,在matlab中如果用fftshift(fft(data),则变换后对应x轴为-fs/2fs/2,如果满足采样定理的话,信号频带-fcfc就包含在转换后的频谱里面了,就不会有失真。考虑信号:y(t)=exp-(sin2t+2cos4t+0.4sintsin50t)在0,2pi的情况,首先利用FFT算法对其进行去噪声处理,即使高频部分信号为零,利用MATLAB进行仿真,其程序及仿真结果如下:t=linspace(0,2*pi,28); %discretizes 0,2pi into 256 nodesy=exp(-(cos(t).2).*(sin(2*t)+2*cos(4*t)+0.4*sin(t).*sin(50*t);fy=fft(y); %compute fft of yfilterfy=fy(1:6) zeros(1,28-12) fy(28-5:28); %sets fftfiltery=ifft(filterfy); %computes inverse fft of the filtered ffthold onplot(t,y,r*) %generates the graph of the original signalplot(t,filtery) %generates the plot of the compressed signaltitle(filtered signal with FFT * unfilered signal)hold off原信号波形:FFT仿真结果与原信号的比较:下面设计一个底通滤波器实现消噪的功能:t=linspace(0,2*pi,28); %时间向量ts=2*pi/(28); %抽样间隔fs=1/ts;df=1/2*pi; %频率分辨率y=exp(-(cos(t).2).*(sin(2*t)+2*cos(4*t)+0.4*sin(t).*sin(50*t);Y,y,df1=fftseq(y,ts,df); %对信号进行傅立叶变换 Y=Y/fs;%设计一个低通滤波器f_cutoff=4/2*pi; %低通滤波器截止频率n_cutoff=floor(f_cutoff/df1);f=0:df1:df1*(length(y)-1)-fs/2;H=zeros(size(f);H(1:n_cutoff)=ones(1,n_cutoff);H(length(f)-n_cutoff+1:length(f)=ones(1,n_cutoff);DEM=H.*Y; %经过低通滤波器后的信号频谱signal=real(ifft(DEM)*fs; %经过傅立叶反变换后的信号hold onplot(t,y,g*)plot(t,signal(1:length(t)title(filtered signal with LPF unfiltered signal)hold off调用的fftseq子函数:function M,m,df=fftseq(m,ts,df) %M,m,df=fftseq(m,ts,df)%M,m,df=fftseq(m,ts)%FFTSEQGenerates M, the FFT of the sequence m.%The sequence is zero padded to meet the required frequency resolution df.%ts is the sampling interval. The output df is the final frequency resolution.%Output m is the zero padded version of input m. M is the FFT.fs=1/ts;if nargin = 2 n1=0;else n1=fs/df;endn2=length(m);n=2(max(nextpow2(n1),nextpow2(n2);M=fft(m,n);m=m,zeros(1,n-n2);df=fs/n;经过低通滤波器后的信号波形:LPF仿真结果与原信号的比较:由于有用信号的频率往往比较低,而噪声信号往往是高频信号,所以我们可以使高频部分为零,来达到去除噪声的目的。通过以上的比较,我们可以发现,利用FFT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论