我用C语言在8位pic微控制器上做定点FFT,我可以从我所采集的样本中得到FFT结果,但是当我对FFT结果做IFFT时,我得到了错误的输出。
我正在做的程序流程如下
但是,如果对实值(1,2,3,4,5,6,7,8)和虚值(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8)应用相同的方法,则在IFFT为(1,2,4,7,4,4,4,4,4,5,5,5,5,5,5,5,5)和虚数为(-0,-3,-1,-1,-0,1,0,0,2)之后,我得到了错误的结果。
请帮助我做错了什么..。
发布于 2014-04-10 16:30:25
在你的描述中,在任何时候你都不采取逆DFT。
想想是怎么回事,假设你的DFT结果是X,取X*X会给出功率谱,而不是逆DFT。然后预先形成一个DFT在这不会给你一个时间域,它会给你胡说八道。
您需要在正在使用的库中找到逆DFT函数。
https://stackoverflow.com/questions/22988238
复制相似问题