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