OFDM系統(tǒng)中DAGC的應(yīng)用研究及FPGA實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要:介紹IDFT/DFT可精度在OFDM系統(tǒng)基帶解調(diào)中的重要性,分析定點(diǎn)化DFT輸入功率對(duì)其精度的影響,并在此基礎(chǔ)上采用數(shù)字自動(dòng)增益控制技術(shù)用于DFT前端,以解決過大輸入信號(hào)動(dòng)態(tài)范圍所造成的DFT輸出信噪比惡化的問題。理論分析、Matlab仿真結(jié)果以及FPGA實(shí)現(xiàn)結(jié)果表明,該方法具有可行性、實(shí)時(shí)性和易實(shí)現(xiàn)性,可使DFT輸出信噪比達(dá)到最佳范圍,以滿足0FDM系統(tǒng)基帶解調(diào)的要求;在較大輸入功率情況下,采用DAGc技術(shù)的防溢出方法和經(jīng)典DFT防溢出方法相比,前者使得DFT輸出信噪比提高24 dB。
關(guān)鍵詞:OFDM;離散傅立葉變換;溢出誤差;數(shù)字自動(dòng)增益控制;FPGA
O 引 言
隨著各種FFT算法的出現(xiàn),DFT在現(xiàn)代信號(hào)處理中起著越來越重要的作用。在B3G和4G移動(dòng)通信中所采用的0FDM技術(shù),更是以IDFT/DFT來進(jìn)行OFDM調(diào)制和解調(diào)制,IDFT/DFT的精度直接影響基帶解調(diào)的性能。
在硬件實(shí)現(xiàn)中,通常影響定點(diǎn)化FFT算法精度的有量化誤差、舍入誤差和溢出誤差。一旦決定了量化方式和數(shù)據(jù)位寬后,量化誤差和舍入誤差都是可估計(jì)的,而溢出誤差則隨著輸入信號(hào)功率的增大而急劇增加,造成SNR嚴(yán)重惡化。
中射頻接收時(shí),通常使用AAGc和DAGC來改善ADC正常工作的動(dòng)態(tài)范圍。同理,由于實(shí)現(xiàn)高精度定點(diǎn)化FFT算法的難度和成本較高,本文將采用DAGC技術(shù)調(diào)整DFT輸入功率,以降低DFT的實(shí)現(xiàn)負(fù)擔(dān)、增加DFT的實(shí)現(xiàn)精度、減少DFT的實(shí)現(xiàn)位寬。
1 DFT輸入功率范圍分析
B3G和4G移動(dòng)通信系統(tǒng)中采用的OFDM技術(shù)以O(shè)FDM符號(hào)為單位進(jìn)行調(diào)制解調(diào),該類系統(tǒng)中高層的子載波分配機(jī)制,可以使各個(gè)OFDM符號(hào)幅度變化較其他通信系統(tǒng)大得多。因此,OFDM符號(hào)在接收端中射頻進(jìn)行放大后,傳至基帶用DFT進(jìn)行子載波解調(diào),此時(shí)的符號(hào)功率往往有著較大的動(dòng)態(tài)范圍。針對(duì)本文關(guān)注的DFT溢出誤差,該部分將推導(dǎo)DFT所能接收的最大輸入信號(hào)功率。
復(fù)隨機(jī)序列z[n]=Re(z[n])+jIm(b[n])(n∈[0,N一1])的DFT正變換表示為:
考慮最極端的一個(gè)Z[k],即每一個(gè)z[n]乘以旋轉(zhuǎn)因子WknN后,都旋轉(zhuǎn)角θ至Re正半軸成為z’[n],如圖1所示。在這種情況下,定義:
則當(dāng)虛部為Im(Z[k])=0時(shí),實(shí)部Re(Z[k])(k∈[0,(n-1)]的模平方滿足:
其中:N為DFT點(diǎn)數(shù),以上推導(dǎo)也可由旋轉(zhuǎn)至Re負(fù)半軸,Im正或負(fù)半軸得到。因此,所有Z[k]的實(shí)部和虛部的模平方必定都小于或等于式(3)所得結(jié)果。
本文僅討論1 024點(diǎn)復(fù)隨機(jī)序列DFT,采用32 b存儲(chǔ)DFT結(jié)果,高16 b存實(shí)部,低16 b存虛部,兩個(gè)16 b的最高位均為符號(hào)位,為了保證DFT后的每一個(gè)點(diǎn)都不溢出,則平均功率W,需要滿足:
經(jīng)典的防止DFT溢出的辦法,通常是將輸入信號(hào)的模調(diào)整至所允許的最大輸出信號(hào)模的1/N,N為DFT點(diǎn)數(shù),同樣針對(duì)以上情況,采用經(jīng)典模調(diào)整方式的平均功率僅為Ws/1 024。
2 數(shù)據(jù)仿真及分析
針對(duì)上面所舉例子,用Matlab產(chǎn)生一個(gè)長(zhǎng)度為1 024的零均值高斯分布復(fù)隨機(jī)序列,序列方差σ2=2k∈[25,215],k∈[5,15]。定義SNR如式(5),其中Wfloat,Wfix分別是采用浮點(diǎn)、定點(diǎn)FFT算法的平均輸出功率。
Matlab仿真結(jié)果如圖2所示,其中橫坐標(biāo)為20logl0(σ2/215)??梢?,當(dāng)輸入信號(hào)平均功率較小時(shí),量化誤差和舍入誤差隨功率增加而下降,但平均功率上升到一定值后,產(chǎn)生的定點(diǎn)溢出誤差增加使得SNR急劇下降。
針對(duì)較大的OFDM符號(hào)功率動(dòng)態(tài)范圍,本文采用DAGC技術(shù)來調(diào)整DFT輸入信號(hào)功率,使其處在一個(gè)較平穩(wěn)的范圍內(nèi),以此提高DFT運(yùn)算的輸出SNR,同時(shí)減輕本身就具有較大運(yùn)算量的DFT模塊的負(fù)擔(dān)。根據(jù)仿真結(jié)果,結(jié)合式(4),選擇DFT輸入平均功率為(210)2時(shí)最佳。
3 FPGA實(shí)現(xiàn)及分析
由于用FPGA實(shí)現(xiàn)乘除法會(huì)消耗大量資源,一般采用左右移位來代替。因此,為了簡(jiǎn)化FPGA實(shí)現(xiàn)難度,本文僅將輸入序列的功率從區(qū)間[(2i-1)2,(2i)2]調(diào)整到[(29)2,(210)2],其中i為非負(fù)整數(shù)且i∈[6,15]。
DFT模塊選用Altera公司的IPCORE,總體框圖如圖3所示,其中BUFl,BUF2均可存儲(chǔ)1 024點(diǎn),用于流水處理。該實(shí)現(xiàn)方式通過兩個(gè)二級(jí)模塊以及中間緩存實(shí)現(xiàn),由于存儲(chǔ)功率的寄存器位寬很大,實(shí)現(xiàn)時(shí)不使用比較器。流水處理1 024點(diǎn)所需要的平均時(shí)間la—tency僅為1 029個(gè)時(shí)鐘周期,即經(jīng)過1 024個(gè)時(shí)鐘周期得到1 024個(gè)點(diǎn)后,平均僅需要5個(gè)時(shí)鐘周期得到功率調(diào)整因子。本模塊綜合后的最高頻率fmax=220 MHz。以輸入序列平均功率為2×(214)2為例,功率調(diào)整方式對(duì)SNR影響如表1所示,其中第三種方式僅由Matlab仿真得到??梢?,采用調(diào)整到區(qū)間[(29)2,(210)2]時(shí)的SNR較高且易于用FPGA實(shí)現(xiàn)。
4 結(jié) 語
本文主要針對(duì)OFDM系統(tǒng)中定點(diǎn)化DFT的溢出誤差,分析了DFT輸入信號(hào)功率對(duì)其輸出信噪比的影響,并以高斯零均值輸入信號(hào)為例,采用DAGC與DFT模塊級(jí)聯(lián)的方式進(jìn)行了Matlab仿真和FPGA實(shí)現(xiàn),證明了其可行性。該方法以很小的時(shí)延、較少的資源以及較高的精度為優(yōu)勢(shì),有效地增大了定點(diǎn)化DFT正常工作的動(dòng)態(tài)范圍,同時(shí)為后級(jí)恢復(fù)原信號(hào)提供了可靠保障,完全滿足0FDM系統(tǒng)基帶解調(diào)的要求。