本文基于合众达的dsp试验箱,采集实验箱上信号发生器产生的信号,并对信号进行fft变换,通过ccs观察结果。
对于任何一个2的整数幂N=2M,总是可以通过M次分解最后完全成为2点的DFT运算。这样的M次分解,就构成从x(n)到X(k)的M级运算过程。从上面的 流图可看到,每一级运算都由N/2个蝶形运算构成。因此每一级运算都需要次
复乘和N次复加(每个结作加、减各一次),这样,经过时间抽取后M级运算总共需要的运算: 复乘 复加 N
当然,实际情况与这个数字稍有出入,因为
这几个系数实际上都不用乘法运算,因此在上面N=8的例子中,实际上只有两个系数W 及W 是需要乘法运算的。用时间抽取法所需的计算量,不论是复乘
2
还是复加都与Nlog2N成正比,而直接运算时则与N成正比。
例N=2048,N=4194304,(N/2)log2N=11264,N/[(N/2)log2N]=392.4倍。FFT显然要比直接法快得多。
2
2
4.7 功率谱的计算实现
for(m=0;m<N/2;m++) {
w[m]=sqrt(Xr[m]*Xr[m]+Xi[m]*Xi[m]); //计算功率谱 }
为了便于观察FFT的运算结果,需要求出信号的频谱。经过第三级到最后一级蝶形运算之后,已经得到式(4-2)所示: A(k) AR(k )
A(I k) j
(4-2)
故功率谱可以通过式(4-3)计算得到:
(4-3)
通过软件仿真,可以观察到输入信号的时间波形和频谱波形以及输出信号的功率谱波形。
4.8 倒序运算函数
void finv(int N1,float *xr,float *xi) { int m,n,N2,k; //m为正序数;n为倒序数;k为各个权值;N2为最高位的权值
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库基于dsp的快速傅里叶变换程序设计(18)在线全文阅读。
相关推荐: