一種查找表數(shù)字預失真器結構及方法
【專利摘要】本發(fā)明提供一種查找表預失真器結構及方法。查找表預失真器結構包括索引函數(shù)模塊、索引值模塊、查找表模塊、預調整值獲取模塊、預失真運算模塊及延時模塊。通過采用基于Aitken迭代法的預調整值獲取策略,僅通過一次迭代就可以用較小的查找表規(guī)模獲得較高的線性化改善效果,較大程度地抑制帶外頻譜擴展。
【專利說明】
一種查找表數(shù)字預失真器結構及方法
技術領域
[0001] 本發(fā)明涉及通信領域,特別涉及記憶非線性功放的線性化技術。
【背景技術】
[0002] 功率放大器作為通信中的重要設備,其特性影響著整個系統(tǒng)的性能。理想功放可 以對輸入信號線性放大,但實際功放特性如圖1所示,此時輸入輸出信號并不具有線性關 系,而是產生了非線性失真,并引入了一定的記憶性,即輸出信號不僅與當前時刻的輸入信 號有關,還受到之前多個時刻的輸入信號影響。為降低非線性失真程度可以采用功率回退 方法,但這種以犧牲功放效率換取線性度的方法并不能滿足現(xiàn)代無線通信系統(tǒng)的要求。在 眾多的功放線性化方法中,數(shù)字預失真(Digital Predistortion,DPD)技術具有較高的性 價比,可以在保證功放效率的前提下獲得較高的線性度,逐漸成為一種具有潛力的線性化 方法。
[0003] 現(xiàn)有查找表(Look-Up Table,LUT)預失真器多針對無記憶功放進行線性化處理, 結構較為簡單,隨著信號帶寬的增加,功放的記憶性逐漸增強,需要對查找表預失真器進行 改進才能抵消功放的記憶效應,但若采用二維查找表、雙查找表或級聯(lián)查找表等構建預失 真器,在硬件實現(xiàn)時將需要較多的存儲空間。為此,文獻"MP/LUT baseband digital predistorter for wideband linearisation"(Electronics Letters,2011,47(19): 1096-1098,文獻[1])通過采用記憶多項式與查找表相結合的方法降低了空間需求。文獻 "Improved baseband digital predistortion for linearising PAs with nonlinear memory effects using linearly interpolated LUT"(Electronics Letters,2013,49 (22) :1389-1391,文獻[2])對文獻[1]進行改進,通過采用線性內插法獲取預調整值,以提 高預調整值的精度,但仍存在較大的改進空間。
【發(fā)明內容】
[0004] 本發(fā)明所要解決的技術問題是,在占用較少硬件資源(存儲空間)的情況下,如何 進一步提高預調整值精度以獲得更高的線性化改善程度。
[0005] 本發(fā)明為解決上述技術問題所采用的方案是,一種查找表預失真器結構及方法。 功放線性化預失真結構如圖2所示,包括:查找表預失真器模塊、功放模塊及功放辨識模塊。 當功放辨識模塊對功放進行基于記憶多項式模型的辨識后,估計出非線性階數(shù)K'記憶深 度(T以及多項式系數(shù),并傳遞給查找表預失真器模塊。其中,查找表預失真器結構如圖3 所示,包括索引函數(shù)模塊、索引值模塊、查找表模塊、預調整值獲取模塊、預失真運算模塊及 延時模塊。查找表預失真方法包括以下步驟:
[0006] 1)接收第η時刻的基帶輸入信號x(n)、第n_q(l彡q彡ζΤ)時刻的輸出信號u(n-q)以 及功放辨識模塊反饋的非線性階數(shù)估計值K'記憶深度(f及多項式系數(shù)1>^,計算索引數(shù)v (η);
[0007] 2)根據索引數(shù)ν(η)取模解出索引值|ν(η) I ;
[0008] 3)利用索引值I v(n) I,通過查找表得到對應的預調整值,并將其作為預調整值的 初始值 |uinit(n) I ;
[0009] 4)根據預調整值的初始值| Uinit(n) |、索引值模塊傳入的| v(n) |、功放辨識模塊傳 入的通過1次Aitken迭代運算得到優(yōu)化的預調整值|u(n) I =Z3,Aitken迭代步驟如 下:
[0010] zo= I Uinit(n) I ,
[0011] zi = g(zo),
[0012] Z2 = g(zi),
L〇〇17J Z1、Z2、Z3為迭代變量。
[0018] 5)根據接收的索引數(shù)v(n)、優(yōu)化的預調整值|u(n) I、非線性階數(shù)估計值f以及多 項式系數(shù)&^,得到預失真器最終輸出的調整值u(n),同時將輸出信號u(n)進行延時處理, 作為步驟1)的輸入信號u(n-q)。
[0019] 本發(fā)明在查表獲得預調整值的初始值后,經過一次Aitken迭代得到兩個距離更近 的優(yōu)化值Z1、Z2(相對于查找表中兩相鄰表項k |、|Ul+11),再對Z1、Z2進行線性內插,所得到 的Z3更接近理想值、精確度更高。
[0020] 進一步地,為了能夠在斜率變化較大區(qū)域同樣獲得較精確的預調整值、縮小查找 表規(guī)模以降低資源需求,本發(fā)明還采用一種基于斜率均勻變化的查找表構建方法。
[0021 ]本發(fā)明的有益效果是,通過采用基于Aitken迭代法的預調整值獲取策略,進一步 地采用斜率均勻變化的查找表構建方法,僅通過一次迭代就可以用較小的查找表規(guī)模(即 較少的硬件存儲空間需求)獲得較高的線性化改善效果,較大程度地抑制帶外頻譜擴展。
【附圖說明】
[0022]圖1:記憶非線性功放輸入輸出幅度關系圖 [0023]圖2:數(shù)字預失真結構示意圖 [0024]圖3:查找表預失真器結構示意圖
[0025] 圖4:預調整值與索引值的關系示意圖
[0026] 圖5:預調整值相對于索引值的斜率曲線圖
[0027] 圖6:不同預調整值獲取策略的NMSE對比
[0028]圖7:按斜率進行資源分配后的NMSE改善
[0029] 圖8:不同查找表算法的功率譜對比圖
【具體實施方式】
[0030] 如圖3所示,查找表預失真器包括索引函數(shù)模塊、索引值模塊、查找表模塊、預調整 值獲取模塊、預失真運算模塊及延時模塊。
[0031] 索引函數(shù)模塊用于接收第η時刻的基帶輸入信號x(n)、預失真器的輸出信號u(n-q)、功放辨識模塊反饋的非線性階數(shù)估計值K'記憶深度及多項式系數(shù)并根據下式計 算索引數(shù)v(n),并將索引數(shù)v(n)傳遞給索引值模塊及預失真運算模塊;
[0032]
[0033]索引值模塊用于對接收到的索引數(shù)v(n)取模解出索引值|v(n)|,并將索引值|v (η) I傳遞給查找表模塊及預調整值獲取模塊;
[0034]查找表模塊用于存儲索引值以及與之對應的預調整值,根據索引值模塊傳入的索 引值|ν(η)|查找存儲表項中最接近的索引值,將其所對應的預調整值作為預調整值的初始 值I mnit(n) |,并將其傳遞給預調整值獲取模塊;
[0035] 查找表形式如下:
[0036] 表1
[0037]
[0038] N為查找表的表項總數(shù)。
[0039] 預調整值獲取模塊接收查找表模塊傳入的預調整值的初始值|uinit(n) |、索引值 模塊傳入的|v(n)|、功放辨識模塊傳入的非線性階數(shù)估計值f及多項式系數(shù),通過1次 Aitken迭代運算得到優(yōu)化的預調整值| u(n) | = Z3,并將優(yōu)化的預調整值| u(n) |傳遞給預失 真運算模塊;Aitken迭代步驟如下:
[0040] zi = g(zo) (f2)
[0041] Z2 = g(zi) (f3)
[0042]
[0043] 其中,
[0044] zo= I mnit(n) I,
[0045]
[0046]
[0047] 預失真運算模塊用于根據接收的索引值v(n)、優(yōu)化的預調整值|u(n) I、非線性階 數(shù)估計值f以及多項式系數(shù)得到輸出信號u(n),作為預失真器最終輸出的調整值,同時 將輸出信號u(n)傳入延時模塊:
騎 :雜
[0051] 延時模塊用于對預失真運算模塊輸出信號u(n)進行延時處理,得到預失真器前q 時刻的輸出信號u(n-q)并反饋給索引函數(shù)模塊。
[0052] 鑒于文獻[1]、[2]中得到的預調整值精確度不高,且當查找表資源減少時性能變 差,本發(fā)明所提出方法在占用資源較少的前提下,可獲得更加精確的預調整值。下面對原理 做進一步說明。
[0053] 在對功放進行辨識后,可以用公式(f7)所示的記憶多項式來描述功放特性:
[0054]
兩
[0055] 如圖2所示,理想情況下,當采用預失真技術對功放進行線性化處理后可以得到:
[0056] y(n) =G X x(n) (f8)
[0057] 在之后的推理中,假設上式中G = l,由公式(f7)和公式(f8)可以得到:
[0058]
(舞
[0059] 對其進行整理后得到:
[0060]
[0061]
[0062]
[0063]
詞
[0064] 為了簡化查找表的結構,并使其具有較好的適用性,將公式(Π 0)簡化為:
[0065]
(£13)
[0066] 本發(fā)明以|v|作為查找表的索引值,|u|作為查找表的預調整值,從公式(Π 3)可以 看出|v|是lul的單調增函數(shù)。文獻[1]不經過預調整值獲取模塊,直接將查找表的輸出信號 |mnit(n)|作為最終的預調整值,文獻[2]對其進行改進后采用線性內插法獲取最終的預調 整值,兩種情況下獲得的預調整值精度較低,本發(fā)明以公式(Π3)作為迭代公式,經過1次 Aitken迭代后可以獲得更加精確的預調整值。為構建迭代算法,設:
[0067]
[0068]
[0069]
[0070]將查找表傳入的信號|uinit(n) I作為Aitken迭代法的初始值ZQ并執(zhí)行以下步驟:
[0071] zi = g(zo) (f 15)
[0072] Z2 = g(zi) (f 16)
[0073]
[0074] 當對預調整值IUI進行均勻量化后,根據IVI = IUI x Ih( IUI) I得到對應的索引值, 便可以初始化查找表。
[0075] 下面證明上述方法的收斂性:
[0076] 設|/|、|ι^|分別為當前時刻的索引值及理想的預調整值。若查找表中存在相鄰表 項目(I vi |,I m |)及(| vi+i |,| ui+i |),使得 | vi | < | ν* | < | vi+i | 且 | ν* | -1 vi | < | vi+i | -1 ν* |,這 表明I與I I較近,所以選取I ml作為初始值ZO。又由于預調整值為索引值的單調增函 數(shù),有|m| < |i^| < |Ul+1|。于是由公式(Π3)可以得到:
[0079] 根據Aitken迭代過程,可以得到:
[0077]
[0078] (119)
[0080]
[0081] 由于|11|=8(|11|)=卜|/|11(|1 1|)|,則8(|11|)為|11|的單調增函數(shù),|1 1(|11|)|為|11 的單調減函數(shù)。又由于Im I < Iu*I < IU1+11,則有下式成立:
[0082]
p:l|
[0083] 則可以得到:
[0084] Ui| <zi< |u*| < |ui+i (f22)
[0085] 又由于:
[0086] __
[0087]
[0088]
[0089] 因此:
[0090] Ui I <ζι<Ζ2< I u* I < I Ui+i (f25)
[0091 ]同理,當 I Vi I < I V*| < I Vi+l I 且 I V* H Vi I〉I Vi+l I _ I V* I 時,表明 I V* I 與 I Vi+l I 較近, 所以選取|ui+l|作為初始值ZQ。可得|lli| < |u*| <Z2<Z1< |ui+l|。從理論上證明了公式(fl3) 具有收斂性。
[0092] 對于三種預調整值獲取策略,最近值查找法選擇|m |或者|ui+11作為當前時刻的 預調整值,線性內插法通過對(卜1|,|11 1|)及(卜1+1|,|1!1+1|)進行線性內插,得到與|/|相對 應的預調整值,因此可以獲得比最近值查找法較優(yōu)的性能。而對于本方法,在查表獲取初值 后,經過一次Aitken迭代得到兩個更加接近的 ζι、ζ2,然后按照式(Π7)進行線性內插得到最 終結果。因為Z1、 Z2相較于|Ul|、|Ul+1|距離更近,所以得到的Z3和理想值更接近,精確度更 尚。
[0093] 進一步地,線性內插法在斜率穩(wěn)定區(qū)域的效果較好,而在斜率變化較大的區(qū)域誤 差較大。為了能夠在斜率變化較大區(qū)域同樣獲得較精確的預調整值、進一步縮小查找表規(guī) 模以降低存儲資源需求,本發(fā)明采用一種基于斜率均勻變化的查找表構建方法。
[0094] 首先,按照公式(Π 3)獲得預調整值|u|與索引值|v|的斜率關系,即|v| = |u| X |h (|u| ) I ;然后依據斜率的最大值&1、斜率的最小值&2、查找表項數(shù)N,計算Aa=( ai-a2)/(N-1),即對斜率進行均勻量化;最后,按照各分段斜率確定該分段的起點和終點,并將對應的 Vl |、| Ul |值填入查找表。這樣,查找表中各相鄰項預調整值| u |之間的距離不再相等,而是斜 率變化相等,如表2所示。查找表中各項的斜率值為:
[0095] Ai = a2+iX Aa,i = 0,l,2,...,N_l (f26)
[0096] 表 2
[0097]
[0098] 實施例
[0099] 圖2為本發(fā)明的數(shù)字預失真結構示意圖,該結構包括查找表預失真器、功放模塊及 功放辨識模塊。
[0100] 圖2中數(shù)字基帶信號x(n),表征著第η時刻的輸入信號,該信號作為查找表預失真 器的輸入信號,經處理后輸出信號u(η),然后經功放模塊輸出信號y (η)。功放辨識模塊對功 放模塊的輸入輸出信號進行采集,通過參數(shù)辨識算法估計出功放的參數(shù),并將得到的參數(shù) 送入預失真器。
[0101]所述的功放模塊采用記憶多項式行為模型,其輸入輸出關系如公式(f27)所示,其 中K = 5,Q = 2,bkq可以參考文獻"一種新的用于有記憶功放的查找表預失真器"(電子學報, 2008,36(9): 1728-1732,文獻[3])。
[0102]
_
[0103] 所述的功放辨識模塊采集u(n)和y(n),通過LS算法辨識出功放模型(如公式(f7) 所示),其中非線性階數(shù)f = 5、記憶深度(f = 2以及多項式系數(shù)(如下所示),并傳遞給預 失真器。
[0104]
[0105]所述的查找表預失真器如圖3所示,該結構包括索引函數(shù)模塊、索引值模塊、查找 表模塊、預調整值獲取模塊、預失真運算模塊及延時模塊。
[0106]所述的索引函數(shù)模塊通過數(shù)字基帶信號χ(η)、過去多個時刻的預失真器輸出信號 u(n-q)(l彡q彡(f)及功放辨識模塊傳入的參數(shù),按照公式(Π 1)計算索引函數(shù)v(n),并將v (η)傳遞給索引值模塊及預失真運算模塊。
[0107] 所述的索引值模塊為取模模塊,即求解出索引值|ν(η)|,并傳遞給查找表模塊及 預調整值獲取模塊。
[0108] 所述的查找表模塊需要初始化,設基帶數(shù)字信號χ(η)的最大幅值為Xmax=0.55,根 據基帶輸入信號的幅值及功放特性估計出預失真器輸出信號的最大幅值約為u max = 0.6。首 先,按照M = |u| X |11(|11|)|,(11(|11|)如公式出2)所示)繪制預調整值|1 1|與索引值卜|的 關系(如圖4所示),并得到預調整值|u|與索引值|v|的斜率關系(如圖5所示);然后依據斜 率的最大值a! = 2.258、斜率的最小值a2 = 0.9447、查找表項數(shù)N,計算得到Δ a = (ai-a2)/ (N-1),即對斜率進行均勻量化;最后按照各分段斜率確定該分段的起點和終點,并將對應 的I Vl I、I m |值填入查找表。這樣,查找表中各相鄰項預調整值| u |之間的距離不再相等,而 是斜率變化相等,如表2所示。查找表中各項的斜率值如公式(f 26)所示。
[0109] 所述的查找表模塊用于存儲索引值與預調整值,并尋找相應的預調整值初始值。 設當前時刻的索引值為|v(n)|,通過對查找表中索引值進行掃描,尋找到最接近|v(n)|的 索引值,令該索引值對應的預調整值作為預調整值的初始值|u init(n) |,并傳遞給預調整值 獲取模塊。
[0110]所述的預調整值獲取模塊根據|v(n) I、|uinit(n) |,令z〇= |uinit(n) |,并 執(zhí)行公式(Π5)、(Π6)及(Π7)。之后可以得到預調整值|u(n)|=z3,并將其傳遞給預失真 運算模塊。
[0111] 所述的預失真運算模塊接收v(n)、|u(n) | ,根據公式(Π0)計算得到預失 真器的輸出信號u(n),并將其作為功放模塊的輸入信號。
[0112] 所述的延時模塊用于對預失真運算模塊輸出信號u(n)進行延時,得到預失真器前 q(l彡q彡(f)時刻的輸出信號u(n-q),并傳遞給索引函數(shù)模塊。
[0113] 當采用九載波帶寬為14.4MHz、數(shù)據速率為122.88Mcps的TD-SCDMA信號作為信號 源(最大幅值為0.55),功放采用文獻[3]中的記憶多項式模型時,根據功放特性可以估計出 預失真器輸出信號最大幅值約為〇. 6。當采用對預調整值| u |進行均勻量化的方法初始化查 找表后(即對圖4中縱坐標進行均勻量化),可以得到三種算法在不同查找表大小時的NMSE 指標曲線圖(如圖6所示)。從圖中可以看出文獻[1]的效果最差,當NMSE為-80dB時,文獻[2] 及本方法的查找表大小分別為30與10。因此可以得到結論:當達到相同的線性化效果時,本 方法所需硬件資源較少,當查找表規(guī)模相同時本方法的指標最佳。
[0114] 當根據斜率進行查找表資源分配時(即對圖5中縱坐標進行均勻量化),獲得的 匪SE指標曲線如圖7所示,從圖中可以看出,采用斜率均勻量化后,獲得相同的線性化效果 僅需要較小的查找表規(guī)模。同時,通過頻譜圖(圖8)可以觀察各種方法對雜散成分的抑制效 果,其中文獻[1 ]、[ 2 ]查找表大小N = 30,而本方法查找表大小N= 10。從圖中可以看出,三種 查找表預失真方法均能有效地改善功放的非線性失真,而本方法在將存儲空間減少2/3后, 對雜散信號的抑制能力還提高了 20dB以上。
[0115]綜上所述,本方法可以進一步大幅降低功放的非線性失真程度、抑制帶外成分,且采 用基于斜率的查找表構建方式后,能以更少的硬件資源占用獲得更優(yōu)的線性化改善效果。
【主權項】
1. 一種查找表預失真器,包括索引函數(shù)模塊、索引值模塊、查找表模塊、預調整值獲取 模塊、預失真運算模塊及延時模塊; 索引函數(shù)模塊用于接收第η時刻的基帶輸入信號X(H)、第n-q(l彡q彡(f)時刻的輸出信 號u(n-q)以及功放辨識模塊反饋的非線性階數(shù)估計值記憶深度(f及多項式系數(shù),計 算索引數(shù)v(n),并將索引數(shù)v(n)傳遞給索引值模塊及預失真運算模塊; 索引值模塊用于根據索引數(shù)vU)取模解出索引值I V(H) I并傳遞給查找表模塊及預調 整值獲取模塊; 查找表模塊用于存儲索引值以及與之對應的預調整值,利用索引值I V(H) I通過查找表 得到對應的預調整值,并將其作為預調整值的初始值|uinit(n) I傳遞給預調整值獲取模塊; 預調整值獲取模塊用于根據預調整值的初始值|mnit(n) I、索引值模塊傳入的|v(n) I、 功放辨識模塊傳入的非線性階數(shù)估計值C及多項式系數(shù),通過1次Aitken迭代運算得到 優(yōu)化的預調整值I u(n) I =Z3,并將其傳遞給預失真運算模塊,Aitken迭代步驟如下:Zl、Z2、Z3%迭量。 預失真運算模塊根據接收的索引值v(n)、優(yōu)化的預調整值|u(n) I、非線性階數(shù)估計值 以及多項式系數(shù)句^,得到輸出信號u(n),作為預失真器最終輸出的調整值,同時將輸出信 號u(n)傳遞給延時模塊; 延時模塊用于對輸出信號u(n)延時q時刻,并將信號u(n-q)傳遞給索引函數(shù)模塊。2. 如權利要求1所述一種基于查找表的預失真器,其特征在于,查找表構建的原則是: 各項預調整值分段的斜率均勻變化。3. -種基于查找表的數(shù)字預失真方法,其特征在于,包括以下步驟: 1) 接收第η時刻的基帶輸入信號x(n)、第n-q時刻的輸出信號u(n-q)以及功放辨識模塊 反饋的非線性階數(shù)估計值K'記憶深度及多項式系數(shù),計算索引數(shù)v(n); 2) 根據索引數(shù)v(n)取模解出索引值|v(n)|; 3) 利用索引值|v(n) I,通過查找表得到對應的預調整值,并將其作為預調整值的初始 值 I Uinit(n) I ; 4) 根據預調整值的初始值|uinit(n) I、索引值模塊傳入的I v(n) I、功放辨識模塊傳入的 非線性階數(shù)估計值C及多項式系數(shù)bk,通過1次Aitken迭代運算得到優(yōu)化的預調整值I u (n) I =Z3,Aitken迭代步驟如下: zi、Z2、Z373^re^M。5)根據接收的索引值v(n)、優(yōu)化的預調整值|u(n) I、非線性階數(shù)估計值以及多項式系 數(shù)得到輸出信號u(n),作為預失真器最終輸出的調整值,同時將輸出信號u(n)延時q, 作為一下次預失真處理步驟1)中的輸入信號 u(n-q)。4.如權利要求3所述一種基于查找表的數(shù)字預失真方法,其特征在于,所述查找表中各 預調整值項是基于斜率均勻變化構建的。
【文檔編號】H03F1/32GK105897189SQ201610196559
【公開日】2016年8月24日
【申請日】2016年3月31日
【發(fā)明人】胡明, 李歡
【申請人】電子科技大學