在FPGA中實(shí)施4G無(wú)線(xiàn)球形檢測(cè)器
部分歐幾里德距離度量方程
圖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根天線(xiàn)的處理符號(hào)。
實(shí)現(xiàn)樹(shù)的遍歷有幾種可選方法。在我們的實(shí)施方案中,則使用了廣度優(yōu)先搜索法,這是因?yàn)樵摲椒ú捎脗涫軞g迎的前饋結(jié)構(gòu),因此具有硬件友好特征。在每一層,該實(shí)施方案只選擇K個(gè)距離最小的幸存節(jié)點(diǎn)來(lái)計(jì)算擴(kuò)展情況。
球形檢測(cè)器處理天線(xiàn)的次序?qū)ER性能有著極大的影響。因此,在進(jìn)行球形檢測(cè)前,我們的設(shè)計(jì)采用了類(lèi)似于V-BLAST技術(shù)的信道重新排序技術(shù)。
該方法通過(guò)多次迭代,計(jì)算出信道矩陣的偽逆矩陣的行范數(shù),然后確定信道矩陣最佳列檢測(cè)次序。根據(jù)迭代次數(shù),該方法可以選擇出范數(shù)最大或者最小的行。歐幾里德范數(shù)最小的逆矩陣行表示天線(xiàn)的影響最強(qiáng),而歐幾里德范數(shù)最大的行則表示天線(xiàn)的影響最弱。這種新穎的方法首先處理最弱的數(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ù)量的天線(xiàn)/用戶(hù)和調(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。
我們采用硬件功能單元精湛的流水線(xiàn)和時(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ù)用。
信道矩陣預(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í)的天線(xiàn)排序處理流水線(xiàn)。
在預(yù)處理算法中,偽逆矩陣的計(jì)算要求最高。這個(gè)過(guò)程的核心是矩陣求逆,通常通過(guò)吉文斯(Givens)旋轉(zhuǎn)進(jìn)行QR分解來(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)由兩種類(lèi)型的處理單元構(gòu)成――對(duì)角線(xiàn)單元或邊界單元和非對(duì)角線(xiàn)單元或內(nèi)部單元。邊界單元執(zhí)行矢量函數(shù),可以生成陣列內(nèi)部單元使用的旋轉(zhuǎn)角度。要想得到想要的旋轉(zhuǎn)角度,可以把非對(duì)角線(xiàn)單元中的值與對(duì)角線(xiàn)單元中的共軛復(fù)數(shù)相乘,然后除以復(fù)數(shù)的倒數(shù)即可。相除實(shí)際是用乘法的方式完成的,即在觀(guān)察到函數(shù)接近線(xiàn)性的時(shí)候,乘以根據(jù)定義的間隔的多項(xiàng)式近似值計(jì)算出的倒數(shù)。圖2顯示了采用這種近似值在對(duì)角線(xiàn)脈動(dòng)單元中完成這種復(fù)雜旋轉(zhuǎn)的信號(hào)流程圖。
發(fā)送到非對(duì)角線(xiàn)單元中的數(shù)據(jù)是旋轉(zhuǎn)矢量的同相部分和正交部分除以相應(yīng)的近似值得出的結(jié)果。我們不僅通過(guò)在對(duì)角線(xiàn)單元和非對(duì)角線(xiàn)單元采用流水線(xiàn)架構(gòu)實(shí)現(xiàn)了高數(shù)據(jù)吞吐量,同時(shí)還通過(guò)對(duì)跨5個(gè)信道的硬件進(jìn)行時(shí)分復(fù)用的方式控制了近似值模塊和復(fù)雜乘法器引起的時(shí)延。
圖2 對(duì)角線(xiàn)脈動(dòng)單元結(jié)構(gòu)圖
評(píng)論