课程设计(论文)_基于MATLAB的快速傅立叶分析程序设计_第1页
课程设计(论文)_基于MATLAB的快速傅立叶分析程序设计_第2页
课程设计(论文)_基于MATLAB的快速傅立叶分析程序设计_第3页
课程设计(论文)_基于MATLAB的快速傅立叶分析程序设计_第4页
课程设计(论文)_基于MATLAB的快速傅立叶分析程序设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、基于MATLAB的快速傅立叶分析程序设计机械研07,徐微,07202110051.信号数据对一个人为产生的信号进行采用FFT变换方法进行功率谱分析。信号x(n)=120.0*COS(2*3.14*SF*n/FS)式中: n=0,1,2 N-1 SF-信号频率 FS-采样频率这里,定义参数如下:fs=200;%设定采样频率N=512;sf=10;%设定余弦信号频率采样点=1024;2信号的时域波形和频域波形图1 余弦函数的时域波形图图2 余弦函数的幅频谱波形图3 余弦函数的功率谱密度波形上面三图的程序如下所示:fs=200;%设定采样频率N=512;n=0:N-1;t=n/fs;sf=10;%设

2、定正弦信号频率%生成信号x=120.0*cos(2*3.14*sf*t);figure;plot(t,x);%作余弦信号的时域波形xlabel(t);ylabel(y);title(x=120.0*cos(2*3.14*sf*t)时域波形);grid;%进行FFT变换并做频谱图y=fft(x,N);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)*fs/length(y);%进行对应的频率转换figure;plot(f,mag);%做频谱图xlabel(频率(Hz);ylabel(幅值);title(x=120.0*cos(2*3.14*sf*t)幅频谱图N=5

3、12);grid;Py =2*(y.*conj(y)/N; %计算功率谱密度Pyfigure;plot(f,Py);xlabel(频率(Hz);ylabel(功率谱密度);title(x=120.0*cos(2*3.14*sf*t)功率谱密度);grid;3信号经过均值化处理或不经过均值化处理的结果比拟图4 余弦函数均值化处理后的时频域波形结论:经过均值化处理的波形发生上下移动,但是频谱不变。4采用不同窗函数时的谱结果矩形窗函数, 汉宁窗函数,汉明窗等等1采用矩形窗函数时信号的频谱分析结果图图5 矩形窗函数处理信号时域波形图6 矩形窗函数处理信号频域波形2采用汉明窗函数时信号的频谱分析结果图7

4、 汉明窗函数处理信号时域波形图8 汉明窗函数处理信号频域波形3采用汉宁窗函数时信号的频谱分析结果图9 汉宁窗函数处理信号时域波形图10 汉宁窗函数处理信号频域波形4采用三角窗函数时信号的频谱分析结果图11 三角窗函数处理信号时域波形图12 三角窗函数处理信号频域波形5采用Blackman窗函数时信号的频谱分析结果图13 Blackman窗函数处理信号时域波形图14 Blackman窗函数处理信号频域波形在前面程序的根底上,继续输入加窗处理程序,可以得到上面所示的结果,其加窗处理程序如下:w_han=(hanning(N);y1=x.*w_han;figure;plot(t,y1);y2=mag

5、.*w_han;figure;plot(f,y2);w_box=(boxcar(N);y3=x.*w_box;figure;plot(t,y3);y4=mag.*w_box;figure;plot(f,y4)w_ham=(hamming(N);y5=x.*w_ham;figure;plot(t,y5);y6=mag.*w_ham;figure;plot(f,y6)w_tri=(triang(N);y7=x.*w_tri;figure;plot(t,y7);y8=mag.*w_tri;figure;plot(f,y8)w_black=(blackman(N);y9=x.*w_black;figu

6、re;plot(t,y9);y10=mag.*w_black;figure;plot(f,y10)5典型函数的频谱矩形窗函数, 汉宁窗函数,三角窗函数,切比雪夫窗设计方法:主要应用了MALTAB中的交互式图形用户界面以及直接编程来做信号的处理过程,其设计过程如下:1图形用户界面的启动:在MATLAB COMMAND窗口下,键入sptool,会弹出一个SPTool窗口。2在进行处理之前,我们需要建立一个所要处理的信号公式,即信号x(n)=120.0*cos(2*3.14*SF*n/FS),MATLAB提供了编程的代码,其代码如下:Fs=200;%设定采样频率 N=512; n=0:N-1; t=

7、n/Fs;sf=10;%设定余弦信号频率x=120.0*cos(2*3.14*sf*t); %生成信号plot(t,x)gridsave hdata.mat x Fs %把信号保存到了工作空间中,以备调用这样程序运行结果会生成信号数据文件hdata.mat,存放信号x和采样频率的数据。3从SPTool窗口中的File菜单中选择Import命令,弹出Import to SPTool窗。窗口如下所示:图15 信号处理Import to SPTool窗口设置好后,点击OK。4这样就可以进行信号的时域分析了,只需要点击下列图中Signals中所导入的信号就可以了。图16 MATLAB信号处理SPToo

8、l窗口5如上图所示的Spectra为信号的频谱分析工具栏,选好所导入的信号,点击Crate按钮,进入频谱分析的窗口。窗口图片如下所示:图17 信号的频谱分析工具栏Spectra窗口通过上面图形所示,我们可以从左边的工具栏上选择各种窗函数,并且可以随意定义Nfft和Nwind的大小,方法比拟简单直观。同样,我们还可以用编程的方法实现上面要求,其各种窗函数及程序代码如下所示:1) 矩形窗函数图18 矩形窗函数频谱图2汉宁窗函数图19 汉宁窗函数频谱图3三角窗函数图20 三角窗函数频谱图4切比雪夫窗函数图21 切比雪夫窗函数频谱图典型窗函数的频谱程序如下所示:生成一个长度为50的矩形窗,并观察其频率

9、特性n=50;window=boxcar(n);h,w=freqz(window,1);subplot(2,1,1)stem(window);subplot(2,1,2);plot(w/pi,20*log(abs(h)/abs(h(1);生成一个长度为60的汉宁窗,并观察其频率特性n=60;window=hanning(n);h,w=freqz(window,1);subplot(1,2,1)stem(window);subplot(1,2,2); plot(w/pi,20*log(abs(h)/abs(h(1);生成一个长度为40的三角窗,并观察其频率特性n=40;window=triang

10、(n);h,w=freqz(window,1);subplot(1,2,1)stem(window);subplot(1,2,2);plot(w/pi,20*log(abs(h)/abs(h(1);生成一个长度为40的切比雪夫窗,并观察其频率特性n=50;r=50;window=chebwin(n,r);h,w=freqz(window,1);subplot(1,2,1)stem(window);subplot(1,2,2) plot(w/pi,20*log(abs(h)/abs(h(1);6整周期和非整周期比拟以高度为1的矩形窗w(t)在一个完整周期内截取采样序列,在时域以w(t)截取采样序列,在频域内等效于W(f)和X(f)的卷积。在fm/T0,处正好是X(f) *W(f)=W(f -f0)的零点处,故在频谱上仅在f0处有单一频线,无泄漏现象。因此,只要矩形窗宽包含序列的假设干完整周期,就都能在f=m/T0处使采样序列的加窗谱不歪曲其真实谱。当用矩形窗函数w(t)对周期信号进行非整周期截取,如上图所示产生明显的“泄漏现象

温馨提示

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

评论

0/150

提交评论