《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 采用賽靈思FPGA 實(shí)現(xiàn)可擴(kuò)展的MIMO預(yù)編碼內(nèi)核

采用賽靈思FPGA 實(shí)現(xiàn)可擴(kuò)展的MIMO預(yù)編碼內(nèi)核

2016-05-29
作者:Lei Guan
關(guān)鍵詞: 賽靈思 FPGA 無(wú)線通信 5G

  愛爾蘭貝爾實(shí)驗(yàn)室的研究人員采用高性能 FPGA 開發(fā)出一款用于通用 MIMO 無(wú)線通信系統(tǒng)的頻變預(yù)編碼內(nèi)核。

  作為首選的 5G 無(wú)線網(wǎng)絡(luò)基礎(chǔ)架構(gòu),大規(guī)模 MIMO 無(wú)線系統(tǒng)現(xiàn)已領(lǐng)跑整個(gè)行業(yè)。低時(shí)延預(yù)編碼實(shí)現(xiàn)方案是充分利用多輸入多輸出 (MIMO) 方案多傳輸架構(gòu)內(nèi)在優(yōu)勢(shì)的關(guān)鍵。我們的團(tuán)隊(duì)利用賽靈思 System Generator 和簡(jiǎn)單可擴(kuò)展的 Vivado? Design  Suite 構(gòu)建了一款高速、低時(shí)延預(yù)編碼內(nèi)核。

  憑借其固有的多用戶空分復(fù)用傳輸能力,大規(guī)模 MIMO 系統(tǒng)可顯著提高傳統(tǒng)單天線用戶設(shè)備和升級(jí)版多天線用戶終端的信號(hào)干擾噪聲比 (SINR)。這樣不僅可獲得更大的網(wǎng)絡(luò)容量、更高的數(shù)據(jù)吞吐量,而且還能提高頻譜利用率。

  但是,大規(guī)模 MIMO 技術(shù)自身仍存在一些挑戰(zhàn)。要使用該技術(shù),電信工程師需要構(gòu)建多個(gè) RF 收發(fā)器和多個(gè)基于輻射式相控陣天線。他們還需要使用數(shù)字資源來(lái)執(zhí)行所謂的預(yù)編碼功能。

  我們的解決方案是構(gòu)建低時(shí)延、可擴(kuò)展的頻變預(yù)編碼 IP;可以按照 Lego 方式將該 IP 核用于集中式和分布式 大規(guī)模 MIMO 架構(gòu)。這個(gè) DSP 研發(fā)項(xiàng)目的關(guān)鍵是高性能賽靈思 7 系列 FPGA以及帶有 System Generator 和 MATLAB?/Simulink? 的賽靈思 Vivado Design Suite 2015.1 版本

  通用 MIMO 系統(tǒng)中的預(yù)編碼

  在蜂窩網(wǎng)絡(luò)中,特定頻率下每個(gè)發(fā)送器與接收器之間所謂的信道響應(yīng)將在空中對(duì)普通 MIMO 發(fā)送器中輻射出來(lái)的用戶數(shù)據(jù)流進(jìn)行“重塑”。換句話說(shuō),不同數(shù)據(jù)流通往空域另一端的接收器的路徑不同。由于頻域中的“經(jīng)歷”不同,即使是相同的數(shù)據(jù)流有時(shí)也會(huì)有不同表現(xiàn)。

  這種固有的無(wú)線傳輸現(xiàn)象等同于將具有特定頻率響應(yīng)的有限脈沖響應(yīng) (FIR) 濾波器應(yīng)用于每個(gè)數(shù)據(jù)流,這樣無(wú)線信道就會(huì)產(chǎn)生頻率“失真”,進(jìn)而導(dǎo)致系統(tǒng)性能不佳。如果我們將無(wú)線信道視為一個(gè)大型黑盒,那么在系統(tǒng)級(jí)只有輸入(發(fā)送器輸出)和輸出(接收器輸入)是顯而易見的。我們可在 MIMO 發(fā)送器側(cè)添加一個(gè)具有逆信道響應(yīng)的預(yù)均衡黑盒,以預(yù)先補(bǔ)償信道的黑盒效應(yīng),然后,級(jí)聯(lián)系統(tǒng)會(huì)在接收器設(shè)備上提供合理的“校正”數(shù)據(jù)流。

  我們將這種預(yù)均衡方法稱為預(yù)編碼,從根本上說(shuō),就是在發(fā)送器鏈上應(yīng)用一組“重塑”系數(shù)。例如,如果我們用發(fā)送器數(shù)量)天線發(fā)送 NRX 個(gè)獨(dú)立數(shù)據(jù)流,那么我們?cè)趯?NTX 個(gè) RF 信號(hào)輻射到空中之前需要通過 NRX x TX次臨時(shí)復(fù)數(shù)線性卷積運(yùn)算及相應(yīng)的合并運(yùn)算來(lái)執(zhí)行預(yù)均衡編碼。

  復(fù)數(shù)線性卷積的直接、低時(shí)延實(shí)現(xiàn)方法是使用時(shí)域中的復(fù)數(shù) FIR 離散數(shù)字濾波器。

  系統(tǒng)功能要求

  在低時(shí)延預(yù)編碼 IP 的創(chuàng)建過程中, 我的團(tuán)隊(duì)面臨一系列基本要求。

  1.        我們必須用不同系數(shù)組將一個(gè)數(shù)據(jù)流預(yù)編碼為多分支的并行數(shù)據(jù)流。

  2.        我們需要在每個(gè)分支上放置一個(gè) 100 + 抽頭長(zhǎng)度的復(fù)數(shù)非對(duì)稱 FIR 函數(shù),以提供合適的預(yù)編碼性能。

  3.        需要經(jīng)常對(duì)預(yù)編碼系數(shù)進(jìn)行更新。

  4.        所設(shè)計(jì)的內(nèi)核必須易于更新和擴(kuò)展,以支持不同的可擴(kuò)展系統(tǒng)架構(gòu)。

  5.        在給定資源約束下,預(yù)編碼時(shí)延應(yīng)該盡可能低。

  此外,除了注意滿足特定設(shè)計(jì)的功能要求以外,我們還要考慮硬件資源約束。換句話說(shuō),建立節(jié)約資源的算法實(shí)現(xiàn)方案對(duì)于有限的關(guān)鍵硬件資源(例如賽靈思 FPGA 上的專用硬件乘法器 DSP48s)大有裨益。

  高速、低時(shí)延預(yù)編碼 (HLP) 內(nèi)核設(shè)計(jì)

  本質(zhì)上講,在開發(fā)具備該特質(zhì)的設(shè)計(jì)之前必須先滿足可擴(kuò)展性這個(gè)關(guān)鍵特性??蓴U(kuò)展設(shè)計(jì)能確保長(zhǎng)期的基礎(chǔ)架構(gòu)可持續(xù)演進(jìn),并在短期實(shí)現(xiàn)最佳的低成本部署策略??蓴U(kuò)展性源自模塊化。依照這個(gè)理論,我們使用賽靈思 System Generator 在 Simulink 中創(chuàng)建了一個(gè)模塊化的通用復(fù)數(shù) FIR 濾波器評(píng)估平臺(tái)。

  圖 1 所示為頂層系統(tǒng)架構(gòu)。Simulink_HLP_Core 在 Simulink 中用離散數(shù)字濾波器模塊描述多分支復(fù)數(shù) FIR 濾波器;FPGA_HLP_Core 在 System Generator 中用賽靈思資源模塊實(shí)現(xiàn)多分支復(fù)數(shù) FIR 濾波器,如圖 2 所示。

  

1.jpg

  圖 1–頂層預(yù)編碼內(nèi)核的 Simulink 評(píng)估

  

2.gif

  圖 2 - FPGA_HLP_Core 的高級(jí)視圖

  

3.gif

  * 建議的高速、低時(shí)延預(yù)編碼 (HLP) 內(nèi)核架構(gòu)

  表 1 - 128 抽頭復(fù)數(shù)非對(duì)稱 FIR 濾波器的復(fù)數(shù)乘法器 (CM) 使用對(duì)比

  不同的 FIR 實(shí)現(xiàn)架構(gòu)會(huì)產(chǎn)生不同的 FPGA 資源使用。表 1 對(duì)不同實(shí)現(xiàn)架構(gòu)中 128 抽頭復(fù)數(shù)非對(duì)稱 FIR 濾波器中所使用的復(fù)數(shù)乘法器 (CM) 進(jìn)行了比較。我們假設(shè) IQ 數(shù)據(jù)速率是30.72        Msps(20 MHz 帶寬 LTE-Advanced 信號(hào))。

  全并行實(shí)現(xiàn)架構(gòu)非常簡(jiǎn)單直接,可輕松地映射至直接型 FIR 架構(gòu),但這種實(shí)現(xiàn)架構(gòu)需要使用大量 CM 資源。全串行實(shí)現(xiàn)架構(gòu)使用的 CM 資源數(shù)量最少,得益于其能以時(shí)分復(fù)用 (TDM) 方式與 128 個(gè)操作共享相同的 CM 單元。但其運(yùn)行時(shí)鐘速率是最先進(jìn)的 FPGA 都不可能達(dá)到的。

  比較現(xiàn)實(shí)的解決方案是選用部分并行實(shí)現(xiàn)架構(gòu),該架構(gòu)將連續(xù)的長(zhǎng)濾波器鏈分成幾段并行級(jí)。表 1 給出了兩個(gè)實(shí)例。我們選擇使用方案 A,因?yàn)樵摲桨傅?CM 使用量最少,而且時(shí)鐘速率合理。事實(shí)上,我們可以通過控制數(shù)據(jù)速率、時(shí)鐘速率和連續(xù)級(jí)數(shù)來(lái)決定最終的架構(gòu):

  

111.gif

  其中 N 和 N 代表濾波器長(zhǎng)度和連續(xù)級(jí)的數(shù)量。

  然后,我們創(chuàng)建三個(gè)主要模塊:

  1.        系數(shù)存儲(chǔ)模塊:我們使用高性能雙端口 Block RAM 來(lái)存儲(chǔ)需要加載到 FIR 系數(shù) RAM 中的 IQ 系數(shù)。用戶可以選擇何時(shí)將系數(shù)上載到存儲(chǔ)設(shè)備中以及何時(shí)通過 wr 和 rd 控制信號(hào)來(lái)更新 FIR 濾波器的系數(shù)。

  2.        數(shù)據(jù) TDM 管線化模塊:我們將采樣率為 30.72 MHz 的輸入 IQ 數(shù)據(jù)進(jìn)行多路復(fù)用,以及分段累積和下采樣級(jí)。為了把內(nèi)核的 I/O 數(shù)量降到最低,以導(dǎo)出 128 抽頭 FIR 濾波器的相應(yīng)線性卷積結(jié)果,并降低高速數(shù)據(jù)流的采樣速度以生成采樣率更高的 8 個(gè)流水線 (N= 8),我們的第一級(jí)就需要以匹配數(shù)據(jù)流(采樣率較高,為 30.72×128÷8 = 491.52 MHz)。然后,我們將這些數(shù)據(jù)流送入四分支的線性卷積 (4B-LC) 模塊。

  3.        4B-LC 模塊:該模塊包含四條獨(dú)立的復(fù)數(shù) FIR 濾波器鏈,每條都利用相同的部分并行架構(gòu)實(shí)現(xiàn)。例如,圖 3 中給出的分支 1。

  分支 1 包含四個(gè)被寄存器隔離以獲得更好時(shí)序特性的子處理級(jí):FIR 系數(shù) RAM (cRAM) 順序?qū)懭牒筒⑿凶x取級(jí);復(fù)數(shù)乘法級(jí);復(fù)數(shù)加法級(jí);

  創(chuàng)建順序?qū)懭氩僮饕员阋?TDM 方式從存儲(chǔ)設(shè)備向 FIR cRAM 加載系數(shù)(每個(gè) cRAM 包含 16 = 128/8 個(gè) IQ 系數(shù))。我們?cè)O(shè)計(jì)了并行讀取操作用以同時(shí)將 FIR 系數(shù)送至 CM 內(nèi)核。

  在復(fù)數(shù)乘法級(jí),為將 DSP48 使用量減至最少,我們選擇高效的、完全管線化的三重乘法器架構(gòu)來(lái)執(zhí)行復(fù)數(shù)乘法運(yùn)算,代價(jià)是產(chǎn)生六倍的時(shí)延周期。

  接下來(lái),復(fù)數(shù)加法級(jí)將 CM 的輸出聚合成單個(gè)數(shù)據(jù)流。最后,分段累積和下采樣級(jí)在 16 個(gè)時(shí)間周期內(nèi)累積臨時(shí)子流,本系統(tǒng)的數(shù)據(jù)采樣率,即 30.72 MHz。

  設(shè)計(jì)驗(yàn)證

  我們分兩步執(zhí)行 IP 驗(yàn)證。首先,我們將 FPGA_HLP_Core 的輸出與 Simulink 中的參考雙精度多分支 FIR 內(nèi)核進(jìn)行比較。我們發(fā)現(xiàn),在 16 位分辨率版本中,我們已成功實(shí)現(xiàn)小于 0.04% 的相對(duì)幅值誤差。較大的數(shù)據(jù)寬度能提供更好的性能,但代價(jià)是消耗更多資源。

  功能驗(yàn)證完成后,就需要驗(yàn)證芯片性能。因此,我們的第二個(gè)步驟是在 Vivado 設(shè)計(jì)套件 2015.1 中針對(duì) Zynq?-7000 All Programmable SoC 的 FPGA 架構(gòu)(相當(dāng)于一個(gè) Kintex?   xc7k325tffg900-2)對(duì)所創(chuàng)建的 IP 進(jìn)行綜合與實(shí)現(xiàn)。憑借工具的綜合與默認(rèn)實(shí)現(xiàn)設(shè)置中具備的完整層級(jí),我們創(chuàng)建了一個(gè)具有清晰注冊(cè)層級(jí)的完全管線化設(shè)計(jì),因而在 491.52 MHz 的內(nèi)部處理時(shí)鐘速率下不難實(shí)現(xiàn)所要求的時(shí)序。

  

4.gif

  圖 3 - 部分并行復(fù)數(shù) FIR 模塊

  可擴(kuò)展性演示

  我們?cè)O(shè)計(jì)的 HLP IP 便于用來(lái)創(chuàng)建更大的大規(guī)模 MIMO 預(yù)編碼內(nèi)核。表 2 列出了一些應(yīng)用方案以及重要資源的使用情況。您需要一個(gè)額外的聚合級(jí)以提交最后的預(yù)編碼結(jié)果。

  例如圖 4 所示,通過插入四個(gè) HLP 內(nèi)核以及一個(gè)額外管線化數(shù)據(jù)聚合級(jí),很容易構(gòu)建一個(gè) 4x4 預(yù)編碼內(nèi)核。

  高效和可擴(kuò)展

  我們已經(jīng)介紹了如何利用賽靈思 System Generator 和 Vivado 設(shè)計(jì)工具快速構(gòu)建 大規(guī)模 MIMO 預(yù)編碼內(nèi)核形式的高效、可擴(kuò)展的DSP 線性卷積應(yīng)用。您既可以在部分并行架構(gòu)中使用更多順序級(jí),也可以合理地增大處理時(shí)鐘速率以更快速地實(shí)現(xiàn)任務(wù)操作,從而對(duì)該內(nèi)核進(jìn)行擴(kuò)展,以便支持更長(zhǎng)抽頭的 FIR 應(yīng)用。對(duì)于第二種情況,針對(duì)實(shí)際的實(shí)現(xiàn)架構(gòu)找到目標(biāo)器件的瓶頸和關(guān)鍵路徑應(yīng)該會(huì)有所幫助。然后,更好的方法將會(huì)是對(duì)硬件和算法進(jìn)行協(xié)同優(yōu)化以調(diào)節(jié)系統(tǒng)性能,例如針對(duì)硬件的使用開發(fā)出更小型預(yù)編碼算法。

  首先,我們著重開發(fā)具有最低時(shí)延的預(yù)編碼解決方案。下一步,我們將探索一種替代解決方案以獲得優(yōu)化的資源使用與功耗。如需了解更多信息,請(qǐng)通過郵件聯(lián)系作者,郵件地址:lei.guan@ieee.org。

 

5.gif

  圖 4:基于 4B-LC 內(nèi)核的擴(kuò)展的預(yù)編碼應(yīng)用實(shí)例

  

6.gif

  表 2 - 以推薦的 HLP 內(nèi)核為基礎(chǔ),在不同應(yīng)用場(chǎng)景下的資源使用實(shí)例


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。