魏國(guó)慶,逯玉宏,楊 凡
(重慶金美通信有限責(zé)任公司,重慶 400030)
正交頻分復(fù)用(OFDM)技術(shù)具有抗多徑干擾、頻譜利用率高等特點(diǎn),在寬帶無(wú)線(xiàn)通信領(lǐng)域受到了廣泛關(guān)注。OFDM信號(hào)雖然消除了信道間干擾,但不能有效利用寶貴的頻率資源,在衰落信道中傳輸時(shí),其幅度和相位會(huì)發(fā)生變化。信道估計(jì)是為了消除信道對(duì)OFDM系統(tǒng)性能的影響。所以,在OFDM系統(tǒng)中,信道估計(jì)是決定系統(tǒng)能否正常工作的關(guān)鍵技術(shù)之一。下面主要討論在得到信道參數(shù)結(jié)果后,如何在DSP平臺(tái)進(jìn)行插值運(yùn)算。根據(jù)WiAMX導(dǎo)頻信號(hào)的位置和DSP硬件平臺(tái)的特點(diǎn),使用C語(yǔ)言和匯編語(yǔ)言2種方法實(shí)現(xiàn)。然后,通過(guò)比較2種方法的插值結(jié)果和指令周期統(tǒng)計(jì),得出DSP平臺(tái)效率高的結(jié)論[1]。
MSC8156是Freescale公司針對(duì)基站設(shè)計(jì)的一款多核DSP芯片,其中SC3850作為內(nèi)核有著高效的代碼編譯性能和優(yōu)異的分級(jí)存儲(chǔ)體系,且運(yùn)算能力也獲得了提高,主頻高達(dá)1.2 GHz,擁有優(yōu)良的性能和功耗節(jié)約能力,提高了無(wú)線(xiàn)寬帶設(shè)備的性能,將幫助設(shè)備制造商解決下一代無(wú)線(xiàn)標(biāo)準(zhǔn)的實(shí)現(xiàn),如3G-LTE、WiAMX、HSPA+ 和 TDD-LTE[2-3]。
每個(gè)OFDMA符號(hào)按簇插入導(dǎo)頻子載波。偶數(shù)符號(hào)每個(gè)簇的導(dǎo)頻位置為第5和第9個(gè)子載波位置;奇數(shù)符號(hào)每個(gè)簇的導(dǎo)頻位置為第1和第13個(gè)子載波位置。時(shí)域插值處理完成相同導(dǎo)頻子載波位置上前后符號(hào)對(duì)當(dāng)前符號(hào)的線(xiàn)性插值,以獲得更豐富的信道信息。頻域插值在每個(gè)簇內(nèi)實(shí)現(xiàn),根據(jù)相鄰導(dǎo)頻進(jìn)行線(xiàn)性擬合,獲取導(dǎo)頻間的數(shù)據(jù)子載波信道估計(jì)信息。圖1為時(shí)頻二維插值方式[4-6]。
圖1 時(shí)頻二維插值
在插值算法實(shí)現(xiàn)過(guò)程中,按照先時(shí)域插值,后頻域插值的順序。根據(jù)接收的數(shù)據(jù)符號(hào)奇偶、中間和邊緣不同位置來(lái)判斷插值方式,接收數(shù)據(jù)符號(hào)索引為0,1,…N。中間符號(hào)索引為i,進(jìn)行時(shí)域線(xiàn)性插值,其插值結(jié)果由前一個(gè)符號(hào),索引為i-1,后一個(gè)符號(hào),索引i+1,取平均得出;對(duì)于頻域插值,由時(shí)域插值得出的導(dǎo)頻信息和本身存在的導(dǎo)頻信息進(jìn)行線(xiàn)性插值,符號(hào)邊緣插值處理,索引為0、N的數(shù)據(jù)符號(hào)進(jìn)行拷貝處理,即將索引為1和N-1的插值結(jié)果賦給索引為0和N的數(shù)據(jù)位置上,作為該符號(hào)的插值結(jié)果。
其中,α、β為時(shí)域插值系數(shù);c0、c1、c2是頻域插值系數(shù)。psym[n]是當(dāng)前時(shí)域信道系數(shù),pf[n]當(dāng)前頻域信道系數(shù),p0、p1是發(fā)端導(dǎo)頻。圖2為時(shí)頻二維線(xiàn)性插值流程圖。插值過(guò)程中,包含求和平均、指數(shù)平均和一階/二階線(xiàn)性插值等。
圖2 時(shí)頻二維插值流程
WiMAX收端信道估計(jì)插值算法功能實(shí)現(xiàn)后,需要對(duì)代碼進(jìn)行優(yōu)化,分別通過(guò)C語(yǔ)言和線(xiàn)性匯編語(yǔ)言編寫(xiě)代碼進(jìn)行優(yōu)化說(shuō)明。
C語(yǔ)言?xún)?yōu)化方式:
數(shù)組數(shù)據(jù)按字節(jié)對(duì)齊,將數(shù)據(jù)存放在內(nèi)存M2中,屬性為cache,提高DSP存取數(shù)據(jù)速度;
(2)DSP編譯器提供的優(yōu)化,#pragma opt_level="O3",同時(shí)使用C語(yǔ)言的內(nèi)聯(lián)函數(shù)、關(guān)鍵字const等優(yōu)化方式。
線(xiàn)性匯編優(yōu)化方法:
(1)SC3850有自帶匯編優(yōu)化方式,DSP地址總線(xiàn)是64位,數(shù)據(jù)總線(xiàn)是128位,并行指令(VLES)最大數(shù)目為6,每個(gè)時(shí)鐘可并行4條數(shù)據(jù)運(yùn)算指令(DALU)和2條地址運(yùn)算指令(AGU)。與此同時(shí),減少堆棧壓棧語(yǔ)句。若輸入數(shù)據(jù)量不大,可把數(shù)據(jù)放在片上RAM緩存區(qū),增快讀取數(shù)據(jù)速度,減少總運(yùn)行時(shí)間。
(2)循環(huán)指令loopstart0…loopend0之間盡量不使用跳轉(zhuǎn)指令jf/jt,容易導(dǎo)致死循環(huán)。使用指令ift group1(2條指令并行)和iff group2(2條指令并行),同時(shí)存取數(shù)據(jù)使用指令MOVE.2L,而輸入輸出數(shù)據(jù)按字節(jié)對(duì)齊。
(3)插值、信道估計(jì)等代碼執(zhí)行的模塊放入核1上執(zhí)行,釋放核0的CPU,群延遲一段時(shí)間譯碼,提高系統(tǒng)效率,如圖3所示。
圖3 雙核處理
為了比較DSP實(shí)現(xiàn)結(jié)果的方式,仿真采樣單發(fā)單收的系統(tǒng),采樣率11.2 MHz,OFDM有效子載波數(shù)為840,F(xiàn)FT點(diǎn)數(shù)為1 024點(diǎn),CP長(zhǎng)度為128兩種,幀長(zhǎng)2.5 ms,符號(hào)個(gè)數(shù)為24,仿真結(jié)果如圖4、圖5所示。
圖4 兩種編程方式插值比較
圖5 兩種插值方法比較
從圖4可以看出,匯編語(yǔ)言和C語(yǔ)言進(jìn)行的時(shí)頻二維插值效果一致,唯一區(qū)別是浮點(diǎn)和定點(diǎn)數(shù)據(jù)處理不同,匯編效率要提高30%左右。從圖5可見(jiàn),分別使用求和平均和指數(shù)平均計(jì)算的信道系數(shù)效果一致,但求和平均指令簡(jiǎn)單,一次運(yùn)算包含一個(gè)加法和一個(gè)移位指令,指數(shù)平均一次運(yùn)算包含兩個(gè)乘法和一個(gè)加法指令,一個(gè)符號(hào)840個(gè)子載波就要多出840個(gè)指令乘法運(yùn)算的時(shí)間。因此,相同的插值效果,選擇求和平均更容易實(shí)現(xiàn)。
圖6顯示的信道系數(shù)在時(shí)域加窗處理后的比較。時(shí)域加窗后進(jìn)行FFT運(yùn)算、信道系數(shù)平滑,波動(dòng)小,更接近真實(shí)信道特性。但是,這樣處理后,從頻域到時(shí)域、時(shí)域再到頻域兩次域的變換,增加了系統(tǒng)復(fù)雜度。綜合以上幾點(diǎn)因素,在設(shè)計(jì)插值DSP實(shí)現(xiàn)方法上,可以選擇一階線(xiàn)性插值和求和平均,不進(jìn)行變換域加窗處理,工程上易于實(shí)現(xiàn)。
DSP平臺(tái)上使用的兩種語(yǔ)言,其單個(gè)數(shù)據(jù)符號(hào)所消耗的指令周期,使用DSP自帶函數(shù)osTickTIme()統(tǒng)計(jì),比較結(jié)果如表1所示。
從表1的統(tǒng)計(jì)指令周期來(lái)看,單個(gè)數(shù)據(jù)符號(hào)插值計(jì)算,匯編比C語(yǔ)言要快4 065 cycles。一幀長(zhǎng)度20個(gè)符號(hào),一個(gè)數(shù)據(jù)符號(hào)持續(xù)時(shí)間102 μs,10 MHz帶寬匯編計(jì)算可以節(jié)省時(shí)間79.4%,達(dá)到81 300 cycles,20 MHz帶寬節(jié)省時(shí)間94.1%,達(dá)到96 720 cycles。可見(jiàn),充分釋放了操作系統(tǒng),可執(zhí)行其他線(xiàn)程任務(wù),提高運(yùn)算效率。對(duì)于小型基站,低帶寬、單核就滿(mǎn)足信號(hào)處理能力;對(duì)于大型基站,高帶寬、單核處理能力有些不足。
圖6 變換域加窗比較
表1 單個(gè)符號(hào)插值指令周期統(tǒng)計(jì)
從理論分析出發(fā),結(jié)合硬件平臺(tái)特性,研究了WiMAX信道估計(jì)插值的DSP實(shí)現(xiàn)方法,選擇了一階線(xiàn)性插值方法進(jìn)行實(shí)現(xiàn)。結(jié)果表明:從算法復(fù)雜度來(lái)看,一階線(xiàn)性插值方法算法簡(jiǎn)單,耗費(fèi)的DSP指令周期少,匯編指令執(zhí)行時(shí)間滿(mǎn)足信道和系統(tǒng)性能要求,雙核執(zhí)行效率高;從插值效果來(lái)看,在實(shí)際工程設(shè)計(jì)中比較容易實(shí)現(xiàn)。