專(zhuān)利名稱(chēng):一種咬尾卷積碼譯碼方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息技術(shù)領(lǐng)域,涉及一種譯碼方法,尤其涉及一種咬尾卷積碼譯碼方法。
背景技術(shù):
采用咬尾方式編碼的卷積碼不僅消除了用已知比特初始化編碼器所導(dǎo)致的碼率損失,同時(shí)咬尾結(jié)構(gòu)可以對(duì)所有的信息比特提供相同的保護(hù)能力。正是因?yàn)橐簿矸e碼的這些優(yōu)點(diǎn),它被廣泛應(yīng)用在各種通信系統(tǒng)中,作為控制信令的編碼方式。對(duì)于較短的信息序列,咬尾編碼對(duì)碼率的保護(hù)是很可觀的,比如LTE中廣播信道,在加了循環(huán)冗余校驗(yàn)比特之后共有40比特,這40比特的信息序列如果不用咬尾方式編碼的話(huà),碼率損失將達(dá)到13%。目前采用咬尾卷積碼作為控制信道編碼方式通信標(biāo)準(zhǔn)的系統(tǒng)有EDGE、WiMax和LTE等。咬尾卷積碼雖然有很多優(yōu)點(diǎn),但是對(duì)于譯碼器來(lái)說(shuō),由于不知道譯碼的起始狀態(tài)·和終止?fàn)顟B(tài),基于維特比算法的最優(yōu)譯碼方案實(shí)現(xiàn)過(guò)于復(fù)雜,因此目前還沒(méi)有實(shí)用的基于維特比算法的最優(yōu)譯碼方案?,F(xiàn)有的大量譯碼算法都是次優(yōu)譯碼算法,比如基于循環(huán)維特比譯碼的WAVA算法。為了尋找咬尾卷積碼的最優(yōu)譯碼算法,一些學(xué)者將圖論中的最短路徑搜索算法用在咬尾卷積碼的譯碼算法中,通過(guò)合理設(shè)計(jì)啟發(fā)函數(shù)(heuristic function),得到了一種兩步的最大似然譯碼算法。算法的第一步通過(guò)修正的維特比算法得到每個(gè)時(shí)刻各條幸存路徑的累積度量值,算法的第二步通過(guò)最短徑搜索算法得到最優(yōu)路徑輸出。這類(lèi)譯碼器在兩個(gè)步驟里面采用了完全不同的搜索方法,這對(duì)實(shí)際應(yīng)用來(lái)說(shuō)復(fù)雜度過(guò)高。且此類(lèi)算法雖然減少了部分計(jì)算量,但是采用的啟發(fā)式搜索需要大量的入棧、出棧操作,隊(duì)列排序操作,最重要的是對(duì)存儲(chǔ)空間的利用率低。由于分配空間的時(shí)候必須按照最大存儲(chǔ)空間來(lái)分配,這就導(dǎo)致了大量存儲(chǔ)空間的低利用率。雖然在第二步中這類(lèi)算法搜索的分支相對(duì)于WAVA算法來(lái)說(shuō)大大減少,但是由于是在啟發(fā)函數(shù)的指導(dǎo)下去搜索當(dāng)前f函數(shù)值最小的路徑,所以整個(gè)算法是串行執(zhí)行,實(shí)際的執(zhí)行周期要大于2循環(huán)的維特比算法。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種咬尾卷積碼譯碼方法,該譯碼方法可以在低復(fù)雜度下實(shí)現(xiàn)咬尾卷積碼的最優(yōu)譯碼。為解決上述技術(shù)問(wèn)題,本發(fā)明采用如下技術(shù)方案。一種咬尾卷積碼譯碼方法,包括以下步驟步驟一,第一次迭代,即i = I時(shí),初始化所有從位置O處進(jìn)入到狀態(tài)s的幸存路徑的度量值為0,其中S e S0, S0表示位置O處的狀態(tài)空間,i表示迭代次數(shù);令最優(yōu)的最大似然咬尾路徑的度量值Mirap =0 ;執(zhí)行修正的維特比算法,尋找最大似然咬尾路徑;對(duì)所有s e Stl,令狀態(tài)s的凈增量;步驟二,如果當(dāng)前迭代找到的最大似然咬尾路徑的凈增量從^^^大于所述最優(yōu)的最大似然咬尾路徑的度量值Mirop ^m1Mltbp > mLtbp,則更新所述最優(yōu)的最大似然咬尾路徑為當(dāng)前迭代找到的最大似然咬尾路徑匕^PItbp =^p(^'^'),更新所述最優(yōu)的最大似然咬尾路徑的度量值Mtrap為當(dāng)前迭代找到的最大似然咬尾路徑的凈增量
MMLTBP,即從MLIKP — MLTBP ,O ;步驟三,對(duì)于s e Sy其中L為信息序列的長(zhǎng)度,表示位置L處的狀態(tài)空間;匕匕較狀態(tài)s的凈增量Mstate, nrt (S)和最后更新的最大似然咬尾路徑的度量值Mirap的大小,若MState,net(s) <= MJv1ltbp,則令 Mstate, net (s) = O, Path,ο(5) = O;否則令,。⑷=M一辦、,并判斷,。⑷是否成立,若成立則更新?tīng)顟B(tài)s的狀態(tài)凈增量為
Kat^As)-KaU8);統(tǒng)計(jì)狀態(tài)凈增量大于的狀態(tài)個(gè)數(shù),并將所述狀態(tài)個(gè)數(shù)保存在
sum(i)中;步驟四,若sum⑴=0,則停止迭代,輸出最優(yōu)的最大似然咬尾路徑;否則,若SUm(i) = Sum(i-1),則以狀態(tài)β (s)作為固定的起始和終止?fàn)顟B(tài)作一次維特比譯碼,獲 得咬尾路徑 Ptb (β (s),β (s))及其度量值 Mtb (β (s),β (s)) ;^ΜΤΒ(β {s),p{s))> Mrmltbp,則更新最優(yōu)的最大似然咬尾路徑/^^>為ΡΤΒ(β (s),β (s)),更新最優(yōu)的最大似然咬尾路徑的度量值Miraf^MTB(i3 (s),β (s));并令狀態(tài)β (s)的狀態(tài)度量值Mstate,_(β (s)) = 0,C (卿=0;
步驟五,令sum(i) = 0,執(zhí)行下一次迭代,即重復(fù)步驟二至四。本發(fā)明的有益效果在于本發(fā)明所述的咬尾卷積嗎譯碼方法通過(guò)多次迭代將所有不可能的狀態(tài)排除,只有和接收序列最相似的咬尾路徑的起始狀態(tài)才幸存下來(lái),最后算法收斂到最優(yōu)的咬尾路徑輸出;此外,它還通過(guò)得到的幸存咬尾路徑來(lái)更新最大似然咬尾路徑的度量值或者從起始狀態(tài)中將β (s)排除,有效地解決了循環(huán)陷阱問(wèn)題導(dǎo)致的算法不收斂性,解決了咬尾卷積碼沒(méi)有實(shí)用的最優(yōu)譯碼算法的困境,降低了現(xiàn)有譯碼方案的復(fù)雜度。
圖I為咬尾格形圖。
具體實(shí)施例方式針對(duì)現(xiàn)有算法存在的這些問(wèn)題,本發(fā)明提出了一種完全基于循環(huán)維特比算法的實(shí)用的最優(yōu)的譯碼算法,即咬尾卷積碼譯碼方法。該譯碼方法可以在低復(fù)雜度下實(shí)現(xiàn)咬尾卷積碼的最優(yōu)譯碼,同時(shí)對(duì)于可以用咬尾格形圖表示的分組碼,本發(fā)明所述方法同樣可以實(shí)現(xiàn)低復(fù)雜度的最優(yōu)譯碼。本發(fā)明所述的咬尾卷積碼譯碼方法適用于現(xiàn)有無(wú)線(xiàn)通信系統(tǒng)(如EDGE),也適用于下一代移動(dòng)通信系統(tǒng)(如WiMax,LTE)中咬尾卷積碼的譯碼;同時(shí),對(duì)于可以用咬尾格形圖表示的分組碼也是有效的(如(24,12)的Golay碼)。本發(fā)明所述的咬尾卷積碼譯碼方法是咬尾卷積碼的一種低復(fù)雜度的、實(shí)用的最優(yōu)譯碼方案,即極大似然譯碼算法。本發(fā)明基于循環(huán)維特比譯碼算法(Circular ViterbiAlgorithm, CVA),根據(jù)接收到的軟信息序列,通過(guò)迭代對(duì)不可能的起始狀態(tài)逐一排除,最終尋找到最優(yōu)咬尾路徑。本發(fā)明所述譯碼方法通過(guò)對(duì)循環(huán)陷阱的有效處理,加快了譯碼器的收斂速度,同時(shí)算法簡(jiǎn)單、易于實(shí)現(xiàn),有重要應(yīng)用價(jià)值。
下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)說(shuō)明。實(shí)施例一對(duì)于咬尾卷積碼來(lái)說(shuō),編碼器的初始狀態(tài)是用信息比特的最后幾位來(lái)初始化的,這樣當(dāng)編碼結(jié)束的時(shí)候,編碼器的結(jié)束狀態(tài)和初始狀態(tài)是一致的,這就是“咬尾”。本實(shí)施例提供一種咬尾卷積碼譯碼方法,該方法通過(guò)執(zhí)行循環(huán)維特比算法尋找最優(yōu)的咬尾路徑。在循環(huán)的過(guò)程中,可能會(huì)出現(xiàn)兩次循環(huán)得到的所有幸存路徑完全一樣的情況,這種情況被稱(chēng)為循環(huán)陷阱。所述咬尾卷積碼譯碼方法會(huì)對(duì)循環(huán)陷阱進(jìn)行檢測(cè),并通過(guò)對(duì)循環(huán)陷阱的有效處理加快算法的收斂速度。 如圖I所示的格形圖,它由生成多項(xiàng)式為{7,5}(八進(jìn)制)卷積編碼器得到。其中每個(gè)位置k處有4個(gè)狀態(tài),格形圖總長(zhǎng)度為L(zhǎng) = 8,即O < k < 7。圖中每個(gè)位置k處的狀態(tài)空間為 Sk = {00,01,10,11} ο設(shè)格形圖在每個(gè)位置k處有T個(gè)狀態(tài),其中O彡k彡L-l, V為編碼寄存器的個(gè)數(shù),L為信息序列的長(zhǎng)度,Sk表示位置k處的狀態(tài)空間,k = L即為k = O處。設(shè)在第i次迭代中,表示的是在位置k處進(jìn)入到狀態(tài)s的幸存路徑的度量值。Pi (β (S),S)表示第i次迭代中起始于狀態(tài)β (S),結(jié)束于狀態(tài)S的幸存路徑,這里S e Slo在第i次迭代中,幸存路徑Pi (β (S),s)的凈增量表示為小它表示本次迭代中該路徑上所有分支的度量值之和,BPMUneMsXs) 二 Κ-ΛΑ-Μ'_Λβ抑。設(shè)第i次迭代中獲得的最大似然路徑(maximum likelihood path, MLP)為/^,獲得最大似然咬尾路徑(maximum likelihood tail-biting path,MLTBP)及其路徑凈增量分別
為Pmltbp) mltbp,net(5,、)。同理,定義狀態(tài)s 的凈增量為=M1path l(S) -M1path o(S)。用(P^ltbpMLtbp )來(lái)記錄到當(dāng)前迭代為止找到的最優(yōu)的最大似然咬尾路徑及其度量值。第i次迭代結(jié)束以后,結(jié)束于各個(gè)狀態(tài)的幸存路徑的路徑凈增量中有大于Mirap的也有小于Mirap的。用變量sum(i)記錄本次迭代結(jié)束時(shí)路徑凈增量大于Mirap的幸存路徑的條數(shù)。所述咬尾卷積碼譯碼方法的流程如所示,具體包括以下步驟Step I 當(dāng)i = 1,即第一次迭代時(shí),初始化所有從位置O處進(jìn)入到狀態(tài)s的幸存路徑的度量值為0,即Q(s) = O,其中s e S(l,Stl表示位置O處的狀態(tài)空間,i表示迭代次數(shù);令最優(yōu)的最大似然咬尾路徑的度量值A(chǔ)Crap為0,即Mirap =0 ;執(zhí)行修正的維特比算法(Modified Viterbi Algorithm, MVA),尋找最大似然咬尾路徑V);對(duì)所有 s e S0,令狀態(tài)s的凈增量Μ##⑷表示在第一次迭代時(shí)在位置L處進(jìn)入到狀態(tài)s的幸存路徑的度量值。Step 2 找到最大似然路徑{p{s\4和最大似然咬尾路徑',O,如果當(dāng)前迭代找到的最大似然咬尾路徑(必A的凈增量大于所述最優(yōu)的最大似然咬尾路徑的度量值^M1mltbp >Mrmltbp,則更新所述最優(yōu)的最大似然咬尾路徑為當(dāng)前迭代找到的最大似然咬尾路徑即CmO,更新所述最優(yōu)的最大似然咬尾路徑的度量值Mirap為當(dāng)前迭代找到的最大似然咬尾路徑的凈增量,即
MMLTBP ~ ^MLTBP iS ^ S ) °Step 3 對(duì)于s e Sy其中L為信息序列的長(zhǎng)度,表示位置L處的狀態(tài)空間;比較狀態(tài)8的凈增量Mstate,nrt (S)和最后更新的最大似然咬尾路徑的度量值Mirap的大小,若
^state,net (5) <= MLTBP,則令 Mstate, net (S) = O, ^ path,0 ⑷= ;否則令從_,。⑷=^ path,L (5),
并判斷是否成立,若成立則更新?tīng)顟B(tài)S的狀態(tài)凈增量Mstate,net (S)為;統(tǒng)計(jì)狀態(tài)凈增量大于的狀態(tài)個(gè)數(shù),并將所述狀態(tài)個(gè)數(shù)保存在sum (i)中。Step 4 若sum⑴=0,則停止迭代,輸出最優(yōu)的最大似然咬尾路徑;否則,若sum⑴=sum(i-l),則以狀態(tài)β (s)作為固定的起始和終止?fàn)顟B(tài)作一次維特比譯碼,獲得咬尾路徑 ΡΤΒ(β (S),β (s))及其度量值 Mtb (β (s),β (s)) ;^ΜΤΒ(β (S),/ ⑷ Xrap,則更新最優(yōu)的最大似然咬尾路徑< ^為ΡΤΒ(β (s),β (s)),更新最優(yōu)的最大似然咬尾路徑的度量值aCibp 為 Mtb (β (S),β (S));并令狀態(tài) β (S)的狀態(tài)凈增量 Mstate, net ( β (S)) = O 令第 i + 1次迭代中起始于狀態(tài)β (S)的路徑度量值Μ=-(A(S)) = O。Step 5 令sum(i) =0,執(zhí)行下一次迭代,即重復(fù)Step 2至Step 4。下面將說(shuō)明所述咬尾卷積碼譯碼方法的最優(yōu)性(I)若第一次迭代找到的最大似然路徑和最大似然咬尾路徑相同,則step 3中計(jì)算的sum(l) = O,這樣在step 5中可以將最大似然咬尾路徑輸出。(2)在迭代中通過(guò)檢測(cè)狀態(tài)凈增量Mstate, nrt (S)和Mirap的大小關(guān)系,將不可能的起始狀態(tài)從Stl中排除出去,這樣通過(guò)多次迭代,所有不可能的狀態(tài)都被排除,只有和接收序列最相似的咬尾路徑的起始狀態(tài)才幸存下來(lái),最后算法收斂到最優(yōu)的咬尾路徑輸出。(3)當(dāng)出現(xiàn)循環(huán)陷講的時(shí)候,會(huì)有方程sum⑴=sum(i-l)成立,這時(shí)利用上次迭代中得到的最大似然路徑的起始狀態(tài)β (s)作常規(guī)維特比譯碼,并通過(guò)得到的幸存咬尾路徑來(lái)更新Mirap或者從起始狀態(tài)中將β (s)排除。通過(guò)這種處理方式,可以有效的解決循環(huán)陷阱問(wèn)題導(dǎo)致的算法不收斂性。綜上可見(jiàn),本發(fā)明中提出的譯碼算法最終會(huì)收斂到最優(yōu)咬尾路徑。本發(fā)明所述譯碼方法可以應(yīng)用在現(xiàn)有的及下一代移動(dòng)通信系統(tǒng)中的信道譯碼;它解決了咬尾卷積碼沒(méi)有實(shí)用的最優(yōu)譯碼算法的困境,降低了現(xiàn)有譯碼方案的復(fù)雜度。實(shí)施例二本實(shí)施例將本發(fā)明所述的咬尾卷積嗎譯碼方法記為低復(fù)雜度最大似然譯碼算法(reduced-complexity maximum likelihood decoder, RC-MLD),并將其與WAVA算法進(jìn)行比較,WAVA算法使用簡(jiǎn)單終止條件。本實(shí)施例比較了 RC-MLD和WAVA的誤塊率性能(BLER)和所需的平均迭代次數(shù)(ITER)。仿真條件為AWGN信道,編碼后的比特采用四相相移鍵控(quadri phase shiftkeying, QPSK)調(diào)制。對(duì)WAVA算法,仿真中設(shè)的最大允許迭代次數(shù)為N = 20,對(duì)RC-MLD方法來(lái)說(shuō),由于理論上可能需要的最大迭代次數(shù)是2V,所以下面根據(jù)不同應(yīng)用場(chǎng)景進(jìn)行不同的設(shè)置。第一組仿真實(shí)驗(yàn)比較不同譯碼算法對(duì)咬尾卷積碼的譯碼性能。首先看咬尾卷積碼在增強(qiáng)型數(shù)據(jù)速率GSM演進(jìn)技術(shù)(Enhanced Data Rate forGSMEvolution,EDGE)中的應(yīng)用。EDGE中Type 5的分組數(shù)據(jù)塊的數(shù)據(jù)頭采用碼率為1/3的咬尾卷積編碼。卷積碼的生成多項(xiàng)式為{133,171,145},約束長(zhǎng)度為7,所以RC-MLD的最大迭代次數(shù)設(shè)為64。送入編碼器的數(shù)據(jù)頭的長(zhǎng)度為36比特,此處不考慮打孔。采用咬尾方式編碼可以減少15%的有效碼率損失。仿真結(jié)果如表I所示。表I :EDGE場(chǎng)景下不同譯碼算法的譯碼性能
權(quán)利要求
1.一種咬尾卷積碼譯碼方法,其特征在于,包括以下步驟 步驟一,第一次迭代,即i = I時(shí),初始化所有從位置O處進(jìn)入到狀態(tài)S的幸存路徑的度量值為O,其中s e S0, S0表示位置O處的狀態(tài)空間,i表示迭代次數(shù);令最優(yōu)的最大似然咬尾路徑的度量值Mirap =O ;執(zhí)行修正的維特比算法,尋找最大似然咬尾路徑;對(duì)所有s e Stl,令狀態(tài)s的凈增量步驟二,如果當(dāng)前迭代找到的最大似然咬尾路徑的凈增量大于所述最優(yōu)的最大似然咬尾路徑的度量值Mirap ^M1mltbp >Mrmltbp,則更新所述最優(yōu)的最大似然咬尾路徑為當(dāng)前迭代找到的最大似然咬尾路徑匕^PLtbp =PLltbp^^'),更新所述最優(yōu)的最大似然咬尾路徑的度量值Mtrap為當(dāng)前迭代找到的最大似然咬尾路徑的凈增量MMLTBP,即從MLIKP — MLTBP ,O ; 步驟三,對(duì)于s e &,其中L為信息序列的長(zhǎng)度,&表示位置L處的狀態(tài)空間,比較狀態(tài)s的凈增量Mstatonrt (s)和最后更新的最大似然咬尾路徑的度量值Mirap的大小,若Mstate,net⑷ <=Mmltbp,則令 Mstate, net (s) = O, Path,ο⑷=O;否則令Mpath0(5) = MpathL⑷,并判斷,。⑷是否成立,若成立則更新?tīng)顟B(tài)S的狀態(tài)凈增量為Kat^As)-KaUs);統(tǒng)計(jì)狀態(tài)凈增量大于的狀態(tài)個(gè)數(shù),并將所述狀態(tài)個(gè)數(shù)保存在sum(i)中; 步驟四,若sum⑴=0,則停止迭代,輸出最優(yōu)的最大似然咬尾路徑/否則,若sum(i) = Sum(i-1),則以狀態(tài)β (s)作為固定的起始和終止?fàn)顟B(tài)作一次維特比譯碼,獲得咬尾路徑 Ptb (β (s),β (s))及其度量值 Mtb (β (s),β (s)) ;^ΜΤΒ(β {s),p{s))> Mrmltbp,則更新最優(yōu)的最大似然咬尾路徑/1 ^為ΡΤΒ(β (s),β (s)),更新最優(yōu)的最大似然咬尾路徑的度量值(s),β (s));并令狀態(tài)β (s)的狀態(tài)度量值Mstatonrt (β (s)) = 0,C (卿=0; 步驟五,令sum(i) = 0,執(zhí)行下一次迭代,即重復(fù)步驟二至四。
全文摘要
本發(fā)明公開(kāi)了一種咬尾卷積碼譯碼方法,該方法基于循環(huán)維特比譯碼算法,根據(jù)接收到的軟信息序列,通過(guò)迭代對(duì)不可能的起始狀態(tài)逐一排除,最終尋找到最優(yōu)咬尾路徑。本發(fā)明通過(guò)多次迭代將所有不可能的狀態(tài)排除,只有和接收序列最相似的咬尾路徑的起始狀態(tài)才幸存下來(lái),最后算法收斂到最優(yōu)的咬尾路徑輸出;此外,它還通過(guò)得到的幸存咬尾路徑來(lái)更新最大似然咬尾路徑的度量值或者從起始狀態(tài)中將不可能的起始狀排除,有效地解決了循環(huán)陷阱問(wèn)題導(dǎo)致的算法不收斂性,解決了咬尾卷積碼沒(méi)有實(shí)用的最優(yōu)譯碼算法的困境,降低了現(xiàn)有譯碼方案的復(fù)雜度。
文檔編號(hào)H03M13/23GK102891690SQ201110202238
公開(kāi)日2013年1月23日 申請(qǐng)日期2011年7月19日 優(yōu)先權(quán)日2011年7月19日
發(fā)明者王曉濤, 錢(qián)驊, 徐景, 黃浩, 楊旸 申請(qǐng)人:上海無(wú)線(xiàn)通信研究中心