空分復(fù)用 (SDM) MIMO 處理可顯著提高頻譜效率,進而大幅增加無線通信系統(tǒng)的容量,??辗謴?fù)用 MIMO 通信系統(tǒng)作為一種能夠大幅提升無線系統(tǒng)容量和連接可靠性的手段,近來吸引了人們的廣泛關(guān)注,。
MIMO 無線系統(tǒng)最佳硬判決檢測方式是最大似然 (ML) 檢測器,。ML 檢測因為比特誤碼率 (BER)性能出眾,非常受歡迎,。不過,,直接實施的復(fù)雜性會隨著天線和調(diào)制方案的增加呈指數(shù)級增強,使 ASIC 或 FPGA 僅能用于使用少數(shù)天線的低密度調(diào)制方案,。
在 MIMO 檢測中,,既能保持與最佳 ML 檢測相媲美的 BER 性能,又能大幅降低計算復(fù)雜性的出色方法非球形檢測法莫屬,。這種方法不僅能夠降低 SDM 和空分多接入系統(tǒng)的檢測復(fù)雜性,,同時又能保持與最佳 ML 檢測相媲美的 BER 性能。實現(xiàn)球形檢測器有多種方法,,每種方法又有多種不同算法,,因此設(shè)計人員可以在諸如無線信道的吞吐量、BER 以及實施復(fù)雜性等多項性能指標之間尋求最佳平衡,。
雖然算法(比如 K-best 或者深度優(yōu)先搜索)和硬件架構(gòu)對 MIMO 檢測器的最終 BER 性顯而易見有極大的影響,,不過一般在球形檢測之前進行的信道矩陣預(yù)處理也會對 MIMO 檢測器的最終 BER 性能產(chǎn)生巨大影響。信道矩陣預(yù)處理可繁可簡,,比如根據(jù)對信道矩陣進行的方差計算結(jié)果 (variance computaTIon),,計算出處理空分復(fù)用數(shù)據(jù)流的優(yōu)先次序,也可以使用非常復(fù)雜的矩陣因子分解方法來確定更為理想(以 BER 衡量)的數(shù)據(jù)流處理優(yōu)先次序,。
Signum Concepts 是一家總部位于圣地亞哥的通信系統(tǒng)開發(fā)公司,,一直與賽靈思和萊斯大學(xué)(Rice University)開展通力合作,運用 FPGA 設(shè)計出了用于 802.16e 寬帶無線系統(tǒng)的空分復(fù)用MIMO 的MIMO 檢測器,。該處理器采用信道矩陣預(yù)處理器,,實現(xiàn)了類似貝爾實驗室分層空時 (BLAST)結(jié)構(gòu)上采用的連續(xù)干擾抵消處理技術(shù),,最終達到了接近最大似然性能。
系統(tǒng)考慮因素
理想情況下,,檢測過程要求對所有可能的符號向量組合進行 ML 解決方案計算,。球形檢測器旨在通過使用簡單的算術(shù)運算降低計算復(fù)雜性,同時還能夠保持最終結(jié)果的數(shù)值完整性,。我們的方法,,第一步是把復(fù)雜的數(shù)值信道矩陣分解為只有實數(shù)的表達式。這個運算增加了矩陣維數(shù),,但簡化了處理矩陣元的計算,。降低計算復(fù)雜性的第二個方面體現(xiàn)在,減少檢測方案分析和處理的可選符號,。其中,,對信道矩陣進行 QR 分解是至關(guān)重要的一步。
圖 1 顯示的是如何進行數(shù)學(xué)轉(zhuǎn)換,,得出計算部分歐幾里德距離度量法的最終表達式,。歐幾里德距離度量法是球形檢測過程的基礎(chǔ)。R代表三角形矩陣,,用于處理以矩陣元 rM,M 開始的可選符號的迭代法,。其中,M代表信道矩陣以實數(shù)表達的維數(shù),。該解決方案通過 M 次迭代定義出遍歷樹結(jié)構(gòu),,樹的每層i對應(yīng)第i根天線的處理符號。
圖 1. 用于球形檢測器 MIMO 檢測的部分歐幾里德距離度量方程
球形檢測器處理天線的次序?qū)?BER 性能有著極大的影響,。因此,在進行球形檢測前,,我們的設(shè)計采用了類似于 V-BLAST 技術(shù)的信道重新排序技術(shù),。
實現(xiàn)樹的遍歷有幾種可選方法。在我們的實施方案中,,則使用了廣度優(yōu)先搜索法,,這是因為該方法采用備受歡迎的前饋結(jié)構(gòu),因此具有硬件友好特征,。在每一層,,該實施方案只選擇K 個距離最小的幸存節(jié)點來計算擴展情況。
球形檢測器處理天線的次序?qū)?BER 性能有著極大的影響,。因此,,在進行球形檢測前,我們的設(shè)計采用了類似于 V-BLAST 技術(shù)的信道重新排序技術(shù),。
該方法通過多次迭代,,計算出信道矩陣的偽逆矩陣的行范數(shù),,然后確定信道矩陣最佳列檢測次序。根據(jù)迭代次數(shù),,該方法可以選擇出范數(shù)最大或者最小的行,。歐幾里德范數(shù)最小的逆矩陣行表示天線的影響最強,而歐幾里德范數(shù)最大的行則表示天線的影響最弱,。這種新穎的方法首先處理最弱的數(shù)據(jù)流,,隨后依次迭代處理功率從高到低的數(shù)據(jù)流。
FPGA 硬件應(yīng)用
為實現(xiàn)上述系統(tǒng),,我們采用了賽靈思 Virtex®-5 FPGA 技術(shù),。該設(shè)計流程采用賽靈思 System Generator 進行設(shè)計捕獲、仿真和驗證,。為了支持各種不同數(shù)量的天線/用戶和調(diào)制次序,,我們將檢測器設(shè)計用于要求最高的 4x4、64-QAM 情況下,。
我們的模型假定接收方非常清楚信道矩陣,,這可以通過傳統(tǒng)的信道估算方法來實現(xiàn)。在信道重新排序和 QR 分解之后,,我們開始使用球形檢測器,。為準備使用軟輸入、軟輸出信道解碼器(比如 turbo 解碼器),,我們通過計算檢測到的比特的對數(shù)似然比 (LLR) 來生成軟輸出,。
該系統(tǒng)的主要架構(gòu)元素包括數(shù)據(jù)副載波處理和系統(tǒng)子模塊管理功能,以便實時處理所需數(shù)量的子載波,,同時最大程度地降低處理時延,。對每個數(shù)據(jù)副載波都進行了信道矩陣估算,限定了每個信道矩陣可用的處理時間,。對選中的 FPGA 而言,,其目標時鐘頻率為 225MHz,通信帶寬為 5MHz(相當于 WiMAX 系統(tǒng)中的 360 個數(shù)據(jù)子載波),,每個信道矩陣間隔可用的處理時鐘周期數(shù)為 64,。
我們采用硬件功能單元精湛的流水線和時分復(fù)用 (TDM) 功能,以達到 WiMAX OFDM 符號的實時要求,。
除了高數(shù)據(jù)率外,,在架構(gòu)設(shè)計指導(dǎo)過程中控制子模塊時延也是一個重要的問題。我們通過引入連續(xù)信道矩陣的 TDM 解決了時延問題,。這種方法可以延長同一信道矩陣元之間的處理時間,,同時還能保持較高的數(shù)據(jù)吞吐量。構(gòu)成 TDM 組的信道數(shù)會隨著子模塊的不同而變化,。在 TDM 方案中,,信道矩陣求逆過程用了 5 個信道,,而有 15 個信道在實數(shù) QR 分解模塊中進行了時分復(fù)用。圖 2 是該系統(tǒng)的高級流程圖,。
圖 2. MIMO 802.16e 寬帶無線接收器的高級流程圖
信道矩陣預(yù)處理
信道矩陣預(yù)處理器確定了空分復(fù)用復(fù)合信號每一層的最佳檢測次序,。該預(yù)處理器負責(zé)計算信道矩陣的偽逆矩陣范數(shù),并根據(jù)這些范數(shù),,選擇待處理的下一個傳輸流,。偽逆矩陣中范數(shù)最小的行對應(yīng)著最強傳輸流(檢波后噪聲放大最小),而范數(shù)最大的行對應(yīng)著質(zhì)量最差的層(檢波后噪聲放大最大),。我們的實施方案首先檢測最弱的層,,然后按最低噪聲放大到最高噪聲放大的次序逐層檢測。對排序過程中的每一步,,信道矩陣中相應(yīng)的列隨后會被清空,,然后簡化后的矩陣進入下一級的天線排序處理流水線。
在預(yù)處理算法中,,偽逆矩陣的計算要求最高,。這個過程的核心是矩陣求逆,通常通過吉文斯(Givens) 旋轉(zhuǎn)進行 QR 分解 (QRD) 來實現(xiàn),。常用的角度估算和平面旋轉(zhuǎn)算法(如 CORDIC)會造成嚴重的系統(tǒng)時延,,對我們的系統(tǒng)來說是不可接受的。因此,,我們的目標是運用 FPGA 的嵌入式 DSP 資源(比如 Virtex-5 器件中的 DSP48E),,找出矢量旋轉(zhuǎn)和相位估算的替代性解決方案。
QRD 的脈動陣列結(jié)構(gòu)由兩種類型的處理單元構(gòu)成——對角線單元或邊界單元和非對角線單元或內(nèi)部單元,。邊界單元執(zhí)行矢量函數(shù),,可以生成陣列內(nèi)部單元使用的旋轉(zhuǎn)角度。要想得到想要的旋轉(zhuǎn)角度,,可以把非對角線單元中的值與對角線單元中的共軛復(fù)數(shù)相乘,,然后除以復(fù)數(shù)的倒數(shù)即可。相除實際是用乘法的方式完成的,,即在觀察到函數(shù)接近線性的時候,乘以根據(jù)定義的間隔的多項式近似值計算出的倒數(shù),。圖 3 顯示了采用這種近似值在對角線脈動單元中完成這種復(fù)雜旋轉(zhuǎn)的信號流程圖,。
圖 3. 對角線脈動單元結(jié)構(gòu)圖
發(fā)送到非對角線單元中的數(shù)據(jù)是旋轉(zhuǎn)矢量的同相部分和正交部分除以相應(yīng)的近似值得出的結(jié)果。我們不僅通過在對角線單元和非對角線單元采用流水線架構(gòu)實現(xiàn)了高數(shù)據(jù)吞吐量,,同時還通過對跨5個信道的硬件進行時分復(fù)用的方式控制了近似值模塊和復(fù)雜乘法器引起的時延,。
對 4x4 矩陣,我們使用了 1 個對角線單元和 7 個非對角線單元,。分解單個矩陣所花的處理時間為 4x4=16 個數(shù)據(jù)周期,,而該設(shè)計交付數(shù)據(jù)的速度是每三個時鐘周期一個樣本,,因此分解單個矩陣的所用的總時長為 3x4x4=48 個時鐘周期(低于可用的 64 個時鐘周期)。我們對分解后的矩陣使用了回代法(back subsTItution),,同時以相同的 TDM 方式進一步進行了重新排序操作,。
球形檢測器
球形檢測器采用PED 單元進行范數(shù)計算。根據(jù)樹的層次,,我們采用了三種不同類型的 PED 單元,。根節(jié)點 PED 模塊負責(zé)計算所有可能的 PED。二級 PED 模塊針對上一級計算得出的 8 個幸存路徑計算出 8 個可能的 PED,。這樣在樹的下一級索引中,,我們就有 64 個生成的 PED。第三種類型的PED模塊用于其它樹級,,負責(zé)計算上一級計算出的所有 PED 的最鄰近的節(jié)點 PED,。
球形檢測器 (SD) 的流水線架構(gòu)可以在每個時鐘周期中處理數(shù)據(jù)。其結(jié)果就是樹的每級只需要一個 PED 模塊,。因此,,對 4x4 64-QAM 系統(tǒng)而言,PED 單元的總數(shù)為 8,,與樹的級數(shù)相等,。
SD 可以采用硬解碼和軟解碼兩種類型的解碼技術(shù)。硬解碼能夠用貫穿樹的各級的最小距離矩陣度量次序;軟解碼,,用對數(shù)似然比來代表輸出的每個比特,。對數(shù)似然比一般被當作優(yōu)先輸入值提供給信道解碼器,比如 turbo 解碼器,。
FPGA資源占用
實施和仿真包括圖 2 所示的檢測過程,,但不包括軟輸出生成模塊。目標芯片是 Virtex-5 XC5VFX130T-2FF1738 FPGA,。設(shè)計的時鐘頻率為 225MHz,,可用的數(shù)據(jù)率為 83.965Mb/s。
表 1 顯示了設(shè)計中每個主要功能單元的資源占用情況,。利用率 (%) 表示 FPGA 面積占XC5VFX130T 器件總面積的百分比,。
表 1. 按子系統(tǒng)劃分的資源占用情況
System Generator 和基于模型的設(shè)計
我們使用針對 DSP 設(shè)計流程的賽靈思 System Generator 實現(xiàn)了完整的硬判鏈。設(shè)計驗證工作不僅使用了 MATLAB®/Simulink® 環(huán)境的仿真語義,,還有 System Generator 的協(xié)同仿真功能,。信道矩陣參數(shù)的同相部分和正交部分從正常的分布得出,并由 MATLAB 交付給System Generator 建模環(huán)境,。我們同樣使用這種仿真框架進行了比特誤碼率計算,。圖 4 對我們的定點硬判決設(shè)計 BER 曲線、浮點硬判決設(shè)計BER曲線和最佳 ML 參考曲線進行了比較。我們通過對賽靈思 ML510 開發(fā)平臺進行基于以太網(wǎng)的硬件協(xié)仿真,,開發(fā)出了該設(shè)計的硬件演示,。信道矩陣參數(shù)采用賽靈思 AWGN IP核發(fā)送給球形檢測器。我們通過把設(shè)計嵌入到自同步 BER 測試器來計算 BER,。該儀器能夠向檢測器發(fā)送輸入并捕獲誤碼,。
圖 4. 4x4 64-QAM的浮點 MATLAB 仿真(硬判決)、System Generator設(shè)計(硬判決)BER 曲線與最大似然曲線相比
本文就采用空分復(fù)用 MIMO 的通信系統(tǒng)使用的球形檢測器進行了簡要介紹,。我們詳細探討了球形檢測器和信道矩陣預(yù)處理器的架構(gòu)情況,。實現(xiàn)預(yù)處理的方法有許多種,雖然我們的方法在計算上要復(fù)雜一點,,但得出的 BER 性能接近最大似然,。雖然我們的討論是圍繞 WiMAX 進行的,設(shè)計人員可以把其中的許多方法用于 3G LTE(長期演進)無線系統(tǒng),。