声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2931|回复: 8

[FFT] 自相关函数到功率谱的问题

[复制链接]
发表于 2010-7-15 20:25 | 显示全部楼层 |阅读模式

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

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

x
一组30000点的采样数据,自相关后再fft得到数据已经不是30000点了,那么做功率谱横坐标频率该怎么计算呢?新人困惑中……
回复
分享到:

使用道具 举报

发表于 2010-7-15 22:40 | 显示全部楼层
频谱分析后,通常是对称的频谱曲线,多半考虑单边谱的情况。
因此,频谱的数据点仅为时域信号的一半。
 楼主| 发表于 2010-7-16 08:45 | 显示全部楼层

回复 沙发 wanyeqing2003 的帖子

也就是说只取fft后数据的一半,是吗?
发表于 2010-7-16 10:08 | 显示全部楼层

回复 板凳 byhu2008 的帖子

由相关函数求功率谱只有理论意义,实际都不通过求相关,而是由时域FFT直接计算的。
如果你的信号是确定性信号,只求一帧尚可,如果是随机性质的,应分为多帧求谱平均,频率分辨率有损失,但提高了精度。
发表于 2010-7-16 11:52 | 显示全部楼层
楼上说的对的,一般不可能通过相关函数来计算功率谱,经典功率谱一般通过平均加窗计算而来。
但是功率谱和相关函数互为傅里叶变换对,这是维纳-欣欣定理,肯定也是正确的。对于连续信号,当然不存在这些问题,但是对于1024点数据,它的相关函数是2047点,而功率谱是1024点(包括对称的),按理说怎么可能互为傅里叶变换对呢。
我是这样理解的,把1024点添0到2047点,然后再计算功率谱,再计算逆FFT,同这1024的相关函数完全一致。
matlab代码如下:
Fs = 1000;
t = (1 : 1024)/Fs;
y = sin(2 * pi * 10 * t);
xcorry = xcorr(y);   %相关函数
yt = [y, zeros(1, 1023)];
ytfft = fft(yt);
iyt = ifft(ytfft.^2);   %功率谱的逆FFT
 楼主| 发表于 2010-7-16 12:05 | 显示全部楼层

回复 5楼 songjianjiang 的帖子

那如何理解下面这段话呢?

时域信号--->相关函数--(FFT变换)-->功率谱--(除以频率分辨率)-->功率谱密度,这叫做间接求法,可以抑制白噪声,或者通俗的说不规律信号,分析的点数越多,规律信号的信噪比越好。
时域信号--(FFT变换)-->幅度谱--(平方)-->功率谱,这叫直接求法,最好不要用,除非你就想分析噪声有多大。

这是我再这个论坛上看到的,怎么相互矛盾呢?
发表于 2010-7-16 22:38 | 显示全部楼层
间接法理论上可行;
直接法是实际使用的。
发表于 2010-7-16 23:08 | 显示全部楼层
这里面是有原因的:相关函数有抑制噪声的功能,所以间接法计算的时候抑制了噪声;直接法计算的时候没有过滤噪声,所以性噪比没有间接法好。
但是对于长数据而言,直接法计算的时候一般经过重叠加窗平均后,也能很好的抑制噪声;
同时说明一点:在快速FFT之前,就是通过间接法计算功率谱的。
发表于 2012-12-11 13:51 | 显示全部楼层
哇,学习了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-6-14 20:16 , Processed in 0.063038 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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