球形檢測器在空分復用MIMO通信系統中的應用及FPGA實(shí)現
信道矩陣預處理
信道矩陣預處理器確定了空分復用復合信號每一層的最佳檢測次序。該預處理器負責計算信道矩陣的偽逆矩陣范數,并根據這些范數,選擇待處理的下一個(gè)傳輸流。偽逆矩陣中范數最小的行對應著(zhù)最強傳輸流(檢波后噪聲放大最小),而范數最大的行對應著(zhù)質(zhì)量最差的層(檢波后噪聲放大最大)。我們的實(shí)施方案首先檢測最弱的層,然后按最低噪聲放大到最高噪聲放大的次序逐層檢測。對排序過(guò)程中的每一步,信道矩陣中相應的列隨后會(huì )被清空,然后簡(jiǎn)化后的矩陣進(jìn)入下一級的天線(xiàn)排序處理流水線(xiàn)。
在預處理算法中,偽逆矩陣的計算要求最高。這個(gè)過(guò)程的核心是矩陣求逆,通常通過(guò)吉文斯(Givens) 旋轉進(jìn)行 QR 分解 (QRD) 來(lái)實(shí)現。常用的角度估算和平面旋轉算法(如 CORDIC)會(huì )造成嚴重的系統時(shí)延,對我們的系統來(lái)說(shuō)是不可接受的。因此,我們的目標是運用 FPGA 的嵌入式 DSP 資源(比如 Virtex-5 器件中的 DSP48E),找出矢量旋轉和相位估算的替代性解決方案。
QRD 的脈動(dòng)陣列結構由兩種類(lèi)型的處理單元構成——對角線(xiàn)單元或邊界單元和非對角線(xiàn)單元或內部單元。邊界單元執行矢量函數,可以生成陣列內部單元使用的旋轉角度。要想得到想要的旋轉角度,可以把非對角線(xiàn)單元中的值與對角線(xiàn)單元中的共軛復數相乘,然后除以復數的倒數即可。相除實(shí)際是用乘法的方式完成的,即在觀(guān)察到函數接近線(xiàn)性的時(shí)候,乘以根據定義的間隔的多項式近似值計算出的倒數。圖 3 顯示了采用這種近似值在對角線(xiàn)脈動(dòng)單元中完成這種復雜旋轉的信號流程圖。

圖 3. 對角線(xiàn)脈動(dòng)單元結構圖
發(fā)送到非對角線(xiàn)單元中的數據是旋轉矢量的同相部分和正交部分除以相應的近似值得出的結果。我們不僅通過(guò)在對角線(xiàn)單元和非對角線(xiàn)單元采用流水線(xiàn)架構實(shí)現了高數據吞吐量,同時(shí)還通過(guò)對跨5個(gè)信道的硬件進(jìn)行時(shí)分復用的方式控制了近似值模塊和復雜乘法器引起的時(shí)延。
對 4x4 矩陣,我們使用了 1 個(gè)對角線(xiàn)單元和 7 個(gè)非對角線(xiàn)單元。分解單個(gè)矩陣所花的處理時(shí)間為 4x4=16 個(gè)數據周期,而該設計交付數據的速度是每三個(gè)時(shí)鐘周期一個(gè)樣本,因此分解單個(gè)矩陣的所用的總時(shí)長(cháng)為 3x4x4=48 個(gè)時(shí)鐘周期(低于可用的 64 個(gè)時(shí)鐘周期)。我們對分解后的矩陣使用了回代法(back subsTItution),同時(shí)以相同的 TDM 方式進(jìn)一步進(jìn)行了重新排序操作。
球形檢測器
球形檢測器采用PED 單元進(jìn)行范數計算。根據樹(shù)的層次,我們采用了三種不同類(lèi)型的 PED 單元。根節點(diǎn) PED 模塊負責計算所有可能的 PED。二級 PED 模塊針對上一級計算得出的 8 個(gè)幸存路徑計算出 8 個(gè)可能的 PED。這樣在樹(shù)的下一級索引中,我們就有 64 個(gè)生成的 PED。第三種類(lèi)型的PED模塊用于其它樹(shù)級,負責計算上一級計算出的所有 PED 的最鄰近的節點(diǎn) PED。
球形檢測器 (SD) 的流水線(xiàn)架構可以在每個(gè)時(shí)鐘周期中處理數據。其結果就是樹(shù)的每級只需要一個(gè) PED 模塊。因此,對 4x4 64-QAM 系統而言,PED 單元的總數為 8,與樹(shù)的級數相等。
SD 可以采用硬解碼和軟解碼兩種類(lèi)型的解碼技術(shù)。硬解碼能夠用貫穿樹(shù)的各級的最小距離矩陣度量次序;軟解碼,用對數似然比來(lái)代表輸出的每個(gè)比特。對數似然比一般被當作優(yōu)先輸入值提供給信道解碼器,比如 turbo 解碼器。
評論