新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 讓數字預失真的故障排除和微調不再難 必備攻略請查收

        讓數字預失真的故障排除和微調不再難 必備攻略請查收

        作者:ADI產品應用工程師Wangning Ge 時間:2022-08-29 來源:電子產品世界 收藏

        摘要

        本文介紹 ADRV9002(DPD)功能。所用的一些調試技術也可應用于一般DPD系統。首先,概述關于DPD的背景信息,以及用戶試驗其系統時可能會遇到的一些典型問題。最后,文章介紹在DPD軟件工具幫助下可應用于DPD算法以分析性能的調優策略。 

        本文引用地址:http://www.104case.com/article/202208/437795.htm

        簡介

        (通常稱為DPD)是無線通信系統中廣泛使用的一個算法。DPD旨在抑制通過射頻功率放大器(PA)傳遞寬帶信號上的頻譜再生,從而提高PA的整體效率。一般而言,在處理高功率輸入信號時,PA會出現非線性效應和效率不高的問題。由于頻譜再生,相鄰頻帶出現非線性效應和頻譜干擾。圖1顯示在ADRV9002平臺上使用TETRA1標準進行DPD校正之前和之后的頻譜再生。

                                                      image.png

        1.使用ADRV9002TETRA1 DPD

         

        ADRV9002提供經過功率優化的內部可編程DPD算法,該算法可自定義,以校正PA的非線性效應,從而提高整體鄰道功率比(ACPR)。盡管DPD能夠為通信系統帶來預期的優勢,但缺乏經驗的人員開始使用DPD時往往困難重重,更別提正確設置了。這主要因為涉及多個因素,可能會導致誤差,而降低DPD性能。實際上,即使在正確設置硬件后,要確定正確的參數以微調DPD并獲得最優解決方案,仍可能具有挑戰性。本文旨在幫助在ADRV9002中使用DPD選項的工程師,以及提供一些使用可用參數微調DPD模式以獲得最優DPD性能的一般策略。此外,還使用MATLAB?工具幫助用戶分析DPD,并消除常見錯誤,同時提供有關內部DPD操作的一些見解。

         

        啟用DPD選項時,ADRV9002可提供高達20MHz的信號帶寬。這是因為接收帶寬限制在100MHz。DPD通常將以發射帶寬5倍的接收帶寬工作,因此可以看到和校正三階和五階交調信號。ADRV9002支持的最高PA峰值功率信號約為1dB(通常稱為P1dB)壓縮區。該指標表示PA壓縮的程度。如果PA壓縮超過P1dB點,則無法保證DPD正常工作。但是,這個要求并不嚴格;在許多情況下,DPD在超過P1dB點時依舊能夠工作,并且仍然提供非常出色的ACPR。但這要具體問題具體分析。一般而言,如果壓縮得太嚴重,DPD可能會出現不穩定和崩潰的問題。在后面,將詳細討論壓縮區,包括如何使用MATLAB工具觀察當前PA壓縮狀態。

         

        有關DPD的更多詳細信息,請參見UG-1828數字預失真章節。

        架構

        執行DPD功能有兩種基本方法。第一種方法稱為間接DPD,即在PA前后捕捉信號。與之不同的是直接DPD方法,即在DPD模塊前和PA后捕捉信號。每種方法的優勢和劣勢不在本文章的討論范圍內。間接DPD通過分析PA前后的信號了解其非線性特性,并在DPD模塊上執行反轉。直接DPD分析DPD前和PA后的信號,并通過在DPD模塊上應用預失真,消除二者之間的誤差。用戶應該了解,ADRV9002使用的是間接方法以及與之相關的影響。另外,請務必了解,在使用MATLAB工具時,捕捉數據也是采用間接方法。

         

        2顯示了ADRV9002的簡化DPD操作方框圖。輸入信號u(n)進入DPD模塊。DPD將對信號進行預失真處理,并生成x(n)。在這里,稱之為發射捕捉,不過這實際上是發射信號的預失真版本。然后,信號經過PA,成為y(n),信號最終發送到空中。這里y(n)稱為接收捕捉,不過這實際上是PA后的發射信號。然后,y(n)反饋到接收器端口,用作觀察接收器。本質上,DPD引擎將使用捕捉的x(n)y(n),然后生成系數,在DPD的下一次迭代中將應用這些系數。

        image.png

        2.間接DPD的簡化方框圖

        工作模式

        ADRV9002DPD上支持TDDFDD操作。在TDD模式下,每個發射幀都會更新DPD。這意味著,在發射幀期間,接收器將充當觀察路徑。在FDD中,由于發射器和接收器同時運行,因此需要專用接收器通道。ADRV9002中的2T2R能夠在2T2R/1T1R TDD1T1R FDD模式下支持DPD。

        DPD模式

        結構

        以下等式顯示在發射路徑中實現的DPD模式。

        1661765740324378.png

        其中

        u(n)DPD的輸入信號,x(n)DPD的輸出信號

        TDPD模式的總分支數

        ψt是用于實現分支t查找表(LUT)的多項式函數,lt是幅度延遲

        kt是數據延遲

        at,lt,iDPD引擎計算的系數

        bt,lt,i是啟用或禁用項的開關

        i是多項式項的指數和冪

        用戶可為每個分支配置多項式的項數量。ADRV9002提供3個記憶項分支和1個交叉項分支,每個分支的階從07。

         

        模式選擇

        用戶可選擇ADRV9002提供的默認模式選項如圖3所示),該模式應該適合大多數常見應用。或者,用戶可通過啟用和禁用項,選擇自己的模式。前3個分支(02)表示記憶項,其中分支1是中心分支。分支3是交叉項分支。

         

        注意,為了與記憶項分支區分,分支3(或交叉項分支)不應啟用零階項。

        image.png

        3.DPD模式多項式的項

        u  LUT大小:用戶可設置LUT大小。ADRV9002提供兩個選項,256512。選擇512大小,用戶將獲得更好的量化噪聲電平,從而獲得更好的ACPR,因為一般而言,較大的尺寸將提供更好的信號分辨率。對于窄帶應用,建議使用512作為默認選項。256可用于寬帶,因為噪聲電平不那么嚴格,并且可以改進計算和功率。

        u  LUT縮放:用戶可設置預LUT縮放模塊,以便對輸入數據進行縮放,使其更適合壓縮擴展器。壓縮擴展器選擇來自發射器的信號,對其進行壓縮,以適合8LUT地址。根據輸入信號電平,用戶可調整該值,以優化LUT利用率。其值可以在(0,4)的范圍內設置,步長為0.25。在本文的最后一個部分,提供了更多有關壓縮擴展器的內容。

        配置

        1661765972401066.png

        4.啟用DPD的基本配置

         

        為了執行DPD,用戶將必須在PA上啟用外部環回路徑,然后設置反饋功率,以確保其未超出范圍。注意,這是峰值功率,不是平均功率。功率太強或者太弱都會影響DPD性能。用戶還需要設置外部路徑延遲,可使用External_Delay_Measurement.py獲取。用戶可在IronPython文件夾下的ADRV9002評估軟件安裝路徑中找到該腳本。

         

        注意,只需為高采樣速率曲線設置外部延遲(例如,LTE 10MHz)。對于低采樣速率曲線(TETRA1 25kHz),用戶可將其設置為0。在本文的后面部分,將使用該軟件工具來觀察捕捉數據,以了解外部延遲的影響。

         

        其他配置

        image.png

        5.DPD上的其他配置

         

        用戶可配置樣本數量。默認情況下,用戶可設置4096個樣本。建議使用默認值。在大多數情況下,默認的4096個樣本將為DPD提供最優解決方案。

        u  其他功率縮放是更高級的參數。在大多數情況下,建議對ADRV9002使用默認值4。該參數與內部相關矩陣有關。根據實驗,默認值為測試的現有波形和PA提供最佳性能。在少數情況下,如果輸入信號幅度極小或極大,用戶可嘗試將該值調整成較小和較大的值,以使相關矩陣維持適當的條件數,從而獲得更穩定的解決方案。

        u  Rx/Tx規范化:用戶應將接收器/發射器規范化設置為數據呈線性的區域。在圖6中,線性區域用紅色顯示。在該區域,數據的冪沒有到達壓縮區,并且足夠高,可用于計算增益。選擇該區域后,DPD可估算發射器和接收器的增益,然后繼續對算法進行進一步處理。在大多數情況下,-25dBFS-15dBFS應適合大多數標準PA。但是,用戶仍然應該留意,因為特殊PA可能具有截然不同的AM/AM曲線形狀,在這種情況下,將需要進行適當的修改。本文后面部分將對此進行詳細說明。

        image.png

        6.典型AM/AM曲線。線性區域用紅色顯示

        設置

        硬件設置

        image.png

        7.典型DPD硬件方框圖

         

        典型設置如圖7所示。在信號進入PA之前,需要低通濾波器,以防止出現LO信號諧波。在某些情況下,如果內部LO相位噪聲性能無法滿足應用需求,則可能需要外部LO。在這種情況下,外部LO源需要與DEV_ CLK同步。近帶噪聲要求更嚴格的窄帶DPD通常需要外部LO。通常建議在PA前提供一個可變衰減器,用于防止對PA造成損害。反饋信號應具有適當的衰減,以便按照上一部分中討論的方式設置峰值功率。

        軟件設置

        IronPython

        下載IronPython庫,以便在GUI上執行IronPython代碼。

        image.png

        8.IronPython GUI窗口

         

        在這里用戶可以在GUIIronPython窗口中運行dpd_capture.py,如圖8所示它與MATLAB工具一起提供,以獲取發射器和接收器的捕捉數據。DPD采樣速率也包含在捕捉的文件中。

         

        注意,該腳本應在啟動或校準狀態下運行。

         

        MATLAB工具

        MATLAB工具分析從dpd_capture.py中捕捉的數據。該工具將幫助檢查信號完整性、信號對齊、PA壓縮水平,最后是DPD的微調。

         

        MATLAB工具需要MATLAB Runtime。首次安裝需要一些時間下載。安裝完成后,用戶可加載IronPython腳本捕捉的數據,然后觀察圖形,如圖9所示。

        image.png

        9.MATLAB DPD分析儀

         

        此外,用戶還可設置數據規范化的高/低閾值,然后按重新加載以查看變化。

         

        首先,在時域中繪制規范化的發射器和接收器數據。用戶可以放大圖形來觀察發射器和接收器的對齊狀態。這里只顯示了數據的實部,但用戶也可輕松繪制虛部。實部和虛部通常應該對齊或不對齊。

         

        然后是發射器和接收器頻譜——藍色是發射器,紅色是接收器。注意,這是間接DPD——發射器數據將是預失真數據,而不是SSI端口上的發射器數據路徑。

         

        接下來,有兩條AM/AM曲線,這兩條曲線均在線性和dB坐標系中。這些是有關DPD性能和PA壓縮狀態的重要指標。

         

        AM/PM曲線和接收器/發射器相位差也會被提供。

         

        此外,還有高閾值和低閾值數字。這些數字應該與ADRV9002 TES評估軟件中的設置相匹配。

         

        注意由于提供了API來捕捉數據因此如果需要,用戶可以開發自己的圖形和分析模型。該工具提供用于分析DPD的一些常見檢查。API包括

         

        adi_ADRV9002_dpd_CaptureData_Read這是讀取DPD捕捉數據必須在校準或啟動狀態下運行。

        adi_ADRV9002_DpdCfg_t → dpdSamplingRate_Hz,這是DPD采樣速率,是只讀參數。

        典型問題

        DPD可能受許多不同因素的影響。因此,請務必確保用戶考慮并檢查了列出的所有潛在問題。在考慮所有問題之前,用戶應確保硬件正確連接。

        發送數據過載

        image.png

        10.DPD的簡化硬件方框圖

         

        10顯示了ADRV9002實現DPD的簡化示意框圖。來自接口的發射器數據可能會使DAC過載。如果DAC過載,發射器的RF信號在PA介入之前就已失真。因此,請務必確保發射器數據不會使DAC過載。

         

        用戶可通過GUI觀察發射器DAC是否過載。圖11顯示TETRA1 25kHz波形。峰值與數字滿量程仍相距甚遠。對于ADRV9002,建議與滿量程至少保持幾dB,避免導致DAC過載。很難量化用戶應該回退多少——這是因為DPD將嘗試執行預失真,預失真信號將為峰值擴展,因而可能會導致DAC過載。這取決于DPD如何應對特定PA——一般而言,PA壓縮得越厲害,所需的峰值擴展空間就越大。

        image.png

        11.時域中的一部分TETRA1標準波形

         

        接收器數據過載

        另一個常見錯誤是接收器數據導致反饋DAC過載。造成該錯誤的原因是,沒有足夠的衰減返回到接收器端口。這可以從調試工具中觀察到,造成的影響是接收器數據被裁剪,因此,發射器和接收器無法有效對齊,導致DPD出現計算錯誤。DPD通常會表現得非常糟糕,從而使整個頻譜中的噪聲增加。

        image.png

        12.接收器數據過驅

        接收器數據欠載

        與接收器過載相比,這個問題常常被忽視。造成該問題的原因是,沒有正確設置反饋衰減。用戶可能給反饋路徑提供過多的衰減,這導致接收器數據太小。默認情況下,建議對ADRV9002使用-18dBm峰值,因為它能夠將數據從模擬轉換為數字,達到已知良好的DPD功率電平。但用戶可以根據需求調整該數字。用戶應該了解,DPD反饋接收器使用的衰減器與常規接收器不同,其步長更高。衰減水平通過用戶設置的峰值功率電平進行調整。-23dBm是最低功率電平(0衰減)——如果超出該范圍,將得到低功率電平,這會影響DPD性能。根據經驗,用戶應確保始終正確測量和設置反饋功率。很多時候,用戶往往會嘗試不同的功率電平,但忘記正確設置反饋功率,從而導致該問題。

        TDDFDD

        TDD模式下的DPD必須在自動狀態機中運行。使用TES進行評估時,在手動TDD模式下,用戶仍可啟用DPD,但性能會很差。這是因為DPD只能基于幀工作。在手動TDD模式下,幀的長度將由發射/接收啟用信號切換來確定。換言之,每次播放和停止就是一個幀。但是,在人工切換的時間內,PA已轉變為不同的溫度狀態。因此,如果不使用可以頻繁切換發射啟用信號的自動TDD模式,將無法維持DPD狀態。然而,在FDD模式下,DPD應正常進行。

         

        例如,用戶可能希望使用TETRA1,它遵循類似TDD的幀方案(實際上是TDM-FDD)。因此,不應該直接選擇TDD模式并手動檢查DPD,并且DPD往往表現糟糕。相反,用戶可以使用定制FDD配置文件,選擇與TETRA1相同的采樣速率和帶寬,或者用戶可以設置TETRA1 TDD幀定時,并使用自動TDD模式。這兩種方法都可以提供比手動TDD更好的性能。

         

        發射器/接收器未對齊

        ADRV9002將嘗試對齊發射器和接收器數據的時間。當用戶捕捉到數據時,用戶期望數據是對齊的。延遲測量在初始校準時完成。但是,對于高采樣速率曲線,需要單獨完成更精確的子樣本對齊。

        image.png

        13.未對齊的DPD捕捉

        1661766174702941.png

        14.放大LTE10的發射器和接收器實部數據(未對齊)

         

        DPD是自適應算法,需要計算兩個實體(即發射器和接收器)的誤差。在計算發射器和接收器的誤差之前,需要正確對齊這兩個信號——尤其是在使用高采樣速率曲線(例如,LTE10)的情況下。對齊至關重要,因為樣本之間的間隔非常小。因此,用戶需要運行腳本External_Delay_Measurement.py來提取外部路徑延遲??稍?/span>板配置路徑延遲下方輸入該數字。

        image.png

        15.IronPython外部延遲測量

         

        如果未對齊發射器和接收器數據,造成的影響是用戶將觀察到噪聲更大的AM/AM曲線。

        image.png

        16.對齊的DPD捕捉

         

        設置了路徑延遲數字后,可以觀察到,AM/AMAM/PM曲線更干凈,噪聲更小。相位差也明顯減小。

        1661766235367228.png

        17.放大的LTE10發射器和接收器實部數據(對齊)

        PA過載

        每個PA對于能夠處理的壓縮程度都有自己的規范。雖然數據手冊中通常提供P-1dB數據,但實際上,仍建議對DPD進行準確測量,以確保壓縮點位于P-1dB。通過DPD軟件,用戶能夠查看基于捕捉數據的AM/AM曲線,從而觀察壓縮點與P-1dB的接近程度。

        image.png

        18.PA過載數據

        image.png

        19.dB為單位呈現的AM/AM曲線(已放大)

         

        但是,如果信號超出P-1dB,這可能會導致DPD不穩定,或者甚至中斷,頻譜跳轉到非常高的電平,再也不會降下來。在圖19中,峰值時的壓縮遠超出1dB區域,曲線的形狀也開始變得更平坦。這表示PA被過驅,為了增加輸出功率,將提供更多輸入,以支持輸出功率電平。此時,如果用戶決定繼續增加輸入功率,DPD性能將下降。

        一般策略模式選擇與調整

        間接DPD就是在PA前后捕捉數據,而DPD引擎將嘗試模擬PA的相反效應。LUT用于使用系數應用該效應,該模式基于多項式。這意味著,DPD更像是曲線擬合問題,用戶將嘗試使用各項來曲線擬合非線性效應。區別在于,曲線擬合問題擬合的是單個曲線,而DPD還必須考慮記憶效應。ADRV90023個記憶分支,和1個用于對DPD LUT進行建模的交叉分支。

        image.png

        20.記憶項和交叉項映射

         

        20顯示ADRV9002提供的3個記憶分支和1個交叉分支。一般策略與曲線擬合問題類似。用戶可從基線著手,然后添加和移除項。一般而言,中心分支必須存在(分支1)。用戶可以逐個添加和移除項,以測試DPD的效應。然后,用戶可以繼續添加兩個記憶分支(分支02),以添加記憶效應校正的效果。注意,由于ADRV9002有兩個側分支,因此這些分支應該相同——也就是,應該對稱。此外,添加和移除項時,必須逐個操作。最后,用戶可以試驗交叉項。交叉項從數學的角度完成曲線擬合問題,因而提供更好的DPD性能。

         

        注意,用戶不得通過將項留空來跳過項,因為這將導致DPD出現不良行為。另請注意,用戶不得在交叉項分支上設置第0項,因為從數學的角度來看,這也是無效的。

        image.png

        21.無效的模式項設置

        高級調整

        壓縮擴展器和預LUT縮放模塊

        在上一部分中,提到了壓縮擴展器。首次閱讀用戶指南時,這一概念可能會令人困惑,不知道它是什么意思或者該選擇什么(256還是512)。壓縮擴展器的目的是壓縮輸入數據,并將其放入LUT。

        image.png

        22.壓縮擴展器——估算平方根的形狀

         

        壓縮擴展器的一般形狀是平方根,在這里,I/Q數據傳入。在將這些數據放入LUT之前,等式√(i(n)2+q(n)2)將用于從之前的等式中獲得信號幅度。然而,由于平方根運算對速度的要求很高,并且還需要將其映射到LUT8位或9位),因此需使用壓縮擴展器。圖22是理想的平方根曲線。此處將不顯示實際實現方案,但簡言之,這將是對平方根曲線的估算。

         

        了解數據如何放入LUT后,可以更加明智地開始調整數據。ADRV9002可選擇8(256)9(512)作為LUT大小。更大的LUT意味著數據的地址位置加倍。這意味著,數據的分辨率更高,并且一般而言,量化噪聲電平更好。對于窄帶應用,由于噪聲非常重要,因此建議始終選擇512。對于寬帶應用,由于噪聲電平沒那么重要,因此可使用任一選項。但是,如果選擇512,消耗的功率會略高,計算速度會比較慢。

         

        直方圖和CFR

        DPD配置部分,簡要提及預縮放。該參數用于為LUT提供大量輸入數據。需要大量輸入數據的原因是,在某些情況下,DPD未正確使用數據。對于此類PA壓縮問題,真正被壓縮并導致問題的是高幅度樣本。因此,不能平等對待所有樣本;相反,要重點關注高幅度樣本。

         

        看一下TETRA1標準波形直方圖(參見圖23和圖24)。可以看到,大多數值出現在中高幅度區域。這是因為TETRA1標準使用D-QPSK調制方案,結果是信號將獲得恒定包絡。峰值功率與平均功率之間沒有太大的區別。

         

        這正是DPD所需要的。如前所述,DPD將捕捉更高幅度的樣本,因此將更好地表征PA的行為。

        image.png

        23.TETRA1幅度直方圖

        image.png

        24.TETRA1功率直方圖

         

        現在,以類似方式來看LTE10標準。LTE使用OFDM調制方案,將成百上千的子載波組合在一起。這里可再次看到LTE10的幅度和功率??梢暂p松觀察到與TETRA1的區別,即峰值離主平均值非常遠。

        image.png

        25.LTE10幅度直方圖,沒有CFR

        image.png

        26.LTE功率直方圖,沒有CFR

         

        在功率直方圖中(參見圖26),如果放大遠端,可以看到,仍有非常高的峰值出現,但概率非常低。對于DPD,這是非常不利的。原因有二。

         

        首先,高峰值(高幅度信號)的低概率計數將使PA的效率極其低下。例如,LTE PAPR約為11dB。這是很大的不同。為了避免損壞PA,輸入電平將需要大幅回退。因此,PA沒有用其大部分增益能力來提高功率。

         

        其次,高峰值也是在浪費LUT的利用率。由于這些高峰值,LUT將為它們分配大量資源并為大部分數據僅分配一小部分LUT。這會降低DPD性能。

        image.png

        27.放大高幅度樣本

         

        削峰(CFR)技術將信號峰值向下移動到更能接受的水平。這通常用于OFDM類型的信號。ADRV9002不包含片內CFR,因此需要在外部實現該功能。為此,在ADRV9002 TES評估軟件中,還包含CFR版本的LTE波形。CFR_sample_ rate_15p36M_bw_10M.csv如圖28所示??梢钥吹?,由于CFR,在高功率時,信號的峰值被限制在特定水平(在末端傾斜)。這將PAPR有效地推動到6.7dB,差值約為5dB。CFR的操作將對數據造成損害,因為EVM將降級。但是,與整個波形相比,高電平幅度峰值出現的概率非常小,將帶來巨大的優勢。

        image.png

        28.LTE10幅度直方圖,有CFR

        image.png

        29.LTE10功率直方圖,有CFR

        結論

        DPD是一種復雜的算法,許多人都覺得很難用。為了獲得最優結果,需要花費大量精力設置硬件和軟件,并且要小心謹慎。ADIADRV9002提供集成式片內DPD,將顯著降低復雜性。ADRV9002還配備DPD軟件工具,以幫助用戶分析其DPD性能。

        ###

        關于ADI公司

        ADI是全球領先的高性能模擬技術公司,致力于解決最艱巨的工程設計挑戰。憑借杰出的檢測、測量、電源、連接和解譯技術,搭建連接現實世界和數字世界的智能化橋梁,從而幫助客戶重新認識周圍的世界。

        作者簡介

        Wangning Ge是一名產品應用工程師,工作地點在新澤西州薩默塞特。他于2019年加入ADI公司。在此之前,他在諾基亞(以前的阿爾卡特朗訊)擔任軟件工程師。在DPD算法設計和基站射頻應用領域,Wangning擁有豐富的經驗。他負責ADRV9001系列收發器產品。

         




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 子洲县| 瑞丽市| 阳谷县| 贺兰县| 怀柔区| 应城市| 凌源市| 中牟县| 尼勒克县| 什邡市| 响水县| 阿勒泰市| 宝应县| 固始县| 仁寿县| 门源| 河北区| 凤城市| 阜南县| 三门峡市| 织金县| 昭觉县| 平泉县| 临沧市| 尉氏县| 宜黄县| 广宗县| 女性| 重庆市| 淅川县| 德清县| 航空| 洛宁县| 浑源县| 公安县| 汉源县| 宁乡县| 丹棱县| 北川| 瓦房店市| 黔西县|