張魁元,李建平
(中國(guó)傳媒大學(xué)信息工程學(xué)院,北京100024)
MIMO技術(shù)的出現(xiàn)改變了通信發(fā)展的新格局,帶來了新的研究熱潮。在MIMO通信系統(tǒng)中加入中繼模塊,可以減少信號(hào)傳輸?shù)乃ト醅F(xiàn)象,還可以大幅度擴(kuò)大網(wǎng)絡(luò)的覆蓋面積[1-2]。在MIMO中繼系統(tǒng)中,很多技術(shù)需要在知道信道狀態(tài)信息的情況下才能進(jìn)行研究,比如功率分配[3]、編解碼技術(shù)[4]、天線選擇[5]、信道容量[6]等。但是,如果不能知道精確的信道狀態(tài)信息,就會(huì)造成系統(tǒng)性能的下降。因此,有效的進(jìn)行信道估計(jì)對(duì)于中繼系統(tǒng)具有重要意義。
目前有很多對(duì)MIMO中繼系統(tǒng)的研究工作[7-8]。文獻(xiàn)[7]提出一種MIMO兩跳中繼信道進(jìn)行估計(jì)的方法。這里和其他文獻(xiàn)一樣,也使用了AF協(xié)議。當(dāng)發(fā)送功率受到一定的限制時(shí),對(duì)信源到中繼節(jié)點(diǎn)的信道估計(jì)問題作出優(yōu)化,并且將信號(hào)分解成多個(gè)分量,使得代價(jià)函數(shù)更加簡(jiǎn)單。雖然求出了最佳的導(dǎo)頻信號(hào),但是它使用的是不斷嘗試取值來求解最佳情況,這會(huì)消耗一定的復(fù)雜度。文獻(xiàn)[8]分析了發(fā)送節(jié)點(diǎn)的最佳信道訓(xùn)練序列情況。但是,這里是利用從中繼到信宿的傳輸部分所得到的信道狀態(tài)信息的估計(jì)結(jié)果,來分析信源到中繼部分的狀態(tài)信息做估計(jì)。也就是說,將后一部分的估計(jì)結(jié)果作為條件來估計(jì)前一部分的內(nèi)容,得到另一個(gè)估計(jì)的值。這樣的話如果已估計(jì)的值有一定誤差的話,就勢(shì)必會(huì)影響其他估計(jì)的值,可能會(huì)使得估計(jì)效果變得有問題。
本文是基于PARAFAC模型下的信道估計(jì)方法,通過構(gòu)造具有分解唯一性的PARAFAC模型,利用文獻(xiàn)[1]相同的ALS算法,并在此基礎(chǔ)上,在算法里加入松弛因子,并對(duì)它選取適當(dāng)?shù)闹怠@肁LS算法的信道估計(jì)結(jié)果作為初始值,然后將初始值放到擁有松弛因子的ω-ALS的算法中進(jìn)行迭代更新,最終使其收斂。通過對(duì)復(fù)雜度以及性能的分析,進(jìn)一步提高了算法的收斂性,減少了ALS算法由于初始值的隨機(jī)性所造成的不穩(wěn)定性,更進(jìn)一步減小了算法迭代次數(shù)和算法復(fù)雜度。
由圖1可知,MIMO系統(tǒng)由三個(gè)部分組成,它們分別是信源節(jié)點(diǎn)、單中繼以及信宿組成,中繼節(jié)點(diǎn)采用放大轉(zhuǎn)發(fā)形式。我們?cè)O(shè)定這三個(gè)節(jié)點(diǎn)分別有M、R以及N根天線數(shù)目。為了分析信道的估計(jì),我們把模型簡(jiǎn)單化,信源直接到信宿的信號(hào)傳輸不在本文的研究范圍之內(nèi),只是考慮中繼節(jié)點(diǎn)兩邊的信道。我們把兩個(gè)部分的信道用分別H1以及H2表示,這兩個(gè)信道我們定位準(zhǔn)靜態(tài)平坦衰落信道,其中H1∈R×M、H2∈N×R,信道中的所有元素都服從復(fù)高斯隨機(jī)變量,即均值是0與方差是1的獨(dú)立同分布形態(tài)。
圖1 MIMO中繼系統(tǒng)模型
所提方法包括2個(gè)階段,第1個(gè)階段包含1個(gè)時(shí)間塊,第2個(gè)階段包含K個(gè)時(shí)間塊,其中,每個(gè)時(shí)間塊包含L個(gè)時(shí)隙。假設(shè)信道CSI(信道狀態(tài)信息)在這2個(gè)階段內(nèi)是恒定不變的,且信宿已知2個(gè)階段的中繼放大矩陣。在第1階段,信源發(fā)送正交信道訓(xùn)練序列S∈CN×L,其中SSH=IN。中繼接收的信號(hào)Yr∈CL×R和信宿接收的信號(hào)Yd∈CM×L分別表示為:
Yr=H1S+Wr
(1)
(2)
(3)
將式(3)的兩邊同時(shí)乘以 SH可得:
(4)
(5)
考慮一個(gè)H維矩陣X∈CM×N×P,它的PARAFAC模型的標(biāo)量形式可表示為:
(6)
式中:m=1,2,3,...,M,n=1,2,...,N。X(m,n,p)是X的對(duì)應(yīng)元素,H2∈(m,r),H1∈(r,n)和Q∈(p,r)表示PARAFAC模型的三個(gè)加載矩陣,kH2,kQ與kH1分別表示H2,Q和H1的Kruskal秩[9],若滿足:
kH2+kQ+kH1≥2R+2
(7)
則可以說明加載矩陣符合本質(zhì)唯一性。將PARAFAC標(biāo)量模型X(m,n,p)根據(jù)式(7)進(jìn)行剖面展開得到三個(gè)式子:
(8)
(9)
其中,符號(hào)⊙表示Khatri-Rao矩陣乘積。
本文提出一種ALS和ω-ALS兩種算法相結(jié)合的方式來擬合PARAFAC模型,利用ALS的估計(jì)結(jié)果來作為ω-ALS的初始值,從而估計(jì)出信道矩陣H1和H2,然后利用Kruskal-Rao的乘積公式將式(8)(9)相互迭代。首先隨機(jī)初始化H1和H2,并將Q的初始值提前設(shè)定。
松弛因子一般的作用是改善一個(gè)算法迭代的收斂情況,可以根據(jù)具體的情況或者要求來加快或者減慢算法的收斂速度。當(dāng)然,減慢收斂速度肯定是對(duì)算法所帶來的穩(wěn)定性有一定的要求。當(dāng)ω等于1時(shí),它相當(dāng)于不使用松弛因子,和原算法一樣;當(dāng)ω的值大于1時(shí),我們稱為超松弛因子,它的作用是把指定算法的收斂速度變快;而當(dāng)它的值小于1時(shí),我們一般稱作欠松弛因子,它主要的目的是改善運(yùn)算過程的穩(wěn)定性。一般情況下,我們根據(jù)具體的情況來擇優(yōu)松弛因子的數(shù)值。比如說如果算法的收斂情況不太好的時(shí)候,我們可以加入一個(gè)值小于1的欠松弛因子,這樣可能就會(huì)改善一定收斂條件。其中Fluent算法里就是加入了欠松弛因子,這樣的話兩次迭代值相差減小可以防止迭代過程中可能發(fā)生的發(fā)散現(xiàn)象。當(dāng)然這樣的話收斂速度就會(huì)有些不理想。
一般情況下,松弛因子的取值在0到2之間。如果松弛因子越大,算法的計(jì)算速度越快,但是結(jié)果就會(huì)變得越不穩(wěn)定,也就是說很難收斂。如果把松弛因子變小,結(jié)果容易穩(wěn)定,但迭代次數(shù)會(huì)變多,收斂速度回變慢。當(dāng)然松弛因子數(shù)值的選取,還要根據(jù)具體的模型算法來決定,適當(dāng)?shù)倪x取松弛因子的數(shù)值范圍,才能達(dá)到想要的效果。
對(duì)于ALS算法,通過每一次迭代,利用式(9)、(10)、(11)得到:
通過LS擬合來更新H1
=(Q⊙H2)+X(1)
(10)
(11)
通過式(11)(12)不斷更新來保持LS擬合。ALS算法在第t次迭代的代價(jià)函數(shù)上是:
(12)
(13)
(14)
其中松弛因子ω一般情況去固定的值,通常取1.2,1.3等。
然后將得到的新的估計(jì)值代入(11)(12)中進(jìn)行迭代更新運(yùn)算來提高LS擬合,直到滿足收斂條件為止。
結(jié)合算法的實(shí)現(xiàn)步驟總結(jié)如下:
結(jié)束。否則跳轉(zhuǎn)到步驟(2)
(7)根據(jù)步驟(2)(3)(4)求得估計(jì)值,如果|γ(t)-γ(t-1)|/γ(t)=ε(ε=10-6),迭代更新結(jié)束。否則跳轉(zhuǎn)到步驟(7)。
—個(gè)具體數(shù)值為例,在下文的表中,當(dāng)M=N=R=4和P=3時(shí),ALS算法需要120次迭代才能達(dá)到收斂,每次迭代所需要的乘法數(shù)目為1764。結(jié)合算法第一部分需要58次迭代達(dá)到收斂條件,第二部分需要30次迭代達(dá)到收斂要求。一個(gè)算法的計(jì)算復(fù)雜度不僅僅是知道單次的迭代復(fù)雜度,還要知道收斂時(shí)所提的算法所需要的迭代次數(shù)。一般情況將以上兩點(diǎn)想成之后就會(huì)得到最終的算法復(fù)雜度。那么采用結(jié)合算法共需要88次疊法,因化采用結(jié)合算法,算法共節(jié)省了28%的乘法。
下面的表1表示了兩種算法在仿真運(yùn)行時(shí)所需要的時(shí)間,其中時(shí)間以秒為基本單位,運(yùn)算用時(shí)取到小數(shù)點(diǎn)后三位。一般情況下,CPU的用時(shí)可以說明一個(gè)算法在算法復(fù)雜度上的不同。那么由表1可知,不同的發(fā)射功率Q下,引入松弛因子的ALS算法在MIMO中繼模型下所需要的時(shí)間都比ALS算法更少,說明引入松弛因子ALS算法的工作效率更好,這也就是說它的算法復(fù)雜度更低,速度更快。
表1 不同算法CPU運(yùn)行時(shí)間
利用仿真技術(shù)對(duì)所提算法的性能進(jìn)行簡(jiǎn)單分析,并與原有的ALS算法進(jìn)行比較。
所提算法的性能由歸一化均方誤差(NMSE)來表示,定義由式(15)表示:
(15)
我們假設(shè),信源與信宿的天線數(shù)目相同,且導(dǎo)頻信號(hào)L與信源天線數(shù)相同,令N=M=L=4。其中松弛因子取1.4,中繼信噪比為20db。H1與H2矩陣為均值為0方差為1的獨(dú)立同分布的復(fù)高斯隨機(jī)矩陣.有圖顯示,隨著信噪比的不斷增加,所提算法的性能不斷降低。
圖2考察了引入松弛因子的算法與原算法ALS的性能比較,假設(shè)訓(xùn)練塊P=3。由仿真圖可以看出,隨著信噪比增加,兩種算法的估計(jì)結(jié)果都越來越好。所提算法和原算法的曲線走勢(shì)幾乎重合,兩者的NMSE近乎相同。由算法復(fù)雜度的表格得知,所提算法在性能幾乎不變的前提下,一定量的降低了算法復(fù)雜度,提高了算法的收斂速度。
圖2 兩種算法的性能比較
圖3考察天線數(shù)對(duì)所提示算法的性能影響。當(dāng)令M=N=R,當(dāng)天線數(shù)分別為4和5時(shí),顯示在不同信噪比下引入松弛因子后的性能曲線,從圖中表明,信噪比在增大,H1與H2的NMSE的值在變小。這樣一來,通過引入更多的天線數(shù)量,使得信道估計(jì)的結(jié)果更加準(zhǔn)確,性能變得更好。這說明:在多天線系統(tǒng)中,雖然在信號(hào)傳輸過程中會(huì)存在信道衰弱現(xiàn)象,但是由于天線數(shù)的不斷增加,它們之間的分集作用越強(qiáng),使得利用空間分集技術(shù)可以進(jìn)一步的改善衰落現(xiàn)象。最終讓整個(gè)MIMO系統(tǒng)傳輸信號(hào)時(shí)更加穩(wěn)定。
圖3 不同天線數(shù)的性能對(duì)比
圖4考察了在相關(guān)信道的條件下,強(qiáng)相關(guān)與弱相關(guān)對(duì)于所提算法H1與H2信道估計(jì)的影響。在本文中采用了Kronecker模型[11]:
圖4 加入信道相關(guān)性后性能的變化
圖5分析了信道訓(xùn)練數(shù)目S對(duì)系統(tǒng)性能的影響。由圖可知,當(dāng)信道訓(xùn)練數(shù)目增加時(shí),隨著信道訓(xùn)練數(shù)目的增加,信道矩陣H1、H2的NMSE都變小了,得出所估計(jì)的系統(tǒng)性能變的更好。這說明由于訓(xùn)練符號(hào)增多,導(dǎo)致可獲得的信道狀態(tài)信息更多。這樣一來,在信道估計(jì)時(shí),能夠更加準(zhǔn)確地得出結(jié)果。當(dāng)然增加過多的訓(xùn)練數(shù)目會(huì)導(dǎo)致浪費(fèi)一部分的帶寬使用情況,使得頻帶使用率降低。
圖5 訓(xùn)練數(shù)目不同對(duì)性能的影響
本文提出了一種基于PARAFAC模型的信道估計(jì)算法,在算法中引入了松弛因子,將ALS算法分成兩個(gè)部分,其中一部分收斂到一定程度后再加入松弛因子進(jìn)行迭代,直到達(dá)到收斂條件為止。在與原有算法性能精度幾乎一樣的前提下,降低了算法復(fù)雜度加快了收斂速度。對(duì)于MIMO中繼系統(tǒng)的研究有著一定的參考價(jià)值。