上一回我們說到了變化莫測的MIMO信道,并且留下了一個美好的假設:“如果在發(fā)送數(shù)據之前,我們能夠提前獲得信道信息,是不是能對發(fā)送策略有指導作用,并且有效的幫助我們提升通信系統(tǒng)的性能呢?”本回內容,我們就來回答這些問題。
還記得上回開篇在介紹“相關性”時舉得例子么?這里簡單的回顧一下:假設有一車貨物要從A地運到B地,有3條路可以選擇,分別經過城市X,Y,Z。在出發(fā)前我們聽到天氣預報說X市會有大雨,于是我們選擇繞道走Z市,從而避開了受天氣影響的X市和Y市。這里,正是因為我們聽到了天氣預報,才能選出最佳的出行路線,所以“天氣預報信息”為我們的出行提供了非常有效的幫助。在無線通信系統(tǒng)中,“信道狀態(tài)信息(ChannelCondition Information,CSI)”就相當于這個例子中的“天氣信息”,那么如果我們能夠在發(fā)送端掌握到及時、準確的“信道狀態(tài)信息”,是不是就能“避開”那些信道條件不好的傳播路徑,從而提升通信系統(tǒng)的性能?
答案當然是肯定的。不過,發(fā)送端獲得“信道狀態(tài)信息”后,究竟能為MIMO通信系統(tǒng)帶來多少好處,我們還是得從數(shù)學的角度進行分析,誰讓數(shù)學是通信的基礎呢。首先我們可以想象一下,我們心目中最佳的信道矩陣,或者叫傳輸矩陣,應該具有什么樣的結構?拿2x2MIMO 系統(tǒng)舉例來說,它的傳輸矩陣具有以下形式(忽略噪聲的影響):
我們可以很快看出,最佳的傳輸矩陣H,應該具有的形式是:
當傳輸矩陣擁有這種“對角陣”的形式時,X1和X2和它進行矩陣相乘后,得到的仍然是X1和X2,就好像X1和X2各自通過了一條“透明”的子信道到達接收端,兩者之間也沒有任何干擾。
然而“理想很豐滿,現(xiàn)實很骨感”,要是現(xiàn)實中的通信系統(tǒng)都能擁有如此完美的傳輸過程,恐怕一大半的MIMO研究人員都可以下崗了。我們知道,現(xiàn)實中的傳輸矩陣,里面的各個元素都是按一定的概率統(tǒng)計規(guī)律隨機變化的,根本找不到半點“對角陣”的影子。但是“對角陣”的形式實在是太好了,即使眼下無法直接獲得,我們依然希望能夠有一種方法能夠將現(xiàn)實的傳輸矩陣“轉化”成對角陣的形式--SVD分解(矩陣的奇異值分解,SingularValue Decomposition)就提供了完美的解決辦法。
通過對傳輸矩陣H進行SVD分解,我們可以得到三個矩陣:左酉陣U,對角矩陣S(對角陣S中的元素s1,s2就是H矩陣的奇異值)和右酉陣V?,F(xiàn)在,我們期望的對角陣S已經出現(xiàn)了,但它的左右兩邊又多出了兩個酉陣U和V,怎么辦?沒關系,“酉陣”同學有一個很好的性質,它只要與自己的共軛轉置相乘,就可以把自己化簡掉(其實是得到了一個單位陣()。
如果我們在信號經過信道之前,首先對信號進行“預處理”,給它們乘以V的共軛轉置矩陣,再讓它們經過信道,右酉陣V就被化簡掉了,相當于發(fā)送信號直接與對角陣S相乘!接收端的處理類似,我們對接收信號矩陣左乘酉陣U的共軛轉置,就可以消掉它。這時我們驚喜的發(fā)現(xiàn),擁有“對角陣”形式的傳輸方程又回來了,這正是我們期待的效果!
慢著慢著,我們來回顧一下剛才是如何重新獲得“對角陣”形式的傳輸矩陣的?沒錯,正是因為在信號發(fā)送之前,給它們乘以了右酉陣V的共軛轉置矩陣。所以,我們可以提煉出發(fā)送端擁有信道矩陣的第一個好處:如果發(fā)送端擁有了H的信息,就可以對它進行SVD分解,從而得到右酉陣V,利用它,可以將傳輸過程轉化成我們期望的“對角陣”形式。
閑話1:
在現(xiàn)實的MIMO通信系統(tǒng)中,運用信道信息對發(fā)送信號進行“預處理”的發(fā)送方式也非常重要。比如LTE協(xié)議中的“線性預編碼技術(LinerPrecoding)”或者802.11n中也有的“波束成形技術(Beamforming)”,其背后的原理和思想,都與我們上述的分析一致,只不過有多種實現(xiàn)方法,這也與信道信息的獲取方式有很大關系,一會兒我們再介紹。
好了,信道信息除了可以用來對發(fā)送信號進行“預處理”,指導發(fā)送策略以外,從中還能獲得什么對我們有用的信息呢?這次,我們要從 “對角陣S”身上尋找答案。
對不同的信道矩陣H進行SVD分解,可以得到不同的“對角陣S”,這聽上去是一句廢話;但是,這些不同的“對角陣S”,卻能反映出信道H的很多信息。所以,我們不妨直接拿出幾個實際的H矩陣,對它們進行SVD分解,看看分解出的這些“對角陣”中,究竟還隱藏著哪些秘密。我們依舊選擇2x2MIMO信道作為研究對象,為了便于對照,我們選擇3個“極端”的信道矩陣作為分析的例子:最優(yōu)矩陣(單位陣);隨機矩陣和最差矩陣(全1陣)。注:這里列舉的信道只為說明其自身矩陣特性,并沒有進行歸一化等處理。
最優(yōu)傳輸矩陣的特性,剛才我們已經分析過了,這里為什么要把全一矩陣定義成“最差信道”呢?原因也很簡單,信道矩陣H中的所有元素都一樣,不就說明所有傳輸路徑的增益都相同么,換句話說,所有路徑都經歷了完全相同的衰落過程,在上一回“猶抱琵琶半遮面--MIMO信道中隱藏的秘密”中,我們分析過,如果4條傳輸路徑完全相同,可以把它們看成是同一條路徑,2x2MIMO系統(tǒng)將退化成SISO系統(tǒng),這當然是我們最不愿意看到的結果。
現(xiàn)在我們分別對這三個信道矩陣進行SVD分解,得到的對角陣如下圖:
(1)對角陣中,奇異值個數(shù)的意義:我們可以清晰看到,“最優(yōu)信道”和“隨機信道”分解出的對角陣S1和S2都有兩個非零元素,即信道H的奇異值。而“最差信道”分解出的對角陣S3中只有1個奇異值,這代表什么呢?我們來深入的研究下這種情況:現(xiàn)在,如果在發(fā)送端同時發(fā)出兩個信號X1和X2,實際上只有一個信號能夠通過子信道,另一個卻“消失”了,這就說明這種信道只能保證一個信號的收發(fā),換句話說,它的“自由度”只有1。
且慢,你在第一回“魚與熊掌能否兼得--淺談分集與復用的權衡”中不是說過,2x2MIMO系統(tǒng)能夠寫出兩個傳輸方程,所以支持的“自由度”應該是2么?沒錯,不過讓我們先來看看,“最差信道”寫出的兩個傳輸方程是什么樣的。仍舊假設發(fā)送端發(fā)出信號X1和X2,在與全一矩陣相乘后,我們得到了兩個完全一樣的傳輸方程,這不就相當于只有一個方程么!我們也不可能從一個方程中解出兩個準確的X1和X2,所以,盡管2x2 MIMO支持的最大“自由度”是2,“最差信道”能提供的“自由度”只有1。看來,奇異值的個數(shù),直接反應了信道所支持的“自由度”數(shù)目。
我們當然要更進一步追問,究竟是什么原因造成了“自由度”的退化?罪魁禍首當然是“相關性”。剛才我們已經分析了,“最差信道”中,所有元素都相同,就意味著4條傳輸路徑完全相同,MIMO系統(tǒng)將退化成SISO系統(tǒng),而SISO系統(tǒng)能提供的“自由度”可不就是1么?!跋嚓P性”還真是個難纏的家伙。(如何才能降低信號間的相關性?可以回顧上一回“猶抱琵琶半遮面--MIMO信道中隱藏的秘密”)
現(xiàn)在我們來總結一下 “對角陣S”中,奇異值個數(shù)的含義:在對一個信道矩陣進行SVD分解后,得到的“對角陣”中,奇異值(非零元素)的個數(shù)就代表該信道能支持的 “自由度”數(shù)目----更專業(yè)一點的說法是,奇異值的個數(shù),就是該信道矩陣的秩(Rank)。
閑話2:
在現(xiàn)實的MIMO通信系統(tǒng)中,發(fā)送端如果能夠知道信道矩陣的秩,對發(fā)送策略的選擇也是大有益處的:當信道質量好的時候,我們會更多的發(fā)揮“自由度”的優(yōu)勢,使用更多的空間流數(shù)(自由度)進行傳輸,以提高通信的速率;但是當信道變差以后,就無法再支持多個空間流了,信道秩的指示(RankIndication,RI)可以幫助我們選擇合適的空間流數(shù)進行傳輸,以提高通信效率。
(2)對角陣中,奇異值大小的意義:從圖中我們也能清晰看到,盡管“最優(yōu)信道”和“隨機信道”分解后得到的對角陣中,都有兩個奇異值,但這兩個奇異值的大小分布卻不相同。那么,奇異值間的大小分布又有什么意義呢?簡單的說,奇異值的大小,衡量的是信道所支持的“自由度”的“健康狀況”,數(shù)值越趨近0,說明該自由度越接近“退化”的邊緣。比如在“最優(yōu)信道”中,兩個奇異值大小相同,意味著信道對兩個自由度的支持都很好,沒有任何差別,這當然也是我們最想看到的情況;而在“隨機信道”中就不同了,一個數(shù)值特別大,一個特別小,換句話說,這個信道支持1個自由度綽綽有余,想支持2個,效果就沒有那么好了。所以,在許多經典的MIMO教科書中,都能看到這樣一個參數(shù):ConditionNumber(條件數(shù)),它定義為“對角陣S”中,最大奇異值比上最小奇異值的結果,現(xiàn)在我們對它應該有了更好的理解:這個比值(條件數(shù))越接近1,說明信道中各個平行子信道(自由度)的傳輸條件都很好,很平均;比值越大,說明各個子信道的傳輸條件好的好,差的差。
那么在現(xiàn)實中,如果我們能夠知道奇異值的個數(shù)和大小,不就能夠知道哪些子信道的傳輸條件好,哪些傳輸條件不好了么?我們當然希望發(fā)送策略可以多多利用條件好的子信道,盡量少用或不用條件差的子信道。這就像突圍戰(zhàn)中,一定要找到敵人最薄弱的環(huán)節(jié),集中優(yōu)勢兵力,一舉擊破。在實際的MIMO通信系統(tǒng)中,總的發(fā)送功率有限,與其把功率浪費在條件差的信道上,不如通過調整發(fā)送功率,給條件好的子信道多分配一些功率,給條件差的子信道少分或不分配功率,來實現(xiàn)上述思想。
這個過程就像給一個杯子中加水,如果杯中的雜物很多,能加入的水就少;若杯中空無一物,能容的水就多。我們不妨把各個子信道的信道條件比作雜物,條件越差,意味著雜物越多,能分配的功率就越少。當我們把總量一定的水(功率)倒入這些杯中,可以清晰的看到一條注水線,水的深度就是給這些子信道分配的功率了。這便是大名鼎鼎的“注水算法(water-filling)”!
好了,說了那么多,相信大家也看累了。現(xiàn)在我們可以回顧并總結一下,發(fā)送端獲得信道信息后,能夠帶來的好處:
(1)使用右酉陣V,可以對發(fā)送信號進行“預處理”,將傳輸過程轉化成具有“平行子信道”的對角陣形式;
(2)有了信道矩陣秩的信息(奇異值的個數(shù)),可以靈活的調整空間流數(shù)(自由度),從而提高通信系統(tǒng)效率;
(3)知道了奇異值的個數(shù)和大小后,可以使用“注水算法”分配發(fā)送功率,提升系統(tǒng)容量。
本回中,我們用了很大的篇幅來介紹“信道信息的應用”,最后,我們就來簡單的看一下發(fā)送端有哪些方法來獲得這些有用的信道信息的,并結束全文。
發(fā)送端獲取信道信息的方式與通信系統(tǒng)所采用的雙工方式有很大關系。在一個時分復用(TimeDivision Duplexing,TDD)系統(tǒng)中,顧名思義,這樣的通信系統(tǒng)是通過時間來區(qū)分上下行數(shù)據的,所以,所有數(shù)據共享相同的頻率資源。這就相當于有一條很窄的路,每次只能允許一輛汽車通過,來往的車輛都通過時間調度,這個時刻你過,下個時刻輪到我。
這種情況下,下行車輛如果想知道“路況信息”,直接問問上行開過來的車輛就行了。在TDD的通信系統(tǒng)中,信道信息獲取的方式也類似:只需要對上行數(shù)據中的參考信號進行信道估計,就可以得到下行的信道信息(實際運用中,通常還需要“校準”這一步,以消除上下行射頻(RF)間的誤差)。
我國自主制定的3G通信協(xié)議TD-SCDMA,和“4G”演進版本的TDD-LTE協(xié)議,都屬于這種雙工方式,所以比較容易在發(fā)送端得到信道的信息,因此,那些強烈依賴信道信息的技術,如智能天線,波束成形等,都是這些協(xié)議中的“亮點”。
而在FDD(FrequencyDivision Duplexing)系統(tǒng)中,上下行數(shù)據使用不同的頻段進行傳輸,相當于各自獨享一條單行線路。這樣一來,兩條線路上的“狀況”可能大相徑庭,就像你問一個剛從西藏乘飛機回來的同學說:“進藏公路好不好走?”,他肯定也一頭霧水。所以,在FDD系統(tǒng)中,建立有效的反饋鏈路,就顯得十分重要了。
閑話3:對于反饋過程來說,它的內容不能過大,否則會影響正常的上行數(shù)據傳輸。但是信道信息哪里是省油的燈,完整且準確的信道信息的數(shù)據量龐大,將占用大量的上行資源。因此第一步要做的,就是要減少反饋開銷。我們可以把一些計算放到接收方來做,比如SVD分解,這樣只需要反饋信道信息的一些指示,和右酉陣V的信息就夠了。怎么,還嫌反饋量大,那我們對V進行壓縮,量化,再進行反饋好了。其實,802.11n及802.11ac中的波束成形技術就是這么做的,它通過Givens矩陣旋轉,把V轉化成只和角度有關的參數(shù),并只反饋這些角度的量化值,以達到減少反饋量的目的。不過它們是典型的時分系統(tǒng),需要在上行時隙中進行反饋。不行,反饋量還是有點大,還有沒有別的辦法呢?有!我們可以利用右酉陣V的“矩陣特性”,設計專門的碼本(Codebook),這就像給“各式各樣的V”進行了編號,每次只用向發(fā)送方反饋一個編號索引(Index),發(fā)送方就知道對應的矩陣是哪個了。LTE中“基于碼本的預編碼技術”就是采用的這種方式,反饋指示就叫“預編碼矩陣指示”(Precoding Matrix Indication,PMI)。