摘 要 隨著無(wú)線通信技術(shù)的快速發(fā)展,LTE等長(zhǎng)期演進(jìn)項(xiàng)目成了近年來(lái)的熱點(diǎn),本文分析了 LTE系統(tǒng)中Turbo碼的譯碼,并針對(duì)定點(diǎn)運(yùn)算的特點(diǎn)進(jìn)行了改進(jìn)。通過大量的仿真確定了定點(diǎn)LOG-MAP譯碼算法的關(guān)鍵參數(shù)。包括量化比特?cái)?shù)和AWGN中GAIN值,外在(extrinsic)信息因子以及定點(diǎn)化、歸一化、溢出處理等操作,這些處理使得該譯碼算法在譯碼性能上接近浮點(diǎn)LOG-MAP譯碼算法,對(duì)于Turbo譯碼在硬件上的實(shí)現(xiàn)具有一定的參考價(jià)值。
關(guān)鍵詞 LTE GAIN 外在(extrinsic)信息因子
1 引言
Turbo碼因?yàn)榫哂薪咏黃hannon限的性能,從提出后便得到廣泛的關(guān)注,由于優(yōu)異的糾錯(cuò)編碼性能對(duì)移動(dòng)通信系統(tǒng)具有非常的大吸引力,所以在第三代通信系統(tǒng)中都將Turbo碼作為信道編碼的方案,特別是在LTE系統(tǒng)中的編碼方案中引入了QPP,使得turbo碼編碼性能獲得極大的提高。本文的研究對(duì)象是LTE系統(tǒng)中的Turbo碼,通過仿真確定譯碼參數(shù),從多個(gè)角度提高譯碼的整體性能,整理出一套可行的譯碼方案。
2 Turbo碼譯碼算法
用于Turbo碼譯碼的具體算法有:MAP(Maximum A Posterori)、Max-Log-MAP、Log-MAP和SOVA(Soft Output Viterbi Algorithm)算法。這里簡(jiǎn)要概述MAP算法及其改進(jìn)算法。
2.1 MAP算法
通過對(duì)Turbo碼譯碼算法原理的比較研究,我們知道MAP算法非常復(fù)雜,運(yùn)算量極大,運(yùn)算中不僅有大量的乘法和加法,還有在數(shù)字電路中較難實(shí)現(xiàn)的指數(shù)和對(duì)數(shù)運(yùn)算,這極大的影響了MAP算法的實(shí)用。Koch和Baier及Erfanian等人提出Max-Log-MAP算法,大大地簡(jiǎn)化了MAP算法的復(fù)雜性,由于計(jì)算中做了一定地近似,這種算法不是最優(yōu)的。Robertson等人對(duì)Max-Log-MAP算法做了一定地修正,被稱作Log-MAP算法。所以在介紹Log-MAP算法前先簡(jiǎn)要介紹一下MAP算法。
3 仿真及分析
基于性能和譯碼速率的考慮,本文采用Log-Map算法(修正函數(shù)采用查表方法)作為Turbo碼的譯碼算法,原理已經(jīng)在第二節(jié)給出,本文在Matlab環(huán)境下對(duì)Turbo碼譯碼算法的一些參數(shù)進(jìn)行了仿真分析,并針對(duì)不同情況確定了這些參數(shù)的優(yōu)化值,仿真流圖如圖1 所示。
本文主要對(duì)影響Turbo碼譯碼性能的一些關(guān)鍵參數(shù)進(jìn)行了仿真和研究(如AWGN中GAIN值,定點(diǎn)化、歸一化和外在(extrinsic)信息因子。下面給出了具有參考價(jià)值的仿真曲線和一些相關(guān)的分析與結(jié)論。
3.1 定點(diǎn)化過程中GAIN值對(duì)LOG-MAP算法的影響
為了便于硬件實(shí)現(xiàn)后看出硬件實(shí)現(xiàn)后的譯碼性能,對(duì)于每個(gè)接受到的輸入比特xx(i),進(jìn)行了定點(diǎn)化的處理:處理方式如下:
Ixx(i)=fix(xx(i)*GAIN) (1)
fix表示取整。
其中GAIN的取值是隨著量化比特?cái)?shù)而變化的,其計(jì)算方法如下:
由于GAIN值的選取跟經(jīng)過信道后的接收信道的幅度和量化比特?cái)?shù)有關(guān),因此對(duì)于不同的量化比特?cái)?shù)和接收信號(hào)幅度,GAIN值也要進(jìn)行相應(yīng)的調(diào)整。
根據(jù)仿真的結(jié)果來(lái)看,當(dāng)接收信號(hào)幅[-8,+8]之間的時(shí)候,采用6比特量化時(shí),其區(qū)間為[-32,32],因此有:
GAIN*[-8,8]=[-32,32]/2 (2)
得出GAIN=2。
同樣的當(dāng)采用8比特量化時(shí),其區(qū)間為[-128,128],同樣有:
GAIN*[-8,8]=[-128,128]/2 (3)
得出GAIN=8。由此可以得出計(jì)算GAIN值的一般公式:假設(shè)信號(hào)幅度為[-2^a,2^a],量化比特?cái)?shù)位n,則有:
GAIN*[-2^a,2^a]=[-2^n, 2^n]/2 (4)
即可計(jì)算出GAIN的值。
對(duì)于量化比特?cái)?shù)QUANTIZ_BITS,取值原則上可以為任意整數(shù),在實(shí)際過程中一般取6或8,對(duì)與不同的量化比特?cái)?shù),取值的范圍也不同,如當(dāng)為量化比特?cái)?shù)位6時(shí),取值范圍[-32,31],其中
qmax=(1<<(QUANTIZ_BITS-1))-1 (5)
仿真程序中取為[-qmax,qmax]是為了保證正負(fù)數(shù)值的對(duì)稱。
為了提高精度,在遞推和的狀態(tài)似然值時(shí),要不斷的根據(jù)上一時(shí)刻求出來(lái)的兩個(gè)狀態(tài)似然值和的數(shù)據(jù)是否溢出或全為負(fù),對(duì)所有數(shù)據(jù)進(jìn)行偏移(加上Shift)。這里的偏移量Shift加在當(dāng)前時(shí)刻的值中。若變量定點(diǎn)化位數(shù)QUANTIZ_BITS等于6,則當(dāng)全為正時(shí),則依據(jù)偏移量:
Shift=-(1<<(QUANTIZ_BITS-3))*3 (6)
可得偏移量Shift=-24。
若全為負(fù)則偏移量:
Shift=(1<<(QUANTIZ_BITS-2)) (7)
可得偏移量Shift=16。
對(duì)于不同量化比特?cái)?shù)相應(yīng)的歸一化取值如表1所示:
為了防止在譯碼過程中值的溢出,特在每次數(shù)據(jù)處理后加入限幅函數(shù),如果變量值大于qmax,則取為qmax,如果小于 -qmax則取為 -qmax,以此防止中間值溢出。在定點(diǎn)化仿真過程中中采用了加入CRC校驗(yàn)的仿真方法,即每經(jīng)過譯碼器譯碼一次就將譯碼結(jié)果進(jìn)行CRC校驗(yàn),一旦CRC校驗(yàn)成功且未達(dá)到迭代次數(shù)的最大值,則終止迭代并輸出譯碼結(jié)果。
仿真條件:在AWGNX信道條件下,采用定點(diǎn)算法,量化比特?cái)?shù)位6,迭代次數(shù)為7,碼長(zhǎng)為6144;采用LOG-MAP算法;其中藍(lán)色為GAIN=2時(shí)的曲線,紅色曲線為GAIN=1.44時(shí)的曲線,仿真結(jié)果見圖2所示。
仿真條件:在AWGNX信道條件下,采用定點(diǎn)算法,量化比特?cái)?shù)位8,迭代次數(shù)為7,碼長(zhǎng)為6144;采用LOG-MAP算法;其中藍(lán)色為GAIN=8時(shí)的曲線,紅色曲線為GAIN=1.44(先前的參數(shù))設(shè)置時(shí)的曲線,仿真結(jié)果見圖3所示。
從圖2仿真結(jié)果可以看出,當(dāng)量化比特?cái)?shù)為 6時(shí),兩者性能基本相同,新的GAIN值略好,從圖3可以看出當(dāng)量化比特?cái)?shù)為8比特時(shí),新的GAIN值比原先的設(shè)置要好約0.1dB。總的來(lái)說,新的參數(shù)設(shè)置方法性能要好于原先的參數(shù)設(shè)置。
3.2 外在(extrinsic)信息因子對(duì)譯碼性能影響
在一般的LOG-MAP算法中,對(duì)外在信息是不做任何處理的,外在信息經(jīng)過交織或去交織后作為下一個(gè)譯碼器的先驗(yàn)信息。Jorg Vogt 和 Adolf Finger 提出了一個(gè)顯著提高譯碼性能的方法,即用一個(gè)系數(shù)(scale)乘以外在信息。 把處理后的外在信息作為下一個(gè)譯碼器的先驗(yàn)信息。
仿真條件:在AWGNX信道條件下,采用定點(diǎn)算法,量化比特?cái)?shù)為6,GAIN=2;最大迭代次數(shù)為7,碼長(zhǎng)為6144;采用LOG-MAP算法,這里比較了scale=[0.65 0.7 0.75 0.8 0.85 0.9 0.95 原始方案(1)],仿真曲線如圖4所示:
從圖4的仿真結(jié)果可以看出,所選取的scale值對(duì)于性能影響差異相差不到0.1db,這里把scale=0.7,0.85,原始方案(沒有乘以外在信息因子)三條曲線(見圖5)單獨(dú)拿出來(lái)對(duì)比我們可以清晰的看到,當(dāng)scale值等譯0.85時(shí)誤碼率最低, 根據(jù)仿真結(jié)果,推薦選取scale=0.85。
3.3 定點(diǎn)與浮點(diǎn)結(jié)果比較
仿真條件:根據(jù)3.1,3.2節(jié)參數(shù)的調(diào)整后,令GAIN=2, scale=0.85,在最大迭代次數(shù)為7,碼長(zhǎng)為6144;LOG-MAP算法的情況下,此時(shí)定點(diǎn)譯碼與浮點(diǎn)譯碼仿真曲線的對(duì)比如圖6所示:
由仿真結(jié)果可以看出,當(dāng)量化比特?cái)?shù)為6比特時(shí),定點(diǎn)譯碼與浮點(diǎn)譯碼在譯碼的性能差異較大,但是從圖中可以看出當(dāng)量化比特?cái)?shù)為8,GAIN=2時(shí),8比特定點(diǎn)與浮點(diǎn)的性能差異不超過0.1dB。
4 結(jié)論
本文對(duì)Turbo碼的譯碼算法進(jìn)行了簡(jiǎn)要的分析,并針對(duì)定點(diǎn)數(shù)字信號(hào)處理的特點(diǎn)對(duì)它的實(shí)現(xiàn)結(jié)構(gòu)進(jìn)行了優(yōu)化。仿真結(jié)果表明,采用8比特量化輸入,GAIN等于8,外在信息因子scale等于0.85,迭代次數(shù)為7的定點(diǎn)譯碼算法,其性能非常接近浮點(diǎn)LOG-MAP算法。對(duì)于Turbo譯碼在硬件上的實(shí)現(xiàn)非常具有參考價(jià)值。
參 考 文 獻(xiàn)
[1] Berrou C, Glavieux A, Thitimajshima P. Near Shannon Limit Error-correcting Coding and Decoding: Turbo-codes[A]. Proc IEEE International Conference on Communication (ICC)[C]. Geneva, Switzerland: IEEE. 1993. 1064-1070.
[2] Berrou C, Glavieux A. Reflections on the Prize Paper: Near Optimum Error-correcting Coding and Decoding: Turbo Codes[J]. IEEEInformation Theory Society Newsletter, 1998, 48(2): 24-31.
[3] Bahl L R, Cocke J, Jelinek F, et al. Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate[J]. IEEE Trans on Inform Theory, 1974, 20(2): 248-287.
[4] Robertson P, Villebrun E, HoehorP. A Comparison of Optimal and Sub-optimal MAP Decoding Algorithms Operating in the LOG Domain [A]. ICC 95[C]. Seattle: ICC, 1995. 1009-1013.
[5] 3GPP長(zhǎng)期演進(jìn)(LTE)技術(shù)原理與系統(tǒng)設(shè)計(jì) 沈嘉.索士強(qiáng).全海洋等 人民郵電出版社