本文介紹數(shù)字預(yù)失真(DPD)的數(shù)學(xué)基礎(chǔ)知識(shí),以及它如何在收發(fā)器的微處理器和硬件中實(shí)現(xiàn)。闡述為何現(xiàn)代通信系統(tǒng)需要DPD,并探討如何通過數(shù)學(xué)模型捕捉現(xiàn)實(shí)世界的信號(hào)失真。
簡(jiǎn)介
DPD是數(shù)字預(yù)失真的首字母縮寫,許多射頻(RF)工程師、信號(hào)處理愛好者和嵌入式軟件開發(fā)人員都熟悉這一術(shù)語。DPD在蜂窩通信系統(tǒng)中隨處可見,使功率放大器(PA)能夠有效地為天線提供最大功率。隨著5G使基站中的天線數(shù)量增加,頻譜變得更加擁擠,DPD開始成為一項(xiàng)關(guān)鍵技術(shù),支持開發(fā)經(jīng)濟(jì)高效且符合規(guī)格要求的蜂窩系統(tǒng)。
對(duì)于DPD,無論從純粹的數(shù)學(xué)角度出發(fā),還是在微處理器上實(shí)現(xiàn)更受限制,我們?cè)S多人都有自己獨(dú)特的見解。您可能是負(fù)責(zé)評(píng)估RF基站產(chǎn)品中DPD性能的工程師,或者是一名算法開發(fā)人員,很想知道數(shù)學(xué)建模技術(shù)在實(shí)際系統(tǒng)中的實(shí)現(xiàn)方式。本文旨在拓寬您的知識(shí)面,幫助您從各個(gè)角度全面了解這個(gè)主題。
什么是DPD?為什么要使用DPD?
當(dāng)基站射頻裝置輸出RF信號(hào)時(shí)(參見圖1),需要先將其放大,然后再通過天線發(fā)射。我們使用RF PA來執(zhí)行此操作(放大)。在理想情況下,PA接收輸入信號(hào),然后輸出與其輸入成正比的更高功率信號(hào)。在執(zhí)行此操作期間,PA會(huì)盡可能保持高能效,將提供給放大器的大部分直流電源都轉(zhuǎn)化為信號(hào)輸出功率。
圖1.采用和未采用DPD技術(shù)的簡(jiǎn)化射頻結(jié)構(gòu)框圖。
但這不是一個(gè)理想的世界。PA由晶體管構(gòu)成,晶體管是有源器件,本身具有非線性。如圖2所示,如果我們?cè)谄洹熬€性”區(qū)域使用PA(這里的線性是相對(duì)而言;所以加了引號(hào)),則輸出功率與輸入功率相對(duì)成比例。此方法的缺點(diǎn)是PA的使用效率通常很低,提供的大部分功率都會(huì)作為熱量流失。我們通常希望在PA開始?jí)嚎s時(shí)使用。這意味著,如果輸入信號(hào)增加了設(shè)定量(例如3 dB),PA輸出不會(huì)增加同樣的量(可能只增加1 dB)。很顯然,此時(shí)放大器使信號(hào)嚴(yán)重失真。
圖2.PA輸入功率與輸出功率之間的關(guān)系圖(顯示了樣本輸入/輸出信號(hào)的投影)。
這種失真發(fā)生在頻域中的已知位置,具體取決于輸入信號(hào)。圖3顯示了這些位置,以及基頻與這些失真產(chǎn)物之間的關(guān)系。在RF系統(tǒng)中,我們只需要對(duì)基波信號(hào)附近的失真進(jìn)行補(bǔ)償,這些信號(hào)是奇階交調(diào)產(chǎn)物。系統(tǒng)濾波處理帶外產(chǎn)物(諧波和偶階交調(diào)產(chǎn)物)。圖4顯示RF PA的壓縮點(diǎn)附近的輸出。交調(diào)產(chǎn)物(特別是三階)清晰可見,就像是圍繞著目標(biāo)信號(hào)的“裙擺”。
圖4.2× 20 Mhz載波通過SKY66391-12 RF PA。中心頻率 = 1850 MHz。
DPD旨在通過觀察PA輸出來表征這種失真,要了解所需輸出信號(hào),隨之更改輸入信號(hào),使得PA輸出接近理想值。只有在相當(dāng)具體的情況下才能有效地實(shí)現(xiàn)這一目標(biāo)。我們需要配置放大器和輸入信號(hào),使放大器有一定程度的壓縮但未完全飽和。
PA失真建模背后的數(shù)學(xué)計(jì)算
看到希臘字母和其他數(shù)學(xué)符號(hào),會(huì)不會(huì)讓人想起過去可怕的大學(xué)考試?不止是您如此!如果大家得到的首批參考資料中有一份是涉及很多數(shù)學(xué)知識(shí)的學(xué)術(shù)論文,那么很可能會(huì)打退堂鼓,不想去看它。這篇論文 “射頻功率放大器數(shù)字預(yù)失真的廣義記憶多項(xiàng)式模型”1 具有開創(chuàng)性,它介紹了針對(duì)DPD廣泛使用的廣義記憶多項(xiàng)式(GMP)方法。如果您只涉足信號(hào)處理方面的工作,上述主題內(nèi)容對(duì)您而言可能有點(diǎn)深?yuàn)W。所以,我們先嘗試拆解一下GMP方法,以更直觀地了解數(shù)學(xué)在其中的作用。
Volterra級(jí)數(shù)是DPD的重要數(shù)學(xué)基礎(chǔ),它用于建立具有記憶的非線性系統(tǒng)模型。記憶僅僅意味著系統(tǒng)的當(dāng)前輸出取決于當(dāng)前和過去的輸入。Volterra級(jí)數(shù)很常用(所以功能強(qiáng)大),在電氣工程以外的許多領(lǐng)域都有使用。對(duì)于PA DPD,Volterra級(jí)數(shù)可以精簡(jiǎn)使用,使其在實(shí)時(shí)數(shù)字系統(tǒng)中更易實(shí)現(xiàn),也更穩(wěn)定。GMP就是這樣一種精簡(jiǎn)方法。
圖5顯示如何使用GMP對(duì)PA的輸入x和輸出y之間的關(guān)系進(jìn)行建模??梢钥吹?,該等式的三個(gè)單獨(dú)的求和塊彼此都非常相似。我們先來看看下方用紅色圈出來的第一個(gè)。|x(…)|k項(xiàng)是指輸入信號(hào)的包絡(luò),其中k是多項(xiàng)式階。l將記憶集成到系統(tǒng)中。如果La = {0,1,2},那么該模型允許輸出yGMP (n)由當(dāng)前的輸入x(n)和過去輸入x(n – 1)和x(n – 2)決定。圖6分析多項(xiàng)式階k對(duì)樣本向量的影響。向量x是單個(gè)20 MHz載波,在復(fù)基帶上表示出來。去除記憶部分,以簡(jiǎn)化GMP建模等式。x|x|k圖顯示的失真與圖4中的實(shí)際失真非常相似。
每個(gè)多項(xiàng)式階(k)和記憶延遲(l)都有相關(guān)的復(fù)值權(quán)重(akl)。在選擇模型的復(fù)雜程度之后(其中包括k和l的值),需要根據(jù)已知輸入信號(hào)的PA輸出實(shí)際觀測(cè)值來求解這些權(quán)重。圖7將簡(jiǎn)化的等式轉(zhuǎn)換為矩陣形式??梢允褂脭?shù)學(xué)符號(hào)簡(jiǎn)明表示該模型。但是,要在數(shù)字?jǐn)?shù)據(jù)緩沖區(qū)實(shí)現(xiàn)DPD,用矩陣表示法會(huì)更簡(jiǎn)單,也更具代表性。
我們來看看圖6中等式的第二行和第三行,為了簡(jiǎn)化,這兩行被忽略了。注意,如果m設(shè)置為0,那么這兩行會(huì)變得與第一行一模一樣。這些行允許在包絡(luò)項(xiàng)和復(fù)基帶信號(hào)之間增加延遲(正延遲和負(fù)延遲)。這些稱為滯后交叉和超前交叉項(xiàng),可以顯著提高DPD的建模精度。在我們嘗試對(duì)放大器的行為建模時(shí),這些項(xiàng)提供了額外的自由度。注意,Mb、Mc、Kb和Kc不包含0;否則,會(huì)重復(fù)第一行的項(xiàng)。
圖7.將簡(jiǎn)化的等式轉(zhuǎn)換為數(shù)據(jù)緩沖區(qū)的矩陣運(yùn)算(更接近于數(shù)字實(shí)現(xiàn)方式)。
那么,我們?nèi)绾未_定模型的階、記憶項(xiàng)的數(shù)量,以及應(yīng)該添加哪些交叉項(xiàng)?此時(shí),就需要一定數(shù)量的“黑魔法”了。我們掌握的關(guān)于失真的物理學(xué)知識(shí)能夠提供一定幫助。放大器的類型、制造材料,以及通過放大器的信號(hào)帶寬都會(huì)影響建模項(xiàng),可以幫助熟悉該領(lǐng)域的工程師確定應(yīng)該使用哪個(gè)模型。但是,除此之外,還涉及一定程度的反復(fù)試驗(yàn)。
現(xiàn)在有了模型架構(gòu),我們從數(shù)學(xué)角度來解決該問題的最后一個(gè)方面是如何求解權(quán)重系數(shù)。在實(shí)際場(chǎng)景中,人們傾向于求解上述模型的倒數(shù)。事實(shí)證明,這些模型系數(shù)能夠彼此互惠,可以使用相同的權(quán)重對(duì)捕捉到的PA輸出向量進(jìn)行后失真,以消除非線性,并對(duì)通過PA發(fā)送的發(fā)射信號(hào)預(yù)失真,使得PA輸出盡可能呈現(xiàn)線性。在圖8所示的框圖中,顯示了如何對(duì)權(quán)重系數(shù)進(jìn)行估算和預(yù)失真。
圖8.建模和預(yù)失真間接實(shí)現(xiàn)框圖。
在逆模型中,將圖7給出的矩陣等式互換,給出X? = Yw。其中,矩陣Y的構(gòu)成方式與其他示例中X的構(gòu)成方式相同,如圖9所示。在本例中,包含了一個(gè)記憶項(xiàng),且減少了包含的多項(xiàng)式的階數(shù)。為了求解w,我們需要得出Y的倒數(shù)。Y不是方形的(是一個(gè)瘦長(zhǎng)矩陣),所以需要使用“偽逆”矩陣進(jìn)行求解(參見等式1)。這是從最小二乘意義上求解w,也就是說,最小化了X?和Yw之間的差的平方,正合我們的心意!
鑒于是在具有不同信號(hào)的真實(shí)環(huán)境中使用,我們可以對(duì)其進(jìn)一步優(yōu)化。在這里,系數(shù)是基于之前的值進(jìn)行更新,因此受到限制。μ是0和1之間的常數(shù)值,用于控制每次迭代時(shí)權(quán)重的變化量。如果μ = 1,w0 = 0,那么此等式立即恢復(fù)到基本最小二乘解。如果將μ設(shè)為小于1的值,則需要多次迭代才能使系數(shù)收斂。
注意,這里描述的建模和估算技術(shù)并非是執(zhí)行DPD的唯一方式。也可以使用其他技術(shù),例如基于動(dòng)態(tài)偏差減少的建模來代替或作為附加方法使用。上述用于求解系數(shù)的估算技術(shù)具有多種實(shí)現(xiàn)方式。鑒于本文篇幅短小,并非書籍,所以此處不再贅述。
如何在微處理器中實(shí)現(xiàn)這一技術(shù)?
我們前面介紹了相關(guān)數(shù)學(xué)知識(shí)。下一個(gè)問題:如何在實(shí)際通信系統(tǒng)中進(jìn)行應(yīng)用?它在數(shù)字基帶中實(shí)現(xiàn),一般在微處理器或FPGA中實(shí)現(xiàn)。ADI的RadioVerse?收發(fā)器產(chǎn)品(例如ADRV902x系列)內(nèi)置微處理器內(nèi)核,其結(jié)構(gòu)有助于輕松實(shí)現(xiàn)DPD。
圖9.以矩陣形式表示的逆算法等式。有些記憶包含在其中。
圖10.具有一次記憶選擇和一個(gè)三階交叉項(xiàng)元素的三階預(yù)失真計(jì)算案例。
在嵌入式軟件中實(shí)現(xiàn)DPD涉及兩個(gè)方面。一是DPD執(zhí)行器,對(duì)實(shí)時(shí)發(fā)送的數(shù)據(jù)執(zhí)行實(shí)時(shí)預(yù)失真,二是DPD自適應(yīng)引擎,基于觀察到的PA輸出來更新DPD系數(shù)。
對(duì)于如何在微處理器或類似器件中實(shí)時(shí)執(zhí)行DPD和許多其他信號(hào)處理概念,關(guān)鍵在于使用查找表(LUT)。LUT允許用更簡(jiǎn)單的矩陣索引操作來代替成本高昂的運(yùn)行時(shí)計(jì)算。我們來看看DPD執(zhí)行器如何對(duì)發(fā)送的數(shù)據(jù)樣本應(yīng)用預(yù)失真。代表符號(hào)如圖8所示,其中u(n)表示要傳輸?shù)男聰?shù)據(jù)樣本,x(n)表示預(yù)失真版本。圖10顯示在給定場(chǎng)景下,獲取一個(gè)預(yù)失真樣本所需的計(jì)算。這是一個(gè)相對(duì)受限的示例,最高多項(xiàng)式階為三階,只有一次記憶選取和一個(gè)交叉項(xiàng)。即使在這種情況下,要獲取這樣一個(gè)數(shù)據(jù)樣本,也需要進(jìn)行大量乘法、冪運(yùn)算和加法運(yùn)算。
在這種情況下,使用LUT可以減輕實(shí)時(shí)計(jì)算負(fù)擔(dān)??梢詫D10所示的等式改寫成圖11所示的樣式,其中輸入LUT的數(shù)據(jù)會(huì)變得更加明顯。每個(gè)LUT都包含等式中突出顯示項(xiàng)的結(jié)果值,它們對(duì)應(yīng)|u(n)|的多個(gè)可能值。分辨率取決于在可用硬件中實(shí)現(xiàn)的LUT大小。當(dāng)前輸入樣本的幅度大小基于LUT的分辨率進(jìn)行量化,可以作為索引,用于訪問給定輸入的正確LUT元素。
圖11.對(duì)等式項(xiàng)重新分組,以顯示LUT的結(jié)構(gòu)。
圖12顯示如何將LUT集成到我們示例案例的完全預(yù)失真執(zhí)行器實(shí)現(xiàn)方案。注意,這只是其中一種可能的實(shí)現(xiàn)方法。在仍然保持相同輸出的情況下,可以做出更改,例如:可以將延遲元素z–1移動(dòng)到LUT2右側(cè)。
圖12.使用LUT可能實(shí)現(xiàn)DPD的框圖。
自適應(yīng)引擎負(fù)責(zé)求解用于計(jì)算執(zhí)行器中的LUT值的系數(shù)。這涉及到求解等式1和2中描述的w向量。偽逆矩陣運(yùn)算(YH Y)-1 YH會(huì)耗費(fèi)大量計(jì)算資源。等式1可以改寫為
因?yàn)長(zhǎng)和LH分別是上、下三角矩陣,所以花費(fèi)很少的計(jì)算資源,就可以求解等式5和等式6,得出w。自適應(yīng)引擎每次運(yùn)行,得出w的新值時(shí),都需要更新執(zhí)行器LUT來體現(xiàn)這一點(diǎn)。根據(jù)觀察到的PA輸出,或者操作員掌握的待傳輸信號(hào)的變化情況,自適應(yīng)引擎可以按照設(shè)定的定期間隔或不規(guī)則的間隔執(zhí)行操作。
在嵌入式系統(tǒng)中實(shí)現(xiàn)DPD需要進(jìn)行大量檢查和平衡,以確保系統(tǒng)的穩(wěn)定性。最重要的是,發(fā)送數(shù)據(jù)緩沖器和捕捉緩沖器數(shù)據(jù)的時(shí)間要一致,以確保它們之間建立的數(shù)學(xué)關(guān)系是正確的,且在長(zhǎng)時(shí)間之后仍然保持正確。如果這種一致性喪失,那么自適應(yīng)引擎返回的系數(shù)將不能對(duì)系統(tǒng)執(zhí)行正確的預(yù)失真,可能導(dǎo)致系統(tǒng)不穩(wěn)定。還應(yīng)檢查預(yù)失真執(zhí)行器輸出,確保信號(hào)不會(huì)使DAC飽和。
結(jié)論
本文從基礎(chǔ)數(shù)學(xué)的角度研究DPD及其在硬件中的實(shí)現(xiàn)方法,希望借此揭示關(guān)于DPD的一些奧秘。本文對(duì)該主題的探討只是冰山一角,可能有助于推動(dòng)讀者進(jìn)一步研究通信系統(tǒng)中信號(hào)處理技術(shù)的應(yīng)用情況。Pratt和Kearney的研究是關(guān)于在有線通信系統(tǒng)超寬帶寬用例中使用DPD的一個(gè)不錯(cuò)的參考資料。2ADI的RadioVerse收發(fā)器產(chǎn)品可以集成DPD這類算法,為客戶提供高度集成的RF硬件和可配置的軟件工具。
審核編輯:郭婷
-
功率放大器
+關(guān)注
關(guān)注
102文章
3568瀏覽量
131810 -
RF
+關(guān)注
關(guān)注
65文章
3050瀏覽量
166961 -
DPD
+關(guān)注
關(guān)注
3文章
40瀏覽量
15253
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論