1 MIMO系統的3種主要技術
當前,MIMO技術主要利用發射分集的空時編碼、空間復用和波束成型等3種多天線技術來提升無線傳輸速率及品質。
1.1 發射分集的空時編碼
基于發射分集技術的空時編碼主要有2種,即空時分組碼(STBC)和空時格碼(STTC)。雖然空時編碼方案不能直接提高數據率,但是通過這些并行空間信道獨立、不相關地傳輸信息,從而使信號在接收端獲得分集增益,為數據實現高階調制創造條件。
1.1.1 空時分組碼(STBC)
STBC在發射端對數據流進行聯合編碼以減小由于信道衰落和噪聲所導致的符號錯誤率,它通過在發射端增加信號的冗余度,使信號在接收端獲得分集增益,空時分組碼是將同一信息經過正交編碼后從多根天線發射出去。MIMO系統的原理如圖1所示,傳輸信息流s(k)經過空時編碼形成N個信息子流 ci(k),i=1,...,N。這N個信息子流由N個天線發射出去,經空間信道后由M個接收天線接收。多天線接收機利用先進的空時編碼處理能夠分開并解碼這些數據子流,從而實現最佳的處理。特別是這N個子流同時發射信號,各發射信號占用同一頻帶,因而并未增加帶寬。若各發射接收天線間的通道響應獨立不相關,則多入多出系統可以創造多個并行空間信道。
STBC是1998年,Alamouti提出的一種非常簡單的發射分集技術,由于其簡單的結構和良好的性能,很快進入了3GPP標準。STBC實質上是將同一信息經過正交編碼后從2個天線上發射出去,2路信號由于具有正交性,在接收端就能將2路獨立的信號區別出來,只需要做簡單的線性合并就可以獲得分集增益。
但是,STBC的正交碼組的構建還存在一定的問題。對于實數信號星座(PAM星座),它才可以構造編碼速率為1的空時編碼算法。但是,對于一個普通的復數信號星座,例如MQAM(如16QAM)或MPSK(如8PSK),當發射天線陣子數目大于2時,是否存在編碼速率為1的碼組還有待更深入的研究。目前對于發射天線陣子數目等于3、4以及大于4的系統,如果采用復數信號星座,那么最大的空時編碼速率只能達到3/4和1/2。可見,對于采用高階調制的高速率多天線的無線通信系統,如果直接采用空時分組編碼算法,不可能充分地利用系統的有效性。因此,尋找更好的空時分組碼目前已成為一個研究方向;另外,如何在頻率選擇性信道、時間選擇性信道中充分利用空時分組碼的優勢也是一個研究課題。總之,當前STBC還是基于發射天線陣子數目等于2的發射分集技術。
1.1.2 空時格碼(STTC)
STTC是從空時延遲分集發展來的,而空時延遲分集可以看作是空時格碼的一個特例。空時格碼具有卷積碼的特征,它將編碼、調制、發射分集結合在一起,可以同時獲得分集增益和編碼增益,并且使得系統的性能有很大的提升。空時格碼利用某種網格圖,將同一信息通過多個天線發射出去,在接收端采用基于歐式距離的Viterbi譯碼器譯碼。因此譯碼復雜度較高,而且譯碼復雜度將隨著傳輸速率的增加呈指數增加。
早期的分集模型采用延時發送分集,這種分集的框圖如圖2所示。編碼后的數據首先被重復一次,然后通過一個串/并轉換器,分成2個完全相同的數據流。其中一數據流經過調制后直接從一個天線發送出去;另一數據流經過一個符號的延時后,再經調制從另一個天線發送出去。由于數據在2個天線上同時發送,不同的只是一路數據被延時了一個符號,所以盡管采用了延時編碼,卻不會存在頻帶效率的損失。在接收端,通過Viterbi譯碼可以進行解調。這種延時的分集就是空時碼的雛形。可以證明當前所講的STTC可以由延時發送分集實現。
延時分集技術的產生使人們很自然地想到,能否存在一種更好的編碼方式,不需要重復編碼,就能在保持同樣的數據速率、不犧牲帶寬的情況下獲得更好的性能,這樣就產生了一種新的編碼方式,這就是集空分、時分、調制于一體的空時編碼。
在空時編碼中,STTC能夠在不增加傳送寬帶和不改變信息速率的情況下,獲得最大的編碼增益和分集增益。
1.2 空間復用
系統將數據分割成多份,分別在發射端的多個天線上發射出去,接收端接收到多個數據的混合信號后,利用不同空間信道間獨立的衰落特性,區分出這些并行的數據流。從而達到在相同的頻率資源內獲取更高數據速率的目的。空間復用與發射分集技術不同,它在不同天線上發射不同信息。
空間復用技術是在發射端發射相互獨立的信號,接收端采用干擾抑制的方法進行解碼,此時的空口信道容量隨著天線數量的增加而線性增大,從而能夠顯著提高系統的傳輸速率(見圖3)。
使用空間復用技術時,接收端必須進行復雜的解碼處理。業界主要的解碼算法有迫零算法(ZF)、MMSE算法、最大似然解碼算法(MLD)和貝爾實驗室分層空時處理算法(BLAST)。
迫零算法,MMSE算法是線性算法,比較容易實現,但對信道的信噪比要求較高,性能不佳;MLD算法具有很好的譯碼性能,但它的解碼復雜度隨著發射天線數量的增加呈指數增加,因此,當發射天線的數量很大時,這種算法是不實用的;綜合前述算法優點的BLAST算法是性能和復雜度最優的。
BLAST算法是貝爾實驗室提出的一種有效的空時處理算法,目前已廣泛應用于MIMO系統中。BLAST算法分為D-BLAST算法和V-BLAST算法。
D-BLAST算法是由貝爾實驗室的G.J.Foschini于1996年提出的。對于D-BLAST算法,原始數據被分為若干子數據流,每個子流獨立進行編碼,而且被循環分配到不同的發射天線。D-BLAST的好處是每個子流的數據都可以通過不同的空間路徑到達接收端,從而提高了鏈路的可靠性,但其復雜度太大,難以實際使用。