关于fft频谱的问题

上传人:第*** 文档编号:32745433 上传时间:2018-02-12 格式:DOC 页数:10 大小:169.50KB
返回 下载 相关 举报
关于fft频谱的问题_第1页
第1页 / 共10页
关于fft频谱的问题_第2页
第2页 / 共10页
关于fft频谱的问题_第3页
第3页 / 共10页
关于fft频谱的问题_第4页
第4页 / 共10页
关于fft频谱的问题_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《关于fft频谱的问题》由会员分享,可在线阅读,更多相关《关于fft频谱的问题(10页珍藏版)》请在金锄头文库上搜索。

1、二.FFT 应用举例例 1:x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t)。采样频率 fs=100Hz,分别绘制 N=128、1024 点幅频图。clf;fs=100;N=128;%采样频率和数据点数n=0:N-1;t=n/fs;%时间序列x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号y=fft(x,N);%对信号进行快速 Fourier变换mag=abs(y);%求得 Fourier变换后的振幅f=n*fs/N;%频率序列subplot(2,2,1),plot(f,mag);%绘出随频率变化的振幅xlabel(频率/Hz);y

2、label(振幅);title(N=128);grid on;subplot(2,2,2),plot(f(1:N/2),mag(1:N/2); %绘出 Nyquist频率之前随频率变化的振幅xlabel(频率/Hz);ylabel(振幅);title(N=128);grid on;%对信号采样数据为 1024点的处理fs=100;N=1024;n=0:N-1;t=n/fs;x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号y=fft(x,N);%对信号进行快速 Fourier变换mag=abs(y);%求取 Fourier变换的振幅f=n*fs/N;subpl

3、ot(2,2,3),plot(f,mag); %绘出随频率变化的振幅xlabel(频率/Hz);ylabel(振幅);title(N=1024);grid on;subplot(2,2,4)plot(f(1:N/2),mag(1:N/2); %绘出 Nyquist频率之前随频率变化的振幅xlabel(频率/Hz);ylabel(振幅);title(N=1024);grid on;运行结果:1 请问 y轴幅度中的振幅表示什么意思,再就是为什么 Bartlett法和 welch方法画出的频谱图振幅相差比较大。2 fft直接画出的频谱图和 psd画出的功率谱有啥区别附件clip_image001.j

4、pg (35.85 KB) 2010-6-2 21:50 我看了功率谱和频谱不是一回事,我不是学信号的,有许多基础知识都不懂,从网上找来这么一段,也供大家参考url=#信号的功率谱与能量谱,频谱区别/url在北理版信号与系统中,信号可以分成能量信号与功率信号,非周期能量信号具有能量谱密度,是傅立叶变换的平方,功率信号具有功率谱密度,其与自相关函数是一对傅立叶变换对,等于傅立叶变换的平方/区间长度。不能混淆。能量信号是没有功率谱的。胡广书老师的书上找到这么一段话,“随机信号在时间上是无限的,在样本上也是无穷多,因此随机信号的能量是无限的,它应是功率信号。功率信号不满足付里叶变换的绝对可积的条件,

5、因此其付里叶变换是不存在的。如确定性的正弦函数的付里叶变换是不存在,只有引入了冲激函数才求得其付里叶变换。因此,对随机信号的频谱分析,不再简单的是频谱,而是功率谱。”周期信号是功率信号,但是周期信号可能是确定性信号,也可能是随机信号,但是周期信号是存在功率谱密度的。对于持续时间无限长的随机信号来说,也是存在功率谱密度的。一般来讲,对于随机信号,由于持续期时间无限长,不满足绝对可积与能量可积的条件,因此不存在傅立叶变换,所以我们只能研究其功率谱,因为样本函数的功率毕竟是有限哦。对于确定性信号而言,里面存在能量信号,是没有功率谱密度的,也存在功率信号,是有功率谱密度的。所以信号的频谱与是否是确定性

6、信号没有必然联系。以下论点来源于研学论坛,我认为都存在一点问题,主要是表述上不是很准确!频谱是信号的傅立叶变换。它描述了信号在各个频率上的分布大小。频谱的平方(当能量有限,平均功率为 0时称为能量谱)描述了信号能量在各个频率上的分布大小。功率谱是针对随机信号而言,是随机信号的自相关函数的离散傅立叶变换(注意自相关函数是确定性序列,离散信号本身是不存在离散傅立叶变换的)。它描述了随机信号的功率在各个频率上的分布大小,而不是能量分布大小。计算过程中,都是通过样本数据的快速傅立叶变换来计算。但不同的是,信号的频谱是复数,包含幅频响应和相频响应,重复计算时的结果基本相同。 而随机信号的功率谱也可以对数

7、据进行 FFT,但必须计算模值的平方,因为功率谱是实数。而且换一组样本后,计算的结果略有不同,因为随机信号的样本取值不同。要得到真实的功率谱必须进行多次平均,次数越多越好。功率谱可以从两方面来定义,一个是楼主说的自相关函数的傅立叶变换,另一个是时域信号傅氏变换模平方然后除以时间长度。第一种定义就是常说的维纳辛钦定理,而第二种其实从能量谱密度来的。根据 parseval定理,信号傅氏变换模平方被定义为能量谱,即单位频率范围内包含的信号能量。自然,能量跟功率有一个时间平均的关系,所以,能量谱密度在时间上平均就得到了功率谱。(这种说法不准确)(1)信号通常分为两类:能量信号和功率信号;(2)一般来讲

8、,能量信号其傅氏变换收敛(即存在),而功率信号傅氏变换通常不收敛,当然,若信号存在周期性,可引入特殊数学函数(Delta)表征傅氏变换的这种非收敛性;(3)信号是信息的搭载工具,而信息与随机性紧密相关,所以实际信号多为随机信号,这类信号的特点是状态随机性随时间无限延伸,其样本能量无限。换句话说,随机信号(样本)大多属于功率信号而非能量信号,它并不存在傅氏变换,亦即不存在频谱;(4)若撇开搭载信息的有用与否,随机信号又称随机过程,很多噪声属于特殊的随机过程,它们的某些统计特性具有平稳性,其均值和自相关函数具有平稳性。对于这样的随机过程,自相关函数蜕化为一维确定函数,前人证明该确定相关函数存在傅氏

9、变换;(5)能量信号频谱通常既含有幅度也含有相位信息;幅度谱的平方(二次量纲)又叫能量谱(密度),它描述了信号能量的频域分布;功率信号的功率谱(密度)描述了信号功率随频率的分布特点(密度:单位频率上的功率),业已证明,平稳信号功率谱密度恰好是其自相关函数的傅氏变换。对于非平稳信号,其自相关函数的时间平均(对时间积分,随时变性消失而再次退变成一维函数)与功率谱密度仍是傅氏变换对;(6)实际中我们获得的往往仅仅是信号的一段支撑,此时即使信号为功率信号,截断之后其傅氏变换收敛,但此变换结果严格来讲不属于任何“谱”(进一步分析可知它是样本真实频谱的平滑:卷积谱);(7)对于(6)中所述变换若取其幅度平

10、方,可作为平稳信号功率谱(密度)的近似,是为经典的“周期图法”;(8)FFT 是 DFT的快速实现,DFT 是 DTFT的频域采样,DTFT 是 FT的频域延拓。人们不得已才利用 DFT近似完成本属于 FT的任务。若仅提 FFT,是非常不专业的MATLAB 中使用 FFT 做频谱分析时频率分辨率问题MATLAB 中使用 FFT 做频谱分析时频率分辨率问题最近做 FFT 时,使用的采样频率和信号长度的取舍一直没有搞清楚,后来在论坛上发了一个贴子总结一下使用 FFT 和维纳-辛钦定理求解PSD 问题 (讨论见 http:/ songzy41,他的问题给了我很大启示) ,跟帖中给了我不少启示,并且让

11、我对“频率分辨率” 这个概念有了更深入的理解。再次一并感谢论坛的高手们。频率分辨率,顾名思义,就是将信号中两个靠的很近的频谱分开的能力。信号 x(t)长度为 Ts,通过傅氏变换后得到 X,其频率分辨率为f=1/T(Hz) ,若经过采样后,假设采样频率为 fs=1/Ts,而进行频谱分析时要将这个无穷长的序列使用窗函数截断处理,假设使用矩形窗,我们知道,矩形窗的频谱为 sinc 函数,主瓣宽度可以定义为2*pi/M,M 为窗宽,那么,时域相乘相当于频域卷积,频域内,这一窗函数能够分辨出的最近频率肯定不可能小于 2*pi/M 了,也就是如果数据长度不能满足 2*pi/M|w2-w1|(w2,w1 为

12、两个靠的很近的频率) ,那么在频谱分析时,频谱上将不能分辨出这两个谱,由于 w2-w1=2*pi(f2-f1)/fs=2*pi*f/fs 也就是 2*pi/M2*pif/fs,得到 f 的限制为 fs/M,这就是窗函数宽度的最小选择,就是说,根据 Shannon 采样定理确定了采样频率后,要根据靠的最近的谱峰来确定最小的采样长度,这样,所作出来的频谱才能分辨出那两个谱峰,也就是拥有了相应的频率分辨率。几个例子:考虑双正弦信号:x = sin(2*pi*10*n)+sin(2*pi*9.8*n);根据 Shannon 采样定理,采样频率要大于截止频率的两倍,这里选采样频率为 80,那么,我们可以

13、看到,f 为 0.2Hz,那么,最小的数据长度为 0.2/80=400,但是对正弦信号的频谱分析经验告诉我们,在截断时截断时的数据要包含整周期,并且后面不宜补零以避免频谱泄露(这一点见胡广书数字信号处理导论,清华大学出版社),那么,我们要选择至少 980 个点,才能保含到一个整周期,另外,FFT 的经验告诉我们作分析时最好选择 2 的整数次幂,我们选择靠的最近的 1024 点。分析结束。Fs = 80;n = 0:1/Fs:1023*1/Fs;x = sin(2*pi*10*n)+sin(2*pi*9.8*n);N = length(n);figure(1);X = fftshift(fft(

14、x);plot(-N/2:N/2-1)*Fs/N,abs(X)*2/N);grid on;axis(0 15 0 1);这是按照我们的分析进行的编程和图形可以看出这两个谱峰很好的被分辨开来,9.8Hz 不在谱线上,所以幅值不为 1,以下是一些对比:CODEFs = 80;n = 0:1/Fs:1023*1/Fs;x = sin(2*pi*10*n)+sin(2*pi*9.8*n);N = length(n);X = fftshift(fft(x);figure(1);subplot(211)plot(-N/2:N/2-1)*Fs/N,abs(X)*2/N);grid on;axis(0 15

15、0 1);title(窗长 1024,包含整周期 );n = 0:1/Fs:979*1/Fs;x = sin(2*pi*10*n)+sin(2*pi*9.8*n);N = length(n);X = fftshift(fft(x);subplot(212)plot(-N/2:N/2-1)*Fs/N,abs(X)*2/N);grid on;axis(0 15 0 1);title(窗长 980,包含整周期 );n = 0:1/Fs:399*1/Fs;x = sin(2*pi*10*n)+sin(2*pi*9.8*n);N = length(n);X = fftshift(fft(x);figur

16、e(2);subplot(211)plot(-N/2:N/2-1)*Fs/N,abs(X)*2/N);grid on;axis(0 15 0 1);title(窗长 400,不包含整周期 );Fs = 20;n = 0:1/Fs:1024*1/Fs;x = sin(2*pi*10*n)+sin(2*pi*9.8*n);N = length(n);X = fftshift(fft(x);subplot(212)plot(-N/2:N/2-1)*Fs/N,abs(X)*2/N);grid on;axis(0 15 0 1);title(窗长 1024,采样率过小 );结果如下:这是我在做 FFT 以及论坛中的问题时所得到的一点启发,不当之处还请大家指正。 O(_)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号