本文介紹ADRV9002的數字預失真(DPD)功能。使用的一些調試技術也可以應用于一般DPD系統。首先,概述了有關DPD的背景信息以及用戶在試驗其系統時可能遇到的一些典型問題。最后,它描述了可以在DPD軟件工具的幫助下應用于DPD算法以分析性能的調整策略。
介紹
數字預失真(通常稱為DPD)是一種廣泛用于無線通信系統的算法。DPD的目的是抑制通過射頻功率放大器(PA)的寬帶信號的頻譜再生,1從而提高PA的整體效率。通常,PA在處理高功率輸入信號時具有非線性效應和低效率。非線性效應和光譜干擾是由光譜向相鄰波段的再生引起的。圖1顯示了在ADRV9002平臺上使用TETRA1標準進行DPD校正前后的頻譜再生。
圖1.使用ADRV9002的TETRA1 DPD。
ADRV9002提供內部可編程和功率優化的DPD算法,可定制該算法以校正PA的非線性效應,從而提高整體相鄰通道功率比(ACPR)。盡管DPD為通信系統帶來了預期的好處,但對于沒有經驗的人來說,開始使用DPD通常非常困難,更不用說正確設置它了。這主要是由于許多因素可能導致錯誤,從而導致DPD性能不佳。即使在正確設置硬件之后,確定正確的參數以微調DPD并獲得最佳解決方案可能仍然具有挑戰性。本文旨在幫助在ADRV9002中使用DPD選項的工程師。我們還包括用戶經常遇到的一些典型問題,并提供了一些使用可用參數微調DPD模型的一般策略,以獲得最佳的DPD性能。該設備還包括一個MATLAB工具,可幫助用戶分析DPD。這應該有助于消除許多常見錯誤,并提供有關內部DPD操作的一些見解。本文將幫助用戶開始使用DPD,并提供有關理論概念和解決實際問題的有用信息。?
啟用DPD選項時,ADRV9002提供高達20 MHz的信號帶寬。這是由于接收帶寬被限制在100 MHz。 通常,DPD將以5×發射器帶寬的接收帶寬工作,以便可以看到并校正第三和第五互調信號。ADRV9002支持的最高PA峰值功率信號約為1 dB(通常稱為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 的下一次迭代。
圖2.間接DPD的高級框圖。
操作模式
ADRV9002支持DPD上的TDD和FDD操作。在TDD模式下,每個傳輸幀的DPD都會更新。這意味著接收器將在發射幀期間充當觀察路徑。在FDD中,由于發射器和接收器同時運行,因此需要一個專用的接收器通道。ADRV9002具有2T2R,可在2T2R/1T1R TDD和1T1R FDD模式下支持DPD。
DPD 型號
結構
以下等式顯示了在發射路徑中實現的DPD模型。
哪里:
u(n) 是 DPD 的輸入信號 x(n) 是 DPD
的輸出信號 T 是 DPD
型號
的總抽頭次數ψt是實現 Tap t
l 的查找表 (LUT) 的多項式函數t是幅度延遲
kt數據延遲
是否為T,LT,I是 DPD 引擎
b 計算的系數T,LT,I是啟用或禁用項
的開關 i 是多項式項的索引和冪
用戶可以為每個抽頭配置多項式項的數量。ADRV9002提供三個存儲器項抽頭和一個交叉項抽頭,每個抽頭的階數為0至7。
型號選擇
用戶可以選擇ADRV9002提供的默認型號選項(如圖3所示),該選項適用于大多數常見情況。或者,用戶可以通過啟用和禁用術語來選擇自己的模型。前三次點擊(0 到 2)表示內存術語,其中點擊 1 是中心點擊。點擊 3 是交叉項點擊。
圖3.DPD 模型多項式項。
注意 點擊 3(或交叉項點擊)不應啟用零階項,以區別于內存項點擊。
LUT 大小:用戶可以設置 LUT 大小。ADRV9002提供256和512兩種選擇。使用512尺寸,用戶將具有更好的量化噪聲水平,從而獲得更好的ACPR,因為較大的尺寸通常會提供更好的信號分辨率。對于窄帶應用,我們建議使用 512 作為默認選項。256可用于寬帶,因為噪聲水平不那么嚴格,并且可以提高計算和功率。
預 LUT 縮放:用戶可以設置預 LUT 縮放器以縮放輸入數據,以更好地適應壓縮擴展器。壓縮擴展器從發射器獲取信號并將其壓縮以適合 8 位 LUT 地址。根據輸入信號電平,用戶可以調整此值以優化LUT利用率。可以在范圍 (0, 4) 中設置這些值,步長為 0.25。本文最后一節詳細介紹了壓縮膨脹機。
配置
圖4.啟用 DPD 的基本配置。
要執行DPD,用戶必須在PA上啟用外部環回路徑,然后設置反饋功率以確保它不會超出范圍。請注意,這是峰值功率,而不是平均功率。功率太強或太弱都會影響DPD性能。用戶還需要設置外部路徑延遲,可以使用External_Delay_Measurement.py獲得。此腳本可在 IronPython 文件夾下的 ADRV9002 評估軟件安裝路徑中找到。
請注意,只需為高采樣速率配置文件(例如LTE 10 MHz)設置外部延遲。對于低采樣率配置文件(TETRA1 25 kHz),用戶可以將其設置為0。在本文的后面,我們將使用軟件工具來觀察捕獲數據,以查看外部延遲效果。
其他設置
圖5.DPD 上的其他配置。
用戶可以配置樣本數。默認情況下,用戶可以設置 4096 個樣本。建議使用默認值。在大多數情況下,默認的 4096 樣本將為 DPD 提供最佳解決方案。
附加功率刻度是一個更高級的參數。在大多數情況下,建議對ADRV9002使用默認值4。此參數與內部相關矩陣有關。根據我們的實驗,默認值為我們測試的現有波形和PA提供了最佳性能。在極少數情況下,輸入信號幅度極小或極大,用戶可以嘗試將此值調整為越來越小的值,以便相關矩陣保持適當的條件數,從而獲得更穩定的解。
Rx/Tx 歸一化:用戶應將接收器/發射器歸一化設置為數據線性的區域。在圖6中,線性區域以紅色顯示。在這個區域中,數據的功率尚未達到壓縮區域,并且足夠高以進行增益計算。選擇區域后,DPD可以估計發射器和接收器的增益,并繼續對算法進行進一步處理。在大多數情況下,–25 dBFS 至 –15 dBFS 應適用于大多數標準 PA。但是,用戶仍應注意,因為特殊的PA可能具有非常不同的AM/AM曲線形狀,在這種情況下,需要進行適當的修改。本文后面的部分將對此進行更詳細的描述。
圖6.典型的 AM/AM 曲線。線性區域為紅色。
設置
硬件設置
典型設置如圖7所示。在信號進入PA之前需要一個低通濾波器,以防止LO信號諧波。在某些情況下,當內部LO相位噪聲性能不能滿足應用要求時,可能需要外部LO。在這種情況下,外部LO源需要與DEV_CLK同步。窄帶DPD通常需要這樣做,因為窄帶DPD對近帶噪聲要求更為嚴格。通常建議在PA之前有一個可變衰減器,以防止對PA的潛在損壞。反饋信號應具有適當的衰減,以設置峰值功率,如上一節所述。
圖7.典型的DPD硬件框圖。
軟件設置
鐵蟒蛇
下載 IronPython 庫,以便在 GUI 上執行 IronPython 代碼。
在這里,用戶可以在GUI的IronPython窗口中運行dpd_capture.py,如圖8所示,與MATLAB工具一起提供,以獲取發射器和接收器的捕獲數據。DPD采樣率也包含在捕獲文件中。
圖8.IronPython GUI 窗口。
請注意,此腳本應在啟動或校準狀態下運行。
MATLAB 工具
MATLAB 工具分析從dpd_capture.py捕獲的數據。該工具將有助于檢查信號完整性、信號對齊、PA壓縮電平,最后是DPD的微調。
MATLAB 工具需要 MATLAB 運行時。首次安裝需要一些時間才能下載。安裝后,用戶可以加載 IronPython 腳本捕獲的數據,然后觀察繪圖,如圖 9 所示。
圖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可能受到許多不同的因素的影響。因此,值得確保用戶考慮和檢查列出的所有潛在問題。在考慮所有問題之前,用戶應確保硬件連接正確。
傳輸數據過載
圖10顯示了ADRV9002實現DPD的高級框圖。來自接口的發送器數據可能會使DAC過載。如果DAC過載,發射器的RF信號甚至在PA介入之前就會失真。因此,確保發送器數據不會使DAC過載至關重要。
圖 10.DPD的高級硬件框圖。
要查看發射器DAC是否過載,用戶只需從GUI觀察即可。圖11顯示了TETRA1 25 kHz波形。峰值距離數字滿量程還很遠。對于ADRV9002,建議與滿量程至少保持幾dB,以避免DAC的潛在過載。很難量化用戶應該退讓多少,這是因為DPD將嘗試執行預失真,而預失真信號將被“峰值擴展”,因此可能會使DAC過載。這取決于DPD對特定PA的反應——通常,PA壓縮得越多,峰值擴展所需的空間就越大。
圖 11.時域中 TETRA1 標準波形的一部分。
接收器數據過載
另一個常見錯誤是接收器數據使反饋ADC過載。這是由于沒有足夠的衰減返回到接收器端口造成的。正如您可以從調試工具中觀察到的那樣,效果是接收器數據被削波,因此發射器和接收器無法有效對齊,導致DPD出現計算錯誤。DPD通常表現得非常差,導致整個頻譜上的噪聲增加。
接收器數據過載
與接收器過載相比,這個問題經常被忽視。這是由于未正確設置反饋衰減引起的。用戶可能會對反饋路徑施加過多的衰減,從而使接收器數據太小。默認情況下,建議ADRV9002使用–18 dBm峰值,因為它會將模擬到數字的數據帶到DPD的已知功率電平。但是,用戶可以調整此數字以滿足他們的需求。用戶應該知道,DPD反饋接收器使用的衰減器與常規接收器不同,而且它的步長要大得多。衰減水平由用戶設置的峰值功率電平調整。–23 dBm 是最低功率電平(衰減為 0)— 超出此值,用戶將遇到低功率電平,這將影響 DPD 性能。根據經驗,用戶應確保始終正確測量和設置反饋功率。通常,用戶傾向于嘗試不同的功率級別,而忘記正確設置反饋功率,從而導致此問題。
圖 12.接收器數據過載。
圖 13.未對齊的 DPD 捕獲。
TDD 與 FDD
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將嘗試對發射器和接收器數據進行時間對齊。當用戶捕獲數據時,它們應對齊。延遲測量在初始校準時間內完成。但是,對于高采樣率曲線,需要單獨進行更精確的子樣品對準。
圖 14.放大LTE10的真實發射器和接收器數據(未對齊)。
DPD是一種自適應算法,需要取兩個實體(即發射器和接收器)的誤差。在考慮發射器和接收器的誤差之前,需要正確對齊兩個信號,尤其是在使用高采樣速率配置文件(例如LTE10)的情況下。對齊至關重要,因為樣品之間的間隔很小。因此,用戶需要運行腳本External_Delay_Measurement.py以提取外部路徑延遲。此數字可以在“板配置”→“路徑延遲”下輸入。
圖 15.IronPython 外部延遲測量。
發射器和接收器數據未對齊的影響是,用戶將觀察到噪聲更大的AM/AM曲線。
設置路徑延遲數后,我們可以觀察到 AM/AM 和 AM/PM 曲線更干凈、噪音更小。相位差也小得多。
圖 16.對齊的 DPD 捕獲。
圖 17.LTE10的放大發射器和接收器實部數據(對齊)。
PA 過載
每個 PA 在可以處理多少壓縮方面都有自己的規格。雖然P-1dB數據通常在數據手冊中給出,但實際上仍然建議對DPD進行精確測量,以確保壓縮點在P-1dB。DPD軟件使用戶能夠根據捕獲的數據查看AM/AM曲線,以觀察壓縮點與P-1dB相比有多接近。
圖 18.PA 過載數據。
但是,如果信號超過P-1dB,則可能導致DPD不穩定甚至中斷,使頻譜跳到非常高的水平并且永遠不會下降。在圖19中,壓縮遠遠超出了峰值上的1 dB區域,曲線的形狀也開始變得平坦。這表明PA被過驅動,為了增加輸出上的功率,輸入將被推得更多以支持輸出功率水平。此時,如果用戶決定繼續增加輸入功率,DPD性能將下降。
圖 19.以 dB 為單位的 AM/AM 曲線(放大)。
一般策略模型選取和調整
間接DPD的想法是在PA之前和之后捕獲數據,而DPD引擎將嘗試模仿PA的相反效果。LUT用于使用系數應用此效果,并且該模型是基于多項式的。這意味著DPD更像是一個曲線擬合問題,用戶將嘗試使用這些術語來“曲線擬合”非線性效應。不同之處在于曲線擬合問題擬合單個曲線,而DPD還必須考慮記憶效應。ADRV9002具有三個存儲器抽頭和一個交叉抽頭,用于對DPD LUT進行建模。
圖20顯示了ADRV9002提供的三個存儲器抽頭和一個交叉抽頭。一般策略類似于曲線擬合問題。用戶可以從一些基線開始,然后添加和刪除術語。通常,必須存在中心抽頭(抽頭 1)。用戶可以逐個添加和刪除術語,以測試DPD的效果。然后用戶可以再添加兩個記憶點擊(點擊 0 和 2)以添加記憶效果校正的效果。請注意,由于ADRV9002有兩個側抽頭,因此這些抽頭應相同,即對稱。添加和刪除術語也應通過逐個方法完成。最后,用戶可以嘗試跨項。交叉項從數學角度完成了曲線擬合問題,從而提供了更好的DPD性能。
圖 20.記憶項和交叉項映射。
圖 21.模型項設置無效。
請注意,用戶不應跳過術語,將其留空,因為這會導致 DPD 出現不希望的行為。另請注意,用戶不應在交叉項抽頭上設置第 0 項,因為從數學角度來看,這也是無效的。
高級調優
壓縮膨脹機和預LUT定標器
在上一節中,我們提到了壓縮擴展機。當第一次閱讀用戶指南時,這個概念可能會對它的含義或選擇什么(256或512)造成一些混淆。壓縮擴展器的目的是壓縮輸入數據并將其放入LUT。
壓縮擴展器的一般形狀是平方根,您可以在其中輸入 I/Q 數據。在將它們放入LUT之前,將使用方程√(i(n)2+q(n)2)從前面的方程中獲取信號幅度。但是,由于平方根在速度方面是一項昂貴的操作,并且我們還需要將它們映射到LUT(8位或9位),因此壓縮擴展器。圖 22 是理想的平方根曲線。實際的實現不會在這里顯示,但簡而言之,它將是對平方根曲線的估計。
圖 22.壓縮擴展器 - 估計平方根的形狀。
一旦我們了解了數據如何適應LUT,我們就可以開始更智能地調整數據。ADRV9002可以選擇8位(256)或9位(512)作為LUT大小。更大的 LUT 意味著數據的地址位置加倍。這意味著更精細的數據分辨率,并且通常具有更好的量化噪聲水平。對于窄帶應用,由于噪聲非常重要,我們建議始終使用512選項。對于寬帶應用,由于噪聲水平不是那么重要,因此可以使用任一選項。但是,如果使用 512 選項,則會消耗更多的功率,并且計算速度會變慢。
直方圖和 CFR
我們簡要介紹了DPD配置中的預縮放。此參數用于提升LUT的輸入數據。需要這種提升的原因是,在某些情況下,DPD沒有正確利用數據。對于這樣的PA壓縮問題,真正被壓縮并導致問題的是高振幅樣本。因此,我們不能平等對待所有樣本;相反,我們希望將注意力集中在高振幅樣本上。
查看 TETRA1 標準波形直方圖(參見圖 23 和圖 24)。我們可以觀察到,大多數值出現在中高振幅區域。原因是因為TETRA1標準使用D-QPSK調制方案,結果是信號將具有恒定的包絡。峰值功率與平均功率沒有太大區別。
圖 23.TETRA1 星等的直方圖。
圖 24.TETRA1 功率直方圖。
這對于 DPD 是必需的。如前所述,DPD將捕獲更多的高振幅樣本,因此可以更好地表征PA的行為。
現在我們以類似的方式看待LTE10標準。LTE使用OFDM調制方案,該方案將成百上千個子載波組合在一起。在這里,我們再次獲得了LTE10的幅度和功率。我們可以很容易地觀察到與TETRA1相比的差異,即峰值與主要平均值相距甚遠。
圖 25.LTE10 幅度的直方圖,無 CFR。
在冪直方圖中(見圖26),如果我們放大遠端,我們可以觀察到仍然有非常高的峰值出現,但概率非常低。這對DPD來說是非常不希望的。原因有二。
圖 26.LTE 電源直方圖,無 CFR。
首先,高峰值(高幅度信號)的低概率計數將使PA效率極低。例如,LTE PAPR約為11 dB。這是一個很大的區別。為了避免損壞PA,輸入電平需要大幅回退。因此,PA沒有利用其大部分增益能力來提高功率。
圖 27.放大高振幅樣本。
其次,高峰也浪費了LUT的利用率。由于這些高峰值,LUT將為其分配大量資源,并且只有一小部分LUT分配給大多數數據。這會降低DPD性能。
波峰因數降低(CFR)是一種將信號峰值降低到更可接受的水平的技術。這通常用于 OFDM 類型的信號。ADRV9002不包括片內CFR,因此該功能需要在外部實現。在ADRV9002 TES評估軟件中,我們還包含用于此目的的LTE波形的CFR版本。CFR_sample_rate_15p36M_bw_10M.csv如圖 28 所示。我們可以觀察到,在高功率下,由于CFR,信號的峰值被限制在一定水平(末端傾斜)。這有效地將PAPR推高到約6.7 dB,幾乎是5 dB的差異。CFR 的操作將“損害”數據,從某種意義上說,EVM 會降級。然而,與整個波形相比,高電平幅度峰值的出現概率非常小,好處是巨大的。
圖 28.直方圖 LTE10 幅度與 CFR。
圖 29.直方圖 LTE10 電源與 CFR。
結論
DPD是一種復雜的算法,許多人覺得很難使用。設置硬件和軟件以獲得最佳結果需要大量的精力和謹慎。ADRV9002提供片上集成DPD,可顯著降低復雜性。ADRV9002還附帶DPD軟件工具,可幫助用戶分析DPD性能。
審核編輯:郭婷
-
功率放大器
+關注
關注
102文章
3568瀏覽量
131814 -
接收器
+關注
關注
14文章
2468瀏覽量
71873 -
發射器
+關注
關注
6文章
848瀏覽量
53451 -
無線通信
+關注
關注
58文章
4564瀏覽量
143496
發布評論請先 登錄
相關推薦
評論