关于FFT之原始信号幅值计算(圈圈请进)

[复制链接]
6635|9
 楼主| boy364 发表于 2008-5-24 19:55 | 显示全部楼层 |阅读模式
假设FFT之后某点n用复数a+bi表示,那么这个复数的模就是<br />An=根号a*a+b*b,相位就是Pn=atan2(b,a)。根据以上的结果,<br />就可以计算出n点(n≠1,且n&lt=N/2)对应的信号的表达式为:<br />An/(N/2)*cos(2*pi*Fn*t+Pn),即2*An/N*cos(2*pi*Fn*t+Pn)。<br />对于n=1点的信号,是直流分量,幅度即为A1/N。<br /><br /><br />看了你的FFT结果的物理意义,确实写的不错,请教一个问题,原始信号的幅值等于An/(N/2),请问这个是怎么来的?
computer00 发表于 2008-5-27 19:33 | 显示全部楼层

根据FFT计算的定义啊,推算出来它就是这样的。

另外,根据反FFT变换也可以看出来。<br /><br />FFT有个累加的过程。
 楼主| boy364 发表于 2008-5-27 21:41 | 显示全部楼层

根据FFT计算的定义?

真的可以么?
computer00 发表于 2008-5-28 21:20 | 显示全部楼层

为什么不可以呢?事实上就是这么回事。

  
 楼主| boy364 发表于 2008-5-28 22:04 | 显示全部楼层

偶没整明白,圈圈能否说明一下这个原理

  
computer00 发表于 2008-5-28 22:33 | 显示全部楼层

我也不知道怎么去说了,反正它一路累加下来,

结果就是信号幅度的N/2倍。
 楼主| boy364 发表于 2008-5-29 22:30 | 显示全部楼层

re

非周期连续函数的傅立叶变换的推导是<br />&nbsp;lim&nbsp;&nbsp;π*An/Ω<br />&nbsp;Ω→0<br />根据这个也能找到一些蛛丝马迹,但是还是不能证明
IceAge 发表于 2008-5-30 00:35 | 显示全部楼层

这个 (N/2)来自fft 程序内部的初始系数序列集

这个系数序列集<br />&nbsp;C(k)=&nbsp;exp(j&nbsp;2*PI*k/N)&nbsp;=&nbsp;cos(2*PI*k/N)&nbsp;+&nbsp;j&nbsp;sin(2*PI*k/N)<br />&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;0,&nbsp;1,&nbsp;....&nbsp;N-1<br />在&nbsp;fft&nbsp;初始化时计算或离线计算得到.&nbsp;这样会导致最终幅值等于An/(N/2).<br />一般把&nbsp;N/2&nbsp;计入&nbsp;C(k)中,即:&nbsp;<br />&nbsp;<br />C(k)=&nbsp;N*&nbsp;exp(j&nbsp;2*PI*k/N)&nbsp;/2<br /><br />这样,最终幅值等于An&nbsp;<br />
IceAge 发表于 2008-5-30 09:23 | 显示全部楼层

更正

应为:C(k)=&nbsp;exp(j&nbsp;2*PI*k/N)/&nbsp;(N/2)<br />
computer00 发表于 2008-5-30 10:51 | 显示全部楼层

我也是这个意思,可楼主非要俺说个所以然出来,晕...

硬要说个物理意义出来,那我只能解释为&nbsp;对每个样点都将不同的频率分量抽取出来分别累加了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

57

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部