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