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)制次序,我們將檢測器設(shè)計(jì)用于要求最高的4x4、64-QAM情況下。
我們的模型假定接收方非常清楚信道矩陣,這可以通過傳統(tǒng)的信道估算方法來實(shí)現(xiàn)。在信道重新排序和QR分解之后,我們開始使用球形檢測器。為準(zhǔn)備使用軟輸入、軟輸出信道解碼器(如turbo解碼器),我們通過計(jì)算檢測到的比特的對(duì)數(shù)似然比(LLR)來生成軟輸出。
該 系統(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)過程中控制子模塊時(shí)延也是一個(gè)重要的問題。我們通過引入連續(xù)信道矩陣的TDM解決了時(shí)延問題。這種方法可以延長同一信道矩陣 元之間的處理時(shí)間,同時(shí)還能保持較高的數(shù)據(jù)吞吐量。構(gòu)成TDM組的信道數(shù)會(huì)隨著子模塊的不同而變化。在TDM方案中,信道矩陣求逆過程用了5個(gè)信道,而有 15個(gè)信道在實(shí)數(shù)QR分解模塊中進(jìn)行了時(shí)分復(fù)用。圖 2 是該系統(tǒng)的高級(jí)流程圖。
圖 2. MIMO 802.16e 寬帶無線接收器的高級(jí)流程圖
信道矩陣預(yù)處理
信 道矩陣預(yù)處理器確定了空分復(fù)用復(fù)合信號(hào)每一層的最佳檢測次序。該預(yù)處理器負(fù)責(zé)計(jì)算信道矩陣的偽逆矩陣范數(shù),并根據(jù)這些范數(shù),選擇待處理的下一個(gè)傳輸流。偽 逆矩陣中范數(shù)最小的行對(duì)應(yīng)著最強(qiáng)傳輸流(檢波后噪聲放大最?。?,而范數(shù)最大的行對(duì)應(yīng)著質(zhì)量最差的層(檢波后噪聲放大最大)。我們的實(shí)施方案首先檢測最弱的 層,然后按最低噪聲放大到最高噪聲放大的次序逐層檢測。對(duì)排序過程中的每一步,信道矩陣中相應(yīng)的列隨后會(huì)被清空,然后簡化后的矩陣進(jìn)入下一級(jí)的天線排序處 理流水線。
在預(yù)處理算法中,偽逆矩陣的計(jì)算要求最高。這個(gè)過程的核心是矩陣求逆,通常通過吉文斯(Givens)旋轉(zhuǎn)進(jìn)行QR分解來實(shí)現(xiàn)。 常用的角度估算和平面旋轉(zhuǎn)算法(如CORDIC)會(huì)造成嚴(yán)重的系統(tǒng)時(shí)延,對(duì)我們的系統(tǒng)來說是不可接受的。因此,我們的目標(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é)果。我們不僅通過在對(duì)角線單元和非對(duì)角線單元采用流水線架構(gòu)實(shí)現(xiàn)了高數(shù)據(jù)吞吐量,同時(shí)還通過對(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í)長為3x4x4=48個(gè)時(shí)鐘周期(低于可用的64個(gè)時(shí)鐘周期)。我們對(duì)分解后的矩陣使用了回代法(back substitution),同時(shí)以相同的TDM方式進(jìn)一步進(jìn)行了重新排序操作。
球形檢測器
球 形檢測器采用PED單元進(jìn)行范數(shù)計(jì)算。根據(jù)樹的層次,我們采用了三種不同類型的PED單元。根節(jié)點(diǎn)PED模塊負(fù)責(zé)計(jì)算所有可能的PED。二級(jí)PED模塊針 對(duì)上一級(jí)計(jì)算得出的8個(gè)幸存路徑計(jì)算出8個(gè)可能的PED。這樣在樹的下一級(jí)索引中,我們就有64個(gè)生成的PED。第三種類型的PED模塊用于其它樹級(jí),負(fù) 責(zé)計(jì)算上一級(jí)計(jì)算出的所有PED的最鄰近的節(jié)點(diǎn)PED。
球形檢測器(SD)的流水線架構(gòu)可以在每個(gè)時(shí)鐘周期中處理數(shù)據(jù)。其結(jié)果就是樹的每級(jí)只需要一個(gè)PED模塊。因此,對(duì)4x4 64-QAM系統(tǒng)而言,PED單元的總數(shù)為8,與樹的級(jí)數(shù)相等。
SD可以采用硬解碼和軟解碼兩種類型的解碼技術(shù)。硬解碼能夠用貫穿樹的各級(jí)的最小距離矩陣度量次序;軟解碼用對(duì)數(shù)似然比來代表輸出的每個(gè)比特。對(duì)數(shù)似然比一般被當(dāng)作優(yōu)先輸入值提供給信道解碼器,比如turbo解碼器。
FPGA資源占用
實(shí)施和仿真包括MIMO 802.16e寬帶無線接收檢測過程,但不包括軟輸出生成模塊。目標(biāo)芯片是Virtex-5 XC5VFX130T-2FF1738 FPGA。設(shè)計(jì)的時(shí)鐘頻率為225MHz,可用的數(shù)據(jù)率為83.965MB/s。
表 1. 按子系統(tǒng)劃分的資源占用情況
System Generator和基于模型的設(shè)計(jì)
我 們使用針對(duì)DSP設(shè)計(jì)流程的賽靈思SystemGenerator實(shí)現(xiàn)了完整的硬判鏈。設(shè)計(jì)驗(yàn)證工作不僅使用了MATLAB/Simulink 環(huán)境的仿真語義,還有SystemGenerator的協(xié)同仿真功能。信道矩陣參數(shù)的同相部分和正交部分從正常的分布得出,并由MATLAB交付給 SystemGenerator建模環(huán)境。我們同樣使用這種仿真框架進(jìn)行了比特誤碼率計(jì)算。
圖 4. 4x4 64-QAM的浮點(diǎn) MATLAB 仿真(硬判決)、System Generator設(shè)計(jì) (硬判決)BER 曲線與最大似然曲線相比
圖 4對(duì)我們的定點(diǎn)硬判決設(shè)計(jì)BER曲線、浮點(diǎn)硬判決設(shè)計(jì)BER曲線和最佳ML參考曲線進(jìn)行了比較。我們通過對(duì)賽靈思ML510開發(fā)平臺(tái)進(jìn)行基于以太網(wǎng)的硬件 協(xié)仿真,開發(fā)出了該設(shè)計(jì)的硬件演示。信道矩陣參數(shù)采用賽靈思AWGNIP核發(fā)送給球形檢測器。我們通過把設(shè)計(jì)嵌入到自同步BER測試器來計(jì)算BER。該儀 器能夠向檢測器發(fā)送輸入并捕獲誤碼。
本文就采用空分復(fù)用MIMO的通信系統(tǒng)使用的球形檢測器進(jìn)行了簡要介紹。我們?cè)敿?xì)探討了球形檢測器和信 道矩陣預(yù)處理器的架構(gòu)情況。實(shí)現(xiàn)預(yù)處理的方法有許多種,雖然我們的方法在計(jì)算上要復(fù)雜一點(diǎn),但得出的BER性能接近最大似然。雖然我們的討論是圍繞 WiMAX進(jìn)行的,設(shè)計(jì)人員可以把其中的許多方法用于3G/ LTE(長期演進(jìn))無線系統(tǒng)。
評(píng)論