国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

LTE系統(tǒng)中基于FPGA速率匹配算法的仿真及實(shí)現(xiàn)*

2013-09-07 02:51陳小亭李小文
電子技術(shù)應(yīng)用 2013年7期
關(guān)鍵詞:子塊交織比特

劉 輝,陳小亭,李小文

(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)

LTE(長期演進(jìn))是3.9G的全球標(biāo)準(zhǔn),采用OFDM和MIMO技術(shù)作為其無線網(wǎng)絡(luò)演進(jìn)的唯一標(biāo)準(zhǔn),極大地提高了系統(tǒng)的帶寬[1]。而速率匹配是LTE系統(tǒng)中重要的組成部分,因此速率匹配設(shè)計(jì)的優(yōu)劣,決定整個系統(tǒng)性能的好壞[2]。LTE系統(tǒng)中,速率匹配是指傳輸信道上的比特被打孔或者被重發(fā),以匹配物理信道的承載能力。當(dāng)輸入的比特?cái)?shù)目超過物理信道的承載能力時,就要對輸入的序列進(jìn)行打孔;而當(dāng)輸入的比特?cái)?shù)目不滿足物理信道的承載能力時,就要對輸入的序列進(jìn)行重發(fā)。根據(jù)編碼方式的不同,速率匹配又可分為卷積編碼和Turbo編碼的速率匹配。FPGA在數(shù)字信號處理方面性能優(yōu)越,利用FPGA做乒乓操作能夠明顯地提高數(shù)據(jù)的處理速度[3]。

1 速率匹配算法

1.1 速率匹配的整體流程

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

1.2 子塊交織

1.3 比特收集和修剪

子塊交織的輸出比特流存入虛擬循環(huán)緩沖,規(guī)則如下:

2 速率匹配在FPGA中的實(shí)現(xiàn)

2.1 整體流程

圖2是LTE系統(tǒng)中PUSCH信道基于Turbo編碼的速率匹配實(shí)現(xiàn)的整體流程圖。整個流程圖包括5個部分:2個子塊交織模塊、1個乒乓前控制模塊、1個乒乓后控制模塊和1個比特修剪模塊。

2.2 乒乓前控制模塊的FPGA實(shí)現(xiàn)

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

2.3 子塊交織的FPGA實(shí)現(xiàn)

以子塊交織A模塊為例。當(dāng)子塊交織A的啟動信號拉高時,子塊交織A模塊會從外部RAM中讀取數(shù)據(jù)。首先讀取第1路數(shù)據(jù)。第1路數(shù)據(jù)讀取完畢后立即讀取第2路數(shù)據(jù)和第3路數(shù)據(jù)。第2路數(shù)據(jù)放在偶數(shù)位置,第3路數(shù)據(jù)放在奇數(shù)位置。在Turbo編碼模塊中,輸出的數(shù)據(jù)已經(jīng)加入了填充比特。為了區(qū)別填充比特和數(shù)據(jù)信息,輸入數(shù)據(jù)的位寬占2 bit,填充比特用3來表示。子塊交織輸出的數(shù)據(jù)仍然占2 bit的位寬,只有在比特修剪模塊后,數(shù)據(jù)才按照1 bit的位寬表示。在子塊交織的FPGA實(shí)現(xiàn)過程中,將外部RAM模擬成一個交織矩陣。交織矩陣的每一個元素對應(yīng)RAM的每一個地址,每一個元素的具體內(nèi)容對應(yīng)于RAM的每一個數(shù)據(jù)。在程序中,第1路數(shù)據(jù)與第2路數(shù)據(jù)的交織方法一樣,用變量F_Matrix_Column、S_Matrix_Column、T_Matrix_Column 表 示3個交織矩陣的列;用變量F_Matrix_Row、S_Matrix_Row、T_Matrix_Row表示3個交織矩陣的行。以讀取第1路數(shù)據(jù)為例,因?yàn)槭切袑懭肓凶x出,所以行變量F_Matrix_Row每個時鐘要自加1,直到行變量取到時歸零,同時列變量F_Matrix_Column按照表1所示進(jìn)行列交織。

表1 交織列表

表1 交織列表

將變化后的F_Matrix_Row輸入到乘法器中與列數(shù)32相乘,所得結(jié)果加上列變量F_Matrix_Column將在下一個時鐘賦值給RAM的地址,讀取相應(yīng)的數(shù)據(jù),依次進(jìn)行32次循環(huán),可取出所有的數(shù)據(jù)。而第3路數(shù)據(jù)可以轉(zhuǎn)化成表2的方式進(jìn)行交織。

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

2.4 乒乓后控制模塊的FPGA實(shí)現(xiàn)

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

2.5 比特修剪模塊的FPGA實(shí)現(xiàn)

在比特修剪模塊中,一個碼塊的數(shù)據(jù)進(jìn)行子塊交織后會緩存在一個RAM中。此方法可以阻止在輸入數(shù)據(jù)少于輸出數(shù)據(jù)需要重發(fā)操作時由于數(shù)據(jù)丟失而引起的傳輸錯誤。本程序中進(jìn)行了乒乓操作,但由于輸入數(shù)據(jù)速率小于輸出數(shù)據(jù)的速率,所以乒乓操作不能做到無縫隙地進(jìn)行,輸入的碼塊之間會有一定的間隔。而為了將碼塊之間的間隔限制在最小范圍,將表示速率匹配輸出序列長度的變量E和表示取數(shù)起始位置的變量Ko輸出給Turbo編碼模塊,可使碼塊之間的間隔限制在最小。在比特修剪時,設(shè)置一個計(jì)數(shù)器變量counter,初始值設(shè)置為零。當(dāng)RAM中緩存的數(shù)據(jù)大于Ko時,可以從RAM中讀取數(shù)據(jù),若該數(shù)據(jù)是填充比特,則跳過,計(jì)數(shù)器counter不變;否則,計(jì)數(shù)器counter自加1,同時輸出數(shù)據(jù)。直到計(jì)數(shù)器counter的值等于E時,讀取數(shù)據(jù)完畢。等待下一個碼塊子塊交織后輸入的數(shù)據(jù)。

3 FPGA實(shí)現(xiàn)結(jié)果分析

圖3和圖4分別是PUSCH信道子塊交織的Model-Sim仿真圖形和FPGA實(shí)現(xiàn)圖。本程序的時鐘頻率是200 MHz。Virtex-6芯片做為測試平臺。程序中DataOf-Interleaverb和DataOfInterleaverb是PUSCH信道子塊交織的輸出數(shù)據(jù)和標(biāo)志位,A_Matrix_Row和A_Matrix_Column分別表示交織矩陣的行和列,A_addrb是RAM交織矩陣的地址。由于交織矩陣的列數(shù)有32個,所以每次輸出數(shù)據(jù)的地址就要加32,以實(shí)現(xiàn)列讀出。變量A_Matrix_Row取到矩陣的最后一行后,又重新取下一列的第一行,直到32列全部取完為止。從PUSCH信道交織的仿真圖和FPGA實(shí)現(xiàn)圖可以看出,仿真結(jié)果與FPGA實(shí)現(xiàn)結(jié)果一致,因此FPGA能夠準(zhǔn)確地實(shí)現(xiàn)PUSCH信道的子塊交織功能。

圖5 和圖6分別是PUSCH信道比特修剪的Model-Sim仿真圖形和FPGA實(shí)現(xiàn)圖。從圖形中可知,仿真結(jié)果與板級驗(yàn)證的結(jié)果一致,F(xiàn)PGA能夠穩(wěn)定、準(zhǔn)確地實(shí)現(xiàn)比特修剪的功能。

圖6 PUSCH信道比特修剪FPGA實(shí)現(xiàn)圖

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

[1]陳發(fā)堂,李小文,王丹,等.移動通信接收機(jī)設(shè)計(jì)理論與實(shí)現(xiàn)[M].北京:科學(xué)出版社,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實(shí)現(xiàn)基于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數(shù)字系統(tǒng)設(shè)計(jì)教程(第2版)[M].北京:北京航空航天大學(xué)出版社,2008.

[6]XilinxInc.Foundation series user guide[EB/OL].(2010-01-03).http://china.xilinx.com/support/documentation/user_guides/ug071.pdf.

猜你喜歡
子塊交織比特
基于八叉樹的地震數(shù)據(jù)分布式存儲與計(jì)算
美食(2022年2期)2022-04-19
基于特征值算法的圖像Copy-Move篡改的被動取證方案
交織冷暖
基于波浪式矩陣置換的稀疏度均衡分塊壓縮感知算法
一種改進(jìn)的塊交織方法及FPGA實(shí)現(xiàn)
比特幣還能投資嗎
比特幣分裂
比特幣一年漲135%重回5530元
奧運(yùn)夢與中國夢交織延展