利用DFT进行频谱分析_第1页
利用DFT进行频谱分析_第2页
利用DFT进行频谱分析_第3页
利用DFT进行频谱分析_第4页
利用DFT进行频谱分析_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、利用DFT进行频谱分析内容与要求利用DFT对多种信号(例如由多个正弦信号组成的信号)进行频谱分析,并研究不同数据长度、补零、加窗等对频率分辨率的影响。方法原理1、引入当数字计算机对信号进行频谱分析时,要求信号必须以离散值作为输入,而计算机输出所得的频谱值自然也是离散的。因此,要使信号是时间的连续函数、频谱是频率的连续函数或者信号及频谱二者都是变量的连续函数这三种形式的信号能用数字计算机进行计算,必须针对每一种形式的具体情况,或者在时域与频域上取样,或者在时域上取样,或者在频域上取样。信号在时域上取样导致频率的周期函数,在频域上取样导致时域的周期函数,最后都将使原时间函数和频率函数二者都成为周期

2、离散的函数。我们采用DFT(离散傅里叶变换)来对连续时间信号的傅里叶变换进行逼近,进而分析连续时间信号的频谱。离散傅里叶变换是有限长序列的傅里叶变换,它相当于把信号的傅里叶变换进行等频率间隔采样,并且有限长序列的离散傅里叶变换和周期序列的离散傅里叶级数本质是一样的。2、推导离散傅里叶级数定义为 将上式两端乘以并对n在0N-1求和可得 因为 所以 这样用k代替m得令,则DFS IDFS其中都是周期为N的周期序列,DFS表示离散傅里叶级数正变换,IDFS表示离散傅里叶级数反变换。习惯上,对于长为N的周期序列,把0nN-1区间称为主值区,把称为的主值序列,同样也称为的主值序列。由于,对于周期序列仅有

3、N个独立样值,对于任何一个周期进行研究就可以得到它的全部信息。在主值区研究与是等价的,因此在主值区计算DFS和DFT是相等的,所以DFT计算公式形式与DFS基本相同。其关系为,所以离散傅里叶正变换 0kN-13、定义DFT:设有限长序列x (n) 长为N(0nN-1),其离散傅里叶变换是一个长为N的频率有限长序列(0kN-1),其正变换为 0kN-1DFT的分辨率:指其能够分辨的最小频率间隔。频率分辨率主要由数据截断的长度决定,即时间长度的倒数。也可以说由时间窗函数的傅里叶变换,即谱窗的主瓣宽度决定。不同的谱窗的主瓣宽度不同。矩形窗的主瓣宽度最窄,但其副瓣最高(不利于对频率相邻弱信号的分辨),

4、其它常用的窗函数的主瓣宽度与其副瓣高度近似存在反比关系。主瓣窄,副瓣高,有利于相邻强信号的分辨,但不利于相邻弱信号的分辨。主瓣宽,副瓣低不利于相邻强信号的分辨,但可能有利于相邻弱信号的分辨。4、实质把有限长序列当做周期序列的主值序列进行DFS变换,x(n)、X(k)的长度均为N,都是N个独立值,因此二者具有的信息量是相等的。已知x(n)可以唯一确定X(k),已知X(k)可以唯一确定x(n)。虽然离散傅里叶变换是两个有限长序列之间的变化,但它们是利用DFS关系推导出来的,因而隐含着周期性作业内容1、几种信号的频谱分析(1)自定义DFT函数function xk=dft_1(xn)N=length

5、(xn);WN=exp(-1i*2*pi/N); n=0:1:N-1;k=0:1:N-1;nk=k*n;WNnk=WN.(nk);xk=xn*WNnk;end(2)对信号进行频谱分析N=input(N=);n=0:1:N-1;xn=input(xn=);Xk=dft_1(xn1,N);subplot(3,1,1)stem(n,xn,.k);xlabel(n);axis(0,N,-2.5,2.5);w=2*pi*(0:1:2047)/2048;Xw=xn*exp(-1i*n*w);subplot(3,1,2);plot(w/pi,abs(Xw);xlabel(w);axis(0,1,0,N);s

6、ubplot(3,1,3)k1=0:1:N-1;w1=2*pi/N*k1;stem(w1/pi,abs(Xk),.k);xlabel(w);axis(0,1,0,N);(3)几种不同信号的频谱分析图(N=100,wn=boxcar(N)矩形窗)xn=cos(0.4*pi*n)+sin(0.6*pi*n)xn=0.02*nxn=heaviside(n)2、几种因素对频率分辨率的影响(1)数据长度(取xn=cos(0.4*pi*n)+sin(0.6*pi*n),wn=boxcar(N)矩形窗)N=10N=20N=100结论:由图可见,数据长度的增长改变了频谱混叠作用,提高了物理分辨率。(2)补零(

7、取xn=cos(0.4*pi*n)+sin(0.6*pi*n),N=100, wn=boxcar(N) 矩形窗)不补零补零至N=300结论:由图可见,补零只改变了Xk的密度,截断函数的频谱混叠作用没有改变。这说明,补零仅仅是提高了计算分辨率,得到的是高密度频谱,而得不到高分辨率谱。(3)加窗(取xn=cos(0.*4*pi*n)+ sin(0.6*pi*n), N=100)矩形窗wn=boxcar(N)i)窗长度40ii)窗长度100三角形窗wn= triang(N)i)窗长度40ii)窗长度100汉宁窗wn=hanning(N)i)窗长度40ii)窗长度100海明窗wn=hamming(N)

8、i)窗长度40ii)窗长度100布拉克曼窗wn=blackman(N)i)窗长度40ii)窗长度100结论:不同的谱窗的主瓣宽度不同。矩形窗的主瓣宽度最窄。窗长度为数据长度时分辨率最高。3.与MATLAB自带函数对比(1)幅频特性代码N=100;n=0:1:N-1;xn=cos(0.4*pi*n)+sin(0.6*pi*n);subplot(3,1,1)stem(n,xn,.k);title(时域序列图xn);xlabel(n);axis(0,N,-2.5,2.5);Xw=fft(xn,N);subplot(3,1,2)k1=0:1:N-1;w1=2*pi/N*k1;stem(w1/pi,ab

9、s(Xw),.k);title(fft幅频特性);xlabel(频率);axis(0,1,0,N);Xk=dft_1(xn,N);subplot(3,1,3)k2=0:1:N-1;w2=2*pi/N*k2;stem(w2/pi,abs(Xk),.k);title(dft幅频特性);xlabel(频率);axis(0,1,0,N);结果(2)相频特性代码N=100;n=0:1:N-1;xn=cos(0.4*pi*n)+sin(0.6*pi*n);subplot(3,1,1)stem(n,xn,.k);title(时域序列图xn);xlabel(n);axis(0,N,-2.5,2.5);Xw=fft(xn,N);subplot(3,1,2)k2=0:1:N-1;w2=2*pi/N*k2;stem(w2/pi,angle(Xw),.k);title(fft相频特性);xlabel(频率);axis(0,1,0,N);Xk=dft_1(

温馨提示

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

评论

0/150

提交评论