精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

簡述LTE系統中FPGA速率匹配算法的仿真及實現

電子工程師 ? 來源:電子技術應用 ? 作者:劉 輝,陳小亭,李 ? 2021-04-28 09:42 ? 次閱讀

摘要: 速率匹配是LTE系統中重要的組成部分。在詳細分析3GPP協議中Turbo編碼速率匹配算法的基礎上,給出了一種基于FPGA的速率匹配實現方案。該方案通過乒乓操作以減少速率匹配的處理延時;并以Virtex-6芯片為平臺,完成了仿真、綜合、板級驗證等工作。結果表明,基于該方案的速率匹配算法能夠明顯地縮小處理延遲。

LTE(長期演進)是3.9G的全球標準,采用OFDM和MIMO技術作為其無線網絡演進的唯一標準,極大地提高了系統的帶寬[1]。而速率匹配是LTE系統中重要的組成部分,因此速率匹配設計的優劣,決定整個系統性能的好壞[2]。LTE系統中,速率匹配是指傳輸信道上的比特被打孔或者被重發,以匹配物理信道的承載能力。

當輸入的比特數目超過物理信道的承載能力時,就要對輸入的序列進行打孔;而當輸入的比特數目不滿足物理信道的承載能力時,就要對輸入的序列進行重發。根據編碼方式的不同,速率匹配又可分為卷積編碼和Turbo編碼的速率匹配。FPGA在數字信號處理方面性能優越,利用FPGA做乒乓操作能夠明顯地提高數據的處理速度[3]。

1 速率匹配算法

1.1 速率匹配的整體流程

在LTE系統中,基于Turbo編碼的速率匹配過程如圖1所示。該過程主要包括子塊交織、比特收集、比特選擇和修剪[4]。

1330754049151.gif

1330552027347.gif

2.2 乒乓前控制模塊的FPGA實現

數據經過Turbo編碼器后分3路暫存在3個RAM中。當速率匹配模塊中的使能信號Rate_Match_En拉高時,所有的模塊開始工作。如果乒乓前控制模塊的啟動信號Control_Start為高電平并且接收到的碼塊個數是偶數,則子塊交織A模塊的啟動信號Interleavera_Start拉高,此時子塊交織A就會讀取外部RAM中的數據,進行子塊交織;否則子塊交織B模塊的啟動信號Interleaverb_Start拉高,子塊交織B會從外部RAM中讀取數據,進行子塊交織。從而實現了乒乓操作。

2.3 子塊交織的FPGA實現

以子塊交織A模塊為例。當子塊交織A的啟動信號拉高時,子塊交織A模塊會從外部RAM中讀取數據。首先讀取第1路數據。第1路數據讀取完畢后立即讀取第2路數據和第3路數據。第2路數據放在偶數位置,第3路數據放在奇數位置。在Turbo編碼模塊中,輸出的數據已經加入了填充比特。

為了區別填充比特和數據信息,輸入數據的位寬占2 bit,填充比特用3來表示。子塊交織輸出的數據仍然占2 bit的位寬,只有在比特修剪模塊后,數據才按照1 bit的位寬表示。在子塊交織的FPGA實現過程中,將外部RAM模擬成一個交織矩陣。交織矩陣的每一個元素對應RAM的每一個地址,每一個元素的具體內容對應于RAM的每一個數據。

在程序中,第1路數據與第2路數據的交織方法一樣,用變量F_Matrix_Column、S_Matrix_Column、T_Matrix_Column表示3個交織矩陣的列;用變量F_Matrix_Row、S_Matrix_Row、T_Matrix_Row表示3個交織矩陣的行。以讀取第1路數據為例,因為是行寫入列讀出,所以行變量F_Matrix_Row每個時鐘要自加1,直到行變量取到RTCsubblock-1時歸零,同時列變量F_Matrix_Column按照表1所示進行列交織。

1331744189803.gif

按表2進行交織以后,將RAM交織矩陣中最后一列的第1個地址中的數據放到該列的最后一個地址中,將剩下的數依次向上移一個地址即可。

2.4 乒乓后控制模塊的FPGA實現

在子塊交織A和子塊交織B開始工作時,乒乓后控制模塊也已經開始工作。當子塊交織A的啟動信號Interleavera_Start拉高時,乒乓后控制模塊會將子塊交織A輸入的數據傳輸給比特修剪模塊;反之,則會將子塊交織B輸入的數據傳輸給比特修剪模塊。

2.5 比特修剪模塊的FPGA實現

在比特修剪模塊中,一個碼塊的數據進行子塊交織后會緩存在一個RAM中。此方法可以阻止在輸入數據少于輸出數據需要重發操作時由于數據丟失而引起的傳輸錯誤。本程序中進行了乒乓操作,但由于輸入數據速率小于輸出數據的速率,所以乒乓操作不能做到無縫隙地進行,輸入的碼塊之間會有一定的間隔。

而為了將碼塊之間的間隔限制在最小范圍,將表示速率匹配輸出序列長度的變量E和表示取數起始位置的變量Ko輸出給Turbo編碼模塊,可使碼塊之間的間隔限制在最小。在比特修剪時,設置一個計數器變量counter,初始值設置為零。當RAM中緩存的數據大于Ko時,可以從RAM中讀取數據,若該數據是填充比特,則跳過,計數器counter不變;否則,計數器counter自加1,同時輸出數據。直到計數器counter的值等于E時,讀取數據完畢。等待下一個碼塊子塊交織后輸入的數據。

3 FPGA實現結果分析

圖3和圖4分別是PUSCH信道子塊交織的ModelSim仿真圖形和FPGA實現圖。本程序的時鐘頻率是200 MHz。Virtex-6芯片做為測試平臺。程序中DataOf-Interleaverb和DataOfInterleaverb是PUSCH信道子塊交織的輸出數據和標志位,A_Matrix_Row和A_Matrix_Column分別表示交織矩陣的行和列, A_addrb是RAM交織矩陣的地址。

由于交織矩陣的列數有32個,所以每次輸出數據的地址就要加32,以實現列讀出。變量A_Matrix_Row取到矩陣的最后一行后,又重新取下一列的第一行,直到32列全部取完為止。從PUSCH信道交織的仿真圖和FPGA實現圖可以看出,仿真結果與FPGA實現結果一致,因此FPGA能夠準確地實現PUSCH信道的子塊交織功能。

圖5和圖6分別是PUSCH信道比特修剪的ModelSim仿真圖形和FPGA實現圖。從圖形中可知,仿真結果與板級驗證的結果一致,FPGA能夠穩定、準確地實現比特修剪的功能。

1332013915326.gif

子塊交織和比特修剪的Verilog[5]程序已經通過了Xilinx ISE 13.4[6]的編譯、仿真、板級驗證和聯機測試。結果表明,運用FPGA來實現速率匹配算法能夠滿足LTE系統對速率匹配的速度要求,同時也能夠充分發揮FPGA并行操作的優越性。在此基礎上,引用乒乓操作的方法,在不消耗更多資源的情況下,進一步縮短了速率匹配的處理時間,為整體系統的快速運行提供了基本的速度保障。由于該算法的FPGA實現在聯機測試中,性能穩定,故已在TD_LTE射頻一致性項目中得到應用。

參考文獻

[1] 陳發堂,李小文,王丹,等。移動通信接收機設計理論與實現[M]。北京:科學出版社,2011.

[2] Ma Chixiang,Lin Ping.Efficient implementation of rate matching for LTE Turbo codes[C].The 2nd International Conference on Future Computer and Communication(ICFCC 2010),2010:704-708.

[3] 曹華,鄧彬。使用Verilog實現基于FPGA的SDRAM控制器[J]。今日電子,2005,10(1):11-14.

[4] 3GPP TS 36.212 v9.1.0.3rd generation partner-ship project;technical specification group radio access network;evolved universal terrestrial radio access(E-UTRA);rate matching (Release 9)[S].2010.

[5] 夏宇聞.Verilog數字系統設計教程(第2版)[M]。北京:北京航空航天大學出版社,2008.

[6] XilinxInc.Foundation series user guide[EB/OL]。(2010-01-03)。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ofdm
    +關注

    關注

    6

    文章

    349

    瀏覽量

    56988
  • LTE
    LTE
    +關注

    關注

    15

    文章

    1356

    瀏覽量

    177738
  • MIMO
    +關注

    關注

    12

    文章

    592

    瀏覽量

    76782
  • 3GPP
    +關注

    關注

    4

    文章

    417

    瀏覽量

    45189
收藏 人收藏

    評論

    相關推薦

    手寫圖像模板匹配算法在OpenCV實現

    OpenCV的模板匹配是支持基于NCC相似度查找的,但是不是很好用,一個主要的原因是查找最大閾值,只能匹配一個,自己比對閾值,又導致無法正確設定閾值范圍,所以問題很多。于是我重新寫了純Python版本的NCC圖像模板
    的頭像 發表于 11-11 10:12 ?176次閱讀
    手寫圖像模板<b class='flag-5'>匹配</b><b class='flag-5'>算法</b>在OpenCV<b class='flag-5'>中</b>的<b class='flag-5'>實現</b>

    FPGA仿真黑科技\"EasyGo Vs Addon \",助力大規模電力電子系統仿真

    仿真靈活性EasyGo FPGACoder是一種基于FPGA的快速算法開發技術,能將用戶基于Simulink開發的算法快速
    發表于 10-23 18:18

    如何用FPGA實現一個通信系統的發射端接收機?

    ,共同進步。 歡迎加入FPGA技術微信交流群14群! 交流問題(一) Q:用FPGA實現一個通信系統(5GHz頻段,通信距離越10km)的發射端&接收機,如何規劃學習路線? 完
    發表于 09-10 19:15

    為什么FPGA屬于硬件,還需要搞算法

    嗎?單純搞算 法就行了嗎?一臉懵求解答。 A:FPGA 屬于硬件,但其功能的實現離不開算法FPGA 雖然是硬件,但它具有可編程性,要
    發表于 09-09 16:54

    FPGA-5G通信算法的基本套路

    實現變得更簡單,系統性能更優。但在實際工作,其實也存在純算法與純實現的隔閡。主要反映為很多算法
    發表于 08-15 17:34

    基于 FPGA 的會議系統設計

    ,再送入 FPGA 處理。(3)采用 TDOA 算法,并在高速、并行的 FPGA 實現,使得
    發表于 08-01 18:40

    FPGA實現什么樣的算法

    FPGA功能如此強大,請問用FPGA實現或者比較適合實現什么樣的算法
    發表于 05-26 20:18

    基于 FPGA 的光纖混沌加密系統

    設計概述 1.1 設計目的 近年來,信息安全應用于生活的各個領域。在光通信系統,往往對速率 有著較高的追求。其中對光模塊,光纖通信中的傳輸
    發表于 04-26 17:18

    【分享】基于Easygo仿真平臺的三電機實時仿真測試應用

    算法效果的前期仿真評估及算法或控制器參數設計及仿真驗證,可以很大程度上減少系統開發周期及成本。對多電機同步控制
    發表于 04-09 16:49

    基于多速率DA的根升余弦濾波器的FPGA實現

    性價比高于傳統算法;另一方面由于對濾波器引入多相結構,使得大部分電路工作在較低頻率下,減少了計算量,而且還降低了系統功耗,因此基于多速率處理技術和并行DA算法
    發表于 03-25 14:21

    fpga仿真器接口定義

    FPGA(Field-Programmable Gate Array,現場可編程門陣列)仿真器接口的定義主要依賴于仿真器的具體設計和所支持的通信協議。在FPGA的設計和
    的頭像 發表于 03-15 14:01 ?1159次閱讀

    FPGA實現iddr語言的雙速率采集和存儲?

    FPGA實現iddr語言的雙速率采集和存儲,有沒有大佬做過
    發表于 01-15 16:19

    怎么用FPGA算法 如何在FPGA實現最大公約數算法

    FPGA算法的優點在于它們可以提供高度的定制化和靈活性,使得算法可以根據實際需求進行優化和調整。此外,FPGA還可以實現硬件加速,提供比傳統
    的頭像 發表于 01-15 16:03 ?2014次閱讀

    浮點LMS算法FPGA實現

    運算的運算步驟遠比定點運算繁瑣,運算速度慢且所需硬件資源大大增加,因此基于浮點運算的LMS算法的硬件實現一直以來是學者們研究的難點和熱點。 本文正是基于這種高效結構的多輸入FPA,在FPGA上成功
    的頭像 發表于 12-21 16:40 ?728次閱讀

    雙目影像密集匹配算法的綜合分析

    自適應權重法是推動局部密集匹配算法發展的關鍵。自2006年Yoon等[53]首次提出可以在匹配質量與全局匹配算法相媲美的局部
    的頭像 發表于 11-27 10:29 ?1574次閱讀
    雙目影像密集<b class='flag-5'>匹配</b><b class='flag-5'>算法</b>的綜合分析