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

?

一種基于多核DSP的Turbo譯碼實現(xiàn)方法

2019-02-15 09:28:54王華華
小型微型計算機系統(tǒng) 2019年2期
關鍵詞:比特率單核譯碼

王華華,馬 昶,亢 成

(重慶郵電大學 重慶市移動通信技術重點實驗室,重慶 400065)

1 引 言

Turbo碼在低信噪比下所表現(xiàn)出的近Shannon限的性能使其在移動通信領域中有著廣闊的應用前景[1].由于Turbo碼編碼方式靈活、譯碼算法復雜,不適合在傳統(tǒng)硬件電路上實現(xiàn),并且在LTE-A的PDSCH(Physical downlink shared channel,物理下行共享信道)接收端實現(xiàn)模塊中,Turbo譯碼耗時最多.所以本文使用TI公司TMS320C6670多核DSP[2](Digital Signal Processor,數(shù)字信號處理器)對Turbo譯碼進行實現(xiàn).該型號DSP的應用可以提高無線通信系統(tǒng)在接收端的效率,并且它能適應WCDMA,FDD/TDD LTE-A,Wi-MAX三種標準[3].

2 Turbo譯碼算法

Turbo譯碼最常用就是迭代思想,其主要采用的譯碼算法有MAP(Max-imum A Posteriori,最大后驗概率),Log-MAP和降低復雜度的Max-Log-MAP三種[4].

MAP算法是基于碼字格圖的SISO譯碼算法,目的是使譯碼輸出比特錯誤概率最小.譯碼器的輸入序列設為y=yN=(y1,y2…yN),uk的對數(shù)似然比[5](logLikelihood ratio)L(uk)定義如下:

(1)

譯碼結果需按照以下規(guī)則判決:

(2)

最優(yōu)的SISO算法是MAP算法,但它的計算復雜度高,根據(jù)貝葉斯與全概率公式,每個信息比特的L(uk)計算式[6]如下:

(3)

為了降低MAP算法運算的復雜度,后來提出了Log-MAP算法,該算法是在對數(shù)域中對MAP算法運算,將乘法轉換為加法,所以要比實現(xiàn)MAP算法簡單,降低了復雜度,適用于硬件實現(xiàn).Log-MAP算法用定義的式(4)的近似算法來消除對數(shù)和指數(shù)的運算.

(4)

該方法雖然簡化了算法復雜度但也引入了誤差,因此不是最優(yōu)算法.Max-Log-MAP算法消除了Log-MAP算法中雅可比公式的修正函數(shù),可得[7]:

ln(ex+ey) =max(x,y)+ln(1+e-|x-y|)

=max(x,y)+f(|x-y|)

(5)

如果再簡化,使f(|x-y|)=0,得出

ln(ex+ey)=max(x,y)

(6)

表1 幾種譯碼算法的復雜性比較Table 1 Comparing the complexity of several decoding algorithms

表1是MAP算法及其簡化算法復雜度的比較,編碼記憶長度定義為n.由上表可知,MAP乘法運算量在3種算法中最大,因此復雜度是最高的;Log-MAP算法次之,Max-Log-MAP算法最小.

圖1 算法性能比較Fig.1 Algorithm performance comparison

MAP算法的計算過程中包含著復雜的乘法和指數(shù)運算,硬件實現(xiàn)難度大,所以仿真不予考慮MAP算法,只對Log-MAP和Max-Log-MAP兩種算法進行了性能對比.仿真采用了3GPP標準交織器,碼率為1/3,1024交織長度以及5次迭代.從圖1性能曲線可以發(fā)現(xiàn),Log-MAP算法性能較Max-Log-MAP算法更優(yōu).在10-3~10-4誤碼率時,兩種算法性能差異大約在0.1dB(0.2dB之間.這是因為Max-Log-MAP簡化了修正項函數(shù),所以性能上有所下降,但是該算法誤比特率在可接受的范圍之內(nèi)并且便于硬件實現(xiàn),所以實際應用中采用Max-Log-MAP算法.

3 DSP芯片配置

3.1 硬件

目前DSP廣泛應用于軟基站、小型基站以及無線電的基帶處理[8].因此,DSP處理器性能直接成為一個制約系統(tǒng)的重要因素.TMS320C6670是TI公司推出的一款每個核的主頻達到1.2GHz的四核定點/浮點DSP,是一塊專用于通信的DSP芯片[9].

DSP內(nèi)核及二級內(nèi)存單元與TCP3d數(shù)據(jù)交換的結構如圖2.TCP3d控制寄存器控制整個狀態(tài),其中包括總線傳輸能力、相關編碼信息、譯碼性能等.同步事件產(chǎn)生模塊控制EDMA的讀/寫同步事件;譯碼處理單元與內(nèi)存存儲模塊負責譯碼和存儲.

圖2 數(shù)據(jù)處理與交換結構圖Fig.2 Data processing and exchange structure diagram

3.2 EDMA配置

EDMA[10](Enhanced Direct Memory Access,增強型直接內(nèi)存存取)完成參數(shù)配置并啟動后,EDMA通道將進入使能狀態(tài)并等待觸發(fā).EDMA通道被觸發(fā)后,會根據(jù)PaRAM(Parameter RAM,參數(shù)RAM)將數(shù)據(jù)和控制信息傳輸?shù)较鄳獌?nèi)存空間,接著觸發(fā)譯碼模塊.譯碼完成后,通過寫同步事件觸發(fā)EDMA通道把處理后的數(shù)據(jù)搬到DSP內(nèi)核中.圖3顯示了Turbo譯碼過程基本觸發(fā)過程.

圖3 譯碼觸發(fā)過程Fig.3 Decoding triggering process

3.3 參數(shù)配置

本文主要用于實現(xiàn)PDSCH接收端的Turbo譯碼,多核DSP處理Turbo譯碼時先要進行一些硬件初始化,主要包括復位、清零、EDMA的初始化和通道配置等,另外還要配置一些PDSCH處理的參數(shù),TCP3d協(xié)處理器的主要參數(shù)配置見表2所示.

4 Turbo譯碼算法的DSP實現(xiàn)

為了進一步提高Turbo譯碼的效率使用了滑窗譯碼算法,該算法是將接收碼塊序列分割成子塊,然后將子塊送入到多個結構相同并行的譯碼器進行處理.滑窗譯碼算法如圖4所示,每個子塊通過多個滑動窗分別使用Max-Log-MAP算法實現(xiàn)譯碼.

表2 TCP3d主要參數(shù)配置Table 2 TCP3d main parameter configuration

滑動窗大小規(guī)定了6種不同的取法,其中包括16,32,48,64,96或128比特.另外還可以從圖4中看到頭延伸部分,可信部分和尾延伸部分.這是因為Turbo碼在編碼時,編碼器的狀態(tài)轉換關系是連續(xù)的馬爾科夫過程.在譯碼時,需要確定編碼器的初始狀態(tài)和終止狀態(tài)以及狀態(tài)之間的轉換關系.把接收序列分割為多個子塊后,就破壞了狀態(tài)的連續(xù)性.頭延伸初始狀態(tài)和尾延伸終止狀態(tài)都被設定為等概率,然后根據(jù)接收序列以及編碼器狀態(tài)轉換規(guī)律逐步對可信部分進行計算.在可信部分、起始時刻值和終止時刻近似調整為分割前的狀態(tài)時,頭延伸和尾延伸為冗余重疊的部分,此時計算譯碼輸出時只需考慮可信部分,所以雖然算法不會提升Turbo譯碼性能,但會減少處理的時延.

圖4 滑窗譯碼算法Fig.4 Sliding window decoding algorithm

根據(jù)芯片特性及工作原理,本文設計的Turbo譯碼的基本流程由以下步驟組成:

1)DSP硬件初始化,包括清零、復位、選擇大小端等.

2)輸入數(shù)據(jù)的量化與配置控制信息.輸入數(shù)據(jù)的量化主要是調整尾比特數(shù)據(jù)格式.配置控制信息有工作模式選擇、滑動窗口、碼塊大小等.

3)EDMA的初始化與通道配置.初始化后.將輸入的數(shù)據(jù)、控制信息、交織表等搬移到對應的內(nèi)存中.

4)EDMA搬移完成后,觸發(fā)TCP3d進行Turbo譯碼.

5)譯碼完成后,EDMA接受到完成中斷,將狀態(tài)信息與判決數(shù)據(jù)搬移到DSP核內(nèi),整個過程結束.

5 性能分析

5.1 譯碼性能比較

使用多核DSP與單核DSP分別對符合3GPP協(xié)議碼率為1/3的Turbo編碼數(shù)據(jù)進行譯碼.考慮誤幀率為10-4,塊大小在40-6144之間,滑窗大小為16、64或128比特,迭代為8(71/2)得到的譯碼性能分別如圖5和圖6所示.

圖5 多核DSP Turbo譯碼性能Fig.5 Decoding performance of multi core DSP Turbo

圖5和圖6分別為多核DSP與單核DSP達到特定的誤幀率目標與碼塊大小所需的信噪比的關系圖.從圖5和圖6中都可以看出滑動窗口長度對Turbo譯碼性能有一定的影響,從16比特長度增加到64比特長度對Turbo譯碼性能有一定地提升.滑動窗口長度超過64比特之后,性能提升可以忽略不計.通過圖5與圖6的對比發(fā)現(xiàn),碼塊長度為101~103時,多核DSP隨著碼塊長度的增加,信噪比變化幅度比單核DSP大;碼塊長度為103~104時,多核DSP隨著碼塊長度的變長,信噪比變化幅度與單核DSP相似.但是在相同的碼塊長度情況下,多核DSP的信噪比性能優(yōu)于單核DSP.

圖6 單核DSP Turbo譯碼性能Fig.6 Decode performance of mononuclear DSP Turbo

5.2 時間性能對比

為檢驗基于多核DSP的Turbo譯碼處理性能,本文與單核DSP的實現(xiàn)進行對比.如表3所示,在碼塊個數(shù)和迭代次數(shù)不同的情況下,對比了Turbo譯碼算法在單核DSP下的實現(xiàn)時間與多核DSP中TCP3d的處理時間.

從表3中可以發(fā)現(xiàn):第一是對于Turbo譯碼,單核DSP處理時間性能遠低于TCP3d的處理時間性能,并且隨著碼塊數(shù)的增加,兩者處理的差距越來越明顯;第二是隨著迭代次數(shù)從1次變?yōu)?次,單核DSP處理的時間也變?yōu)榱舜蠹s原來的2倍,而TCP3d的處理時間略微增加,這是由于TCP3d對數(shù)據(jù)處理時,處理時間分為了相關配置時間和數(shù)據(jù)處理時間兩部分.

5.3 誤比特率性能比較

對隨機二進制信源經(jīng)過兩種DSP的Turbo編碼后,再進行BPSK映射,之后經(jīng)過高斯白噪聲,最后經(jīng)過兩種DSP的如圖7性能圖形能夠看出,單核DSP與多核DSP測試的誤比特率都隨著信噪比的增加而降低.從圖中還可以發(fā)現(xiàn)多核DSP的性能比單核DSP的性能好,這是因為多核DSP應用了TCP3d協(xié)處理器,協(xié)處理器的使用可以極大地提升多核DSP誤比特率的性能.

表3 不同碼塊和迭代次數(shù)下多核DSP與單核DSP處理時間對比Table 3 Comparison of multi-core DSP and single-core DSP processing time under different code blocks and iterations譯碼模塊.最終對比信源和譯碼結果進而得出誤比特率.圖7為單核DSP與多核DSP測試后誤比特率性能對比曲線.

圖7 單核DSP與多核DSP誤比特率對比Fig.7 Comparison of bit error rate between mononuclear DSP and multi-core DSP

6 結 論

本文對TI C66系列DSP中的TCP3d基本原理進行了詳細的介紹,并對不同的譯碼算法進行了分析,著重分析了數(shù)據(jù)在多核DSP與單核DSP中的譯碼性能、譯碼時間開銷和誤比特率性能,通過比較發(fā)現(xiàn)單核DSP處理性能遠低于TCP3d協(xié)處理器.本文將Turbo譯碼實現(xiàn)方法有效減少開發(fā)難度以及提高數(shù)據(jù)處理速度,大幅提升了LTE-A 數(shù)字基帶系統(tǒng)處理性能,也為其他多核DSP的應用開發(fā)提供參考.

猜你喜歡
比特率單核譯碼
基于校正搜索寬度的極化碼譯碼算法研究
基于多個網(wǎng)絡接口的DASH系統(tǒng)設計與實現(xiàn)
相同比特率的MPEG視頻雙壓縮檢測*
從霍爾的編碼譯碼理論看彈幕的譯碼
新聞傳播(2016年3期)2016-07-12 12:55:27
一種簡單的分離、培養(yǎng)及鑒定小鼠外周血單核巨噬細胞方法的建立
LDPC 碼改進高速譯碼算法
遙測遙控(2015年2期)2015-04-23 08:15:19
單核Ru(Ⅲ)-edta類配合物的合成﹑結構及性質研究
苯并咪唑衍生的單核鈷(Ⅱ)和單核鎳(Ⅱ)配合物與DNA和蛋白質的結合反應性及細胞毒活性研究
基于概率裁剪的球形譯碼算法
基于能量分配提高糾錯碼誤比特率性能的研究
荔浦县| 林西县| 开封县| 济宁市| 东至县| 湟中县| 临澧县| 顺义区| 湘潭县| 天峻县| 勃利县| 昭平县| 陆良县| 西乌| 赤峰市| 黄山市| 封丘县| 金溪县| 兴安县| 同江市| 岚皋县| 平南县| 扬州市| 太保市| 鲁山县| 富锦市| 华宁县| 长葛市| 壶关县| 凤冈县| 天门市| 香港 | 巴青县| 深州市| 四平市| 通城县| 阳江市| 双牌县| 日照市| 荔浦县| 双鸭山市|