fft算法原理在DSP上实现FFT算法

fft算法原理  时间:2021-07-03  阅读:()

DFT与FFT变换的原理

无限长的序列也往往可以用有限长序列来逼近。

对于有限长的序列我们可以使用离散傅立叶变换(DFT)(公式没法输入,不好意思)。

DFT是对序列傅立叶变换的等距采样。

是序列傅立叶变换的等距采样。

快速傅立叶变换FFT并不是与DFT不相同的另一种变换,而是为了减少DFT运算次数的一种快速算法。

它是对DFT变换式进行一次次的分解,使其成为若干小点数DFT的组合,从而减小运算量。

常用的FFT是以2为基数,它的运算效率高,程序比较简单,使用也十分地方便。

FFT的算法基本上可以分为两大类:按时间抽取(DIT)和按频率抽取(DIF)。

先说说这些基本的东西,想要具体了解,百度下,资料一大片的!!

“DFT、IDFT、FFT、IFFT”各是什么?

DFT,即可测试性设计(Design for Testability, DFT)是一种集成电路设计技术,它将一些特殊结构在设计阶段植入电路,以便设计完成后进行测试。

电路测试有时并不容易,这是因为电路的许多内部节点信号在外部难以控制和观测。

通过添加可测试性设计结构,例如扫描链等,内部信号可以暴露给电路外部。

总之,在设计阶段添加这些结构虽然增加了电路的复杂程度,看似增加了成本,但是往往能够在测试阶段节约更多的时间和金钱。

IDFT就是Inverse Discrete Fourier Transform 离散傅里叶逆变换。

FFT就是Fast Fourier Transform 快速傅里叶变换。

两者的应用都是将时域中难以处理的信号转换成易于处理的频域信号,分析完成后进行傅里叶反变换即得到原始的时域信号。

两者的异同是:我们知道在数学上用级数来无限逼进某个函数,以便简化计算过程而又不致使误差过大,这样工程上才能应用,否则一些数学模型是无法实现快速求解的。

IDFT:对于有限长的序列我们可以使用离散傅立叶变换,IDFT是对序列傅立叶变换的等距采样。

FFT:并不是与IDFT不相同的另一种变换(即原理是一样的),而是为了减少IDFT运算次数的一种快速算法。

它是对IDFT变换式进行一次次的分解,使其成为若干小点数IDFT的组合,从而减小运算量。

常用的FFT是以2为基数,它的运算效率高,程序比较简单,使用也十分地方便。

IFFT——Inverse Fast Fourier Transform 快速傅里叶逆变换。

快速傅里叶变换 (fast Fourier transform), 即利用计算机计算离散傅里叶变换(DFT)的高效、快速计算方法的统称,简称FFT。

快速傅里叶变换是1965年由J.W.库利和T.W.图基提出的。

采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。

在DSP上实现FFT算法

void FFT( COMPLEX *Y, int N) /* input sample array, number of points */ { COMPLEX temp1,temp2; /*temporary storage variables */ int i,j,k; /*loop counter variables */ int upper_leg, lower_leg; /*index of upper/lower butterfly leg */ int leg_diff; /*difference between upper/lower leg */ int num_stages=0; /*number of FFT stages, or iterations */ int index, step; /*index and step between twiddle factor*/ /* log(base 2) of # of points = # of stages */ i=1; do { num_stages+=1; i = i *2 ; } while (i!=N); /* starting difference between upper and lower butterfly legs*/ leg_diff = N/2; /* step between values in twiddle factor array twiddle.h */ step = 512 / N; /* For N-point FFT */ for ( i = 0 ; i < num_stages ; i++ ) { index = 0; for ( j = 0; j < leg_diff ; j++ ) { for ( upper_leg = j; upper_leg < N ; upper_leg += (2*leg_diff) ) { lower_leg = upper_leg + leg_diff; temp1.real=(Y[upper_leg]).real + (Y[lower_leg]).real; temp1.imag=(Y[upper_leg]).imag + (Y[lower_leg]).imag; temp2.real=(Y[upper_leg]).real - (Y[lower_leg]).real; temp2.imag=(Y[upper_leg]).imag - (Y[lower_leg]).imag; (Y[lower_leg]).real = ((long)temp2.real * (w[index]).real)/8192; (Y[lower_leg]).real -= ((long)temp2.imag * (w[index]).imag)/8192; (Y[lower_leg]).imag = ((long)temp2.real * (w[index]).imag)/8192; (Y[lower_leg]).imag += ((long)temp2.imag * (w[index]).real)/8192; (Y[upper_leg]).real = temp1.real; (Y[upper_leg]).imag = temp1.imag; } index+=step; } leg_diff = leg_diff / 2; step *= 2; } /* bit reversal for resequencing data */ j=0; for ( i=1 ; i < (N-1) ; i++ ) { k = N / 2; while ( k <= j) { j = j - k; k >>= 1; } j = j + k; if ( i < j ) { temp1.real = (Y[j]).real; temp1.imag = (Y[j]).imag; (Y[j]).real = (Y[i]).real; (Y[j]).imag = (Y[i]).imag; (Y[i]).real = temp1.real; (Y[i]).imag = temp1.imag; } } return; } 参考一下的吧,这个是TI官方的在5416上实现的程序~

DMIT$10.9/月,日本VPS/三网直连/1核1.5G内存/20GB存储/1Gbps端口

优惠码年付一次性5折优惠码:TYO-Lite-Open-Beta-1y-50OFF永久8折优惠码:TYO-Lite-Open-Beta-Recur-20OFF日本vpsCPU内存SSD流量带宽价格购买1核1.5G20 GB4 TB1Gbps$10.9/月购买2核2 G40 GB6 TB1Gbps$16.9/月购买2核4 G60 GB8 TB1Gbps$21.9/月购买4核4 G80 GB12 TB...

Megalayer美国独立服务器新用户首月优惠350元(30M优化不限流量)

Megalayer 商家在开始看到有提供香港服务器、香港站群服务器的时候有介绍过,后来就一直没有怎么关注。但是前几天有看到网友使用到他们家的美国独立服务器问其如何的,但是我没有使用过就不好评论,这不前几天也有介绍到Megalayer美国独立服务器。以及我们也有看到商家有提供美国站群服务器和美国大带宽服务器产品,可选30M不限制流量CN2优化线路,以及100M不限制流量国际带宽线路。新年元旦后,Me...

Virmach 3.23美元可用6个月的VPS主机

Virmach 商家算是比较久且一直在低价便宜VPS方案中玩的不亦乐乎的商家,有很多同时期的商家纷纷关闭转让,也有的转型到中高端用户。而前一段时间也有分享过一次Virmach商家推出所谓的一次性便宜VPS主机,比如很低的价格半年时间,时间到服务器也就关闭。这不今天又看到商家有提供这样的产品。这次的活动产品包括圣何塞和水牛城两个机房,为期六个月,一次性付费用完将会取消,就这么特别的产品,适合短期玩玩...

fft算法原理为你推荐
开票系统金税盘开票系统怎么用郭凡生慧聪网公司怎么样rownumbersql server 2005中row_number怎么用flowplayer如何编译flowplayer源码radius认证PPPoE有认证的功能,RADIUS也有验证功能,两者有区别么??waves插件MuseScore vst插件怎么安装smartupload为什么使用smartupload执行上传保存操作时用这句smart.save("upload")失败用smart.save("/upload")成功色库photoshop7.0怎么改PANTONE色号问卷星登陆你好,如果之前用微信登录了问卷星小程序,以后每次回答都不需要微信登录了吗?回答了会被知道个人信息吗相似图片搜索如何输入图片并且搜出最相似的图片?
空间租用 美国vps评测 域名备案收费吗 中国万网虚拟主机 google电话 重庆服务器托管 mediafire 512m 网通ip 135邮箱 1g空间 个人免费主页 空间购买 电信网络测速器 日本代理ip lamp兄弟连 中国联通宽带测速 supercache 广东主机托管 买空间网 更多