网上好多关于用fpga实现fft的资料,但我一直不大明白,就是FFT算法中基的选取问题,有基2的,基4的,基8的

网上好多关于用fpga实现fft的资料,但我一直不大明白,就是FFT算法中基的选取问题,有基2的,基4的,基8的,第1张

基跟你选择的点数没有关系,同样点数的fft、基2最慢、基8当然要比基2快,基2就是抽取2个数做蝶变,基8是抽取8个数做蝶变,这样理解当然就是抽取8个点要快,这个你应当看看FFT的算法原理。FPGA做FFT一般都是用IP核做,比较简单,基2还是基4自己选择就可以了。基4必须是2的偶次方,比如说你要是算128点,128是2的7次方,就不能用基4,软件会自动选择基2.你在看看FPGA的IP核吧!

如何提高fft算法分辨率

FFT程序,输入是一组复数,输出也是一组复数,想问一下输入到底应该输入什么,输出的复数的含义是什么。

给定一组序列的抽样值,如何用FFT确定它的频率

首先,fft函数出来的应该是个复数,每一个点分实部虚部两部分。

假设采用1024点fft,采样频率是fs,那么第一个点对应0频率点,第512点对应的就是fs/2的频率点。然后从头开始找模值最大的那个点,其所对应的频率值应该就是要的基波频率了。

FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。

有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。

这就是很多信号分析采用FFT变换的原因。

另外,FFT可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。

虽然很多人都知道FFT是什么,可以用来做什么,怎么去做,但是却不知道FFT之后的结果是什么意思、如何决定要使用多少点来做FFT。

一个模拟信号,经过ADC采样之后,就变成了数字信号。

采样定理告诉,采样频率要大于信号频率的两倍,这些就不在此罗嗦了。

采样得到的数字信号,就可以做FFT变换了。

N个采样点,经过FFT之后,就可以得到N个点的FFT结果。

为了方便进行FFT运算,通常N取2的整数次方。

高位或低位补都可以,补低位也不会增加精度,建议补高位,高2位用补码的最高位填充,还可以降低FFT溢出的情况

i方+q方,如果只是比较幅值大小就没必要再开根号(相当于比较幅值的平方)

输入的是稳定的单频点信号幅值最高点肯定是个固定点,要不在固定点的话,重点关注下FFT有没有溢出


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11274202.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存