數(shù)字基帶預(yù)失真系統(tǒng)中環(huán)路延遲估計(jì)的FPGA實(shí)現(xiàn)
隨著現(xiàn)代無(wú)線通信產(chǎn)業(yè)的快速發(fā)展,為了充分利用有限的無(wú)線頻譜資源,現(xiàn)代通信系統(tǒng)采用了正交調(diào)制和多載波技術(shù)。然而這些技術(shù)對(duì)發(fā)射端前置高功率放大器(HPA)的線性度提出了非常高的要求[1]。在功率回退技術(shù)、負(fù)反饋法、前饋線性化技術(shù)和數(shù)字預(yù)失真技術(shù)等常用的線性化技術(shù)中,數(shù)字基帶預(yù)失真技術(shù)因其成本低廉而得到了廣泛的應(yīng)用[2]。
在基于查找表(LUT)數(shù)字基帶預(yù)失真(DPD)系統(tǒng)[3]的實(shí)現(xiàn)過(guò)程中,DPD需要正確對(duì)比輸入信號(hào)x(n)和功率放大器輸出端的反饋信號(hào)z(n)。通常反饋信號(hào)相對(duì)于輸入信號(hào)有一段時(shí)間延遲,這就破壞了預(yù)失真系統(tǒng)的穩(wěn)定性,因此正確估計(jì)環(huán)路延遲并對(duì)其進(jìn)行補(bǔ)償就顯得十分必要。
近年來(lái),國(guó)內(nèi)外學(xué)者對(duì)環(huán)路延遲估計(jì)進(jìn)行了分析并提出了一些估計(jì)算法,如迭代法(Nagata Algorithm)[3]、延時(shí)鎖定環(huán)路法(DLL Method)[4]和相關(guān)檢測(cè)法(Correlation method)[5]等,它們都有各自的優(yōu)缺點(diǎn)。 本文結(jié)合參考文獻(xiàn)[6]提出的幅度差相關(guān)算法和參考文獻(xiàn)[7]中基于數(shù)據(jù)流相關(guān)運(yùn)算的改進(jìn)算法提出了新的方法。該方法在用于FPGA實(shí)現(xiàn)時(shí)難度低于參考文獻(xiàn)[6],同時(shí)在信號(hào)失真的情況下也能給出正確的估計(jì)值。
1 環(huán)路延遲估計(jì)算法
環(huán)路延遲是指信號(hào)從系統(tǒng)輸入端到反饋輸出端所產(chǎn)生的時(shí)間延遲。通常,反饋信號(hào)z(n)相對(duì)于輸入信號(hào)x(n)都會(huì)有一段時(shí)間的延遲,并且該延遲會(huì)隨著時(shí)間和溫度的改變而改變,故需要對(duì)其進(jìn)行實(shí)時(shí)估計(jì)。
參考文獻(xiàn)[6]提出的幅度差相關(guān)法為:
算法通過(guò)搜索R(m)的最大值得到環(huán)路延遲的估計(jì)值。其通過(guò)對(duì)信號(hào)幅度的差取符號(hào),減少了運(yùn)算量。但用于FPGA實(shí)現(xiàn)時(shí),需要復(fù)雜的時(shí)序控制,可實(shí)現(xiàn)度不高。
數(shù)據(jù)流相關(guān)運(yùn)算的表達(dá)式為:
此算法通過(guò)誤差的疊加盡量放大兩信號(hào)之間的差異。當(dāng)無(wú)整數(shù)倍延遲偏差時(shí),兩組數(shù)據(jù)差值最小,故可以通過(guò)搜索R(m)的最小值得到整數(shù)倍環(huán)路延遲的估計(jì)值。由式(5)可知此算法具有運(yùn)算復(fù)雜度低和易于實(shí)現(xiàn)的優(yōu)點(diǎn),但它要求反饋信號(hào)未經(jīng)衰落信道畸變及高斯噪聲影響才可以實(shí)現(xiàn)。
針對(duì)上述兩種算法的不足,本文提出了新的方法。其基本表達(dá)式為:
其中|·|表示取絕對(duì)值,其他符號(hào)的定義與參考文獻(xiàn)[6]一致。
由PA輸入、輸出兩組數(shù)據(jù)具有一定的相關(guān)性可知,當(dāng)沒(méi)有整數(shù)倍延遲偏差時(shí),兩組數(shù)據(jù)差值最小,故可以通過(guò)搜索R(m)的最小值得到整數(shù)倍環(huán)路延遲的估計(jì)值。
對(duì)比式(6)和式(1)可知,本方法在用于FPGA實(shí)現(xiàn)時(shí)比參考文獻(xiàn)[7]要減少一個(gè)計(jì)算D[x(n)]×D[z(n-m)]的步驟;同時(shí)本方法在計(jì)算時(shí)只涉及到加減運(yùn)算,故其時(shí)序控制比參考文獻(xiàn)[6]簡(jiǎn)單。對(duì)比式(6)和式(5),本方法先通過(guò)式(2)保留信號(hào)的變化信息,再通過(guò)式(6)保留輸入信號(hào)和反饋信號(hào)之間的相似性,故其不用像參考文獻(xiàn)[7]那樣對(duì)反饋信號(hào)有要求。不過(guò),本方法和其他相關(guān)算法一樣要求輸入信號(hào)的周期必須大于環(huán)路延遲的值。
2 Matlab仿真結(jié)果及分析
為了驗(yàn)證本文所提方法的有效性,進(jìn)行了仿真分析。仿真所采用的系統(tǒng)框圖如圖1所示,其中PA行為模型采用的是并行維納結(jié)構(gòu),OFDM信號(hào)延遲了22個(gè)周期。
為了驗(yàn)證算法的魯棒性,本文還給出了算法在反饋信號(hào)z(n)相對(duì)于輸入信號(hào)x(n)失真不同程度的情況下,環(huán)路延遲估計(jì)值。其中,輸入信號(hào)和反饋信號(hào)的功率譜密度如圖2所示。反饋信號(hào)是輸入信號(hào)經(jīng)過(guò)PA后未加噪聲、而加了SNR=30 dB和SNR=20 dB的高斯白噪聲后得到的。圖3所示為采用本文所提出的方法,對(duì)圖2中的信號(hào)進(jìn)行環(huán)路延遲估計(jì)給出的理論估計(jì)值。由圖3可知,當(dāng)反饋信號(hào)嚴(yán)重失真時(shí),本文提出的方法也能給出正確的估計(jì)值,從而證明了本文所提方法的有效性。
3 環(huán)路延時(shí)估計(jì)的FPGA實(shí)現(xiàn)
根據(jù)實(shí)際數(shù)字基帶預(yù)失真系統(tǒng)的需要,環(huán)路延時(shí)估計(jì)在采用FPGA芯片Stratix II EP2S60F672C4實(shí)現(xiàn)時(shí),“相關(guān)窗”的長(zhǎng)度L取250,共做了60次相關(guān)即k∈(0,60),其實(shí)現(xiàn)的結(jié)構(gòu)框圖如圖4所示。
(1)接收存儲(chǔ)數(shù)據(jù)。將所要使用的數(shù)據(jù)存儲(chǔ)在FPGA的RAM中,存儲(chǔ)的數(shù)據(jù)包含基帶發(fā)射信號(hào)及接收信號(hào)的實(shí)部、虛部4組數(shù)據(jù)。
(2)計(jì)算幅度差函數(shù)模塊。由于使用信號(hào)幅度的平方代替幅度計(jì)算幅度差函數(shù)不改變幅度差函數(shù)D[·]的計(jì)算結(jié)果,同時(shí)FPGA中實(shí)現(xiàn)幅度的平方比幅度的復(fù)雜度更低,故本模塊先根據(jù)式(7)計(jì)算出幅度的平方,再根據(jù)式(2)的變形式(8)計(jì)算幅度差函數(shù)D[·]的值。
(5)搜索最小項(xiàng)模塊。本模塊采用的是數(shù)據(jù)比對(duì)存儲(chǔ)實(shí)現(xiàn)算法,即當(dāng)輸入的數(shù)據(jù)與前一個(gè)輸入的數(shù)據(jù)相比較;存儲(chǔ)較小的數(shù)據(jù)及其自變量m的值;60組數(shù)據(jù)比對(duì)完成后,存儲(chǔ)在FPGA寄存器中的m值則是所要估計(jì)的整數(shù)倍環(huán)路延遲數(shù)目。
(6)數(shù)據(jù)流控制模塊。本模塊的目的是保證各個(gè)模塊能按既定的順序工作。
4 系統(tǒng)調(diào)試
為了驗(yàn)證所設(shè)計(jì)模塊的正確性,本文對(duì)比了輸入信號(hào)為八音信號(hào)且激發(fā)了PA的非線性的情況下,Matlab、Modelsim和Signal Tap II中整數(shù)倍環(huán)路延遲估計(jì)模塊給出的估計(jì)值。其中Matlab中信號(hào)的功率譜密度圖和延遲估計(jì)值如圖5所示。
將圖5中的信號(hào)導(dǎo)入Modelsim SE 6.5c進(jìn)行時(shí)序仿真,仿真結(jié)果如圖6所示。對(duì)比圖5、圖6可知,本文所設(shè)計(jì)的實(shí)現(xiàn)方法是正確的。
最后把本文所設(shè)計(jì)的整數(shù)倍環(huán)路延遲估計(jì)模塊加入到數(shù)字基帶預(yù)失真系統(tǒng)中,進(jìn)行系統(tǒng)測(cè)試。信號(hào)源所產(chǎn)生的信號(hào)功率譜如圖5所示,在SignalTap II中抓取的結(jié)果如圖7所示,由圖可知,該模塊的功能是正確的。
本文針對(duì)數(shù)字基帶預(yù)失真系統(tǒng)中的延遲估計(jì)問(wèn)題,提出了一種易于FPGA實(shí)現(xiàn)的整數(shù)倍環(huán)路延遲估計(jì)的方法。由Matlab仿真結(jié)果可知,本文所提出的方法在信號(hào)失真的情況下能正確給出環(huán)路延時(shí)的估計(jì)值,從而證明了該方法的有效性。最后,基于FPGA芯片Stratix II EP2S60F672C4設(shè)計(jì)實(shí)現(xiàn)了整數(shù)倍環(huán)路延遲估計(jì)模塊,由Modelsim SE 6.5c時(shí)序仿真和SignalTap II的硬件調(diào)試結(jié)果與Matlab理論仿真結(jié)果對(duì)比可知,該實(shí)現(xiàn)方法是可行的。本文設(shè)計(jì)的環(huán)路延遲估計(jì)模塊已經(jīng)應(yīng)用于數(shù)字基帶預(yù)失真系統(tǒng)。
評(píng)論