薛 宸
(北京郵電大學國際學院, 北京102209)
隨著近年來通信技術的飛速發(fā)展,特別是應用范圍越來越廣的寬帶無線移動通信系統(tǒng),人們需要面對的信道條件也越來越復雜。由于無線通信場景中,電磁波通常都會在各種各樣的物體間反射和傳播,因此,接收端就會接收到通過不同路徑傳播后疊加的接收信號,而各條傳播路徑具有各自的延時、幅度、相位等,所以這種多徑效應是無線移動通信系統(tǒng)所必須面對的問題。當接收端與發(fā)射端存在相對移動時,就會產(chǎn)生多普勒效應[1],這不僅會給通信系統(tǒng)帶來頻偏,也會由于多徑的同時存在而產(chǎn)生多普勒擴散,使得信道參數(shù)具有不可忽略的時變性。所以,在這種通信場景下,要求通信系統(tǒng)能夠?qū)Χ嗥绽蘸投鄰綆淼挠绊戇M行有效的補償。
本文利用FPGA對一種針對無線移動通信系統(tǒng)而設計的多普勒補償算法進行了相關的研究與硬件實現(xiàn)。這種算法具有計算復雜度低、延時小、便于硬件實現(xiàn)等特點,并且在實際的無線移動通信系統(tǒng)中能夠有效地適應時變多徑信道,是一種具有實用性的多普勒補償方案。
在正交頻分復用(OFDM)系統(tǒng)[2]中,為了對抗多徑造成的頻率選擇性衰落,通常使用OFDM符號的循環(huán)前綴或者已知的訓練序列作為OFDM符號之間的保護間隔。相應地,利用插入的導頻序列或者訓練序列來進行信道估計[3-5],得到信道參數(shù)后再對OFDM符號序列進行均衡處理。本文研究并進行實現(xiàn)的是一種基于雙PN幀結(jié)構的多普勒補償算法。
雙PN幀結(jié)構[6],是將兩段相同的時域訓練序列作為OFDM符號之間的保護間隔,也就是數(shù)據(jù)幀的幀頭。該訓練序列是通過頻域的PN序列經(jīng)過逆傅里葉變換得到的,即訓練序列在頻域上為±1組成的PN序列。這種幀結(jié)構的優(yōu)勢是:一方面,第一段訓練序列可以被視為第二段訓練序列的循環(huán)前綴,那么,利用接收到的幀頭信號就可以完成相對獨立的信道估計;另一方面,訓練序列在頻域上是PN序列,有利于對OFDM符號進行頻域均衡。幀結(jié)構示意圖如圖1所示。
圖1 幀結(jié)構示意圖
基于上述幀結(jié)構,相關的研究工作針對帶有多普勒的時變信道條件設計了一種低復雜度、低延時的非迭代多普勒補償算法,該算法只需利用接收到的每個OFDM符號前后的幀頭序列即可完成,具體步驟如下:
1)將第i幀和第i+1幀的幀頭第二段訓練序列取出,進行線性插值計算
2)將上面得到的結(jié)果序列通過FFT變換到頻域
3)將計算得到的頻域序列Yi,PN與已知訓練序列的頻域PN序列(記為SPN)進行比較,即可得到信道頻域響應的初步估計
4)將信道頻域響應初步估計結(jié)果H1變換到時域,得到信道時域沖激響應初步估計結(jié)果
5)對h1進行門限迫零濾波,即把功率低于最強徑一定比例以下的旁徑置為零,以消除噪聲對于信道估計結(jié)果的影響
6)對h2補零至OFDM符號的長度,再變換到頻域,對OFDM頻域符號序列進行頻域均衡處理
可以看出,上述算法中對第i幀OFDM數(shù)據(jù)符號的處理只需利用第i幀和第i+1幀的幀頭即可,延時小且沒有迭代運算。另外,利用頻域PN的特點還可以進一步簡化式(3)的除法運算,有利于進行低復雜度的硬件實現(xiàn)。
經(jīng)過同步模塊后,接收信號被轉(zhuǎn)換到基帶,并用兩個16 bits分別表示實部和虛部,同時給出幀同步指示信號。在進行多普勒補償處理時,需要設計一個接收緩存作為接口模塊,將接收符號序列組織成算法需要的形式輸出到后級處理模塊。
接收緩存使用兩個 RAM進行交替讀寫,每個RAM的大小為32 bits×(4NPN+NOFDM),即需要存儲每個OFDM符號序列及其前后的兩個幀頭序列。當遇到輸入信號中的幀同步指示信號上升沿時,控制計數(shù)器清零,將此時輸入數(shù)據(jù)繼續(xù)寫入當前的RAM,并同時寫入另一個RAM的起始部分;計數(shù)器到2NPN時,當前RAM進行數(shù)據(jù)輸出,首先,輸出起始部分的當前幀幀頭第二段訓練序列,然后,輸出末尾部分的下一幀幀頭第二段訓練序列,再輸出中間部分的OFDM數(shù)據(jù)符號序列,同時開始將輸入的下一幀OFDM數(shù)據(jù)符號序列繼續(xù)寫入另一個RAM中;當遇到下一個幀同步指示信號時重復上述過程。需要注意的是:緩存輸出時鐘為4倍的基帶符號率,因此,雖然單個緩存存入的數(shù)據(jù)符號長度大于一幀,但仍然足夠及時地輸出到下級?;鶐л斎虢涌趯崿F(xiàn)示意圖如圖2所示。
圖2 基帶輸入接口示意圖
可以看出,輸入接口緩存只需要略大于兩個子幀長度的RAM存儲資源,而傳統(tǒng)算法通常需要緩存連續(xù)的若干幀用于計算信道參數(shù),因此,這種算法在硬件實現(xiàn)時消耗的存儲資源更少,也同時具有更小的處理延時,更適合于移動場景的應用需求與特點。
首先,如第1節(jié)的算法所述,要對第i幀和第i+1幀的幀頭第二段訓練序列進行線性插值。根據(jù)前級輸入接口對接收符號序列進行了重新組織,這里只需要一個32 bits×NPN大小的RAM來緩存第i幀的幀頭第二段訓練序列即可。當?shù)趇+1幀的幀頭第二段訓練序列輸入時,依次取出RAM中的數(shù)據(jù),進行復數(shù)加法運算并右移一位,則得到NPN長度的線性插值結(jié)果序列。在最前端對時域序列進行插值,使后續(xù)處理都簡化為只針對一個幀頭訓練序列的估計和均衡運算,在保持算法精度的同時節(jié)省了一定的硬件資源。
然后,將NPN長度的時域序列送入FFT模塊轉(zhuǎn)換為頻域序列。
因為訓練序列在頻域上為±1組成的PN序列,那么式(3)中的除法運算就等效為符號選擇運算,即預先存儲原PN序列,然后對上一級FFT模塊輸出序列進行補碼運算,如果對應位置的原PN序列為1則直接輸出,如果為-1則輸出補碼。通過這種設計,使得一般的信道參數(shù)估計中的除法運算得到簡化,明顯降低了硬件實現(xiàn)的計算復雜度,并保持了參數(shù)估計的精度。
得到信道頻域響應序列后,通過IFFT變換回時域,送入時域門限迫零濾波模塊。
濾波模塊需要兩個32 bits×NPN大小的 RAM,RAM1用于存放輸入符號序列,RAM2用于存放輸入符號序列對應的復數(shù)幅度的平方,即16 bits實部與16 bits虛部的平方和。每個有效輸入都要進行平方和運算,與預設的REF寄存器進行比較,如果大于REF則更新REF,否則REF不變。REF寄存器在每幀開始時初始為全0??刂朴嫈?shù)器計數(shù)到NPN時,依次比較RAM2與REF右移3位的值,這是因為取濾波門限為最大值以下9 dB,那么功率除以8在二進制表示中可以簡化為右移3位。若RAM2的值大于REF移位后的值,那么輸出對應位置RAM1中的數(shù)據(jù),否則輸出0值。另外,為了后級FFT后進行OFDM符號的頻域均衡,此模塊輸出NPN個值后,繼續(xù)補零至 NOFDM長度。濾波模塊實現(xiàn)示意圖如圖3所示。
圖3 濾波模塊實現(xiàn)示意圖
濾波模塊輸出到NOFDM點的FFT,即可得到信道頻域響應序列,將與其對應的OFDM數(shù)據(jù)部分頻域符號序列進行延時對齊,一起送入均衡輸出接口。
信道參數(shù)估計是算法的核心部分,可以通過上述硬件實現(xiàn)模塊的具體描述看到,利用頻域PN簡化頻域信道參數(shù)估計中的除法運算,整個處理過程只用進行乘加運算以及比較操作,各級處理過程都只需要很小的緩存,體現(xiàn)了該算法硬件實現(xiàn)的低計算復雜度與低延時的特點。
得到OFDM符號頻域序列以及信道頻域響應序列后,可以利用CORDIC算法[7]實現(xiàn)OFDM符號序列的相位修正,輸出為信道頻域響應的幅度序列以及修正了相位的頻域數(shù)據(jù)符號序列,送入后級的解調(diào)模塊,即可計算出LLR用于信道解碼。
上述基于雙PN幀結(jié)構的OFDM系統(tǒng)多普勒補償算法整體實現(xiàn)結(jié)構圖如圖4所示。
圖4 算法整體實現(xiàn)結(jié)構圖
本文所實現(xiàn)的多普勒補償算法通過Verilog HDL進行了實現(xiàn),并應用在一種針對多普勒多徑信道條件的OFDM系統(tǒng)中。整體基帶接收機通過Quartus II進行綜合,硬件資源使用率如表1所示。
表1 接收機硬件資源使用率
該系統(tǒng)通過信道模擬器進行了實際硬件測試,其誤比特率測試結(jié)果如圖5所示,可以看出加入本文所實現(xiàn)的多普勒補償模塊后,與原系統(tǒng)相比有較明顯的性能增益,在多普勒多徑信道下驗證了所實現(xiàn)的算法模塊的有效性。
圖5 算法在實際系統(tǒng)中的性能增益
相對于原系統(tǒng),新的多普勒補償模塊消耗的資源與原系統(tǒng)中的信道估計及均衡模塊相當,而性能有大約0.3 dB的增益。新算法與原系統(tǒng)的硬件實測性能指標對比如表2所述。
表2 新算法與原系統(tǒng)的性能測試對比
本文所實現(xiàn)的多普勒補償算法,一方面,利用OFDM幀結(jié)構特點完成了時變信道條件下的及時信道參數(shù)估計,對無線移動應用中的多普勒擴散進行了有效補償;另一方面,在進行硬件實現(xiàn)時,充分體現(xiàn)了算法低計算復雜度、低延時、便于硬件實現(xiàn)的特點。
[1] Wang T J,Proakis J G,Masry E,et al.Performance degradation of OFDM systems due to Doppler spreading[J].IEEE Transactions on Wireless Communications,2006,5(6):1422-1432.
[2] 李向?qū)?,談振輝.OFDM基本原理及其在移動通信中的應用[J].重慶郵電學院學報,2003,15(2):25-30,44.Li Xiangning,Tan Zhenhui.OFDM principle and its applications in mobile communication[J].Journal of Chongqing University of Posts and Telecommunications,2003,15(2):25-30,44.
[3] 王 勇,葛建華,陸 震,等.OFDM系統(tǒng)信道估計算法及其FPGA實現(xiàn)[J].電路與系統(tǒng)學報,2004,9(6):139-142.Wang Yong,Ge Jianhua,Lu Zhen,et al.Channel estimation and its FPGA realization in OFDM system[J].Journal of Circuits and Systems,2004,9(6):139-142.
[4] 董宏成,步清明,李小文,等.基于FPGA的PUSCH信道估計仿真與實現(xiàn)[J].電子技術應用,2012,38(6):51-53.Dong Hongcheng,Bu Qingming,Li Xiaowen,et al.Simulation and realization of channel estimation and in TD-LTE system based on FPGA[J].Application of Electronic Technique,2012,38(6):51-53.
[5] 周曉波,王建忠,邵際南.基于FPGA的LTE系統(tǒng)信道估計算法研究與設計[J].電路與系統(tǒng),2014(3):12-18.Zhou Xiaobo,Wang Jianzhong,Shao jinan.Research on channel estimation algorithm for LTE uplink based on FPGA[J].Open Journal of Circuits & Systems,2014(3):12-18.
[6] Yang Z X,Wang X Q,Wang Z C,et al.Improved channel estimation for TDS-OFDM based on flexible frequency-binary padding[J].IEEE Transactions on Broadcasting,2010,56(3):418-424.
[7] Alim O A,Elboghdadly N,Ashour M A,et al.FPGA implementation for an optimized CORDIC module for OFDM system[C] //2008 IEEE International Conference on Computer Engineering & Systems Cairo.Egypt:IEEE Press,2008:21-26.