<table id="m226q"></table>
<bdo id="m226q"><center id="m226q"></center></bdo>
  • <bdo id="m226q"><center id="m226q"></center></bdo>
    <noscript id="m226q"><noscript id="m226q"></noscript></noscript>
  • 新聞中心

    EEPW首頁 > 模擬技術 > 設計應用 > RF通信的數字預失真:從數學運算等式到解決方案的實現

    RF通信的數字預失真:從數學運算等式到解決方案的實現

    作者:時間:2022-05-20來源:ADI收藏

    DPD是數字預失真的首字母縮寫,許多射頻(RF)工程師、信號處理愛好者和嵌入式軟件開發人員都熟悉這一術語。DPD在蜂窩通信系統中隨處可見,使功率放大器(PA)能夠有效地為天線提供最大功率。隨著5G使基站中的天線數量增加,頻譜變得更加擁擠,DPD開始成為一項關鍵技術,支持開發經濟高效且符合規格要求的蜂窩系統。

    本文引用地址:http://www.rethinkthailand.com/article/202205/434284.htm


    對于DPD,無論從純粹的數學角度出發,還是在微處理器上實現更受限制,我們許多人都有自己獨特的見解。您可能是負責評估RF基站產品中DPD性能的工程師,或者是一名算法開發人員,很想知道數學建模技術在實際系統中的實現方式。本文旨在拓寬您的知識面,幫助您從各個角度全面了解這個主題。


    什么是DPD?為什么要使用DPD?


    當基站射頻裝置輸出RF信號時(參見圖1),需要先將其放大,然后再通過天線發射。我們使用RF PA來執行此操作(放大)。在理想情況下,PA接收輸入信號,然后輸出與其輸入成正比的更高功率信號。在執行此操作期間,PA會盡可能保持高能效,將提供給放大器的大部分直流電源都轉化為信號輸出功率。


    16.png

    圖1.采用和未采用DPD技術的簡化射頻結構框圖


    但這不是一個理想的世界。PA由晶體管構成,晶體管是有源器件,本身具有非線性。如圖2所示,如果我們在其“線性”區域使用PA(這里的線性是相對而言;所以加了引號),則輸出功率與輸入功率相對成比例。此方法的缺點是PA的使用效率通常很低,提供的大部分功率都會作為熱量流失。我們通常希望在PA開始壓縮時使用。這意味著,如果輸入信號增加了設定量(例如3 dB),PA輸出不會增加同樣的量(可能只增加1 dB)。很顯然,此時放大器使信號嚴重失真。


    17.png

    圖2.PA輸入功率與輸出功率之間的關系圖(顯示了樣本輸入/輸出信號的投影)


    這種失真發生在頻域中的已知位置,具體取決于輸入信號。圖3顯示了這些位置,以及基頻與這些失真產物之間的關系。在RF系統中,我們只需要對基波信號附近的失真進行補償,這些信號是奇階交調產物。系統濾波處理帶外產物(諧波和偶階交調產物)。圖4顯示RF PA的壓縮點附近的輸出。交調產物(特別是三階)清晰可見,就像是圍繞著目標信號的“裙擺”。


    18.png

    圖3.雙音輸入交調和諧波失真的位置


    19.jpg

    圖4.2× 20 Mhz載波通過SKY66391-12 RF PA,中心頻率 = 1850 MHz


    DPD旨在通過觀察PA輸出來表征這種失真,要了解所需輸出信號,隨之更改輸入信號,使得PA輸出接近理想值。只有在相當具體的情況下才能有效地實現這一目標,我們需要配置放大器和輸入信號,使放大器有一定程度的壓縮但未完全飽和。


    PA失真建模背后的數學計算


    Volterra級數是DPD的重要數學基礎,它用于建立具有記憶的非線性系統模型。記憶僅僅意味著系統的當前輸出取決于當前和過去的輸入。Volterra級數很常用(所以功能強大),在電氣工程以外的許多領域都有使用。對于PA DPD,Volterra級數可以精簡使用,使其在實時數字系統中更易實現,也更穩定。GMP就是這樣一種精簡方法。


    圖5顯示如何使用GMP對PA的輸入x和輸出y之間的關系進行建模??梢钥吹?,該等式的三個單獨的求和塊彼此都非常相似。我們先來看看下方用紅色圈出來的第一個。|x(…)|k項是指輸入信號的包絡,其中k是多項式階。l將記憶集成到系統中。如果La = {0,1,2},那么該模型允許輸出yGMP (n)由當前的輸入x(n)和過去輸入x(n – 1)和x(n – 2)決定。圖6分析多項式階k對樣本向量的影響。向量x是單個20 MHz載波,在復基帶上表示出來。去除記憶部分,以簡化GMP建模等式。x|x|k圖顯示的失真與圖4中的實際失真非常相似。


    每個多項式階(k)和記憶延遲(l)都有相關的復值權重(akl)。在選擇模型的復雜程度之后(其中包括k和l的值),需要根據已知輸入信號的PA輸出實際觀測值來求解這些權重。圖7將簡化的等式轉換為矩陣形式??梢允褂脭祵W符號簡明表示該模型。但是,要在數字數據緩沖區實現DPD,用矩陣表示法會更簡單,也更具代表性。


    我們來看看圖6中等式的第二行和第三行,為了簡化,這兩行被忽略了。注意,如果m設置為0,那么這兩行會變得與第一行一模一樣。這些行允許在包絡項和復基帶信號之間增加延遲(正延遲和負延遲)。這些稱為滯后交叉和超前交叉項,可以顯著提高DPD的建模精度。在我們嘗試對放大器的行為建模時,這些項提供了額外的自由度。注意,Mb、Mc、Kb和Kc不包含0;否則,會重復第一行的項。


    20.png

    圖5.用于PA失真建模的GMP


    21.png

    圖6.在信號x的頻域中,階(k)對信號的影響曲線圖


    22.png

    圖7.將簡化的等式轉換為數據緩沖區的矩陣運算(更接近于數字實現方式)


    那么,我們如何確定模型的階、記憶項的數量,以及應該添加哪些交叉項?此時,就需要一定數量的“黑魔法”了。我們掌握的關于失真的物理學知識能夠提供一定幫助。放大器的類型、制造材料,以及通過放大器的信號帶寬都會影響建模項,可以幫助熟悉該領域的工程師確定應該使用哪個模型。但是,除此之外,還涉及一定程度的反復試驗。


    現在有了模型架構,我們從數學角度來解決該問題的最后一個方面是如何求解權重系數。在實際場景中,人們傾向于求解上述模型的倒數。事實證明,這些模型系數能夠彼此互惠,可以使用相同的權重對捕捉到的PA輸出向量進行后失真,以消除非線性,并對通過PA發送的發射信號預失真,使得PA輸出盡可能呈現線性。在圖8所示的框圖中,顯示了如何對權重系數進行估算和預失真。


    23.png

    圖8.建模和預失真間接實現框圖


    在逆模型中,將圖7給出的矩陣等式互換,給出X? = Yw。其中,矩陣Y的構成方式與其他示例中X的構成方式相同,如圖9所示。在本例中,包含了一個記憶項,且減少了包含的多項式的階數。為了求解w,我們需要得出Y的倒數。Y不是方形的(是一個瘦長矩陣),所以需要使用“偽逆”矩陣進行求解(參見等式1)。這是從最小二乘意義上求解w,也就是說,最小化了X?和Yw之間的差的平方,正合我們的心意!


    24.png


    鑒于是在具有不同信號的真實環境中使用,我們可以對其進一步優化。在這里,系數是基于之前的值進行更新,因此受到限制。μ是0和1之間的常數值,用于控制每次迭代時權重的變化量。如果μ = 1,w0 = 0,那么此等式立即恢復到基本最小二乘解。如果將μ設為小于1的值,則需要多次迭代才能使系數收斂。


    25.png


    注意,這里描述的建模和估算技術并非是執行DPD的唯一方式。也可以使用其他技術,例如基于動態偏差減少的建模來代替或作為附加方法使用。


    如何在微處理器中實現這一技術?


    通常而言,它在數字基帶中實現,一般在微處理器或FPGA中實現。ADI的RadioVerse收發器產品(例如ADRV902x系列)內置微處理器內核,其結構有助于輕松實現DPD。


    26.png

    圖9.以矩陣形式表示的逆算法等式。有些記憶包含在其中


    27.png

    圖10.具有一次記憶選擇和一個三階交叉項元素的三階預失真計算案例


    在嵌入式軟件中實現DPD涉及兩個方面。一是DPD執行器,對實時發送的數據執行實時預失真,二是DPD自適應引擎,基于觀察到的PA輸出來更新DPD系數。


    對于如何在微處理器或類似器件中實時執行DPD和許多其他信號處理概念,關鍵在于使用查找表(LUT)。LUT允許用更簡單的矩陣索引操作來代替成本高昂的運行時計算。我們來看看DPD執行器如何對發送的數據樣本應用預失真。代表符號如圖8所示,其中u(n)表示要傳輸的新數據樣本,x(n)表示預失真版本。圖10顯示在給定場景下,獲取一個預失真樣本所需的計算。這是一個相對受限的示例,最高多項式階為三階,只有一次記憶選取和一個交叉項。即使在這種情況下,要獲取這樣一個數據樣本,也需要進行大量乘法、冪運算和加法運算。


    在這種情況下,使用LUT可以減輕實時計算負擔??梢詫D10所示的等式改寫成圖11所示的樣式,其中輸入LUT的數據會變得更加明顯。每個LUT都包含等式中突出顯示項的結果值,它們對應|u(n)|的多個可能值。分辨率取決于在可用硬件中實現的LUT大小。當前輸入樣本的幅度大小基于LUT的分辨率進行量化,可以作為索引,用于訪問給定輸入的正確LUT元素。


    28.png

    圖11.對等式項重新分組,以顯示LUT的結構


    圖12顯示如何將LUT集成到我們示例案例的完全預失真執行器實現方案。注意,這只是其中一種可能的實現方法。在仍然保持相同輸出的情況下,可以做出更改,例如:可以將延遲元素z–1移動到LUT2右側。


    29.png

    圖12.使用LUT可能實現DPD的框圖


    自適應引擎負責求解用于計算執行器中的LUT值的系數。這涉及到求解等式1和2中描述的w向量。偽逆矩陣運算(YH Y)-1 YH會耗費大量計算資源。等式1可以改寫為


    30.png


    如果CYY = YHY,CYx = YH x,等式3會變成


    31.png


    CYY是矩形矩陣,可以通過柯列斯基分解方法分解為上三角矩陣L和共軛轉置矩陣(CYY =LH L)的乘積。這樣我們可以通過引入一個虛擬變量z來求解w,求解方法如下:


    32.png


    然后,重新代入這個虛擬變量,求解


    33.png


    因為L和LH分別是上、下三角矩陣,所以花費很少的計算資源,就可以求解等式5和等式6,得出w。自適應引擎每次運行,得出w的新值時,都需要更新執行器LUT來體現這一點。根據觀察到的PA輸出,或者操作員掌握的待傳輸信號的變化情況,自適應引擎可以按照設定的定期間隔或不規則的間隔執行操作。


    在嵌入式系統中實現DPD需要進行大量檢查和平衡,以確保系統的穩定性。最重要的是,發送數據緩沖器和捕捉緩沖器數據的時間要一致,以確保它們之間建立的數學關系是正確的,且在長時間之后仍然保持正確。如果這種一致性喪失,那么自適應引擎返回的系數將不能對系統執行正確的預失真,可能導致系統不穩定。還應檢查預失真執行器輸出,確保信號不會使DAC飽和。


    結論


    本文從基礎數學的角度研究DPD及其在硬件中的實現方法,希望借此揭示關于DPD的一些奧秘。本文對該主題的探討只是冰山一角,可能有助于推動讀者進一步研究通信系統中信號處理技術的應用情況。ADI的RadioVerse收發器產品可以集成DPD這類算法,為客戶提供高度集成的RF硬件和可配置的軟件工具。




    關鍵詞: rf

    評論


    相關推薦

    技術專區

    關閉
    柳岩被弄高潮大全,成人性午夜视频在线观看,国产免费一区二区三区香蕉金
    <table id="m226q"></table>
    <bdo id="m226q"><center id="m226q"></center></bdo>
  • <bdo id="m226q"><center id="m226q"></center></bdo>
    <noscript id="m226q"><noscript id="m226q"></noscript></noscript>