[请教]IFFT变换后得到的复数的物理意义
采样频率4096Hz ,我每次把采样到的512个点(C)进行FFT变换,得到一个频域上的信号(复数数组A),然后再把A进行IFFT变换又重新得到时域上的信号(一个复数数组B),我想知道,B中的每个复数物理意义是什么,它和振幅有什么关系,或者说怎么把B转换为实数数组,而这个实数数组代表的是时域上每个点的振幅,本人外行,在做一个软件,有很多困惑,请高手帮忙解答,谢谢 B数组虚部应该=0 回复 2 # hcharlie 的帖子恩,我不改A的数据确实出来的B虚部非常小接近0,但是我把A中几个频率上的复数值清零(我想过滤这个频率的声音,我自己事这样想的,不知道对不对),然后A再进行IFFT变换出来的复数(B)的虚部就不为0了,难道A数组的数据不可以是随机数,就是要满足一定的规律,不能像我这样清0? 还有我想文下怎么过滤某个频率段的声音呢?(其实我是想要做这个= =) 请指教下 回复 3 # foreverpw 的帖子
请注意FFT以后数列是共扼对称排列的顺序,当把某个范围频率的数据清另,必须将与它共扼对称的频率数据也清另,不可少清,也不可多清,这样就不会出来复数了。 回复 4 # hcharlie 的帖子
太感谢了,终于知道哪错了,,,哎外行搞这个就这样。。。我再自己看看能不能实现过滤
多谢了~~ 回复 4 # hcharlie 的帖子
不好意思,再问一下,FFT结果对称,那是不是说如果我采样率是4096Hz的话,最多只能检测出一半也就是0~2048Hz的声音 回复 6 # foreverpw 的帖子
采样频率应该大于最高分析频率两倍,理论上如此。
但实际上,为了抑制频率混淆,需加低通滤波滤去高频杂波,没有理想的滤波器,所以要有余量。
比如我们感兴趣的频率2000Hz,为防止频率混淆,加2000Hz的低通滤波器,采样频率取最高频率2.56倍,5120Hz,比如采集4096点,FFT以后得2048谱线,我们只能取前1600谱线,相当于2000Hz。
回复 7 # hcharlie 的帖子
有点懂了,谢谢,还想问下那个2.56是个固定数值吗,是不是根据什么公式算出来的,如果是的话能不能简单介绍下2.56这个值是如何计算出来的,谢谢 2.56是近似值,与FFT需要2的幂次数1024,2048。。。有关 hcharlie 发表于 2012-5-18 14:02 static/image/common/back.gif
2.56是近似值,与FFT需要2的幂次数1024,2048。。。有关
2.56貌似不是这样来的吧??
2的幂次是快速傅里叶变换的要求,即使你的数据量不满足2的幂次,在做FFT的时候Matlab会自动补零满足这个条件。
2.56是采样定理来的,这是大家通常取得一个数。具体怎么来的不清楚,采样定理要求采样频率要高于关心频率上限的2倍,如果高太多又会造成采集过多的数据等,我想这是一个优值。
个人看法。 本帖最后由 hcharlie 于 2012-5-19 07:59 编辑
回复 10 # yghit08 的帖子
2.56是近似值,为什么不取别的值呢?
我们举实际例子.
例如最高频率2000Hz,取2.56倍采样频率就是5120Hz,取1024点,FFT以后取400有效谱线,频率分辨率5Hz,整整齐齐.
我们也可以取2.5倍,采样频率5000Hz,看起来也可以,但我们取1024点, ,2000Hz大致相当于410谱线, 频率分辨率变成4.88Hz不是整数,没别的,别扭.
再如,某些个振动控制仪,最高试验频率2000Hz,由于某种困难,它只能取采样频率6000,3倍.如取2048点,频率分辨率2.929Hz,相当于2000Hz为683谱线.也有点别扭,但也把试验给做了.
本帖最后由 yghit08 于 2012-5-19 14:29 编辑
hcharlie 发表于 2012-5-19 07:34 http://www.chinavib.com/static/image/common/back.gif
回复 10 # yghit08 的帖子
2.56是近似值,为什么不取别的值呢?
请注意看我的回复,我说的是可能是一个优值。而且你没有发现你举的例子也不能证明2.56是和2的幂次相关。再者,别扭不别扭能定量化?不能的话,那么这也不是理由!
当然从你的角度解释的话,2.56是和2的幂次相关,但是我想着只是为了能够取整(那你设置成5.12也成)。现在来看,确实这个值得确定是和2的幂次相关,但是根本的原因还是由采样定理决定的,必须大于2,另外由于FFT算法自身的要求,采样点数要是2的幂次,考虑到这个值不能太大也不能小于2,所以大家通常设置成2.56.
再者,如果不采用FFT的话,你的理由合适吗???
回复 12 # yghit08 的帖子
256,512,1024,2048.....等数除以2.56都得到整数,就这么简单的事,何必大做文章. 回复 12 # yghit08 的帖子
请教一个问题:FFT之后的复数的模代表振幅,那么假如我想把振幅变成原来的1/2,是不是把复数的实数部分和虚数部分都乘以1/2。 回复 14 # foreverpw 的帖子
具体不清楚,你看看连续傅里叶变换的公式就知道了。个人认为是这样的
页:
[1]