LTE系統(tǒng)中FFT的研究與DSP實(shí)現(xiàn)
使用C語言編寫主函數(shù),匯編語言編寫FFT算法的實(shí)現(xiàn)函數(shù)。程序中假設(shè)輸入數(shù)據(jù)最大長度為1 024,由于DSP C6455可以直接存取處理32 bit,所以在內(nèi)存中定義了長度為8 192 bit作為存放輸出序列的內(nèi)存空間。為了提高運(yùn)算精確度,輸入數(shù)的實(shí)部和虛部分別占用一個(gè)字,在程序中進(jìn)行復(fù)數(shù)相乘操作是采用匯編指令MPYHI。內(nèi)存定義了長度為2 048 bit的Tempsequence作為存放倒序序列,并且建立了2張旋轉(zhuǎn)因子查找表,分別為Wr和Wi。
外循環(huán)中,在每次內(nèi)循環(huán)之前從輸入比特序列中取出32 bit放入一個(gè)寄存器,作為一個(gè)內(nèi)循環(huán)的輸入,內(nèi)循環(huán)結(jié)束后,取下一個(gè)32 bit輸入比特更新這個(gè)寄存器。
內(nèi)循環(huán)中,計(jì)算蝶形過程采用查表的方式。對(duì)于每一級(jí),計(jì)算出需要的旋轉(zhuǎn)因子個(gè)數(shù)以及相同旋轉(zhuǎn)因子相距的間隔。計(jì)算蝶形過程時(shí),首先提取出X(k),根據(jù)相同旋轉(zhuǎn)因子間隔找到X(k+B)完成蝶形計(jì)算。考慮到旋轉(zhuǎn)因子的對(duì)稱性,在內(nèi)存中存放旋轉(zhuǎn)因子時(shí)只存放一半,剩余的數(shù)據(jù)根據(jù)對(duì)稱性進(jìn)行處理。圖2給出了FFT算法實(shí)現(xiàn)計(jì)算流程圖。本文引用地址:http://cafeforensic.com/article/149952.htm
按時(shí)間抽取法的FFT輸入序列是倒序,輸出序列是自然順序;按頻率抽取法的FFT輸入序列是自然順序,輸出序列是倒序的。不管采用哪種方法進(jìn)行FFT計(jì)算,都需要倒序處理。倒序是整個(gè)FFT計(jì)算的重要部分,進(jìn)行匯編程序時(shí),按自然順序?qū)⑤斎霐?shù)據(jù)存入到存儲(chǔ)單元內(nèi),通過變址運(yùn)算,將自然順序的序列按時(shí)間抽取法要求進(jìn)行倒位。
重新排序之前,存儲(chǔ)單元Y中依次存放輸入數(shù)據(jù),I表示當(dāng)前輸入數(shù)據(jù)比特的順序數(shù)的十進(jìn)制數(shù)值,I的取值從0到N-I;J表示當(dāng)前倒序數(shù)的十進(jìn)制數(shù)值。輸入序列的第一個(gè)和最后一個(gè)數(shù)的位置不需要倒序處理,完成倒序的外循環(huán)的次數(shù)為N-2。為了保證調(diào)換數(shù)據(jù)的正確性,需要檢測一下是否IJ,只有當(dāng)IJ,才將Y(I)與Y(J)的內(nèi)容互換。形成倒序數(shù)J以后,就可以實(shí)現(xiàn)變址功能,按照自然順序存放在存儲(chǔ)單元的數(shù)據(jù)重新按照倒序排列。圖3給出了實(shí)現(xiàn)倒序的匯編流程圖。
3 性能分析與總結(jié)
在DSP軟件實(shí)現(xiàn)中,通過指令并行,盡量優(yōu)化程序循環(huán)體,減少或消除程序中的’NOP’指令[6]。通過程序仿真運(yùn)行,得到統(tǒng)計(jì)結(jié)果如表1所示。
從表中可以看出,當(dāng)運(yùn)用TMS320C64×DSP芯片實(shí)現(xiàn)時(shí),由于處理器的超高主頻一般為1 GHz,一個(gè)指令周期耗時(shí)為1 ns,其運(yùn)算速率非???,完全可以滿足實(shí)時(shí)性信號(hào)處理。因此,采用旋轉(zhuǎn)因子查表法的實(shí)現(xiàn)方案不僅簡化了程序?qū)崿F(xiàn)方法,還減少了模塊程序代碼編寫,節(jié)約了系統(tǒng)存儲(chǔ)空間。
本文提出了一種簡單有效的FFT算法實(shí)現(xiàn)方案,詳細(xì)介紹了算法在DSP的實(shí)現(xiàn)方法,并在TMS320C64x芯片上加以實(shí)現(xiàn)。程序運(yùn)行結(jié)果表明,該算法能夠滿足TD-LTE系統(tǒng)的需求,具有可行性和高效性。該方案已應(yīng)用于LTE-TDD無線綜合測試儀表的開發(fā)中。
參考文獻(xiàn)
[1] 丁玉美.數(shù)字信號(hào)處理[M].西安:西安電子科技大學(xué)出版社,2002.
[2] 何方白,張德民.數(shù)字信號(hào)處理[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].田黎育,何佩琨,朱夢(mèng)宇,譯.北京:清華大學(xué)出版社,2006.
評(píng)論