本發(fā)明屬于通信系統(tǒng)中的信道編譯碼技術(shù)領(lǐng)域,具體涉及通信系統(tǒng)信道譯碼器中一種基于串行抵消列表的極化碼改進(jìn)譯碼方法。
背景技術(shù):
極化碼是一種新型編碼方式,是目前唯一可理論證明在二進(jìn)制離散無(wú)記憶信道下達(dá)到香農(nóng)極限,并且具有可實(shí)用的線性復(fù)雜度編譯碼能力的信道編碼技術(shù),成為下一代通信系統(tǒng)(5G)中信道編碼方案的強(qiáng)有力候選者。極化碼在碼長(zhǎng)趨于無(wú)窮時(shí),采用低復(fù)雜度的串行抵消(SC,Successive Cancellation)譯碼方法就可以無(wú)限逼近信道容量。極化碼在長(zhǎng)碼時(shí)性能優(yōu)異,但在中短碼時(shí)需要采用串行抵消列表(SCL,Successive Cancellation List)譯碼才能實(shí)現(xiàn)更好的性能。串行抵消譯碼是從譯碼樹(shù)的根節(jié)點(diǎn)開(kāi)始,通過(guò)遞歸計(jì)算的方式深入到葉節(jié)點(diǎn),在葉節(jié)點(diǎn)進(jìn)行判別。通過(guò)在譯碼樹(shù)上定義特殊節(jié)點(diǎn),當(dāng)譯碼樹(shù)深入到特殊節(jié)點(diǎn)時(shí),直接判別而不再深入到葉節(jié)點(diǎn),從而降低譯碼時(shí)延和運(yùn)算復(fù)雜度。然而串行抵消列表譯碼方法的復(fù)雜度會(huì)隨著列表長(zhǎng)度增大而增加?,F(xiàn)有的串行抵消列表譯碼方法在判決每個(gè)比特時(shí)都要分裂出新的譯碼路徑,放入列表中作為待選路徑。當(dāng)信道條件較好(如信噪比較高或者子信道極化程度較高)時(shí),仍需在判決每個(gè)比特時(shí)都要分裂出新的譯碼路徑,串行抵消列表譯碼方法復(fù)雜度依然很高。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明目的:為了克服現(xiàn)有技術(shù)中存在的不足,本發(fā)明提供一種減少譯碼路徑分裂的極化碼譯碼方法,本發(fā)明在保證極化碼譯碼器誤碼率性能的情況下,能夠使串行抵消列表譯碼方法有效減少譯碼路徑的平均數(shù)量,提高譯碼器吞吐量的極化碼譯碼。該方法在進(jìn)行比特判決時(shí),以該比特的對(duì)數(shù)似然比為置信度,當(dāng)該比特位的置信度達(dá)到一定的門(mén)限時(shí),不需要分裂出新的譯碼路徑,以減少列表中待選譯碼路徑的數(shù)量,從而降低譯碼復(fù)雜度。譯碼時(shí)根據(jù)譯碼置信度是否超過(guò)門(mén)限值、以及譯碼節(jié)點(diǎn)的類型確定譯碼路徑的分裂策略。由于置信度門(mén)限值計(jì)算過(guò)一次之后可以存到表格中待查,本方法在譯碼器實(shí)時(shí)譯碼時(shí)不會(huì)增加額外的計(jì)算復(fù)雜度;得益于該方法的自適應(yīng)特性,該譯碼方法能夠降低譯碼復(fù)雜度,提高譯碼器的吞吐量,在信噪比較高時(shí)性能增益尤為明顯。
技術(shù)方案:為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為:
一種減少譯碼路徑分裂的極化碼譯碼方法,包括以下步驟:
步驟1,遞歸遍歷譯碼樹(shù):對(duì)于一個(gè)碼長(zhǎng)為N,信息位長(zhǎng)度為K的極化碼,其譯碼樹(shù)為深度為n=log2N的二叉樹(shù),采用基于串行抵消的譯碼方法從根節(jié)點(diǎn)開(kāi)始遞歸遍歷整個(gè)譯碼樹(shù)。其中,左子節(jié)點(diǎn)和右子節(jié)點(diǎn)以同樣的方式向其子節(jié)點(diǎn)遍歷,如果遇到以下4種類型的節(jié)點(diǎn),則不再向下遞歸而直接譯碼后返回。這4種節(jié)點(diǎn)類型分別是:若其包含的葉節(jié)點(diǎn)全是休眠位比特,則記為Rate-0節(jié)點(diǎn)。若其包含的葉節(jié)點(diǎn)全是信息位比特,則記為Rate-1節(jié)點(diǎn)。若其包含的葉節(jié)點(diǎn)只有最后一位是信息位比特,則記為REP節(jié)點(diǎn)。若其包含的葉節(jié)點(diǎn)只有第一位是休眠位比特,則記為SPC節(jié)點(diǎn)。
步驟2,對(duì)步驟1中提到的4種類型的節(jié)點(diǎn)根據(jù)節(jié)點(diǎn)類型分別給出相應(yīng)的譯碼策略,得到各節(jié)點(diǎn)相應(yīng)的譯碼結(jié)果。
步驟3,根據(jù)譯碼時(shí)節(jié)點(diǎn)之間傳遞待譯符號(hào)的對(duì)數(shù)似然比計(jì)算譯碼路徑分裂門(mén)限,根據(jù)譯碼路徑分裂門(mén)限決定是否分裂新的譯碼路徑。譯碼時(shí)先估計(jì)信噪比Eb/No,當(dāng)前Eb/No對(duì)應(yīng)的譯碼路徑分裂門(mén)限計(jì)算過(guò)一次之后就將譯碼路徑分裂門(mén)限存入一張列表中。下一個(gè)碼塊譯碼時(shí),如果Eb/No對(duì)應(yīng)的譯碼路徑分裂門(mén)限已存在則直接找到對(duì)應(yīng)的列表待查,如果不存在則重新計(jì)算存到對(duì)應(yīng)的列表中。
步驟4,譯碼路徑分裂策略:譯碼開(kāi)始時(shí),列表里只有一條譯碼路徑,每條譯碼路徑都有一個(gè)評(píng)價(jià)路徑優(yōu)劣的度量值PM,初始路徑的PM值設(shè)為0。第2步在譯碼時(shí),根據(jù)當(dāng)前信噪比估計(jì)值Eb/No,結(jié)合步驟3列表中的分裂門(mén)限,根據(jù)步驟1所述的節(jié)點(diǎn)類型確定不同的譯碼路徑分裂策略,同時(shí)更新路徑的PM值。分裂后產(chǎn)生的新路徑添加到同一列表中,如果列表中路徑數(shù)量多于設(shè)定的最大值Lmax,則只保留PM值最大的Lmax個(gè)路徑。
步驟5,根據(jù)循環(huán)冗余校驗(yàn)選擇最終譯碼結(jié)果:
如果譯碼樹(shù)從根節(jié)點(diǎn)返回,對(duì)于列表中的第l個(gè)譯碼路徑Pl,其返回的比特序列βv記為βv(l),為譯碼結(jié)果,則路徑Pl的譯碼結(jié)果為:
其中,Gn為碼長(zhǎng)為n的極化碼生成矩陣。如果滿足循環(huán)冗余校驗(yàn),則將選為最終譯碼結(jié)果。如果所有存活路徑的譯碼結(jié)果均不滿足循環(huán)冗余校驗(yàn),則選擇路徑度量值PM最小的路徑所得到的作為最終譯碼結(jié)果,整個(gè)譯碼過(guò)程結(jié)束。
優(yōu)選的:所述采用基于串行抵消的譯碼方法如下:
譯碼時(shí)需要在節(jié)點(diǎn)之間傳遞待譯符號(hào)的對(duì)數(shù)似然比LLR,對(duì)數(shù)似然比LLR初始值通過(guò)如下方式計(jì)算得到:
其中,L(ui)表示ui的對(duì)數(shù)似然比,ui表示發(fā)送比特,yi為譯碼器接收到的待譯碼的符號(hào),Pr(yi|ui)表示發(fā)送符號(hào)為ui時(shí)接收到符號(hào)yi的概率。
對(duì)于譯碼樹(shù)上的一個(gè)節(jié)點(diǎn)v,其包含的葉節(jié)點(diǎn)的個(gè)數(shù)為Nv,該節(jié)點(diǎn)從父節(jié)點(diǎn)接收一個(gè)長(zhǎng)度為Nv的LLR值序列,記為av。譯碼開(kāi)始時(shí),由公式(1)計(jì)算接收符號(hào)的對(duì)數(shù)似然比并傳遞給根節(jié)點(diǎn),然后由av計(jì)算要傳遞給左子節(jié)點(diǎn)的LLR值序列al:
al[i]=sgn(av[i])sgn(av[i+Nv/2])min(|av[i]|,|av[i+Nv/2]|),0≤i<Nv/2 (2)
其中,i是向量av的位置索引,av[i]表示av的第i個(gè)元素,
以遞歸的方式遍歷左子節(jié)點(diǎn),返回后從左子節(jié)點(diǎn)接收到長(zhǎng)度為Nv/2的比特序列βl,
然后計(jì)算要傳遞給右子節(jié)點(diǎn)的LLR值序列ar:
ar[i]=av[i+Nv/2]-(2βl[i]-1)av[i],0≤i<Nv/2 (3)
以遞歸的方式遍歷右子節(jié)點(diǎn),返回后從右字節(jié)點(diǎn)接收到長(zhǎng)度為Nv的比特序列βr,然后計(jì)算要返回給父節(jié)點(diǎn)的比特序列βv:
其中,為二進(jìn)制異或運(yùn)算。
優(yōu)選的:所述步驟2中的譯碼策略如下:
如果是Rate-0節(jié)點(diǎn),則:
βv[i]=0,0≤i<Nv (5)
如果是Rate-1節(jié)點(diǎn),則:
βv[i]=h(αv[i]),0≤i<Nv (6)
其中,
如果是REP節(jié)點(diǎn),則:
如果是SPC節(jié)點(diǎn),則:
βv[i]=h(αv[i]),0≤i<Nv (9)
如果SPC節(jié)點(diǎn)的譯碼結(jié)果βv不滿足奇偶校驗(yàn),則找到序列αv中絕對(duì)值最小的,記為αv[min],min是其在序列αv中的索引,然后將βv[min]中的比特位反轉(zhuǎn)。
優(yōu)選的:譯碼路徑分裂門(mén)限的計(jì)算方法:
對(duì)于一個(gè)碼長(zhǎng)為N的極化碼,第i個(gè)極化子信道記為子信道的截止速率為通過(guò)如下方式遞推計(jì)算得到:
其中,
K為信息位長(zhǎng)度,N為碼長(zhǎng),Eb/No為接收端信噪比的估計(jì)值。
碼長(zhǎng)為N的第i個(gè)比特,決定是否進(jìn)行路徑分裂的判決門(mén)限為
如果則令T為門(mén)限常數(shù)。
優(yōu)選的:所述步驟4中根據(jù)節(jié)點(diǎn)類型確定不同的譯碼路徑分裂策略,同時(shí)更新路徑的PM值的方法:
當(dāng)前節(jié)點(diǎn)深度為d,令N=2d。當(dāng)前信噪比估計(jì)值為Eb/No,按第3步所述方法找到Eb/No對(duì)應(yīng)的列表待查。
如果是Rate-0節(jié)點(diǎn),不產(chǎn)生新的譯碼路徑,更新當(dāng)前路徑的度量值PM:
其中,h(·)為式(7)。
如果是Rate-1節(jié)點(diǎn),原有路徑的度量值PM不變。找到序列av中絕對(duì)值最小的兩個(gè),記為av[min 1],av[min 2],min 1、min 2為其分別在序列av中的位置索引,在該列表中查詢判斷式(14)(15)是否成立:
若式(14)成立將當(dāng)前路徑復(fù)制一份新路徑P1,復(fù)制時(shí)路徑中的av、βv、PM都要復(fù)制,P1的度量值為PM1,將其βv[min 1]比特位反轉(zhuǎn),更新PM1:
PM1=PM1-|αv[min 1]| (16)
若式(15)成立將當(dāng)前路徑復(fù)制一份新路徑P2,將其βv[min 2]比特位反轉(zhuǎn),更新路徑P2的度量值PM2:
PM2=PM2-|αy[min 2]| (17)
若式(14)、式(15)同時(shí)成立,將當(dāng)前路徑復(fù)制一份新路徑P3,將其βv[min 1],βv[min 2]兩個(gè)比特位反轉(zhuǎn),更新路徑P3的度量值PM3:
PM3=PM3-|av[min 1]|-|αv[min 2]| (18)
如果是REP節(jié)點(diǎn),在該列表中查詢門(mén)限值如果則不產(chǎn)生新路徑,且路徑的度量值PM不變。否則將當(dāng)前路徑復(fù)制一份新路徑P1,將新路徑中βv所有比特反轉(zhuǎn),新路徑與原路徑都按如下方式更新PM:
如果是SPC節(jié)點(diǎn),若滿足奇偶校驗(yàn)令q=1,否則q=0。更新原路徑PM值:
PM=PM-(1-q)|αv[min 1]| (20)
找到av中絕對(duì)值最小的4個(gè),記為av[min 1],av[min 2],av[min 3],av[min 4],min1~min4分別為其在av中的位置索引,在列表中查詢判斷式(21)-(23)是否成立:
若式(21)成立將當(dāng)前路徑復(fù)制一份新路徑P1,將βv[min 1],βv[min 2]比特位反轉(zhuǎn),更新路徑P1的度量值PM1:
PM1=PM1-q|αv[min 1]|-|αv[min 2]| (24)
若式(22)成立將當(dāng)前路徑復(fù)制一份新路徑P2,將βv[min 1],βv[min 3]比特位反轉(zhuǎn),更新路徑P2的度量值PM2:
PM2=PM2-q|αv[min 1]|-|αv[min 3]| (25)
若式(23)成立將當(dāng)前路徑復(fù)制一份新路徑P3,將βv[min 1],βv[min 4]比特位反轉(zhuǎn),更新路徑P3的度量值PM3:
PM3=PM3-q|αv[min 1]|-|αv[min 4]| (26)
對(duì)于列表中的每條譯碼路徑,都需要獨(dú)立進(jìn)行譯碼和路徑分裂,分裂后產(chǎn)生的新路徑添加到同一列表中,如果列表中路徑數(shù)量多于設(shè)定的最大值Lmax,則只保留PM值最大的Lmax個(gè)路徑。
優(yōu)選的:所述門(mén)限常數(shù)T大于等于10。
優(yōu)選的:所述信噪比估計(jì)值Eb/No以dB為單位并四舍五入近似為整數(shù)。
本發(fā)明相比現(xiàn)有技術(shù),具有以下有益效果:
本發(fā)明以每個(gè)比特判決時(shí)的置信度作為譯碼路徑是否分裂的依據(jù),設(shè)計(jì)了一整套適合各種類型譯碼樹(shù)節(jié)點(diǎn)的譯碼方案。與現(xiàn)有技術(shù)相比,本發(fā)明具有如下增益效果:當(dāng)置信度很高時(shí),既可以保證誤碼率性能幾乎不損失,又能夠減少譯碼路徑分裂次數(shù),從而減少列表中譯碼路徑的數(shù)量,降低了極化碼譯碼器的計(jì)算復(fù)雜度,從而提高譯碼器的吞吐量;當(dāng)信噪比越高時(shí),本方法的性能增益越明顯,可以極大提高譯碼器的吞吐量。
附圖說(shuō)明
圖1為碼長(zhǎng)N=8,信息位長(zhǎng)度K=4的一個(gè)極化碼譯碼樹(shù)實(shí)例;
圖2為本發(fā)明設(shè)計(jì)的極化碼譯碼方法完整流程。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)例僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各種等價(jià)形式的修改均落于本申請(qǐng)所附權(quán)利要求所限定的范圍。
本發(fā)明提出的基于串行抵消列表的減少譯碼路徑分裂的極化碼譯碼方法,以終端接收設(shè)備為例來(lái)給出一種譯碼器實(shí)施例:
如圖1所述,包括如下步驟:
第一步:遞歸遍歷譯碼樹(shù)。
本發(fā)明采用樹(shù)形譯碼結(jié)構(gòu),對(duì)于一個(gè)碼長(zhǎng)為N,信息位長(zhǎng)度為K的極化碼,其譯碼樹(shù)為深度為n=log2N的二叉樹(shù)。圖1給出了N=8、K=4一個(gè)譯碼樹(shù)實(shí)例,圖中白色葉節(jié)點(diǎn)表示休眠位比特,黑色葉節(jié)點(diǎn)表示信息位比特?;诖械窒淖g碼方法從根節(jié)點(diǎn)開(kāi)始遞歸遍歷整個(gè)譯碼樹(shù)。
譯碼時(shí)需要在節(jié)點(diǎn)之間傳遞待譯符號(hào)的對(duì)數(shù)似然比(LLR,log-likelihood ratio),LLR初始值通過(guò)如下方式計(jì)算得到:
其中,ui表示發(fā)送比特,L(ui)表示ui的對(duì)數(shù)似然比,yi為譯碼器接收到的待譯碼的符號(hào),Pr(yi|ui)表示發(fā)送符號(hào)為ui時(shí),接收到符號(hào)yi的概率。Pr(yi|ui)可從解調(diào)器的軟判決信息中得到。
如圖1所示,對(duì)于譯碼樹(shù)上的一個(gè)節(jié)點(diǎn)v,其包含的葉節(jié)點(diǎn)的個(gè)數(shù)為Nv,該節(jié)點(diǎn)從父節(jié)點(diǎn)接收一個(gè)長(zhǎng)度為Nv的LLR值序列,記為av。譯碼開(kāi)始時(shí),由公式(1)計(jì)算接收符號(hào)的對(duì)數(shù)似然比并傳遞給根節(jié)點(diǎn),然后由av計(jì)算要傳遞給左子節(jié)點(diǎn)的LLR值序列al:
al[i]=sgn(av[i])sgn(av[i+Nv/2])min(|av[i]|,|av[i+Nv/2]|),0≤i<Nv/2 (2)
其中,i是向量av的位置索引,av[i]表示av的第i個(gè)元素,
以遞歸的方式遍歷左子節(jié)點(diǎn),返回后從左子節(jié)點(diǎn)接收到長(zhǎng)度為Nv/2的比特序列βl,然后計(jì)算要傳遞給右子節(jié)點(diǎn)的LLR值序列ar:
ar[i]=av[i+Nv/2]-(2βl[i]-1)av[i],0≤i<Nv/2 (3)
以遞歸的方式遍歷右子節(jié)點(diǎn),返回后從右字節(jié)點(diǎn)接收到長(zhǎng)度為Nv的比特序列βr,然后計(jì)算要返回給父節(jié)點(diǎn)的比特序列βv:
其中,為二進(jìn)制異或運(yùn)算。
在本步驟中,左子節(jié)點(diǎn)和右子節(jié)點(diǎn)以同樣的方式向其子節(jié)點(diǎn)遍歷。如果遇到以下幾種類型的節(jié)點(diǎn),則不再向下遞歸而直接譯碼后返回。這幾種節(jié)點(diǎn)類型分別是:若其包含的葉節(jié)點(diǎn)全是休眠位比特,則記為Rate-0節(jié)點(diǎn);若其包含的葉節(jié)點(diǎn)全是信息位比特,則記為Rate-1節(jié)點(diǎn);若其包含的葉節(jié)點(diǎn)只有最后一位是信息位比特,則記為REP(Repetition Nodes)節(jié)點(diǎn);若其包含的葉節(jié)點(diǎn)只有第一位是休眠位比特,則記為SPC(Single Parity Check Nodes)節(jié)點(diǎn)。
第二步:針對(duì)第一步中提到的4種類型的節(jié)點(diǎn)分別給出相應(yīng)的譯碼策略。
本步驟中Nv、av、βv的定義同第一步。
如果是Rate-0節(jié)點(diǎn),則:
βv[i]=0,0≤i<Nv (5)
如果是Rate-1節(jié)點(diǎn),則:
βv[i]=h(αv[i]),0≤i<Nv (6)
其中,
如果是REP節(jié)點(diǎn),則:
如果是SPC節(jié)點(diǎn),則:
βv[i]=h(αv[i]),0≤i<Nv (9)
如果SPC節(jié)點(diǎn)的譯碼結(jié)果βv不滿足奇偶校驗(yàn),則找到序列αv中絕對(duì)值最小的,記為αv[min],min是其在序列αv中的索引,然后將βv[min]中的比特位反轉(zhuǎn)。
第三步:計(jì)算譯碼路徑分裂門(mén)限。
在上一步中每次進(jìn)行譯碼時(shí),接收到的LLR值的絕對(duì)值的大小可以看作該比特譯碼置信度的高低,因此對(duì)該節(jié)點(diǎn)從父節(jié)點(diǎn)接收到LLR值序列av進(jìn)行門(mén)限判別,以決定是否分裂新的譯碼路徑。首先對(duì)決定是否進(jìn)行路徑分裂的LLR門(mén)限值進(jìn)行計(jì)算:
對(duì)于一個(gè)碼長(zhǎng)為N的極化碼,第i個(gè)極化子信道記為于信道的截止速率為可以看做是該子信道極化程度的度量標(biāo)準(zhǔn),因此我們用計(jì)算出一個(gè)與信道優(yōu)劣有關(guān)的動(dòng)態(tài)門(mén)限??梢酝ㄟ^(guò)如下方式遞推計(jì)算得到:
其中,
K為信息位長(zhǎng)度,N為碼塊長(zhǎng)度,Eb/No為接收端信噪比的估計(jì)值,可由常用的信道估計(jì)算法得到。
碼長(zhǎng)為N的第i個(gè)比特,決定是否進(jìn)行路徑分裂的判決門(mén)限為
如果則令(T為門(mén)限常數(shù),運(yùn)營(yíng)商可以根據(jù)網(wǎng)絡(luò)運(yùn)行情況自行確定,推薦取值10以上)。當(dāng)某個(gè)子信道極化程度越高時(shí),就越小,門(mén)限值越大,因此是一個(gè)與子信道優(yōu)劣有關(guān)的動(dòng)態(tài)門(mén)限。
譯碼時(shí)先估計(jì)信噪比Eb/No(以dB為單位并四舍五入近似為整數(shù)),當(dāng)前Eb/No對(duì)應(yīng)的門(mén)限值計(jì)算過(guò)一次之后就將存入一張表格中。下一個(gè)碼塊譯碼時(shí),如果Eb/No對(duì)應(yīng)的門(mén)限值已存在則直接找到對(duì)應(yīng)的表格待查,如果不存在則重新計(jì)算存到對(duì)應(yīng)的表格中。當(dāng)有足夠多的碼塊被譯碼后,系統(tǒng)工作范圍內(nèi)的所有Eb/No對(duì)應(yīng)的門(mén)限都會(huì)存在于表格中,因而不會(huì)增加譯碼的實(shí)時(shí)復(fù)雜度。
第四步:譯碼路徑分裂策略。
譯碼開(kāi)始時(shí),列表里只有一條譯碼路徑,每條譯碼路徑都有一個(gè)評(píng)價(jià)路徑優(yōu)劣的度量值PM(Path Metric),初始路徑的PM值設(shè)為0。第二步在譯碼時(shí)根據(jù)節(jié)點(diǎn)類型選擇不同的譯碼路徑分裂策略,要同時(shí)更新路徑的PM值。
本步驟中Nv、av、βv的定義同第一步,當(dāng)前節(jié)點(diǎn)深度為d,令N=2d。當(dāng)前信噪比估計(jì)值為Eb/No,按第三步所述方法找到Eb/No對(duì)應(yīng)的表格待查。
如果是Rate-0節(jié)點(diǎn),不產(chǎn)生新的譯碼路徑,更新當(dāng)前路徑的度量值PM:
其中,h(·)為式(7)。
如果是Rate-1節(jié)點(diǎn),原有路徑的度量值PM不變;找到序列av中絕對(duì)值最小的兩個(gè),記為av[min 1],av[min 2],min 1、min 2為其分別在序列av中的位置索引,在該表格中查詢判斷式(14)(15)是否成立:
若(14)成立將當(dāng)前路徑復(fù)制一份新路徑P1(復(fù)制時(shí)路徑中的av、βv、PM都要復(fù)制),P1的度量值為PM1,將其βv[min 1]比特位反轉(zhuǎn),更新PM1:
PM1=PM1-|αv[min 1]| (16)
若(15)成立將當(dāng)前路徑復(fù)制一份新路徑P2,將其βv[min 2]比特位反轉(zhuǎn),更新路徑P2的度量值PM2:
PM2=PM2-|αv[min 2]| (17)
若(14)(15)同時(shí)成立,將當(dāng)前路徑復(fù)制一份新路徑P3,將其βv[min 1],βv[min 2]兩個(gè)比特位反轉(zhuǎn),更新路徑P3的度量值PM3:
PM3=PM3-|αv[min 1]|-|αv[min 2]| (18)
如果是REP節(jié)點(diǎn),在該表格中查詢門(mén)限值如果則不產(chǎn)生新路徑,且路徑的度量值PM不變;否則將當(dāng)前路徑復(fù)制一份新路徑P1,將新路徑中βv所有比特反轉(zhuǎn),新路徑與原路徑都按如下方式更新PM:
如果是SPC節(jié)點(diǎn),若滿足奇偶校驗(yàn)令q=1,否則q=0;更新原路徑PM值:
PM=PM-(1-q)|αv[min 1]| (20)
找到av中絕對(duì)值最小的4個(gè),記為av[min 1],av[min 2],av[min 3],av[min 4],min1~min4分別為其在av中的位置索引,在表格中查詢判斷式(21)-(23)是否成立:
若(21)成立將當(dāng)前路徑復(fù)制一份新路徑P1,將βv[min 1],βv[min 2]比特位反轉(zhuǎn),更新路徑P1的度量值PM1:
PM1=PM1-q|αv[min 1]|-|αv[min 2]| (24)
若(22)成立將當(dāng)前路徑復(fù)制一份新路徑P2,將βv[min 1],βv[min 3]比特位反轉(zhuǎn),更新路徑P2的度量值PM2:
PM2=PM2-q|αv[min 1]|-|αv[min 3]| (25)
若(23)成立將當(dāng)前路徑復(fù)制一份新路徑P3,將βv[min 1],βv[min 4]比特位反轉(zhuǎn),更新路徑P3的度量值PM3:
PM3=PM3-q|αv[min 1]|-|αv[min 4]| (26)
對(duì)于列表中的每條譯碼路徑,都需要獨(dú)立進(jìn)行譯碼和路徑分裂,分裂后產(chǎn)生的新路徑添加到同一列表中,如果列表中路徑數(shù)量多于設(shè)定的最大值Lmax(Lmax取值為常整數(shù),該取值可由運(yùn)營(yíng)商根據(jù)誤碼率要求情況自行確定,Lmax越大,誤碼率越低),則只保留PM值最大的Lmax個(gè)路徑。
第五步:根據(jù)循環(huán)冗余校驗(yàn)選擇最終譯碼結(jié)果。
如果譯碼樹(shù)從根節(jié)點(diǎn)返回,對(duì)于列表中的第l個(gè)譯碼路徑Pl,其返回的比特序列βv記為βv(l),為譯碼結(jié)果,則路徑Pl的譯碼結(jié)果為:
其中,Gn為碼長(zhǎng)為n的極化碼生成矩陣。如果滿足循環(huán)冗余校驗(yàn),則將選為最終譯碼結(jié)果。如果所有存活路徑的譯碼結(jié)果均不滿足循環(huán)冗余校驗(yàn),則選擇路徑度量值PM最小的路徑所得到的作為最終譯碼結(jié)果,整個(gè)譯碼過(guò)程結(jié)束。
如圖2所示,為本發(fā)明的流程圖,包括以下步驟:
S1,計(jì)算LLR初始值并賦值給根節(jié)點(diǎn),進(jìn)入步驟S2。
S2,判斷節(jié)點(diǎn)是否為需要譯碼的節(jié)點(diǎn),若不是需要譯碼的節(jié)點(diǎn),進(jìn)入步驟S3;若是需要譯碼的節(jié)點(diǎn),進(jìn)入步驟S4。
S3,計(jì)算左子節(jié)點(diǎn)LLR值,計(jì)算出的左子節(jié)點(diǎn)LLR值賦值給當(dāng)前節(jié)點(diǎn)的左子節(jié)點(diǎn),進(jìn)入步驟S2。
S4,根據(jù)節(jié)點(diǎn)類型進(jìn)行譯碼和路徑分裂,進(jìn)入步驟S5。
S5,返回上一層節(jié)點(diǎn),并判斷上一層節(jié)點(diǎn)是否為根節(jié)點(diǎn),若不是根節(jié)點(diǎn),進(jìn)入步驟S6;若是根節(jié)點(diǎn),進(jìn)入步驟S7。
S6,判斷節(jié)點(diǎn)從哪個(gè)子節(jié)點(diǎn)返回,若是從右子節(jié)點(diǎn)返回,合并左右節(jié)點(diǎn)返回的比特序列,進(jìn)入步驟S5;若是從左子節(jié)點(diǎn)返回,計(jì)算右子節(jié)點(diǎn)LLR值,計(jì)算出的右子節(jié)點(diǎn)LLR值賦值給當(dāng)前節(jié)點(diǎn)的右子節(jié)點(diǎn),進(jìn)入步驟S2。
S7,根據(jù)循環(huán)冗余校驗(yàn)從待選路徑選擇最終譯碼結(jié)果。
本發(fā)明以串行抵消列表方法為基礎(chǔ),提出了一種提高譯碼器吞吐量并且保證誤碼率性能的極化碼譯碼方法。該方法考慮了譯碼時(shí)的置信度水平,在比特位置信度很高的情況下可以不分裂新的譯碼路徑,又不會(huì)損失誤碼率性能。該方法能夠自適應(yīng)信道噪聲條件,當(dāng)信噪比越高時(shí),譯碼器性能增益越明。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出:對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。