声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5817|回复: 17

[FFT] FFT变换后的幅值怎么反映真实的幅度呢?

[复制链接]
发表于 2007-9-20 09:08 | 显示全部楼层 |阅读模式

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

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

x
各位,FFT 变换后的幅值如何反映出真实的幅度值呢?还望大家帮助解惑!!
回复
分享到:

使用道具 举报

发表于 2007-9-20 09:16 | 显示全部楼层

回复 #1 xiaokongliuliu 的帖子

能说得具体点吗?怎么样是你所说的真实?遇见过什么情况是不真实的?

[ 本帖最后由 zhangnan3509 于 2007-9-20 09:17 编辑 ]
 楼主| 发表于 2007-9-20 14:04 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-7 15:46 编辑
原帖由 zhangnan3509 于 2007-9-20 09:16 发表
能说得具体点吗?怎么样是你所说的真实?遇见过什么情况是不真实的?

就是我计算的时候是按照I0(n,q)=(1/2*32)*E(n)*exp(i*(2*pi*v(n)*z(q))); 然后给出v=[1.3825,1.2506,1.5003,1.7654,1.9382,2.3469]; E=[100,400,20,300,600,500];,按说计算出来后的结果应该跟我设的值是一样的吧,可最后计算得到的结果是这样的,见附件,还请赐教。
1.jpg
发表于 2007-9-20 14:40 | 显示全部楼层
据安所知dft后的幅值取决于你使用的窗函数的Process Gain,即square(sum(w[n]))/sum(square(w[n])). 对于实数信号DFT输出的幅度是原信号幅度的PG倍/2,对于复指数信号DFT输出的幅度是原信号幅度的PG倍,对于矩形窗PG=N.
 楼主| 发表于 2007-9-20 15:15 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-7 15:46 编辑
原帖由 powerken 于 2007-9-20 14:40 发表
据安所知dft后的幅值取决于你使用的窗函数的Process Gain,即square(sum(w[n]))/sum(square(w[n])). 对于实数信号DFT输出的幅度是原信号幅度的PG倍/2,对于复指数信号DFT输出的幅度是原信号幅度的PG倍,对于矩形 ...

不是很理解,能不能说的详细点。比较愚钝!!
 楼主| 发表于 2007-9-20 15:36 | 显示全部楼层
没有人呢??
发表于 2007-9-20 16:11 | 显示全部楼层
有偏归一化,可以保证峰值是准确的.
发表于 2007-9-21 08:26 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-7 15:46 编辑
原帖由 xiaokongliuliu 于 2007-9-20 15:15 发表

不是很理解,能不能说的详细点。比较愚钝!!

就是输入采样点有N点,如果没有加窗处理,那么在fft输出的幅度是原来信号(单一频率)幅度的N/2,假设这里没有泄漏,如果有泄漏的话,我就不知道了:(。即如果我们输入一个sin(2*Pi*fin*n/fs)的序列,fs为采样频率,n为采样index.那么经过fft处理以后在fin*N/fs的输出点上的幅度是N/2.(这里要满足fin=m*fs/N,m为整数)。
正在学习,欢迎排砖。
 楼主| 发表于 2007-9-21 08:44 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-7 15:47 编辑
原帖由 w89986581 于 2007-9-20 16:11 发表
有偏归一化,可以保证峰值是准确的.

既然是有限采样的话就已经加矩形窗截断了,那就是已经存在频谱泄漏了。
那么偏归一化是怎么实现呢,我没有查到,还望明示!!
 楼主| 发表于 2007-9-21 08:55 | 显示全部楼层

to:powerken

我的处理是傅里叶变换后的abs/N*2的,可幅值跟最初的设置也不一样呀,那是不是什么地方出问题了那?
发表于 2007-9-21 12:01 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-7 15:47 编辑
原帖由 xiaokongliuliu 于 2007-9-21 08:55 发表
我的处理是傅里叶变换后的abs/N*2的,可幅值跟最初的设置也不一样呀,那是不是什么地方出问题了那?

你的信号是复指数信号,所以应该除以N.
另外你能不能把全部信息提供出来,这样我可以在这里仿真一下了。
 楼主| 发表于 2007-9-21 13:56 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-7 15:47 编辑

  原帖由 powerken 于 2007-9-21 12:01 发表
  你的信号是复指数信号,所以应该除以N.
  另外你能不能把全部信息提供出来,这样我可以在这里仿真一下了。

interferogramoerror1.m

1.35 KB, 下载次数: 47

发表于 2007-9-21 14:05 | 显示全部楼层
单频振幅可以直接从幅频曲线上得到幅值数据。

如果频率成分较多,那就只能通过均方根来估计了。
发表于 2007-9-21 14:36 | 显示全部楼层

不要希望用fft得到准确幅值

这不是fft的功能
发表于 2007-9-21 15:55 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-7 15:47 编辑
原帖由 xiaokongliuliu 于 2007-9-21 13:56 发表

更具我的测算,你的所有的dft幅值和我的相差了256倍,其他的都是正确的。我想你在处理过程中是不是把所有的采样点都除以256了。至于在什么地方,就不知道了,对matlab不熟,工作的电脑上没有。不过附件是我把所有的采样点除以256后得到的,和你的结果一致。
fft.JPG
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-19 21:04 , Processed in 0.089122 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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