《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業(yè)界動態(tài) > 采用賽靈思FPGA 實現可擴展的MIMO預編碼內核

采用賽靈思FPGA 實現可擴展的MIMO預編碼內核

2016-05-29
作者:Lei Guan
關鍵詞: 賽靈思 FPGA 無線通信 5G

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

  作為首選的 5G 無線網絡基礎架構,大規(guī)模 MIMO 無線系統(tǒng)現已領跑整個行業(yè)。低時延預編碼實現方案是充分利用多輸入多輸出 (MIMO) 方案多傳輸架構內在優(yōu)勢的關鍵。我們的團隊利用賽靈思 System Generator 和簡單可擴展的 Vivado? Design  Suite 構建了一款高速、低時延預編碼內核。

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

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

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

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

  在蜂窩網絡中,特定頻率下每個發(fā)送器與接收器之間所謂的信道響應將在空中對普通 MIMO 發(fā)送器中輻射出來的用戶數據流進行“重塑”。換句話說,不同數據流通往空域另一端的接收器的路徑不同。由于頻域中的“經歷”不同,即使是相同的數據流有時也會有不同表現。

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

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

  復數線性卷積的直接、低時延實現方法是使用時域中的復數 FIR 離散數字濾波器。

  系統(tǒng)功能要求

  在低時延預編碼 IP 的創(chuàng)建過程中, 我的團隊面臨一系列基本要求。

  1.        我們必須用不同系數組將一個數據流預編碼為多分支的并行數據流。

  2.        我們需要在每個分支上放置一個 100 + 抽頭長度的復數非對稱 FIR 函數,以提供合適的預編碼性能。

  3.        需要經常對預編碼系數進行更新。

  4.        所設計的內核必須易于更新和擴展,以支持不同的可擴展系統(tǒng)架構。

  5.        在給定資源約束下,預編碼時延應該盡可能低。

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

  高速、低時延預編碼 (HLP) 內核設計

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

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

  

1.jpg

  圖 1–頂層預編碼內核的 Simulink 評估

  

2.gif

  圖 2 - FPGA_HLP_Core 的高級視圖

  

3.gif

  * 建議的高速、低時延預編碼 (HLP) 內核架構

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

  不同的 FIR 實現架構會產生不同的 FPGA 資源使用。表 1 對不同實現架構中 128 抽頭復數非對稱 FIR 濾波器中所使用的復數乘法器 (CM) 進行了比較。我們假設 IQ 數據速率是30.72        Msps(20 MHz 帶寬 LTE-Advanced 信號)。

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

  比較現實的解決方案是選用部分并行實現架構,該架構將連續(xù)的長濾波器鏈分成幾段并行級。表 1 給出了兩個實例。我們選擇使用方案 A,因為該方案的 CM 使用量最少,而且時鐘速率合理。事實上,我們可以通過控制數據速率、時鐘速率和連續(xù)級數來決定最終的架構:

  

111.gif

  其中 N 和 N 代表濾波器長度和連續(xù)級的數量。

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

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

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

  3.        4B-LC 模塊:該模塊包含四條獨立的復數 FIR 濾波器鏈,每條都利用相同的部分并行架構實現。例如,圖 3 中給出的分支 1。

  分支 1 包含四個被寄存器隔離以獲得更好時序特性的子處理級:FIR 系數 RAM (cRAM) 順序寫入和并行讀取級;復數乘法級;復數加法級;

  創(chuàng)建順序寫入操作以便以 TDM 方式從存儲設備向 FIR cRAM 加載系數(每個 cRAM 包含 16 = 128/8 個 IQ 系數)。我們設計了并行讀取操作用以同時將 FIR 系數送至 CM 內核。

  在復數乘法級,為將 DSP48 使用量減至最少,我們選擇高效的、完全管線化的三重乘法器架構來執(zhí)行復數乘法運算,代價是產生六倍的時延周期。

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

  設計驗證

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

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

  

4.gif

  圖 3 - 部分并行復數 FIR 模塊

  可擴展性演示

  我們設計的 HLP IP 便于用來創(chuàng)建更大的大規(guī)模 MIMO 預編碼內核。表 2 列出了一些應用方案以及重要資源的使用情況。您需要一個額外的聚合級以提交最后的預編碼結果。

  例如圖 4 所示,通過插入四個 HLP 內核以及一個額外管線化數據聚合級,很容易構建一個 4x4 預編碼內核。

  高效和可擴展

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

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

 

5.gif

  圖 4:基于 4B-LC 內核的擴展的預編碼應用實例

  

6.gif

  表 2 - 以推薦的 HLP 內核為基礎,在不同應用場景下的資源使用實例


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