声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1782|回复: 6

[FFT] 疑问:频谱,功率谱????

[复制链接]
发表于 2007-12-24 22:13 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 wdhd 于 2016-9-8 14:44 编辑

  我用VC做一个信号采集处理的程序,用信号采集卡AD转换后,进行FFT,现在需要得到采集的这一段信号的功率谱,而且要得到某个频率信号的真实功率,我认识的一个师姐告诉的方法是:
  (1)FFT后,对得到的复数取模,再平方,除以处理的数据长度,再乘以2。
  但是我看《数字信号处理》上面: 周期图法求取功率谱是:
  (2)模的平方,然后除以处理的数据长度。
  我在论坛上看到的有:
  (3)对得到的复数取模,然后除以处理的数据长度,乘以2,得到单边的幅值谱,然后再平方,再除以频率分辨率,得到的就是单边功率谱。
  (4)对得到的复数取模,然后除以数据的长度,再平方,然后乘以2,得到的是单边幅值谱,再除以频率分辨率,得到的就是单边功率谱。
  疑问:
  1.到底哪一种是正确的呢?
  2.FFT变换后,怎么计算才能得到单边幅值谱(3,4方法中哪一个正确呢)?
  3.以上几种方法得到的功率谱应该只是各个频率功率的相对值,如何得到实际真实的功率呢?
  看了很多书,问了很多人,论坛上也看了很多帖子,疑问还是没解决,大家讨论一下,呵呵 。
回复
分享到:

使用道具 举报

发表于 2007-12-25 09:52 | 显示全部楼层
fft_size=length(t);
F1=fft(s3,fft_size);
pxx=abs(F1).^2/fft_size;
P=10*log(pxx(1:fft_size/2));
f=2*pi*fs*(0:round(fft_size/2-1))/fft_size;
subplot(4,4,5);
plot(f,P);我一般是这样求的

评分

1

查看全部评分

发表于 2007-12-25 10:10 | 显示全部楼层
这要看你的对象和目的.

1.如果你的对象是周期信号,想得到周期信号的参数,那么幅值谱就可以了.此时的步骤是:
对得到的复数取模,然后除以处理的数据长度,乘以2,得到单边的幅值谱.

2.如果你的对象是平稳随机过程,那么你能够定量是功率谱密度(功率在频带上"连续"分布),那么步骤是:对得到的复数取模,然后除以数据的长度,再平方,然后乘以2,再除以频率分辨率,得到的就是单边功率谱;!!!!!!!!!!必须重复N次后平均!!!!!!!!!!!!!!

评分

1

查看全部评分

发表于 2007-12-25 14:13 | 显示全部楼层
除不除数据长度n的根本原因是:采用的FFT变换公式不一样,至少有两个版本的FFT变换公式,有的是正变换除了长度n,有的是反变换除了n,我考虑过这个问题。
发表于 2007-12-25 14:16 | 显示全部楼层
#3正解!
 楼主| 发表于 2007-12-25 16:10 | 显示全部楼层
谢谢各位的解答。
我要取的是周期信号,我到图书馆查了一下,又问了老师,得到的是:

1.功率谱=FFT后,模的平方,再除以数据长度N,然后乘以2。我想这个是对周期信号作功率谱时用的。
2.要是更广泛一点,是平稳随机信号,那3楼给出的第二个答案应该更准确。

不知道我的理解对不对,呵呵。欢迎指正!!!

问题:

1.我对周期信号采样,但是采样的数据长度不是整数个信号周期,比如,采样的数据是1.7个周期信号,这样我得到的功率谱是不是就不准确,应该进行频谱校正?????

2.得到功率谱以后,怎么样才能算出实际的信号功率呢?(放大器的放大倍数,放大后的数值都已经知道,时域信号单位是:电压 伏特)
发表于 2007-12-25 17:29 | 显示全部楼层
严格地说, 周期信号的功率谱为无穷大。 这时有意义的是傅立叶级数的系数(有限,可以在计算机上操作)。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-6-18 03:58 , Processed in 0.053453 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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