王東昱 張永健
1. 北方工業大學 信息學院 北京 100144;
2. 國際關系學院 信息科技學院 北京 100091
在MIMO系統中,多根接收天線與多根發送天線形成陣列,為了增加信道容量,接收天線需要對發送符號進行檢測。其中最大似然準則算法是最一種最佳檢測算法,但是這種算法的復雜度會隨著天線數量的增加而迅速增加。為了有效降低算法復雜度,基于MMSE準則的噪聲干擾消除算法得到了廣泛應用,這種消除算法從最下一層對符號進行檢測,判決該符號以后,那么在上一層,把該判決符號作為已知符號進行消除,依次對上面各層符號進行逐層檢測。
從對MIMO系統的描述可知,對符號的檢測過程即可描述為:通過已知的已收到的符號向量y和信道矩陣H,來對未知的發射符號x進行檢測。雖然無法獲得噪聲向量n的精確信息,但發射符號向量x的所有可能情況都可以根據對發射符號的調制方式而獲取。例如,對發射符號采取4-QAM的方式進行調制時,假設發射天線數Nt=2,此時所有可能的發射符號向量x的個數為16。所以,發射符號向量的個數隨著Nt以指數形式增長。
從對MIMO系統的描述可知,對符號的檢測過程即可描述為:通過已知的已收到的符號向量y和信道矩陣H,來對未知的發射符號x進行檢測。雖然無法獲得噪聲向量n的精確信息,但發射符號向量x的所有可能情況都可以根據對發射符號的調制方式而獲取。例如,對發射符號采取4-QAM的方式進行調制時,假設發射天線數Nt=2,此時所有可能的發射符號向量x的個數為16。所以,發射符號向量的個數隨著Nt以指數形式增長。
為了降低符號檢測的復雜度,通常我們會利用線性濾波方式來對接收符號進行檢測[1]。利用線性符號檢測的原理是把來自發射天線的期望信息流當作有用信息,并把其他發射天線發出的符號當作干擾。因此,在檢測來自目標發射天線的期望符號時,需要最小化或消除來自除目標發射天線以外的干擾符號。為了檢測出來自每根發射天線的期望符號,我們用一個加權矩陣W來預先對信道進行處理:
由式(1)可知,線性符號檢測算法即利用接收符號的一個線性組合便可完成,主要包括迫零(Zero-Forcing,ZF),最小均方誤差(Minimum Mean-Squared Error,MMSE),以及最大似然檢測(Maximum Likelihood,ML)算法。
ZF檢測算法是采用用下面的加權矩陣來消除噪聲干擾:WZF=(HHH)-1HH。其中上標H表示對信道矩陣進行了埃爾米特轉置,對矩陣進行轉置共軛,所以WZF起到了逆轉信道的作用:
為了減小在ZF檢測中等效噪聲被放大所帶來的影響,可以采用最小均方誤差MMSE檢測算法,MMSE算法可以利用了噪聲的統計特性,對ZF算法進行了進一步的優化,將均方誤差進行最小化:
因此,可以計算出相應的均方誤差MSE為:
最大似然檢測ML算法是通過遍歷所有可能的發送符號向量,并計算出相應的似然函數,尋找具有最大似然函數的發射符號。定義f(y|x)表示在收到符號y的情況下,估計發射向量x的似然函數,那么,具有最大似然函數的發射符號向量可以表示為:
由于ML算法檢測要求在全部可能的所發送的符號中進行遍歷檢索,全部可能的發送的符號的數量為 ,因此,ML算法的復雜度會隨著發送天線數量的增加按照指數的增長。
基于串行干擾消除(Successive Interference Cancellation, SIC)的檢測符號的算法的原理圖如圖1所示:首先對首個符號進行檢測,如果檢測結果無誤,則在以后對其他符號做檢測時去掉已經檢出并被看成干擾的符號,這樣可以對隨后的符號進行無干擾檢測。
圖1 SIC檢測算法原理圖
假設xi表示第i個需要檢測的符號,首先通過ZF或MMSE等不同的算法來進行檢測,當檢測出符號i后,需要在下一個符號檢測中去除,該符號被視為干擾符號的i,以便減小i對后續符號檢測造成的影響,這樣就可以實現對下一個符號的無干擾檢測。這個過程可用式(1)來表示:
在SIC檢測算法中,QR分解在起到了很重要的作用,它可以將信道矩陣H拆分,并利用拆分出的上三角矩陣進行迭代檢測并依次消除干擾符號,檢測出各個發射符號的分量。在進行QR分解時,應保證NT≤NR,否則無法進行QR分解,進而無法使用SIC檢測方法來進行符號檢測。
在ZF-SIC檢查算法中,我們需要考慮發送天線與接收接天線數量是否相等的兩種情況。
當NT=NR=N時, H可以被分解為一個N×N的酉矩陣Q,和一個N×N的上三角矩陣R,即:
其中,rm,n表示矩陣R的第(m,n)個元素。那么接收矩陣方程為:y=Rs+n。
算法可以從矩陣的最后一行向上逐行進行SIC檢測,由最后一行yN=rN,NxN+nN,可以根據MMSE準則檢測出符號Nx,再檢測上面一層時,可以根據yN-1=rN-1,NxN+rN-1,N-1xN-1nN-1,根據MMSE準則檢測出符號xN-1,依次逐行向上檢測。
當NT 因此,在逐行消除過程中,可以得到: 若用S={s(1),s(2),….. s(k)}作為K-QAM星座映射的符號集,則符號的硬檢測為: 可以看出的檢測過程中不存在干擾項,所以可以在對的檢測中,去掉被當作干擾項的,并將這種串行干擾過程用到所有數據符號都被檢測出來為止。 基于排序的連續干擾消除(Ordered Successive Interference Cancellation, OSIC)算法是對SIC的進一步優化[2]。該檢測算法在SIC的基礎上對待檢測的信號流進行了排序[3]。此時,假設表示第i個需要檢測的符號,它并不代表來自于第i根發射天線所發出的符號,而是按照檢測順序所設定的第i個待檢測符號。 對于基于SINR排序的OSIC檢測算法是先將符號的SINR進行排序,首先檢測具有最大檢測后SINR的符號,假設采用線性MMSE檢測算法進行檢測,則檢測后的符號SINR為: 當在符號檢測中使用線性檢測ZF加權矩陣進行檢時,與基于式(9)的表達式比較,發現干擾項消失,且信號功率,所以檢測后的SINR可以改寫為如下形式: 這種算法檢測方式與基于SINR排序的OSIC檢測方法類似,根據式(11)的信噪比是對剩余符號分別計算對應的SINR,并選擇具有最大SINR的符號,在上一層中進行消除,再以同樣的方式繼續檢測,直到所有符號都被檢測出為止,結束檢測。 在仿真中,假設MIMO信道是4發4收的平坦慢衰落信道,16QAM調制方式,噪聲服從均值為0,方差為1的白高斯分布。MMSE算法比ZF算法性能略有提高,但這兩種算法相比較于ML算法仍有較大差距,并且這種差距在高信噪比的情況下表現更為顯著[4]。ML算法雖然屬于最優算法,但有一個最重要的問題就是計算次數會隨著呈指數增加。而ZF算法和MMSE算法雖然復雜度很低,但準確度也隨之降低。此外,通過在ZF與MMSE算法上,增加了連續串行干擾消除的檢測方式所形成的算法,相比于單純的線性迫零算法或者最小均方誤差檢測算法,消除算法性能在進行消除時,可以有效地提升檢測的準確率,并且復雜度沒有很大的上升,檢測性能得到了提高。 本文分析了在無線通信環境中,采用多發送多接收天線系統中,在接收端禮元基于串行干擾消除對接收符號進行檢查的串行消除算法。該算法預先對傳輸矩陣進行QR分解為上三角陣,算法從最下一層對符號進行檢測,當判決該符號后,在上一層,把該判決符號作為已知符號進行消除,這樣逐層檢測并消除。仿真顯示:連續串行干擾消除的檢測算法性能可以有效提升檢測的準確性,性能得到了明顯的提高。3 基于排序的串行干擾消除檢測算法
3.1 基于SINR排序的OSIC檢測算法
3.2 基于SNR排序的OSIC檢測算法
4 性能仿真
5 結束語