声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2514|回复: 5

[C/C++] 请教斑竹及各位,关于实序列FFT的对称性及幅值问题!

[复制链接]
发表于 2007-6-5 00:19 | 显示全部楼层 |阅读模式

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

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

x
实序列FFT后频谱是对称的:
1:怎么理解呢?都是有用频谱成分,还是后一半是误差,没有用?
2:怎么用频谱的幅值得到实际信号的幅值?是除以N(FFT点数),还是除以N/2?我看网上各有说法!
谢谢大家了!

下面是一个具体例子:
  对cos(200*3.14*i/1024)做1024点FFT,只在100点和923点有对应幅值并都为512,那么100点处与923点处对应的实际信号幅值都是1/2还是都是1?如果是按512*2/1024=1理解,那么幅值就都是1,这样的话是不是与PARSEVAL定理不符?但这个论坛确实有人这么说!
  到底怎么回事啊?着急啊!
回复
分享到:

使用道具 举报

发表于 2007-6-5 09:22 | 显示全部楼层
FFT只是DFT的快速运算。对于一个实数序列,采样频率为fs,为了满足采样定理在信号采样之前需通过抗混叠的低通滤波器,滤波器的截止频率fc<fs/2。因此在谱分析中最高频率也只有fs/2。同时实数序列DFT的对称性是DFT的性质之一。
1,当序列长N,在FFT后从1~N/2+1条谱线反映了0~fs/2的频率成分,而后一半不是误差,作为谱分析来讲没太多用(但对其它处理是有用的);
2,如果是正弦信号,又DFT后正弦信号的频率正好是某条谱线的频率,那末要得到实际信号的幅值,将除以N/2。(我曾在一个帖子中给出了该计算的数学推导,楼主有兴趣的话可搜查一下)

评分

1

查看全部评分

发表于 2007-6-5 09:38 | 显示全部楼层
我按你的关系式编了MATLAB程序,可以看到在100处幅值便是1。这是求正弦信号幅值的一种方法。我不知和PARSEVAL定理有什么关系,或我不明白楼主的问题。
i=0:1023;
x=cos(200*3.14*i/1024);
subplot 211; plot(x);
X=fft(x);
subplot 212; plot(i,abs(X)*2/1024);
axis([90 110 0 1.1]); grid;

100处的谱线

100处的谱线

评分

1

查看全部评分

 楼主| 发表于 2007-6-5 13:25 | 显示全部楼层
非常谢谢楼上,但还是有点疑问。
1:按你的做法,那么923点处幅值也应该是1吧!怎么理解呢?如过单纯看这个信号的时域,它就是100HZ的幅值为1的信号,在频域中怎么923HZ处也是1呢?所以我总觉得后一半是虚假的!望继续帮忙解释,谢谢!
2:还有“因此在谱分析中最高频率也只有fs/2”是什么意思呢?如果你的横轴坐标从0-1023,那么1023处的频率不就是fs吗?!
希望与大家多讨论,多学习!
发表于 2007-6-5 16:49 | 显示全部楼层
原帖由 candle-ren 于 2007-6-5 13:25 发表
1:按你的做法,那么923点处幅值也应该是1吧!怎么理解呢?如过单纯看这个信号的时域,它就是100HZ的幅值为1的信号,在频域中怎么923HZ处也是1呢?所以我总觉得后一半是虚假的!望继续帮忙解释,谢谢!
2:还有“因此在谱分析中最高频率也只有fs/2”是什么意思呢?如果你的横轴坐标从0-1023,那么1023处的频率不就是fs吗?!

1,在924处幅值是1;
2,由时域采样定理决定了在频域上反映了信号-fs/2~fs/2的特性,因此1~513是反映正频率的特性,而514~1023反映负频率的特性。有关为什么是这样的特性,时域采样定理作了详细的说明,可参看有关的书藉(例如:陈怀琛  “数字信号处理教程--MATLAB释义与实现”  电子工业出版社 笫4章)。
 楼主| 发表于 2007-6-5 20:28 | 显示全部楼层
非常感谢楼上!:victory:
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-17 19:31 , Processed in 0.057495 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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