【導讀】本文介紹ADI ADRV9002的數字預失真(DPD)功能。所用的一些調試技術也可應用于一般DPD系統(tǒng)。首先,概述關于DPD的背景信息,以及用戶試驗其系統(tǒng)時可能會遇到的一些典型問題。最后,文章介紹在DPD軟件工具幫助下可應用于DPD算法以分析性能的調優(yōu)策略。
簡介
數字預失真(通常稱為DPD)是無線通信系統(tǒng)中廣泛使用的一個算法。DPD旨在抑制通過射頻功率放大器(PA)傳遞寬帶信號上的頻譜再生,從而提高PA的整體效率。一般而言,在處理高功率輸入信號時,PA會出現(xiàn)非線性效應和效率不高的問題。由于頻譜再生,相鄰頻帶出現(xiàn)非線性效應和頻譜干擾。圖1顯示在ADRV9002平臺上使用TETRA1標準進行DPD校正之前和之后的頻譜再生。
圖1.使用ADRV9002的TETRA1 DPD
ADRV9002提供經過功率優(yōu)化的內部可編程DPD算法,該算法可自定義,以校正PA的非線性效應,從而提高整體鄰道功率比(ACPR)。盡管DPD能夠為通信系統(tǒng)帶來預期的優(yōu)勢,但缺乏經驗的人員開始使用DPD時往往困難重重,更別提正確設置了。這主要因為數字預失真涉及多個因素,可能會導致誤差,而降低DPD性能。實際上,即使在正確設置硬件后,要確定正確的參數以微調DPD并獲得最優(yōu)解決方案,仍可能具有挑戰(zhàn)性。本文旨在幫助在ADRV9002中使用DPD選項的工程師,以及提供一些使用可用參數微調DPD模式以獲得最優(yōu)DPD性能的一般策略。此外,還使用MATLAB?工具幫助用戶分析DPD,并消除常見錯誤,同時提供有關內部DPD操作的一些見解。
啟用DPD選項時,ADRV9002可提供高達20MHz的信號帶寬。這是因為接收帶寬限制在100MHz。DPD通常將以發(fā)射帶寬5倍的接收帶寬工作,因此可以看到和校正三階和五階交調信號。ADRV9002支持的最高PA峰值功率信號約為1dB(通常稱為P1dB)壓縮區(qū)。該指標表示PA壓縮的程度。如果PA壓縮超過P1dB點,則無法保證DPD正常工作。但是,這個要求并不嚴格;在許多情況下,DPD在超過P1dB點時依舊能夠工作,并且仍然提供非常出色的ACPR。但這要具體問題具體分析。一般而言,如果壓縮得太嚴重,DPD可能會出現(xiàn)不穩(wěn)定和崩潰的問題。在后面,將詳細討論壓縮區(qū),包括如何使用MATLAB工具觀察當前PA壓縮狀態(tài)。
有關DPD的更多詳細信息,請參見UG-1828的“數字預失真”章節(jié)。
架構
執(zhí)行DPD功能有兩種基本方法。第一種方法稱為間接DPD,即在PA前后捕捉信號。與之不同的是直接DPD方法,即在DPD模塊前和PA后捕捉信號。每種方法的優(yōu)勢和劣勢不在本文章的討論范圍內。間接DPD通過分析PA前后的信號了解其非線性特性,并在DPD模塊上執(zhí)行反轉。直接DPD分析DPD前和PA后的信號,并通過在DPD模塊上應用預失真,消除二者之間的誤差。用戶應該了解,ADRV9002使用的是間接方法以及與之相關的影響。另外,請務必了解,在使用MATLAB工具時,捕捉數據也是采用間接方法。
圖2顯示了ADRV9002的簡化DPD操作方框圖。輸入信號u(n)進入DPD模塊。DPD將對信號進行預失真處理,并生成x(n)。在這里,稱之為發(fā)射捕捉,不過這實際上是發(fā)射信號的預失真版本。然后,信號經過PA,成為y(n),信號最終發(fā)送到空中。這里將y(n)稱為接收捕捉,不過這實際上是PA后的發(fā)射信號。然后,y(n)反饋到接收器端口,用作觀察接收器。本質上,DPD引擎將使用捕捉的x(n)和y(n),然后生成系數,在DPD的下一次迭代中將應用這些系數。
圖2.間接DPD的簡化方框圖
工作模式
ADRV9002在DPD上支持TDD和FDD操作。在TDD模式下,每個發(fā)射幀都會更新DPD。這意味著,在發(fā)射幀期間,接收器將充當觀察路徑。在FDD中,由于發(fā)射器和接收器同時運行,因此需要專用接收器通道。ADRV9002中的2T2R能夠在2T2R/1T1R TDD和1T1R FDD模式下支持DPD。
DPD模式
結構
以下等式顯示在發(fā)射路徑中實現(xiàn)的DPD模式。
其中:
u(n)是DPD的輸入信號,x(n)是DPD的輸出信號
T是DPD模式的總分支數
ψt是用于實現(xiàn)分支t查找表(LUT)的多項式函數,lt是幅度延遲
kt是數據延遲
at,lt,i是DPD引擎計算的系數
bt,lt,i是啟用或禁用項的開關
i是多項式項的指數和冪
用戶可為每個分支配置多項式的項數量。ADRV9002提供3個記憶項分支和1個交叉項分支,每個分支的階從0到7。
模式選擇
用戶可選擇ADRV9002提供的默認模式選項(如圖3所示),該模式應該適合大多數常見應用?;蛘撸脩艨赏ㄟ^啟用和禁用項,選擇自己的模式。前3個分支(0到2)表示記憶項,其中分支1是中心分支。分支3是交叉項分支。
注意,為了與記憶項分支區(qū)分,分支3(或交叉項分支)不應啟用零階項。
圖3.DPD模式多項式的項
LUT大小:用戶可設置LUT大小。ADRV9002提供兩個選項,256和512。選擇512大小,用戶將獲得更好的量化噪聲電平,從而獲得更好的ACPR,因為一般而言,較大的尺寸將提供更好的信號分辨率。對于窄帶應用,ADI建議使用512作為默認選項。256可用于寬帶,因為噪聲電平不那么嚴格,并且可以改進計算和功率。
預LUT縮放:用戶可設置預LUT縮放模塊,以便對輸入數據進行縮放,使其更適合壓縮擴展器。壓縮擴展器選擇來自發(fā)射器的信號,對其進行壓縮,以適合8位LUT地址。根據輸入信號電平,用戶可調整該值,以優(yōu)化LUT利用率。其值可以在(0,4)的范圍內設置,步長為0.25。在本文的最后一個部分,提供了更多有關壓縮擴展器的內容。
配置
圖4.啟用DPD的基本配置
為了執(zhí)行DPD,用戶將必須在PA上啟用外部環(huán)回路徑,然后設置反饋功率,以確保其未超出范圍。注意,這是峰值功率,不是平均功率。功率太強或者太弱都會影響DPD性能。用戶還需要設置外部路徑延遲,可使用External_Delay_Measurement.py獲取。用戶可在IronPython文件夾下的ADRV9002評估軟件安裝路徑中找到該腳本。
注意,只需為高采樣速率曲線設置外部延遲(例如,LTE 10MHz)。對于低采樣速率曲線(TETRA1 25kHz),用戶可將其設置為0。在本文的后面部分,將使用該軟件工具來觀察捕捉數據,以了解外部延遲的影響。
其他配置
圖5.DPD上的其他配置
用戶可配置樣本數量。默認情況下,用戶可設置4096個樣本。建議使用默認值。在大多數情況下,默認的4096個樣本將為DPD提供最優(yōu)解決方案。
其他功率縮放是更高級的參數。在大多數情況下,建議對ADRV9002使用默認值4。該參數與內部相關矩陣有關。根據實驗,默認值為ADI測試的現(xiàn)有波形和PA提供最佳性能。在少數情況下,如果輸入信號幅度極小或極大,用戶可嘗試將該值調整成較小和較大的值,以使相關矩陣維持適當的條件數,從而獲得更穩(wěn)定的解決方案。
Rx/Tx規(guī)范化:用戶應將接收器/發(fā)射器規(guī)范化設置為數據呈線性的區(qū)域。在圖6中,線性區(qū)域用紅色顯示。在該區(qū)域,數據的冪沒有到達壓縮區(qū),并且足夠高,可用于計算增益。選擇該區(qū)域后,DPD可估算發(fā)射器和接收器的增益,然后繼續(xù)對算法進行進一步處理。在大多數情況下,-25dBFS至-15dBFS應適合大多數標準PA。但是,用戶仍然應該留意,因為特殊PA可能具有截然不同的AM/AM曲線形狀,在這種情況下,將需要進行適當的修改。本文后面部分將對此進行詳細說明。
圖6.典型AM/AM曲線。線性區(qū)域用紅色顯示
設置
硬件設置
圖7.典型DPD硬件方框圖
典型設置如圖7所示。在信號進入PA之前,需要低通濾波器,以防止出現(xiàn)LO信號諧波。在某些情況下,如果內部LO相位噪聲性能無法滿足應用需求,則可能需要外部LO。在這種情況下,外部LO源需要與DEV_ CLK同步。近帶噪聲要求更嚴格的窄帶DPD通常需要外部LO。通常建議在PA前提供一個可變衰減器,用于防止對PA造成損害。反饋信號應具有適當的衰減,以便按照上一部分中討論的方式設置峰值功率。
軟件設置
IronPython
下載IronPython庫,以便在GUI上執(zhí)行IronPython代碼。
圖8.IronPython GUI窗口
在這里,用戶可以在GUI的IronPython窗口中運行dpd_capture.py,如圖8所示,它與MATLAB工具一起提供,以獲取發(fā)射器和接收器的捕捉數據。DPD采樣速率也包含在捕捉的文件中。
注意,該腳本應在啟動或校準狀態(tài)下運行。
MATLAB工具
MATLAB工具分析從dpd_capture.py中捕捉的數據。該工具將幫助檢查信號完整性、信號對齊、PA壓縮水平,最后是DPD的微調。
MATLAB工具需要MATLAB Runtime。首次安裝需要一些時間下載。安裝完成后,用戶可加載IronPython腳本捕捉的數據,然后觀察圖形,如圖9所示。
圖9.MATLAB DPD分析儀
此外,用戶還可設置數據規(guī)范化的高/低閾值,然后按“重新加載”以查看變化。
首先,在時域中繪制規(guī)范化的發(fā)射器和接收器數據。用戶可以放大圖形來觀察發(fā)射器和接收器的對齊狀態(tài)。這里只顯示了數據的實部,但用戶也可輕松繪制虛部。實部和虛部通常應該對齊或不對齊。
然后是發(fā)射器和接收器頻譜——藍色是發(fā)射器,紅色是接收器。注意,這是間接DPD——發(fā)射器數據將是預失真數據,而不是SSI端口上的發(fā)射器數據路徑。
接下來,有兩條AM/AM曲線,這兩條曲線均在線性和dB坐標系中。這些是有關DPD性能和PA壓縮狀態(tài)的重要指標。
AM/PM曲線和接收器/發(fā)射器相位差也會被提供。
此外,還有高閾值和低閾值數字。這些數字應該與ADRV9002 TES評估軟件中的設置相匹配。
注意,由于提供了API來捕捉數據,因此如果需要,用戶可以開發(fā)自己的圖形和分析模型。該工具提供用于分析DPD的一些常見檢查。API包括:
adi_ADRV9002_dpd_CaptureData_Read,這是讀取DPD捕捉數據,必須在校準或啟動狀態(tài)下運行。
adi_ADRV9002_DpdCfg_t → dpdSamplingRate_Hz,這是DPD采樣速率,是只讀參數。
典型問題
DPD可能受許多不同因素的影響。因此,請務必確保用戶考慮并檢查了列出的所有潛在問題。在考慮所有問題之前,用戶應確保硬件正確連接。
發(fā)送數據過載
圖10.DPD的簡化硬件方框圖
圖10顯示了ADRV9002實現(xiàn)DPD的簡化示意框圖。來自接口的發(fā)射器數據可能會使DAC過載。如果DAC過載,發(fā)射器的RF信號在PA介入之前就已失真。因此,請務必確保發(fā)射器數據不會使DAC過載。
用戶可通過GUI觀察發(fā)射器DAC是否過載。圖11顯示TETRA1 25kHz波形。峰值與數字滿量程仍相距甚遠。對于ADRV9002,建議與滿量程至少保持幾dB,避免導致DAC過載。很難量化用戶應該回退多少——這是因為DPD將嘗試執(zhí)行預失真,預失真信號將為“峰值擴展”,因而可能會導致DAC過載。這取決于DPD如何應對特定PA——一般而言,PA壓縮得越厲害,所需的峰值擴展空間就越大。
圖11.時域中的一部分TETRA1標準波形
接收器數據過載
另一個常見錯誤是接收器數據導致反饋DAC過載。造成該錯誤的原因是,沒有足夠的衰減返回到接收器端口。這可以從調試工具中觀察到,造成的影響是接收器數據被裁剪,因此,發(fā)射器和接收器無法有效對齊,導致DPD出現(xiàn)計算錯誤。DPD通常會表現(xiàn)得非常糟糕,從而使整個頻譜中的噪聲增加。
圖12.接收器數據過驅
接收器數據欠載
與接收器過載相比,這個問題常常被忽視。造成該問題的原因是,沒有正確設置反饋衰減。用戶可能給反饋路徑提供過多的衰減,這導致接收器數據太小。默認情況下,建議對ADRV9002使用-18dBm峰值,因為它能夠將數據從模擬轉換為數字,達到已知良好的DPD功率電平。但用戶可以根據需求調整該數字。用戶應該了解,DPD反饋接收器使用的衰減器與常規(guī)接收器不同,其步長更高。衰減水平通過用戶設置的峰值功率電平進行調整。-23dBm是最低功率電平(0衰減)——如果超出該范圍,將得到低功率電平,這會影響DPD性能。根據經驗,用戶應確保始終正確測量和設置反饋功率。很多時候,用戶往往會嘗試不同的功率電平,但忘記正確設置反饋功率,從而導致該問題。
TDD與FDD
TDD模式下的DPD必須在自動狀態(tài)機中運行。使用TES進行評估時,在手動TDD模式下,用戶仍可啟用DPD,但性能會很差。這是因為DPD只能基于幀工作。在手動TDD模式下,幀的長度將由發(fā)射/接收啟用信號切換來確定。換言之,每次播放和停止就是一個幀。但是,在人工切換的時間內,PA已轉變?yōu)椴煌臏囟葼顟B(tài)。因此,如果不使用可以頻繁切換發(fā)射啟用信號的自動TDD模式,將無法維持DPD狀態(tài)。然而,在FDD模式下,DPD應正常進行。
例如,用戶可能希望使用TETRA1,它遵循類似TDD的幀方案(實際上是TDM-FDD)。因此,不應該直接選擇TDD模式并手動檢查DPD,并且DPD往往表現(xiàn)糟糕。相反,用戶可以使用“定制FDD”配置文件,選擇與TETRA1相同的采樣速率和帶寬,或者用戶可以設置TETRA1 TDD幀定時,并使用自動TDD模式。這兩種方法都可以提供比手動TDD更好的性能。
發(fā)射器/接收器未對齊
ADRV9002將嘗試對齊發(fā)射器和接收器數據的時間。當用戶捕捉到數據時,用戶期望數據是對齊的。延遲測量在初始校準時完成。但是,對于高采樣速率曲線,需要單獨完成更精確的子樣本對齊。
圖13.未對齊的DPD捕捉
圖14.放大LTE10的發(fā)射器和接收器實部數據(未對齊)
DPD是自適應算法,需要計算兩個實體(即發(fā)射器和接收器)的誤差。在計算發(fā)射器和接收器的誤差之前,需要正確對齊這兩個信號——尤其是在使用高采樣速率曲線(例如,LTE10)的情況下。對齊至關重要,因為樣本之間的間隔非常小。因此,用戶需要運行腳本External_Delay_Measurement.py來提取外部路徑延遲??稍凇鞍迮渲谩薄奥窂窖舆t”下方輸入該數字。
圖15.IronPython外部延遲測量
如果未對齊發(fā)射器和接收器數據,造成的影響是用戶將觀察到噪聲更大的AM/AM曲線。
圖16.對齊的DPD捕捉
設置了路徑延遲數字后,可以觀察到,AM/AM和AM/PM曲線更干凈,噪聲更小。相位差也明顯減小。
圖17.放大的LTE10發(fā)射器和接收器實部數據(對齊)
PA過載
每個PA對于能夠處理的壓縮程度都有自己的規(guī)范。雖然數據手冊中通常提供P-1dB數據,但實際上,仍建議對DPD進行準確測量,以確保壓縮點位于P-1dB。通過DPD軟件,用戶能夠查看基于捕捉數據的AM/AM曲線,從而觀察壓縮點與P-1dB的接近程度。
圖18.PA過載數據
圖19.以dB為單位呈現(xiàn)的AM/AM曲線(已放大)
但是,如果信號超出P-1dB,這可能會導致DPD不穩(wěn)定,或者甚至中斷,頻譜跳轉到非常高的電平,再也不會降下來。在圖19中,峰值時的壓縮遠超出1dB區(qū)域,曲線的形狀也開始變得更平坦。這表示PA被過驅,為了增加輸出功率,將提供更多輸入,以支持輸出功率電平。此時,如果用戶決定繼續(xù)增加輸入功率,DPD性能將下降。
一般策略模式選擇與調整
間接DPD就是在PA前后捕捉數據,而DPD引擎將嘗試模擬PA的相反效應。LUT用于使用系數應用該效應,該模式基于多項式。這意味著,DPD更像是曲線擬合問題,用戶將嘗試使用各項來“曲線擬合”非線性效應。區(qū)別在于,曲線擬合問題擬合的是單個曲線,而DPD還必須考慮記憶效應。ADRV9002有3個記憶分支,和1個用于對DPD LUT進行建模的交叉分支。
圖20.記憶項和交叉項映射
圖20顯示ADRV9002提供的3個記憶分支和1個交叉分支。一般策略與曲線擬合問題類似。用戶可從基線著手,然后添加和移除項。一般而言,中心分支必須存在(分支1)。用戶可以逐個添加和移除項,以測試DPD的效應。然后,用戶可以繼續(xù)添加兩個記憶分支(分支0和2),以添加記憶效應校正的效果。注意,由于ADRV9002有兩個側分支,因此這些分支應該相同——也就是,應該對稱。此外,添加和移除項時,必須逐個操作。最后,用戶可以試驗交叉項。交叉項從數學的角度完成曲線擬合問題,因而提供更好的DPD性能。
注意,用戶不得通過將項留空來跳過項,因為這將導致DPD出現(xiàn)不良行為。另請注意,用戶不得在交叉項分支上設置第0項,因為從數學的角度來看,這也是無效的。
圖21.無效的模式項設置
高級調整
壓縮擴展器和預LUT縮放模塊
在上一部分中,已提到了壓縮擴展器。首次閱讀用戶指南時,這一概念可能會令人困惑,不知道它是什么意思或者該選擇什么(256還是512)。壓縮擴展器的目的是壓縮輸入數據,并將其放入LUT。
圖22.壓縮擴展器——估算平方根的形狀
壓縮擴展器的一般形狀是平方根,在這里,I/Q數據傳入。在將這些數據放入LUT之前,等式√(i(n)2+q(n)2)將用于從之前的等式中獲得信號幅度。然而,由于平方根運算對速度的要求很高,并且還需要將其映射到LUT(8位或9位),因此需使用壓縮擴展器。圖22是理想的平方根曲線。此處將不顯示實際實現(xiàn)方案,但簡言之,這將是對平方根曲線的估算。
了解數據如何放入LUT后,可以更加明智地開始調整數據。ADRV9002可選擇8位(256)或9位(512)作為LUT大小。更大的LUT意味著數據的地址位置加倍。這意味著,數據的分辨率更高,并且一般而言,量化噪聲電平更好。對于窄帶應用,由于噪聲非常重要,因此建議始終選擇512。對于寬帶應用,由于噪聲電平沒那么重要,因此可使用任一選項。但是,如果選擇512,消耗的功率會略高,計算速度會比較慢。
直方圖和CFR
在DPD配置部分,曾簡要提及預縮放。該參數用于為LUT提供大量輸入數據。需要大量輸入數據的原因是,在某些情況下,DPD未正確使用數據。對于此類PA壓縮問題,真正被壓縮并導致問題的是高幅度樣本。因此,不能平等對待所有樣本;相反,要重點關注高幅度樣本。
看一下TETRA1標準波形直方圖(參見圖23和圖24)。可以看到,大多數值出現(xiàn)在中高幅度區(qū)域。這是因為TETRA1標準使用D-QPSK調制方案,結果是信號將獲得恒定包絡。峰值功率與平均功率之間沒有太大的區(qū)別。
這正是DPD所需要的。如前所述,DPD將捕捉更高幅度的樣本,因此將更好地表征PA的行為。
圖23.TETRA1幅度直方圖
圖24.TETRA1功率直方圖
現(xiàn)在,以類似方式來看LTE10標準。LTE使用OFDM調制方案,將成百上千的子載波組合在一起。這里可再次看到LTE10的幅度和功率??梢暂p松觀察到與TETRA1的區(qū)別,即峰值離主平均值非常遠。
圖25.LTE10幅度直方圖,沒有CFR
圖26.LTE功率直方圖,沒有CFR
在功率直方圖中(參見圖26),如果放大遠端,可以看到,仍有非常高的峰值出現(xiàn),但概率非常低。對于DPD,這是非常不利的。原因有二。
首先,高峰值(高幅度信號)的低概率計數將使PA的效率極其低下。例如,LTE PAPR約為11dB。這是很大的不同。為了避免損壞PA,輸入電平將需要大幅回退。因此,PA沒有用其大部分增益能力來提高功率。
其次,高峰值也是在浪費LUT的利用率。由于這些高峰值,LUT將為它們分配大量資源,并為大部分數據僅分配一小部分LUT。這會降低DPD性能。
圖27.放大高幅度樣本
削峰(CFR)技術將信號峰值向下移動到更能接受的水平。這通常用于OFDM類型的信號。ADRV9002不包含片內CFR,因此需要在外部實現(xiàn)該功能。為此,在ADRV9002 TES評估軟件中,還包含CFR版本的LTE波形。CFR_sample_ rate_15p36M_bw_10M.csv如圖28所示。可以看到,由于CFR,在高功率時,信號的峰值被限制在特定水平(在末端傾斜)。這將PAPR有效地推動到6.7dB,差值約為5dB。CFR的操作將對數據造成“損害”,因為EVM將降級。但是,與整個波形相比,高電平幅度峰值出現(xiàn)的概率非常小,將帶來巨大的優(yōu)勢。
圖28.LTE10幅度直方圖,有CFR
圖29.LTE10功率直方圖,有CFR
結論
DPD是一種復雜的算法,許多人都覺得很難用。為了獲得最優(yōu)結果,需要花費大量精力設置硬件和軟件,并且要小心謹慎。ADI的ADRV9002提供集成式片內DPD,將顯著降低復雜性。ADRV9002還配備有DPD軟件工具,可以幫助用戶分析其DPD性能。
關于ADI公司
ADI是全球領先的高性能模擬技術公司,致力于解決最艱巨的工程設計挑戰(zhàn)。憑借杰出的檢測、測量、電源、連接和解譯技術,搭建連接現(xiàn)實世界和數字世界的智能化橋梁,從而幫助客戶重新認識周圍的世界。詳情請瀏覽ADI官網www.analog.com/cn。
作者簡介
Wangning Ge是一名產品應用工程師,工作地點在新澤西州薩默塞特。他于2019年加入ADI公司。在此之前,他在諾基亞(以前的阿爾卡特朗訊)擔任軟件工程師。在DPD算法設計和基站射頻應用領域,Wangning擁有豐富的經驗。他負責ADRV9001系列收發(fā)器產品。
作者:ADI產品應用工程師Wangning Ge
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯(lián)系小編進行處理。
推薦閱讀:
TO-247封裝碳化硅MOSFET中引入輔助源極管腳的必要性