移動通信系統(tǒng)中8比特運算字長Turbo碼的譯碼方法
【專利摘要】一種移動通信系統(tǒng)中8比特運算字長Turbo譯碼的實現(xiàn)方法,包括下列步驟:(1)初始化設(shè)置進入Turbo譯碼器的三個輸入數(shù)據(jù),以使其平均幅度都調(diào)整到Turbo譯碼的安全范圍內(nèi),避免因數(shù)據(jù)過大或過小而增大溢出可能性。(2)執(zhí)行具有溢出保護機制的8bit-RSC的遞歸系統(tǒng)卷積編碼RSC譯碼算法,獲得譯碼輸出E1。(3)按照協(xié)議規(guī)定,對譯碼輸出E1和數(shù)組s分別執(zhí)行交織算法。(4)執(zhí)行具有溢出保護機制的8bit-RSC的遞歸系統(tǒng)卷積編碼RSC譯碼算法,獲得譯碼輸出E2。(5)執(zhí)行解交織算法,判斷是否終止迭代操作,并得到最終譯碼結(jié)果。本發(fā)明是在傳統(tǒng)Turbo譯碼基礎(chǔ)上進行改進的方法,在無明顯損失譯碼性能前提下,大大降低Turbo譯碼的數(shù)據(jù)存儲空間的開銷,并提升了譯碼的運行效率和速度。
【專利說明】移動通信系統(tǒng)中8比特運算字長Turbo碼的譯碼方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種移動通信系統(tǒng)中8比特運算字長Turbo碼的譯碼方法,屬于無線移動通信的【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]Turbo (拓?fù)?碼最早是在1993年的ICC國際會議上,由兩位法國不列顛通信大學(xué)的教授Glavieux A、Thitimajshiwa P和他們的緬甸籍博士生Berrou C在論文《NearShannon limit error-correcting coding and decoding:Turbo-codes〉〉中首次提出的。仿真結(jié)果表明,在使用容量為65536的隨機交織器,進行18次譯碼迭代、且信噪比小于0.7dB時,碼率為1/2的Turbo碼在AWGN信道中的誤比特率小于10_5,接近了香農(nóng)限(1/2碼率的香農(nóng)限為OdB)。由于其優(yōu)異性能,Turbo碼成為第三代以及后續(xù)移動通信系統(tǒng)中高速數(shù)據(jù)業(yè)務(wù)的重要編碼方式。
[0003]Turbo碼的譯碼比其編碼更為復(fù)雜,其核心部分是2個“軟輸入軟輸出(SIS0)”譯碼器,通過多次迭代譯碼,可以顯著提升誤碼性能。具體誤碼算法有:最大后驗概率算法MAP及其改進算法Log-MAP算法等 等。由于需要進行大量的乘法運算和指數(shù)運算,MAP算法并不適宜用硬件實現(xiàn)之。故有學(xué)者提出了 MAP算法在對數(shù)域的簡化版本=Log-MAP算法。其是通過轉(zhuǎn)換到對數(shù)域運算來避免指數(shù)運算,同時將乘法轉(zhuǎn)換為加法,而加法則變成Max,即取最大值運算。
[0004]在定點數(shù)字信號處理器上,實現(xiàn)Turbo碼譯碼極具挑戰(zhàn)性,除了算法本身復(fù)雜度較高以外,還有一個重要原因是譯碼迭代計算過程中數(shù)據(jù)值不斷累加、增大定點數(shù)溢出風(fēng)險,從而使得譯碼性能顯著惡化。
[0005]為了防止算法迭代過程中發(fā)生定點數(shù)溢出,Turbo譯碼通常選擇8比特以上的運算字長。以16比特字長為例,數(shù)據(jù)的取值范圍在-32768~32767之間,而8bit字長的數(shù)據(jù)取值在-128~127之間,范圍極小。因此8比特運算字長的Turbo譯碼的主要問題是:隨著迭代運算的不斷深入,數(shù)據(jù)值會不斷增加,更容易發(fā)生溢出。
[0006]然而使用8比特運算字長可以減小Turbo譯碼算法的數(shù)據(jù)存儲空間,同時算法將更有利于并行處理、使得算法執(zhí)行效率和速度也將大大優(yōu)于8比特以上運算字長的譯碼算法,尤其隨著移動通信系統(tǒng)對實時信號處理的速率和效率要求越來越高,8比特運算字長的Turbo譯碼具有很大的吸引力。
[0007]參見圖1,介紹該圖中各個字符的涵義:Ik為第k時刻從信道中獲取的待譯碼數(shù)據(jù)中的系統(tǒng)比特,自然數(shù)k下標(biāo)為時間序列號,Pl為第k時刻從信道中獲取的待譯碼數(shù)據(jù)中
的第一校驗比特,K為第k時刻從信道中獲取的待譯碼數(shù)據(jù)中的第二校驗比特,Rk為第k時刻從信道獲取的待譯碼數(shù)據(jù),該待譯碼數(shù)據(jù)包括上述三種數(shù)據(jù):Ik P1和g。E1是第一譯碼器輸出的外信息數(shù)據(jù),£「是第一譯碼器輸出的外信息數(shù)據(jù)、再經(jīng)過交織后的數(shù)據(jù),E2是第二譯碼器輸出的外信息數(shù)據(jù),是第二譯碼器輸出的外信息數(shù)據(jù)、再經(jīng)過解交織后的數(shù)據(jù)。
[0008]參見圖2,再介紹圖2所示的一種典型Turbo碼譯碼器結(jié)構(gòu)及其譯碼方法:首先將接收到的待譯碼數(shù)據(jù)yk:即輸入的信息比特Ik,第一校驗比特P —同送入第一譯碼器。將
Ik經(jīng)過交織后的數(shù)據(jù)和第二校驗比特A —同送入第二譯碼器。第一譯碼器輸出的外信息
數(shù)據(jù)E1經(jīng)過交織后也送入第二譯碼器用于譯碼,第二譯碼器輸出的外信息數(shù)據(jù)E2經(jīng)過解交織后,送到第一譯碼器進行譯碼。Turbo碼譯碼是一個迭代的過程,通常的迭代次數(shù)為3~8次,最后一次迭代時第二譯碼器將會輸出對數(shù)似然比LLR (Loglikelihood Ratio),再經(jīng)過解交織后,進行硬判決,就作為最終的譯碼結(jié)果。譯碼過程中,各個變量的取值均為有符號整數(shù),在16bit字長的譯碼運算中的取值在-32768~32767之間,在8bit字長的譯碼運算中的取值在-128~127之間。
[0009]譯碼的最后結(jié)果是要計算對數(shù)似然比LLR,對數(shù)似然比的計算公式為:
【權(quán)利要求】
1.一種移動通信系統(tǒng)中8比特運算字長Turbo譯碼的實現(xiàn)方法,是基于傳統(tǒng)的Turbo譯碼MAX-Log-MAP前后向度量計算方法實現(xiàn)的;Turbo譯碼有三個分別為I XK維數(shù)組的輸入數(shù)據(jù):系統(tǒng)比特Rs、第一校驗比特RpjP第二校驗比特Rp2,其中,K為信息比特的總數(shù),即譯碼輸出的數(shù)據(jù)長度,3個數(shù)組Rs,Rp1, Rp2的元素都是8比特字長;其特征在于:所述方法包括下列操作步驟: 步驟1,對準(zhǔn)備進入Turbo譯碼器的數(shù)據(jù)進行初始化設(shè)置,以使該三個輸入數(shù)據(jù)的平均幅度都調(diào)整到Turbo譯碼的安全范圍內(nèi),避免因數(shù)據(jù)過大或過小而增大溢出可能性; 步驟2,執(zhí)行具有溢出保護機制的8bit-RSC的遞歸系統(tǒng)卷積編碼RSC (RecursiveSystematic Convolutional code)譯碼算法,獲得譯碼輸出 E1 ; 步驟3,按照協(xié)議規(guī)定,對譯碼輸出E1和數(shù)組s分別執(zhí)行交織算法; 步驟4,再次執(zhí)行具有溢出保護機制的Sbit-RSC的遞歸系統(tǒng)卷積編碼RSC譯碼算法,獲得譯碼輸出E2 ; 步驟5,執(zhí)行解交織算法,判斷是否終止迭代操作,并得到最終譯碼結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟I包括下列操作內(nèi)容: (11)定義三個IXK維數(shù)組S,P1,P2,并分別初始化設(shè)置該三個數(shù)組s=Rs, P1=RP1和P2=RP2 ;其中,數(shù)組s用于臨時存儲系統(tǒng)比特、P1用于臨時存儲第一校驗比特,p2用于臨時存儲第二校驗比特; (12)定義五個IXK維數(shù)組As,E1,AE11E2, Λ E2,并將該五個數(shù)組的所有元素的初始值都設(shè)為零;其中,Λ s是s交織后的數(shù)組,E1是輸入為s,Pl,AE2時遞歸系統(tǒng)卷積編碼RSC譯碼算法的輸出,Λ E1是E1交織后的數(shù)組,E2是輸入為s,p2,AE1時RSC譯碼算法的輸出,AE2是E2解交織后的數(shù)組; (13)設(shè)置八個數(shù)組s,Δ s, P1, P2, E1, AE1, E2, Δ E2的元素字長都為8比特; (14)計算經(jīng)過步驟(11)初始化設(shè)置后的三個數(shù)組s,P1,P2中的所有元素平均幅度,所述平均幅度的計算方法是:先對三個數(shù)組元素分別計算其幅度和,再除以數(shù)組元素個數(shù)所得到的商;然后,按照下述公式j(luò) =P1=P1X^-, /?對三個數(shù)組Sj^p2
/m分別進行幅度縮放,使得S,P1, P2中的所有元素的平均幅度變?yōu)?2。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟2包括下列操作內(nèi)容: (21)判斷數(shù)組AE2的元素中的絕對值是否超過門限值N,該門限值的數(shù)值能夠靈活調(diào)整;如是,則在譯碼前執(zhí)行除性歸一化操作:將各個數(shù)組s,Pl,p2,AE2中的所有元素都除以歸一化系數(shù)μ , μ >1 ;如否,則不作任何處理; (22)以S,P1,AE2作為輸入?yún)?shù),執(zhí)行以傳統(tǒng)的MAX-Log-MAP前后向度量計算方法為基礎(chǔ)并改進的8bit-RSC譯碼算法,獲得譯碼輸出Ep
4.根據(jù)權(quán)利要求3所述的方法,其特征在于:所述改進的Sbit-RSC譯碼算法中的關(guān)鍵操作是前后向度量的計算,其改進之處是:計算過程中存儲的內(nèi)部數(shù)據(jù)都設(shè)定為8比特字長,并在譯碼過程中新增減法歸一化操作;該步驟(22)包括下列具體操作內(nèi)容: (22a)先設(shè)定計算過程中存儲的內(nèi)部數(shù)據(jù)都為8比特字長; (22b)采用傳統(tǒng)的MAX-Log-MAP前向度量計算方法計算前向度量值:因譯碼第i個信息比特對應(yīng)有8個前向度量值,并用數(shù)組a [i] [m]分別表示之;其中,α表示數(shù)組,自然數(shù)i和m分別為信息比特和前向度量值的序號,且其最大值分別為K和8 ;可m]為臨時數(shù)組;數(shù)組Y [i] [η]為第i個信息比特的4個分支度量,式中,自然數(shù)i和η分別為另一信息比特和另一前向度量值的序號,且其最大值分別為K和4 ; 改進的MAX-Log-MAP前向度量的計算方法是:按照傳統(tǒng)的MAX-Log-MAP后向度量計算方法,先對a [1-1] [m]和Y [1-1] [η]進行累加、比較和選擇的操作,計算得到可〃/1后,再利用公式《[/?可叫-可O]進行減法歸一化操作,得到a [i] [m]; (22c)采用改進的MAX-Log-MAP后向度量計算方法計算后向度量值:因譯碼第j個信息比特對應(yīng)有8個后向度量值,并用數(shù)組β [j] [q]分別表示之;其中,β表示數(shù)組,自然數(shù)j和q分別為信息比特和后向度量值的序號,且其最大值分別為K和8 為臨時數(shù)組; 改進的MAX-Log-MAP后向度量計算方法是:先按照加法操作對β [j] [q]和Y [j] [η]進行累加、比較和選擇的操作,再按照傳統(tǒng)的MAX-Log-MAP計算方法從β [j] [q]計算得到盧M后,再利用公式-兩I]進行減法歸一化操作,得到β [j-1] [q]; (22d)根據(jù)獲得的前后向度量值按照傳統(tǒng)方法計算譯碼輸出,并賦值給Ep
5.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟3包括下列操作內(nèi)容: (31)以步驟(2)的譯碼輸出E1作為交織輸入,按照3GPP協(xié)議規(guī)定調(diào)用交織算法,并將交織輸出賦值給AE1 ; (32)以數(shù)組s作為交織輸入,再次執(zhí)行與步驟(31)相同的交織算法后,將交織輸出賦值給Δ s。
6.根據(jù)權(quán)利要求1所述的`方法,其特征在于:所述步驟4包括下列操作內(nèi)容: (41)判斷數(shù)組AE1的元素中的絕對值是否超過門限值N,如果有,則在譯碼前執(zhí)行除性歸一化操作:四個數(shù)組s, P1, P2, AE1中的所有元素都除以歸一化系數(shù)μ ; (42)以s,p2,AE1作為輸入,執(zhí)行基于傳統(tǒng)的MAX-Log-MAP前后向度量計算方法、并進行下述改進:作出新約定和引入新功能的Sbit-RSC譯碼算法:計算過程中存儲的內(nèi)部數(shù)據(jù)都是8比特字長、并在譯碼過程中新增減法歸一化操作: 具體計算方法為:先設(shè)定內(nèi)部數(shù)據(jù)存儲為8比特字長,再按照步驟(22)的描述分別計算前向度量值和后向度量值,然后根據(jù)獲得的前后向度量值和傳統(tǒng)方法計算得到譯碼輸出值,并賦值給E2。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟2和步驟4中的門限值N設(shè)置為96,歸一化系數(shù)μ要大于1,設(shè)置為2。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟5包括下列操作內(nèi)容: (51)以步驟4的輸出&作為輸入,調(diào)用3GPP協(xié)議規(guī)定的解交織算法,執(zhí)行解交織運算,并將輸出賦值給AE2 ; (52)根據(jù)傳統(tǒng)的Turbo譯碼終止策略判斷是否已經(jīng)滿足迭代終止條件;若滿足條件,則依據(jù)E2計算得到最終譯碼結(jié)果,并結(jié)束整個Turbo譯碼算法;否則,返回步驟2,重新繼續(xù)執(zhí)行。
【文檔編號】H03M13/27GK103701475SQ201310722093
【公開日】2014年4月2日 申請日期:2013年12月24日 優(yōu)先權(quán)日:2013年12月24日
【發(fā)明者】錢榮榮, 王胤鑫, 漆淵, 彭濤, 王文博 申請人:北京郵電大學(xué)