技術(shù)領(lǐng)域:
本發(fā)明涉及一種polar-ldpc級聯(lián)碼的合并bp解碼算法及裝置,屬于計算機通信領(lǐng)域。
背景技術(shù):
:
在awgn信道環(huán)境中,前人已分別對極化碼和lowdensityparitycheck(ldpc)碼的beliefpropagation(bp)譯碼算法有過廣泛且深入的研究。此外,級聯(lián)碼方案也因其誤碼性能具有安全距離較小的優(yōu)點而被廣泛研究。在前人的研究中,很多種不同的碼組合包括本發(fā)明中的極化碼和ldpc碼的不同級聯(lián)方案都被討論過。但是前人未能把兩級解碼器的相似性利用起來,本發(fā)明中,我們利用兩級碼的bp譯碼方法的相似性,提出了一種創(chuàng)新點思路,通過圖的級聯(lián),將解碼器合并為一個,讓ldpc和極化碼的一碼循環(huán)依次順序進行,形成一個完整的循環(huán)過程。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是針對現(xiàn)有技術(shù)中存在的問題,提出一種polar-ldpc級聯(lián)碼的合并bp解碼算法及裝置,改變信息的迭代路徑,并提高譯碼的精確度。
上述的目的通過以下技術(shù)方案實現(xiàn):
一種polar-ldpc級聯(lián)碼的合并bp解碼算法,該方法包括如下步驟:
(1)將信道觀察向量y通過公式(1)初始化為每一位碼字的概率信息,
公式(1)中:l(xj)為每一碼比特的對數(shù)似然比,
(2)將l(sj)作為tanner圖上變量節(jié)點的信息,并在校驗節(jié)點上用min-sum方法計算一次,并把計算后的值返回所有變量節(jié)點,變量節(jié)點收集所有與之連接的校驗節(jié)點傳來的信息;
(3)與因子圖相連的一部分變量節(jié)點,將其概率信息作為因子圖最右(n+1)一階的左信息ln+1,j,因子圖根據(jù)公式(2)、公式(3)、公式(4)、公式(5)計算除第一階外因子圖上所有階的左、右信息;
li,j=g(li+1,2j-1,li+1,2j+ri,j+n/2),公式(2),
li,j+n/2=g(ri,j,li+1,2j-1)+li+1,2j,公式(3),
ri+1,2j-1=g(ri,j,li+1,2j+ri,j+n/2),公式(4),
和ri+1,2j=g(ri,j,li+1,2j-1)+ri,j+n/2,公式(5),
公式(2)、公式(3)、公式(4)、公式(5)中對碼長為n(n=2n)的polar碼,每個節(jié)點都有兩種互信息,其n+1階因子圖的第i階的第j個節(jié)點的信息,分別稱為左信息(li,j)和右信息(ri,j);函數(shù)g(x,y)=sign(x)sign(y)min(|x|,|y|);
(4)在圖的連接處通過公式l(sj)=a×rn+1,j+l(sj)更新碼字的信息,其中a是一個調(diào)整兩部分信息占比的影響因子;
(5)將步驟(2)、步驟(3)、步驟(4)作為一次整體的循環(huán)迭代,計算i次,最后在因子圖左側(cè)計算出第一階的左信息l1,j并對它進行一次硬判決,得到譯碼結(jié)果。
所述的polar-ldpc級聯(lián)碼的合并bp解碼算法,步驟(2)中的l(sj)=l(xj+m-n),此l(sj)和l(xj+m-n)仍為之前定義過的對數(shù)似然比。
一種polar-ldpc級聯(lián)碼的合并bp解碼裝置,該裝置包括:初始化模塊、迭代計算模塊和硬判決模塊,所述的初始化模塊包含把信道觀察向量初始化為對數(shù)似然比信息的乘法器;所述迭代計算模塊包含相對于tanner圖和因子圖的變量、校驗節(jié)點、基本計算單元以及影響因子的乘法器組;所述硬判決模塊包含得到譯碼結(jié)果的硬判決單元。
有益效果:
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
本發(fā)明的優(yōu)勢在于提出了一種基于圖的合并的譯碼方案,并且保留了bp算法復雜度低的優(yōu)點,在與傳統(tǒng)算法迭代次數(shù)相同的情況下,通過設(shè)置影響因子,能夠獲得明顯優(yōu)于傳統(tǒng)方法的誤碼性能,并且計算復雜度并沒有很大差別。
附圖說明
圖1:本發(fā)明提供的基于polar-ldpc級聯(lián)碼的合并bp解碼算法的合并譯碼示意圖;
圖2:碼率為0.25,內(nèi)碼碼長為1024,外碼碼長為2048時,采用本發(fā)明合并譯碼算法在不同影響因子取值下和傳統(tǒng)譯碼算法的誤碼率曲線圖;
圖3:碼率為0.6,內(nèi)碼碼長為1024,外碼碼長為1280時,采用本發(fā)明合并譯碼算法在不同影響因子取值下和傳統(tǒng)譯碼算法的誤碼率曲線圖;
圖4:本發(fā)明提供的基于polar-ldpc級聯(lián)碼的合并bp解碼算法的合并譯碼硬件架構(gòu)示意圖;
圖5:本發(fā)明合并譯碼算法和傳統(tǒng)分離譯碼算法每次迭代的計算復雜度比較。
具體實施方式
下面結(jié)合具體實施方式,進一步闡明本發(fā)明,應(yīng)理解下述具體實施方式僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。
實施例1:
一種polar-ldpc級聯(lián)碼的合并bp解碼算法,該方法包括如下步驟:
(1)將信道觀察向量y通過公式(1)初始化為每一位碼字的概率信息,
公式(1)中:l(xj)為每一碼比特的對數(shù)似然比,
n0為信道的平均噪聲功率;
(2)將l(sj)作為tanner圖上變量節(jié)點的信息,并在校驗節(jié)點上用min-sum方法計算一次,并把計算后的值返回所有變量節(jié)點,變量節(jié)點收集所有與之連接的校驗節(jié)點傳來的信息;
(3)與因子圖相連的一部分變量節(jié)點,將其概率信息作為因子圖最右(n+1)一階的左信息ln+1,j,因子圖根據(jù)公式(2)、公式(3)、公式(4)、公式(5)計算除第一階外因子圖上所有階的左、右信息;
li,j=g(li+1,2j-1,li+1,2j+ri,j+n/2),公式(2),
li,j+n/2=g(ri,j,li+1,2j-1)+li+1,2j,公式(3),
ri+1,2j-1=g(ri,j,li+1,2j+ri,j+n/2),公式(4),
和ri+1,2j=g(ri,j,li+1,2j-1)+ri,j+n/2,公式(5),
公式(2)、公式(3)、公式(4)、公式(5)中對碼長為n(n=2n)的polar碼,每個節(jié)點都有兩種互信息,其n+1階因子圖的第i階的第j個節(jié)點的信息,分別稱為左信息(li,j)和右信息(ri,j);函數(shù)g(x,y)=sign(x)sign(y)min(|x|,|y|);
(4)在圖的連接處通過公式l(sj)=a×rn+1,j+l(sj)更新碼字的信息,其中a是一個調(diào)整兩部分信息占比的影響因子;
(5)將步驟(2)、步驟(3)、步驟(4)作為一次整體的循環(huán)迭代,計算i次,最后在因子圖左側(cè)計算出第一階的左信息l1,j并對它進行一次硬判決,得到譯碼結(jié)果。
所述的polar-ldpc級聯(lián)碼的合并bp解碼算法,步驟(2)中的l(sj)=l(xj+m-n),此l(sj)和l(xj+m-n)仍為之前定義過的對數(shù)似然比。
一種polar-ldpc級聯(lián)碼的合并bp解碼裝置,該裝置包括:初始化模塊、迭代計算模塊和硬判決模塊,所述的初始化模塊包含把信道觀察向量初始化為對數(shù)似然比信息的乘法器;所述迭代計算模塊包含相對于tanner圖和因子圖的變量、校驗節(jié)點、基本計算單元以及影響因子的乘法器組;所述硬判決模塊包含得到譯碼結(jié)果的硬判決單元。
本實施例中建立一個在awgn信道上的polar-ldpc級聯(lián)碼編碼和譯碼模型進行模擬操作。在此編譯碼模型中,內(nèi)碼(polar碼)s的碼長為n,待編碼向量u中信息位數(shù)量為k,因此內(nèi)碼碼率為k/n,其余n-k位作為凍結(jié)位(frozenbits)全部設(shè)置為0。因子圖的階數(shù)為n+1,其中n=2n。內(nèi)碼的編碼過程可以表示為
s=ugn,
其生成矩陣gn可以用因子圖表示,構(gòu)造生成矩陣的公式為
硬件架構(gòu)方面,本實施例中采用的基于polar-ldpc級聯(lián)碼的合并bp解碼算法的硬件架構(gòu)見圖1,其中包括信道觀察信息初始化部分、迭代計算部分和硬判決部分。
具體來說,譯碼器接收到信道觀察信息后,先對他們進行一次初始化,對每一位乘以-4/n0以獲得其對數(shù)似然比信息的初始值。
在迭代計算部分,碼字的信息首先傳給右側(cè)的tanner圖模塊進行一次校驗計算,再向左傳入因子圖中的基本計算單元進行每一節(jié)點左、右信息的計算,其中,第一階的右信息通過編碼時信道容量信息進行初始化,凍結(jié)位的信息初始化為無窮大,信息位初始化為0。當信息回到圖的連接處時,要在碼字的節(jié)點處做一次所有信息的收集,在這里設(shè)置一個影響因子,調(diào)節(jié)兩部分信息占比,并以此信息作為下一次迭代的初始值。