不化顽石 发表于 2007-5-10 16:48

[求助]关于功率谱的计算

我有一个长度为150的序列,希望能在0.0~0.5之间取500个等距的f上计算谱功率。
但是如果用fft(a)和话,最长只能算得150个点的功率,请问应该用什么办法?
躹躬。

yangzj 发表于 2007-5-10 16:52

做DFT

不化顽石 发表于 2007-5-10 16:54

回楼上,
fft(A)这个东西好像就是做DFT的?我在help fft之后,第一行就写的是Discrete Fourier Transform。

wanyeqing2003 发表于 2007-5-10 17:03

150个序列的点,一般fft是能有相同数量的频谱点。
如果希望获取更多的点,可以将原来的序列点做一下细化插值处理。

caizi2008 发表于 2007-5-10 17:03

我觉得是这样,MATLAB里有专门计算功率谱的函数,比如说直接法,AR模型法等
你要在0~0.5之间实现500等频率间距,只要合理设置计算功率谱时的采样频率就可以了
应该是0.5/500*2
你找相关的书看下吧
离散傅立叶变化和快速傅立叶变化得到的结果不会有很大的差别
不过是快速傅立叶变换节省内存 计算速度快

wanyeqing2003 发表于 2007-5-10 17:04

如果做功率谱密度的话,就只有一半数量的谱点了。

yangzj 发表于 2007-5-10 17:08

按DFT的公式,把频率变量变成0:150/500:149
FFT只能算0:149

不化顽石 发表于 2007-5-10 17:10

请问caizi2008,如果要是计算功率谱的话,你说的那两种方法,我应该help什么呢?

caizi2008 发表于 2007-5-11 10:41

我弄错了 应该是500/0.5*2
找相关的信号处理书看就是了

zhaopeng161 发表于 2007-5-12 14:58

psd,自功率
csd,互功率

插值可以考虑细化FFT,ZOOM-FFT

[ 本帖最后由 ChaChing 于 2010-7-5 20:54 编辑 ]
页: [1]
查看完整版本: [求助]关于功率谱的计算