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

?

一種改進(jìn)的Max-Log-Map譯碼算法的DSP實(shí)現(xiàn)

2012-02-15 03:29李立欣蔣少豪張會(huì)生
電子設(shè)計(jì)工程 2012年13期
關(guān)鍵詞:譯碼器子塊碼元

戚 楠,李立欣,范 捷,蔣少豪,張會(huì)生

(西北工業(yè)大學(xué) 電子信息學(xué)院,陜西 西安 710129)

Turbo碼很好地應(yīng)用了Shannon信道編碼定理中的隨機(jī)性編/譯碼條件,采用軟輸出迭代譯碼算法來逼近最大似然譯碼算法,從而獲得了幾乎接近Shannon理論極限的譯碼性能[1-2]。但是Turbo譯碼復(fù)雜度大,譯碼延時(shí)大不能較好地滿足實(shí)時(shí)高速通信的要求,譯碼過程中變量占用的存儲(chǔ)空間開銷大。這些問題限制了Turbo碼的廣泛使用。而Max-Log-Map算法中分量譯碼器模塊是Turbo譯碼中的關(guān)鍵部分,其時(shí)效性和變量存儲(chǔ)量在很大程度上決定著Turbo碼的譯碼性能。如何減少譯碼時(shí)延以提高譯碼時(shí)效性,以及如何減少存儲(chǔ)開銷都是Turbo碼編譯碼應(yīng)用于工程項(xiàng)目中的關(guān)鍵影響因素。

1 譯碼過程中的優(yōu)化設(shè)計(jì)

分量譯碼器模塊是譯碼過程中的關(guān)鍵步驟,所以改善該部分的譯碼性能對(duì)整個(gè)譯碼器的作用。常規(guī)計(jì)算步驟是先進(jìn)行前向遞推,計(jì)算出一幀數(shù)據(jù)所有比特的前向度量,然后再進(jìn)行后向遞推,計(jì)算出一幀數(shù)據(jù)所有比特的后向度量,再算出每比特的對(duì)數(shù)似然比和外信息,經(jīng)過解交織作為SISO譯碼器1的先驗(yàn)信息進(jìn)行下一輪迭代譯碼。其譯碼時(shí)延較大,且需要的變量存儲(chǔ)量大。因此,改進(jìn)子譯碼器的性能是改善Turbo譯碼性能的關(guān)鍵[3]。

2 譯碼過程中的優(yōu)化設(shè)計(jì)

2.1 前、后向度量的簡化

對(duì)于碼元dk的譯碼,其條件聯(lián)合概率定義為:

其中m是RSC分量編碼器的狀態(tài)數(shù) (v級(jí)移位寄存器,狀態(tài) m=0,1,…,2v-1,共 2v種狀態(tài));i為信息碼元 dk的值;RN1是接收到的信息序列。

碼元dk的后驗(yàn)概率對(duì)數(shù)似然比改寫為

碼元dk的后驗(yàn)概率。

式(1)可以寫成:

則有

后向度量:

對(duì)數(shù)似然比:

轉(zhuǎn)移度量:

其中xk、yk為接收序列對(duì)應(yīng)于i的值,Λ(dk)為先驗(yàn)信息,Lc=2/δ2參數(shù)表示信道的可信度,δ2表示AWGN信道的方差。最終的譯碼器根據(jù)L(dk|RN1)作出判決。

觀察可知公式(5)、(6)可以用蝶形圖,如圖1~圖3所示。

圖1 Aik(m)的迭代計(jì)算蝶形圖Fig.1 Papilionaceous drawing of Aik(m)

圖 2 B0k-1(m)的迭代計(jì)算蝶形圖Fig.2 Papilionaceous drawing of B0k-1(m)

這種改進(jìn)的數(shù)據(jù)計(jì)算采用蝶形結(jié)構(gòu),其最大優(yōu)點(diǎn)是易于工程實(shí)現(xiàn),在DSP芯片中可以直接調(diào)用CSSU(比較、選擇、存儲(chǔ)單元),一次性并行計(jì)算出(m)等,從而減小Turbo碼的譯碼延時(shí),提高譯碼效率[4]。

圖 3 (m)的迭代計(jì)算蝶形圖Fig.3 Papilionaceous drawing of(m)

2.2 數(shù)據(jù)溢出保護(hù)

在譯碼過程中,前向累計(jì)度量Ak和后向累計(jì)度量Bk會(huì)隨著迭代不斷增大。當(dāng)交織長度達(dá)到一定程度時(shí),定點(diǎn)DSP在遞推計(jì)算前、后項(xiàng)度量時(shí)就會(huì)發(fā)生溢出現(xiàn)象,從而導(dǎo)致整個(gè)譯碼器性能的惡化。所以必須考慮溢出處理。分析對(duì)數(shù)似然比公式(7)可知,當(dāng)減號(hào)兩邊同時(shí)減去任一常數(shù)時(shí),并不影響正確結(jié)果,而且前向累積度量和后向累積度量雖然不斷增大,但對(duì)于任一比特的前向累積度量或后向累積度量之間的差值的動(dòng)態(tài)范圍并不大??紤]到程序運(yùn)行耗時(shí)及程序執(zhí)行的方便處理可以每次度量結(jié)果后減去一個(gè)設(shè)定的數(shù)。本文設(shè)定為。每次執(zhí)行后的結(jié)果進(jìn)行下次迭代前初始化為(0) ,因此第二次以后的迭代譯碼前、后向度量的相對(duì)值,由于相對(duì)值很小,這樣就能有效防止溢出。

2.3 分塊并行設(shè)計(jì)

在譯碼過程中,用于存儲(chǔ)中間結(jié)果的數(shù)據(jù)空間需求正比于交織長度,當(dāng)交織長度較大時(shí),傳統(tǒng)的譯碼算法需要大量的存儲(chǔ)空間保存變量值,這加大了計(jì)算時(shí)間和存儲(chǔ)開銷。為減少譯碼計(jì)算延時(shí),將整個(gè)幀長分割成若干個(gè)子塊,各個(gè)子塊進(jìn)行并行Max-Log-Map譯碼。設(shè)信息幀長為L,各個(gè)子塊的長為K,則所分子塊的塊數(shù)N=L/K,并行譯碼結(jié)構(gòu)圖如圖4所示。

圖4 分塊并行Max-Log-Map譯碼算法示意圖Fig.4 Flow chart of the Max-Log-Map algorithm

譯碼器的結(jié)構(gòu)與原譯碼器結(jié)構(gòu)基本相同,每個(gè)子塊都執(zhí)行碼元子序列的前向度量、后向度量、轉(zhuǎn)移度量計(jì)算。其中,前一碼元的前向度量將作為后一碼元的前向度量Aik(m)初始值,后一碼元的后向度量Bik(m)將作為前一碼元后向計(jì)算的初值,由前向度量及傳遞過來的后向度量計(jì)算出其余變量值。

區(qū)別于傳統(tǒng)的譯碼算法的是:分量譯碼器改為由N個(gè)分量譯碼器子塊并行調(diào)用,每一子塊進(jìn)行相同的初始化,這些模塊同時(shí)工作,并行執(zhí)行各個(gè)分塊的信息子序列譯碼,最終對(duì)結(jié)果拼接輸出,因此該設(shè)計(jì)方案可以很大程度上減少譯碼延時(shí)。

2.4 子塊內(nèi)進(jìn)一步優(yōu)化設(shè)計(jì)

在每一子塊的譯碼過程可以進(jìn)一步優(yōu)化來節(jié)省存儲(chǔ)空間和譯碼延時(shí)。流程圖如圖5所示。

1)簡化轉(zhuǎn)移度量的計(jì)算。每比特的狀態(tài)轉(zhuǎn)移度量的計(jì)算只需要4次加法,而不需要乘法、加法的混合運(yùn)算,在譯碼運(yùn)算過程中,完全可以結(jié)合到計(jì)算前向累計(jì)度量Ak和后向累積度量Bk的遞推過程中,從而節(jié)省了狀態(tài)轉(zhuǎn)移度量的存取操作,大大減少了計(jì)算量,提高了算法的執(zhí)行速度,節(jié)省了4L(設(shè)交織長度為L)存儲(chǔ)空間。

2)外信息的計(jì)算和前向度量并行進(jìn)行,可省略對(duì)前向度量的存儲(chǔ),節(jié)省了8L存儲(chǔ)空間,直接由硬判決單元根據(jù)外信息恢復(fù)出對(duì)數(shù)似然比,可以節(jié)省對(duì)似然比的存儲(chǔ),節(jié)省約1L的存儲(chǔ)空間,同時(shí)減少了存儲(chǔ)操作,提高了程序效率。

圖5 Turbo子譯碼器流程圖Fig.5 Flow chart of the Turbo sub-decoder algorithm

此種設(shè)計(jì)的優(yōu)勢分析如下:

①提高時(shí)效性

圖6是經(jīng)典的譯碼算法和改進(jìn)的子譯碼算法對(duì)應(yīng)的時(shí)序圖(一個(gè)周期為T)。

圖6 傳統(tǒng)算法和改進(jìn)后的算法時(shí)序比較圖Fig.6 Comparison between the traditional algorithm and improved one

從圖6中可以看出,優(yōu)化后的方案減少了約3/5的譯碼時(shí)延,在很大程度上縮減了譯碼耗時(shí)。

②節(jié)約存儲(chǔ)開銷

本算法設(shè)計(jì)共節(jié)約了13L存儲(chǔ)空間資源。優(yōu)化后的算法的存儲(chǔ)空間如表1所示。

表1 主要占用的存儲(chǔ)空間分配Tab.1 Principal storage cost

3 DSP實(shí)現(xiàn)結(jié)果及性能分析

TMS320C6000系列是TI公司推出的高性能DSP系列。采用TI專利技術(shù)VeloiTI和新的超長指令字結(jié)構(gòu),使該系列DSP的性能達(dá)到很高的水平。DSPC6416每時(shí)鐘周期同時(shí)執(zhí)行8條指令,運(yùn)算能力可達(dá)到 4 800MIPS(每秒百萬條指令)[5-6]。

3.1 仿真分析

模擬傳送400幀的隨機(jī)數(shù)據(jù)作為信源信息序列,每幀256 bit。 系統(tǒng)編碼率定為 1/2。 Turbo 碼采用(7,5)碼,其中交織器采用偽隨機(jī)交織映射,信息長256 bit,均分為4段并行運(yùn)算,采用五次迭代的改進(jìn)Max-Log-Map譯碼算法,BPSK調(diào)制解調(diào)。在DSPC6416軟件平臺(tái)進(jìn)行仿真。

1)改進(jìn)前后的BER(誤比特率)系統(tǒng)性能分析

圖7中橫坐標(biāo)表示信道的信噪比。由圖可知,改進(jìn)前后的仿真結(jié)果相近,這從一定程度上說明了改進(jìn)后算法的合理性和可靠性。但觀察知改進(jìn)后的算法誤比特率稍高于改進(jìn)前的譯碼誤比特率。這是因?yàn)橐粠瑪?shù)據(jù)中,校驗(yàn)數(shù)據(jù)之間存在聯(lián)系,而采用并行譯碼將割裂整幀數(shù)據(jù)間的聯(lián)系,必然會(huì)帶來誤碼率的惡化。

圖7 改進(jìn)前后的譯碼BER對(duì)比圖Fig.7 BER comparison between the original algorithm and the improved one

2)改進(jìn)前后仿真信息傳輸速率分析

由于對(duì)Max-Log-Map譯碼算法的計(jì)算流程進(jìn)行了改進(jìn),大大減少了指令對(duì)DSP芯片CPU的資源占用,信息處理速率得到大幅度提高。經(jīng)CCS軟件自帶的代碼執(zhí)行時(shí)間統(tǒng)計(jì)模塊里的Incl.Total顯示代碼段消耗的所有時(shí)鐘周期及相應(yīng)的信息傳輸速率如表2所示 (本例中C6416DSP芯片時(shí)鐘周期為 1/600M)。

表2 改進(jìn)前后消耗周期數(shù)及信息傳輸速率比較Tab.2 Transmission rate and consumed cycle time comparison

4 結(jié) 論

文中對(duì)Turbo碼Max-Log-Map譯碼算法進(jìn)行了改進(jìn)。理論分析看到,改進(jìn)后的算法在很大程度上減少了譯碼延時(shí),節(jié)約了13倍交織長度的存儲(chǔ)空間資源。同時(shí),性能仿真結(jié)果表明,在譯碼BER性能相當(dāng)?shù)那闆r下,改進(jìn)的Turbo碼譯碼速率提高至原來的2倍,驗(yàn)證了優(yōu)化后的算法的合理性和可靠性。因此該優(yōu)化方案具有一定的實(shí)際參考與應(yīng)用價(jià)值。

[1]劉東華.Turbo碼原理與應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2004.

[2]Berrou C,Glvaieux A.Near shannon limit error-correcting coding and decoding:turbo-codes[J].ICC,Geneva, Switztlnad,1993(2):1064-1074.

[3]尹成群,謝小軍,宋文妙.Turbo碼譯碼器的DSP實(shí)現(xiàn)[J].電子測量與儀器學(xué)報(bào),2005,19(5):72-76.YIN Cheng-qun,Xie Xiao-jun,SONG Wen-miao,et al.Research and Realization on DSP of Turbo decoder[J].Journal of Electronic Measurement and Instrument,2005,19(5):72-76.

[4]王強(qiáng).Turbo碼在COFDM中的應(yīng)用研究[D].南京:南京理工大學(xué),2003.

[5]李方慧,王飛,何佩現(xiàn).TMS320C6000系列DSPs原理與應(yīng)用[M].北京:電子工業(yè)出版社,2002.

[6]豈興明,胡小冬,周火金.DSP嵌入式開發(fā)入門與典型實(shí)例[M].北京:人民郵電出版社,2011.

猜你喜歡
譯碼器子塊碼元
基于八叉樹的地震數(shù)據(jù)分布式存儲(chǔ)與計(jì)算
基于特征值算法的圖像Copy-Move篡改的被動(dòng)取證方案
LFM-BPSK復(fù)合調(diào)制參數(shù)快速估計(jì)及碼元恢復(fù)
糾錯(cuò)模式可配置的NAND Flash BCH譯碼器設(shè)計(jì)
基于波浪式矩陣置換的稀疏度均衡分塊壓縮感知算法
跟蹤導(dǎo)練(一)5
基于極大似然準(zhǔn)則的短猝發(fā)信號(hào)盲解調(diào)
基于FPGA的IRIG-B碼解碼器設(shè)計(jì)
基于分布式ICA-PCA模型的工業(yè)過程故障監(jiān)測
HINOC2.0系統(tǒng)中高速LDPC譯碼器結(jié)構(gòu)設(shè)計(jì)