一種應用于OFDM系統中的符號精確定時算法的FPGA實現
本地相關器的實現是精同步的關鍵部分,本地相關器的實現中需要用到復數乘法器,本文采用的復數乘法算法如式(5)所示:
由于精同步是與本地序列相關,不存在遞推公式,為了降低資源損耗,在選取本地序列時,僅截取實部和虛部的符號位,即每個本地序列的實部和虛部僅用-1,0,1表示,這樣每個復數乘法可以轉換成加法。
本文對判決函數的計算方法進行了改進,式(3)是對|C(n)|進行一階泰勒展開,只取0次項與1次項作為|C(n)|的近似結果。
在峰值檢測時,本文采用乘法代替除法進行門限判定,門限判決函數如式(6)所示:
|C(n)|>gate*P(n) (6)
達到門限判定條件時,精捕獲成功,并通過計數的方式找到FFT窗的位置,完成定時同步。
2.2 FPGA設計方案資源消耗分析
與傳統方法相比,本文提出的方案在資源消耗上大大降低,主要體現在以下幾個方面:
(1)在本地相關器的實現上。式(5)表明,每次復數乘法運算只需要進行3個乘法運算,節(jié)省了1個乘法資源。在進行相關運算時,傳統方法在計算每個相關值時需進行384個乘法運算,在本文中,由于實部和虛部都只用符號位表示,乘法器可以用數據選擇器與加法器實現,大大節(jié)省了乘法器資源。
(2)在判決函數的計算上。傳統方法每計算一個判決函數的值,需要進行4個乘法,2個加法計算。本文提出的近似方法中,每次判決函數的計算只需要2次乘法,2次加法,1次比較與1次移位操作,節(jié)省了乘法器資源。
(3)在硬件實現時。除法器對資源消耗非常大,本文用比較容易實現的乘法代替?zhèn)鹘y方法中的除法運算,節(jié)省了系統資源。
當然,本文對資源的優(yōu)化是因為采取了一定的近似處理和截位處理,會帶來一定的量化誤差,在一定程度上會降低系統的性能,但仿真結果表明,這種性能的損失在可接受范圍內。
3 仿真及實現
3.1 仿真結果
利用本地序列截取符號和判決函數的近似對改進方案進行了仿真。該系統中,給定子載波數為N=128,碼速率定為Rb=5 Mb/s,子載波間隔為19.2 kHz,數字調制采用QPSK,信道模型選用AWGN模型,設定信噪比為5 dB。
圖3是采用本地序列截取2 b的判決函數M(n)的Matlah仿真圖;圖4是采用本地序列截取4 b的Matlab仿真圖。檢測峰值時,第一個峰值是由于循環(huán)前綴存在的影響,峰值檢測時檢測第二個峰值。
從圖3,圖4中可以看出,截位雖然會損耗算法的性能,但是判決函數存在明顯峰值,選擇適當的閾值時,仍然可以精確定時同步,可見減少本地序列的精度對性能并未造成很大的影響。
評論