xiaokongliuliu 发表于 2007-9-20 09:08

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

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

zhangnan3509 发表于 2007-9-20 09:16

回复 #1 xiaokongliuliu 的帖子

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

[ 本帖最后由 zhangnan3509 于 2007-9-20 09:17 编辑 ]

xiaokongliuliu 发表于 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=; E=;,按说计算出来后的结果应该跟我设的值是一样的吧,可最后计算得到的结果是这样的,见附件,还请赐教。

powerken 发表于 2007-9-20 14:40

据安所知dft后的幅值取决于你使用的窗函数的Process Gain,即square(sum(w))/sum(square(w)). 对于实数信号DFT输出的幅度是原信号幅度的PG倍/2,对于复指数信号DFT输出的幅度是原信号幅度的PG倍,对于矩形窗PG=N.

xiaokongliuliu 发表于 2007-9-20 15:15

本帖最后由 wdhd 于 2016-9-7 15:46 编辑

原帖由 powerken 于 2007-9-20 14:40 发表
据安所知dft后的幅值取决于你使用的窗函数的Process Gain,即square(sum(w))/sum(square(w)). 对于实数信号DFT输出的幅度是原信号幅度的PG倍/2,对于复指数信号DFT输出的幅度是原信号幅度的PG倍,对于矩形 ...
不是很理解,能不能说的详细点。比较愚钝!!

xiaokongliuliu 发表于 2007-9-20 15:36

没有人呢??

w89986581 发表于 2007-9-20 16:11

有偏归一化,可以保证峰值是准确的.

powerken 发表于 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为整数)。
正在学习,欢迎排砖。

xiaokongliuliu 发表于 2007-9-21 08:44

本帖最后由 wdhd 于 2016-9-7 15:47 编辑

原帖由 w89986581 于 2007-9-20 16:11 发表
有偏归一化,可以保证峰值是准确的.
既然是有限采样的话就已经加矩形窗截断了,那就是已经存在频谱泄漏了。
那么偏归一化是怎么实现呢,我没有查到,还望明示!!

xiaokongliuliu 发表于 2007-9-21 08:55

to:powerken

我的处理是傅里叶变换后的abs/N*2的,可幅值跟最初的设置也不一样呀,那是不是什么地方出问题了那?

powerken 发表于 2007-9-21 12:01

本帖最后由 wdhd 于 2016-9-7 15:47 编辑

原帖由 xiaokongliuliu 于 2007-9-21 08:55 发表
我的处理是傅里叶变换后的abs/N*2的,可幅值跟最初的设置也不一样呀,那是不是什么地方出问题了那?
你的信号是复指数信号,所以应该除以N.
另外你能不能把全部信息提供出来,这样我可以在这里仿真一下了。

xiaokongliuliu 发表于 2007-9-21 13:56

本帖最后由 wdhd 于 2016-9-7 15:47 编辑

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

wanyeqing2003 发表于 2007-9-21 14:05

单频振幅可以直接从幅频曲线上得到幅值数据。

如果频率成分较多,那就只能通过均方根来估计了。

wjh123 发表于 2007-9-21 14:36

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

这不是fft的功能

powerken 发表于 2007-9-21 15:55

本帖最后由 wdhd 于 2016-9-7 15:47 编辑

原帖由 xiaokongliuliu 于 2007-9-21 13:56 发表

更具我的测算,你的所有的dft幅值和我的相差了256倍,其他的都是正确的。我想你在处理过程中是不是把所有的采样点都除以256了。至于在什么地方,就不知道了,对matlab不熟,工作的电脑上没有。不过附件是我把所有的采样点除以256后得到的,和你的结果一致。
页: [1] 2
查看完整版本: FFT变换后的幅值怎么反映真实的幅度呢?