按时间抽取法的FFT输入序列是倒序,输出序列是自然顺序;按频率抽取法的FFT输入序列是自然顺序,输出序列是倒序的。不管采用哪种方法进行FFT计算,都需要倒序处理。倒序是整个FFT计算的重要部分,进行汇编程序时,按自然顺序将输入数据存入到存储单元内,通过变址运算,将自然顺序的序列按时间抽取法要求进行倒位。
重新排序之前,存储单元Y中依次存放输入数据,I表示当前输入数据比特的顺序数的十进制数值,I的取值从0到N-I;J表示当前倒序数的十进制数值。输入序列的第一个和最后一个数的位置不需要倒序处理,完成倒序的外循环的次数为N-2。为了保证调换数据的正确性,需要检测一下是否I<J,只有当I<J,才将Y(I)与Y(J)的内容互换。形成倒序数J以后,就可以实现变址功能,按照自然顺序存放在存储单元的数据重新按照倒序排列。图3给出了实现倒序的汇编流程图。
3 性能分析与总结
在DSP软件实现中,通过指令并行,尽量优化程序循环体,减少或消除程序中的’NOP’指令[6]。通过程序仿真运行,得到统计结果如表1所示。
从表中可以看出,当运用TMS320C64×DSP芯片实现时,由于处理器的超高主频一般为1 GHz,一个指令周期耗时为1 ns,其运算速率非常快,完全可以满足实时性信号处理。因此,采用旋转因子查表法的实现方案不仅简化了程序实现方法,还减少了模块程序代码编写,节约了系统存储空间。
本文提出了一种简单有效的FFT算法实现方案,详细介绍了算法在DSP的实现方法,并在TMS320C64x芯片上加以实现。程序运行结果表明,该算法能够满足TD-LTE系统的需求,具有可行性和高效性。该方案已应用于LTE-TDD无线综合测试仪表的开发中。
参考文献
[1] 丁玉美.数字信号处理[M].西安:西安电子科技大学出版社,2002.
[2] 何方白,张德民.数字信号处理[M].北京:高等教育出版社,2009.
[3] 3GPP TS 36.211 v9.0.0.Evolved universal terrestrial radio aCCess(E-UTRA) physICal channels and modulation (Release 9)[S].2009-12.
[4] SAIDI A.Decimation-in-time-Frequency FFT algorithm[M]. Manuscript, To be published.1993.
[5] Texas Instruments Incorporated.TMS320C64x/C64x+DSP CPU and instruction set referenceguide[EB/OL].Http://www.ti.com.cn,2008.
[6] Texas Instruments Incorporated.TMS320C6000系列DSP编程工具与指南[M].田黎育,何佩琨,朱梦宇,译.北京:清华大学出版社,2006.