專利名稱:卷積Turbo碼雙向并行譯碼方法
技術(shù)領(lǐng)域:
本發(fā)明屬于通信領(lǐng)域,主要涉及信道編碼,尤其是Turbo碼譯碼的相關(guān)技術(shù)。
背景技術(shù):
自從迭代譯碼概念的提出開始,Turbo碼就被廣泛研究和應(yīng)用。卷積Turbo碼 (CTC)以其編碼效率更高、編碼速度更快和自由距離更大的特點(diǎn)得以在近年來快速發(fā)展,目前已被標(biāo)準(zhǔn)802. 16e和802. 16m選作物理層的前向糾錯(cuò)碼型。標(biāo)準(zhǔn)802. 16m選用雙二元卷積Turbo碼(DB-CTC)作為信道編碼方案之一。系統(tǒng)碼DB-CTC是在編時(shí)每一時(shí)刻并行輸入2比特信息,輸出6比特。由于采用了二次編碼的方案,編碼前、后的狀態(tài)一致,從而無需收尾比特。然而DB-CTC的這些特點(diǎn)也使得其譯碼比較復(fù)雜。DB-CTC的譯碼器采用兩個(gè)相同分量譯碼器并行迭代的結(jié)構(gòu),待譯碼的數(shù)據(jù)(卷積 Turbo碼經(jīng)信號(hào)傳輸后的信號(hào)符號(hào)經(jīng)軟解調(diào)后所得到的軟信息值(信道軟輸出似然比信息))分別輸入這兩個(gè)分量譯碼器(分量譯碼器1、分量譯碼器幻,分量譯碼器1輸出后驗(yàn)似然比信息,并將該后驗(yàn)似然比信息作為外部信息再經(jīng)過交織后傳回給分量譯碼器2作為譯碼的先驗(yàn)似然比信息;分量譯碼器2經(jīng)譯碼后輸出后驗(yàn)似然比信息,并作為外信息經(jīng)解交織后成為分量譯碼器1的先驗(yàn)似然比信息,由此完成一次迭代。當(dāng)達(dá)到預(yù)設(shè)的最大迭代次數(shù)時(shí),分量譯碼器2輸出的后驗(yàn)似然比信息經(jīng)解交織和硬判決,得到最終的譯碼結(jié)果。卷積 Turbo碼的迭代譯碼正是通過在兩個(gè)分量譯碼器間相互傳遞外部信息的方式逐漸使譯碼結(jié)果收斂,并由此提高譯碼性能。由于MAP算法的實(shí)現(xiàn)過程中含有大量的乘法運(yùn)算和中間變量,因此譯碼復(fù)雜度高,且譯碼時(shí)延長(zhǎng)。所以在仿真研究和工程中常用MAP算法的改進(jìn)型Log-MAP算法或其簡(jiǎn)化型Max-Log-MAP譯碼算法。雖然減少了乘法運(yùn)算,但是采用了 Log-MAP算法或Max-Log-MAP 算法的分量譯碼器仍然有較長(zhǎng)的譯碼延時(shí)。分量譯碼器用于將接收的信道軟信息值通過MAP算法計(jì)算輸出后驗(yàn)似然比信息。 采用了 Log-MAP算法或Max-Log-MAP算法的分量譯碼器的譯碼過程包括分支度量的計(jì)算、 前向遞歸、后向遞歸和后驗(yàn)似然比信息的計(jì)算。第i時(shí)刻的后驗(yàn)似然比信息Li (i = 0,..., N-1)由第i時(shí)刻的前向狀態(tài)度量、第i+Ι時(shí)刻的后向狀態(tài)度量以及第i時(shí)刻的分支度量計(jì)算得到,N為卷積Turbo碼編碼過程中輸入的雙二元比特組長(zhǎng)度。通常,分量譯碼器用從信道軟解調(diào)的軟信息值計(jì)算O至N-I時(shí)刻的分支度量后,需要先通過前向遞歸依次計(jì)算出從 O至N時(shí)刻的前向狀態(tài)度量,并進(jìn)行存儲(chǔ),之后再通過后向遞歸依次計(jì)算從N至O時(shí)刻的后向狀態(tài)度量,并存儲(chǔ)。最后,進(jìn)行后驗(yàn)似然比信息的計(jì)算。O至N-I時(shí)刻的前向狀態(tài)度量、1 至N時(shí)刻的后向狀態(tài)度量用于O至N-I時(shí)刻的后驗(yàn)似然比信息的直接計(jì)算,第N時(shí)刻的前向狀態(tài)度量、第O時(shí)刻的后向狀態(tài)度量用作初始化下一次迭代的狀態(tài)度量
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是,采用雙向并行的譯碼結(jié)構(gòu),提供一種減少譯碼延時(shí)、節(jié)省存儲(chǔ)器的卷積Turbo碼的譯碼方法。本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)手段是,卷積Turbo碼雙向并行譯碼方法,包括待譯碼的數(shù)據(jù)輸入采用兩個(gè)分量譯碼器并聯(lián)的迭代譯碼器;當(dāng)未達(dá)到預(yù)設(shè)最大迭代次數(shù)時(shí),分量譯碼器譯碼后輸出后驗(yàn)似然比信息,轉(zhuǎn)化為外部信息,再經(jīng)交織或解交織后,作為先驗(yàn)似然比信息輸入至所述另一個(gè)分量譯碼器;當(dāng)達(dá)到預(yù)設(shè)最大迭代次數(shù)時(shí),最后一個(gè)工作的分量譯碼器經(jīng)譯碼后輸出的后驗(yàn)似然比信息,經(jīng)解交織和硬判決,得到譯碼結(jié)果;其特征在于,分量譯碼器的譯碼過程具體包括以下步驟分支度量計(jì)算與雙向遞歸的初始化步驟利用輸入的待譯碼的數(shù)據(jù)與先驗(yàn)似然比信息計(jì)算并存儲(chǔ)從0至(N/2)-l時(shí)刻的前Ν/2個(gè)時(shí)刻的分支度量、Ν/2至N-I時(shí)刻的后Ν/2 個(gè)時(shí)刻的分支度量,初始化第0時(shí)刻的前向狀態(tài)度量與第N時(shí)刻的后向狀態(tài)度量;所述N為雙二元比特組長(zhǎng)度;第一階段步驟以初始化的第0時(shí)刻的前向狀態(tài)度量為起點(diǎn),用前Ν/2個(gè)時(shí)刻的分支度量參與前向遞歸計(jì)算,依次得到0至Ν/2時(shí)刻的前向狀態(tài)度量,并存儲(chǔ);同時(shí),以第N 時(shí)刻的后向狀態(tài)度量為起點(diǎn),用后Ν/2個(gè)時(shí)刻的分支度量參與后向遞歸計(jì)算,依次得到N至 Ν/2時(shí)刻的后向狀態(tài)度量,并存儲(chǔ);第二階段步驟以第Ν/2個(gè)時(shí)刻的后向狀態(tài)度量為起點(diǎn),用前Ν/2個(gè)時(shí)刻的分支度量度量參與后向遞歸計(jì)算,依次得到從Ν/2至0時(shí)刻的后向狀態(tài)度量,并依次與第一階段存儲(chǔ)的(ΝΛ)-1至0時(shí)刻的前向狀態(tài)度量以及前Ν/2個(gè)時(shí)刻的分支度量一起參與后驗(yàn)似然比計(jì)算,得到從(N/2)-l至0時(shí)刻的前Ν/2個(gè)時(shí)刻的后驗(yàn)似然比信息;同時(shí),以第Ν/2時(shí)刻的前向度量為起點(diǎn),用后Ν/2個(gè)時(shí)刻的分支度量參與前向遞歸計(jì)算依次得到Ν/2至N時(shí)刻的前向狀態(tài)度量,并依次與第一階段存儲(chǔ)的(ΝΛ)+1至N時(shí)刻的后向狀態(tài)度量以及后Ν/2個(gè)時(shí)刻的分支度量一起參與后驗(yàn)似然比計(jì)算,得到從Ν/2至N-I時(shí)刻的后Ν/2個(gè)時(shí)刻的后驗(yàn)似然比信息。相比現(xiàn)有的分量譯碼器需前向遞歸完成后,才后向遞歸開始,然后后驗(yàn)似然比信息才能開始計(jì)算;本發(fā)明將前向遞歸與后向遞歸同時(shí)進(jìn)行,前向/后向遞歸分為運(yùn)算量相當(dāng)?shù)膬蓚€(gè)階段,后驗(yàn)似然比信息在第二階段的開始就能依次計(jì)算得到。即從開始遞歸運(yùn)算開始至后驗(yàn)似然比信息運(yùn)算結(jié)束時(shí)的延時(shí),本發(fā)明相比現(xiàn)有的譯碼過程縮短了一倍。并且, 現(xiàn)有的后驗(yàn)似然比運(yùn)算是串行,本發(fā)明的后驗(yàn)似然比運(yùn)算采用雙向并行同時(shí)進(jìn)行,所需的計(jì)算時(shí)間與遞歸計(jì)算的時(shí)間重合,則不需另外分配計(jì)算時(shí)間,此外,雙向并行的結(jié)構(gòu)可以使得用來存儲(chǔ)狀態(tài)度量的存儲(chǔ)器減半。具體的,分支度量的計(jì)算為Yk(s,,s) = La (uk) +1/2 X vkarka+l/2 X vkarkb+l/2 X vkyrky+l/2 X vkwrkw ;其中,k表示當(dāng)前時(shí)刻,S,為當(dāng)前時(shí)刻的可能狀態(tài),s為下一時(shí)刻的可能狀態(tài), Yk(s', S)為k時(shí)刻狀態(tài)S’轉(zhuǎn)移到k+l時(shí)刻狀態(tài)S的分支度量,Uk = (uka, Ukb)為第k時(shí)刻輸入編碼器的雙二元比特信息,La(Uk)為第k時(shí)刻的先驗(yàn)似然比信息,vk = (vka, vka, vky, Vkw)為發(fā)送比特,!"k= (rka,rkb,rky,rkw)表示信道接收的第k時(shí)刻的待譯碼的數(shù)據(jù)(軟解調(diào)后的軟信息值)。 進(jìn)一步的,為了減少分支度量的計(jì)算量,在計(jì)算分支度量時(shí),將分支度量拆分為兩個(gè)因子Pk和Qk pk = La (uk) +1/2 X vkarka+l/2 X vkarkb ;qk = 1/2 X vkyrky+l/2 X vkwrkw。根據(jù)vk = (vka, Vka,Vky' Vkw/ 的取值,則Pk共有Pk,M,Pk ,01,Pk,10' Pk,11 四種取值,qk共 Wqk,oo'qk,oi'qk,io'qk,n四種取值,所以每?jī)蓚€(gè)時(shí)刻間的32個(gè)分支度量(16個(gè)不同值)可以用8個(gè)因子全部構(gòu)造出來。相對(duì)經(jīng)典Log-MAP算法以及Max-Log-MAP算法每個(gè)時(shí)刻計(jì)算分支度量需要進(jìn)行80次乘法和64次加法,經(jīng)拆分后的分支度量?jī)H需要做M次乘法和觀次加法(包括用因子構(gòu)造分置度量的加法);相對(duì)經(jīng)典Log-MAP算法以及Max-Log-MAP算法每個(gè)時(shí)刻計(jì)算分支度需存儲(chǔ)16個(gè)不同值,經(jīng)拆分后的分支度量?jī)H需存儲(chǔ)8個(gè)不同因子。本發(fā)明的有益效果是,在分支譯碼器的譯碼過程中,采用雙向并行的方式計(jì)算狀態(tài)度量與后驗(yàn)似然比信息,將進(jìn)行前向、后向遞歸的操作同時(shí)進(jìn)行,時(shí)間減半,并把后驗(yàn)似然比的計(jì)算時(shí)間融入到遞歸操作的時(shí)間里,由此大大減小了譯碼延時(shí)與狀態(tài)度量的存儲(chǔ)空間;進(jìn)一步的,通過拆分分支度量的計(jì)算,減少冗余計(jì)算并且存儲(chǔ)分支度量的空間減半。
圖1為DB-CTC編碼在任兩個(gè)時(shí)刻之間的網(wǎng)格圖;圖2為分量譯碼器中內(nèi)部譯碼示意圖。
具體實(shí)施例方式本發(fā)明針對(duì)卷積Turbo譯碼中分量譯碼器中的譯碼過程進(jìn)行改進(jìn),其他處理過程不變,卷積Turbo譯碼過程包括待譯碼的數(shù)據(jù)、先驗(yàn)似然比信息輸入兩個(gè)分量譯碼器并聯(lián)的迭代譯碼器;當(dāng)未達(dá)到預(yù)設(shè)最大迭代次數(shù)時(shí),分量譯碼器譯碼后輸出后驗(yàn)似然比信息,轉(zhuǎn)化為外部信息,再經(jīng)交織或解交織后,作為先驗(yàn)似然比信息輸入至所述另一個(gè)分量譯碼器;當(dāng)達(dá)到預(yù)設(shè)最大迭代次數(shù)時(shí),最后工作的分量譯碼器譯碼輸出后驗(yàn)似然比信息, 經(jīng)解交織和硬判決,得到譯碼結(jié)果。本實(shí)施例在不改變?cè)姓`碼性能的條件下對(duì)分量譯碼器Log-MAP譯碼方法進(jìn)行改進(jìn)包括分支度量的拆分和雙向并行運(yùn)算。分支度量是聯(lián)系分量譯碼器輸入和輸出的關(guān)鍵量,在遞歸計(jì)算前向狀態(tài)度量和后向狀態(tài)度量時(shí)和在計(jì)算后驗(yàn)似然比信息時(shí)都會(huì)用到分支度量,而分量譯碼器的最終目的是輸出后驗(yàn)似然比信息(后驗(yàn)似然比信息的計(jì)算需要前向狀態(tài)度量、后向狀態(tài)度量和分支度
量)O如圖1所示,任兩個(gè)時(shí)刻之間都有32條分支度量,共16個(gè)不同值。分支度量的計(jì)算公式為Yk(s,,s) = La (uk) +1/2 X vkarka+l/2 X vkarkb+l/2 X vkyrky+l/2 X vkwrkw,其中,s,為當(dāng)前時(shí)刻的可能狀態(tài),s為下一時(shí)刻的可能狀態(tài),Yk(s’,s)為k時(shí)刻狀態(tài)s’轉(zhuǎn)移到k+Ι時(shí)刻狀態(tài)s的分支度量,uk = (uka,ukb)為k時(shí)刻輸入編碼器的雙二元比特信息,L^K)為k時(shí)刻的先驗(yàn)似然比信息,Vk = (Vka,Vka,Vky,vj為發(fā)送比特,r, = rkb,rky,r J表示信道接收的第k時(shí)刻的軟值。將分支度量拆分為兩個(gè)因子Pk和%,其中Pk = L^ (Uk) +1/2 X ,+1/2 Xq, = 1/2 X ,+1/2 X根據(jù)Vk = (Vka,Vka,Vky,vJ 的取值,則 Pk 共有 Pk,。。,Pk,。i,Pk,i。,Pkai 四種取值,Qk 共有%,。。,1。1,%,1。,%,11四種取值,所以每?jī)蓚€(gè)時(shí)刻間的16個(gè)分支度量可以用8個(gè)因子全 部構(gòu)造出來。于是計(jì)算分支度量拆分成的因子可以減少計(jì)算冗余,節(jié)省存儲(chǔ)器。引入分支度量的拆分后,求第k+1時(shí)刻的前向狀態(tài)度量ak+i(k 0,…,N)的前向 遞歸運(yùn)算為第k時(shí)刻的前向狀態(tài)度量矩陣Ak與第k時(shí)刻的前向遞歸矩陣Ck求和,求和得 到的矩陣第i行的各個(gè)元素取自然指數(shù)后相加,求和后再取自然對(duì)數(shù),就是第k+1時(shí)刻狀態(tài) S' 所對(duì)應(yīng)的前向狀態(tài)度量,i = l,2,...8。其中,第k時(shí)刻的前向狀態(tài)度量矩陣Ak與第k時(shí)刻的前向遞歸矩陣Ck相加表示 為
權(quán)利要求
1.卷積Turbo碼雙向并行譯碼方法,包括待譯碼的數(shù)據(jù)輸入采用兩個(gè)分量譯碼器并聯(lián)的迭代譯碼器;當(dāng)未達(dá)到預(yù)設(shè)最大迭代次數(shù)時(shí),分量譯碼器譯碼后輸出后驗(yàn)似然比信息,轉(zhuǎn)化為外部信息,再經(jīng)交織或解交織后,作為先驗(yàn)似然比信息輸入至所述另一個(gè)分量譯碼器;當(dāng)達(dá)到預(yù)設(shè)最大迭代次數(shù)時(shí),最后一個(gè)工作的分量譯碼器經(jīng)譯碼后輸出的后驗(yàn)似然比信息,經(jīng)解交織和硬判決,得到譯碼結(jié)果;其特征在于,分量譯碼器的譯碼過程具體包括以下步驟分支度量計(jì)算與雙向遞歸的初始化步驟利用輸入的待譯碼的數(shù)據(jù)與先驗(yàn)似然比信息計(jì)算并存儲(chǔ)從0至(Ν/2)-1時(shí)刻的前N/2個(gè)時(shí)刻的分支度量、N/2至N-I時(shí)刻的后N/2個(gè)時(shí)刻的分支度量,初始化第0時(shí)刻的前向狀態(tài)度量與第N時(shí)刻的后向狀態(tài)度量;所述N為雙二元比特組長(zhǎng)度;第一階段步驟以初始化的第0時(shí)刻的前向狀態(tài)度量為起點(diǎn),用前N/2個(gè)時(shí)刻的分支度量參與前向遞歸計(jì)算,依次得到0至N/2時(shí)刻的前向狀態(tài)度量,并存儲(chǔ);同時(shí),以第N時(shí)刻的后向狀態(tài)度量為起點(diǎn),用后N/2個(gè)時(shí)刻的分支度量參與后向遞歸計(jì)算,依次得到N至N/2時(shí)刻的后向狀態(tài)度量,并存儲(chǔ);第二階段步驟以第N/2個(gè)時(shí)刻的后向狀態(tài)度量為起點(diǎn),用前N/2個(gè)時(shí)刻的分支度量度量參與后向遞歸計(jì)算,依次得到從N/2至0時(shí)刻的后向狀態(tài)度量,并依次與第一階段存儲(chǔ)的 (N/2)-l至0時(shí)刻的前向狀態(tài)度量以及前N/2個(gè)時(shí)刻的分支度量一起參與后驗(yàn)似然比計(jì)算, 得到從(N々)-l至0時(shí)刻的前N/2個(gè)時(shí)刻的后驗(yàn)似然比信息;同時(shí),以第N/2時(shí)刻的前向度量為起點(diǎn),用后N/2個(gè)時(shí)刻的分支度量參與前向遞歸計(jì)算依次得到N/2至N時(shí)刻的前向狀態(tài)度量,并依次與第一階段存儲(chǔ)的(ΝΛ)+1至N時(shí)刻的后向狀態(tài)度量以及后N/2個(gè)時(shí)刻的分支度量一起參與后驗(yàn)似然比計(jì)算,得到從Ν/2至N-I時(shí)刻的后Ν/2個(gè)時(shí)刻的后驗(yàn)似然比 fn息ο
2.如權(quán)利要求1所述卷積Turbo碼雙向并行譯碼方法,其特征在于,分支度量的計(jì)算為Y k (S,,S) = La (uk) +1/2 X vkarka+l/2 X vkarkb+l/2 X vkyrky+l/2 X vkwrkw ;其中,k表示當(dāng)前時(shí)刻,S’為當(dāng)前時(shí)刻的可能狀態(tài),s為下一時(shí)刻的可能狀態(tài),Yk(s’, s)為k時(shí)刻狀態(tài)S’轉(zhuǎn)移到k+Ι時(shí)刻狀態(tài)s的分支度量,uk = (uka, ukb)為第k時(shí)刻輸入編碼器的雙二元比特信息,La(Uk)為第k時(shí)刻的先驗(yàn)似然比信息,vk = (vka, vka, vky, vkw)為發(fā)送比特,rk = (rka, rkb, rky, rkw)表示信道接收的第k時(shí)刻的待譯碼的數(shù)據(jù)。
3.如權(quán)利要求1所述卷積Turbo碼雙向并行譯碼方法,其特征在于,分支度量計(jì)算步驟中,將分支度量拆分為兩個(gè)因子Pk和% Pk = La(uk)+l/2Xvkarka+l/2Xvkarkb ;Qk = l/2Xvkyrky+l/2Xvkwrkw。
全文摘要
本發(fā)明提供一種減少譯碼延時(shí)、節(jié)省存儲(chǔ)器的卷積Turbo碼的譯碼方法。在分量譯碼過程中,本發(fā)明將前向遞歸與后向遞歸同時(shí)進(jìn)行,前向、后向遞歸分為運(yùn)算量相當(dāng)?shù)膬蓚€(gè)階段,后驗(yàn)似然比信息在第二階段的開始就能依次計(jì)算得到。即從開始遞歸運(yùn)算開始至后驗(yàn)似然比信息運(yùn)算結(jié)束時(shí)的延時(shí),本發(fā)明相比現(xiàn)有的譯碼過程縮短了一倍。并且,現(xiàn)有的后驗(yàn)似然比運(yùn)算是串行,本發(fā)明的后驗(yàn)似然比運(yùn)算采用雙向并行同時(shí)進(jìn)行,所需的計(jì)算時(shí)間與遞歸計(jì)算的時(shí)間重合,則不需另外分配計(jì)算時(shí)間,此外,雙向并行的結(jié)構(gòu)可以使得用來存儲(chǔ)狀態(tài)度量的存儲(chǔ)器減半。進(jìn)一步的,通過拆分分支度量的計(jì)算,減少冗余計(jì)算并且存儲(chǔ)分支度量的空間減半。
文檔編號(hào)H03M13/23GK102340320SQ20111019172
公開日2012年2月1日 申請(qǐng)日期2011年7月8日 優(yōu)先權(quán)日2011年7月8日
發(fā)明者周亮, 曾黎黎, 王臣, 詹明 申請(qǐng)人:電子科技大學(xué)