声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3602|回复: 24

[编程技巧] 关于用matlab进行功率谱分析的问题

[复制链接]
发表于 2014-7-3 21:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x

我有一段很长的数据需要做功率谱分析,数据长度N=100000,采样率fs=256,以下是我的matlab程序:

fs=256;

nfft=2048;

window=hanning(nfft);

z=psd(x,nfft,fs,window,nfft/2);

我发现当nfft取不同值(2048,1024,512)的时候,计算出的功率谱的峰值差异很大,这是为什么呢?该如何选取nfft的值呢?


回复
分享到:

使用道具 举报

发表于 2014-7-4 09:33 | 显示全部楼层
发表于 2014-7-4 14:10 | 显示全部楼层
Ref:
5.[原创]关于FFT的频谱对应关系 http://forum.vibunion.com/thread-23614-1-1.html
  Matlab编程实现FFT实践及频谱分析 http://forum.vibunion.com/thread-51332-1-1.html
  FFT方法和FFT的应用注意点 http://forum.vibunion.com/thread-77716-1-1.html
  [原创]关于FFT的结果为什么要除以N http://forum.vibunion.com/thread-23665-1-1.html
  频谱与功率谱有什么区别? http://forum.vibunion.com/thread-8098-1-1.html
  信号经过FFT后,该怎样计算幅值和相位 http://forum.vibunion.com/thread-53683-1-1.html
  matlab中关于FFT的使用(理解频率分辨率、补零问题) http://forum.vibunion.com/thread-98535-1-1.html
  如何用matlab求PSD曲线 http://forum.vibunion.com/thread-72741-1-1.html
from http://home.vibunion.com/blog-63979-18250.html

点评

赞成: 5.0
赞成: 5
  发表于 2014-7-13 14:37
赞成: 5
  发表于 2014-7-5 21:57

评分

1

查看全部评分

 楼主| 发表于 2014-7-6 21:06 | 显示全部楼层
chybeyond 发表于 2014-7-4 09:33
http://forum.vibunion.com/forum.php?mod=viewthread&tid=123104

感觉这个帖子和我的问题不太一样啊,我取nff=2048的时候,做了48次平均,取nff=1024的时候,做了96次平均,平均次数都足够了,为什么幅值差很多呢?
 楼主| 发表于 2014-7-6 21:08 | 显示全部楼层
ChaChing 发表于 2014-7-4 14:10
Ref:
5.[原创]关于FFT的频谱对应关系 http://forum.vibunion.com/thread-23614-1-1.html
  Matlab编程实现F ...

你好,我在里面没有找到我的问题的答案呢
发表于 2014-7-7 23:40 | 显示全部楼层
一句话,你就按每帧1s算不会错,对与你的数据就是256点一帧
发表于 2014-7-8 08:16 | 显示全部楼层
感觉LZ还没静心看看那些连街!?  :)
以前同样的疑惑也是看过这些才有些理解的!
只不过个人水平一般且无基础, 是花了不少时间消化的
发表于 2014-7-8 13:24 | 显示全部楼层
nfft 一般设置为采样的总点数, nfft 的大小会影响幅值的大小,对频率的分辨率影响不大。

评分

1

查看全部评分

 楼主| 发表于 2014-7-13 10:11 | 显示全部楼层
fwz904 发表于 2014-7-8 13:24
nfft 一般设置为采样的总点数, nfft 的大小会影响幅值的大小,对频率的分辨率影响不大。

那我的nfft要设置成100000?
 楼主| 发表于 2014-7-13 10:17 | 显示全部楼层
马社 发表于 2014-7-7 23:40
一句话,你就按每帧1s算不会错,对与你的数据就是256点一帧

您的意思是取nfft=256吗?
发表于 2014-7-13 17:25 | 显示全部楼层
好奇问下,LZ知道频谱与功率谱两者之间的区别了吗?

若知道的话,应该就能晓得原始信号的差异决定该使用何者!?
若如LZ叙述,当nfft取不同值,计算出的功率谱的峰值差异很大,是否LZ的原始信号不适合採用功率谱?
发表于 2014-7-13 17:37 | 显示全部楼层
本帖最后由 ChaChing 于 2014-7-13 17:42 编辑
马社 发表于 2014-7-7 23:40
一句话,你就按每帧1s算不会错,对与你的数据就是256点一帧

好奇问下,原因为何? 实在不解尤其"每帧1s",来源为何?
发表于 2014-7-13 17:49 | 显示全部楼层
fwz904 发表于 2014-7-8 13:24
nfft 一般设置为采样的总点数, nfft 的大小会影响幅值的大小,对频率的分辨率影响不大。

好奇问下!
"nfft一般设置为采样的总点数",来源为何?
尤其"nfft的大小会影响幅值的大小,对频率的分辨率影响不大"中的"对频率的分辨率影响不大",原因为何?

nfft较大值对应高频率分辨率, 不是吗?
 楼主| 发表于 2014-7-14 23:00 | 显示全部楼层
ChaChing 发表于 2014-7-13 17:49
好奇问下!
"nfft一般设置为采样的总点数",来源为何?
尤其"nfft的大小会影响幅值的大小,对频率的分辨率 ...

确实,nfft会影响幅值大小,也会影响分辨率
发表于 2014-7-15 10:19 | 显示全部楼层
好东西。。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-15 15:22 , Processed in 0.071139 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表