本發(fā)明屬于通信信道編碼技術(shù)領(lǐng)域,具體涉及一種記憶信道下利用凍結(jié)集實(shí)現(xiàn)碼字最優(yōu)分布的polar碼構(gòu)造方法。
背景技術(shù):
Polar Codes,即極化碼,是2008年由E.Ar1kan提出的一種新型信道編碼。極化碼基于信道極化(Channel Polarization)進(jìn)行設(shè)計(jì),是第一種能夠通過(guò)嚴(yán)格的數(shù)學(xué)方法證明達(dá)到信道容量的構(gòu)造性編碼方案。
極化碼具有非常規(guī)則的構(gòu)造結(jié)構(gòu),在提出時(shí)就被證明可以達(dá)到B-DMC的容量,同時(shí)該碼具有編譯碼復(fù)雜度低、易于與其它通信技術(shù)進(jìn)行聯(lián)合設(shè)計(jì)優(yōu)化等優(yōu)點(diǎn),使得極化碼一經(jīng)提出就受到工業(yè)界和學(xué)術(shù)領(lǐng)域廣泛的關(guān)注和研究。然而極化碼在目前的大多數(shù)應(yīng)用場(chǎng)景中,多是基于無(wú)記憶信道的情況下,其信道容量可達(dá)。而在實(shí)際的通信系統(tǒng)中,由于通信環(huán)境的復(fù)雜性和信道帶寬的限制,在信息傳輸?shù)倪^(guò)程中,信道難免會(huì)出現(xiàn)記憶特性,在記憶信道下,如何構(gòu)造極化碼使其也能夠?qū)崿F(xiàn)信道容量可達(dá)仍有待研究。
本領(lǐng)域內(nèi)公知,Polar碼的極化構(gòu)造使得polar碼除B-DMCs外還可以達(dá)到多種信道的容量,有理由期待polar碼可以用相似的結(jié)構(gòu)在記憶信道下達(dá)到記憶信道容量。這樣就可以直接針對(duì)記憶信道構(gòu)造編碼。
指出理論上有限狀態(tài)信道W在與非記憶信道同樣的遞歸結(jié)構(gòu)下可以極化,這說(shuō)明polar碼的極化結(jié)構(gòu)對(duì)于記憶信道確實(shí)有效。但要想達(dá)到記憶信道下的信道容量,輸出碼字需要生成最優(yōu)序列,使得輸入序列和輸出序列之間的互信息最大。通常情況下,傳統(tǒng)polar碼的輸入是i.i.d.的均勻分布,在記憶信道該序列不是最優(yōu)的。為了逼近或達(dá)到記憶信道容量,編碼輸入需要滿足能夠使輸出碼字生成最優(yōu)序列的特定分布。例如,常用的ISI(符號(hào)間干擾)信道,最優(yōu)分布是用Markov(馬爾可夫)過(guò)程近似的。
綜上所述,原始的polar碼極化可以應(yīng)用到有限狀態(tài)記憶信道,但要達(dá)到信道容量,需要生成最優(yōu)序列,對(duì)于polar碼一般輸入都是滿足i.i.d.的均勻分布,在記憶信道下,該分布產(chǎn)生的序列不是最優(yōu)的。因此,當(dāng)輸入信息為i.i.d.的均勻分布時(shí),需求一種碼字序列滿足最優(yōu)分布的碼字構(gòu)造方法。
技術(shù)實(shí)現(xiàn)要素:
基于上述需求,本發(fā)明提出一種能夠達(dá)到記憶信道容量的碼字的構(gòu)造方法,具體是指一種記憶信道下利用凍結(jié)集的碼字最優(yōu)分布的polar碼構(gòu)造方法,實(shí)現(xiàn)對(duì)輸入符合均勻分布的信息序列進(jìn)行編碼構(gòu)造,使得輸出碼字符合最優(yōu)概率分布,從而實(shí)現(xiàn)信道容量可達(dá)。
本發(fā)明的記憶信道下利用凍結(jié)集的碼字最優(yōu)分布的polar碼構(gòu)造方法,在進(jìn)行極化編碼之前,根據(jù)下面步驟1~3獲得編碼輸入序列,再根據(jù)編碼輸入序列計(jì)算輸出碼字序列。
步驟1:確定編碼輸入序列的比特位ui,i為比特位的索引值,判斷i是否屬于凍結(jié)集,若是,轉(zhuǎn)步驟2執(zhí)行;否則,將輸入信息序列中當(dāng)前待輸入比特設(shè)置為ui的值,然后轉(zhuǎn)至步驟3執(zhí)行;i為正整數(shù);
步驟2:計(jì)算凍結(jié)位ui關(guān)于編碼輸入序列已知位置的條件概率表示u1,u2,...,ui-1序列;為ui從隨機(jī)數(shù)列中取出隨機(jī)數(shù),根據(jù)條件概率設(shè)置的取值范圍,由隨機(jī)數(shù)所屬的取值范圍,設(shè)置ui的值;
步驟3:重復(fù)上述步驟1至步驟2,直到編碼輸入序列的N個(gè)位置均被賦值;N為正整數(shù)。
本發(fā)明的優(yōu)點(diǎn)與積極效果在于:(1)本發(fā)明不改變?cè)幸?guī)則的編碼結(jié)構(gòu),僅通過(guò)對(duì)凍結(jié)的比特位設(shè)置不同的取值,從而使輸入序列符合特定的分布,實(shí)現(xiàn)該碼字構(gòu)造過(guò)程,因此本發(fā)明方法碼字構(gòu)造過(guò)程是固定長(zhǎng)到固定長(zhǎng)的構(gòu)造,保持了原始編碼結(jié)構(gòu);(2)在記憶信道下,本發(fā)明給出的碼字構(gòu)造方法通過(guò)軟件方法來(lái)實(shí)現(xiàn),不改變?cè)季幋a結(jié)構(gòu),便于實(shí)際應(yīng)用。
附圖說(shuō)明
圖1是本發(fā)明所提出的polar碼的輸入序列計(jì)算過(guò)程示意圖;
圖2是本發(fā)明所提出的polar碼碼字構(gòu)造步驟的流程圖。
具體實(shí)施方式
下面將結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
本發(fā)明提供了一種用于記憶信道下polar碼的碼字構(gòu)造方法,輸入信息序列滿足均勻分布,通過(guò)利用凍結(jié)集位置,將凍結(jié)比特設(shè)置為特定的概率分布,使得輸出的碼字概率分布滿足特定的條件,從而實(shí)現(xiàn)記憶信道容量可達(dá)。
本發(fā)明在碼字構(gòu)造過(guò)程中,通過(guò)對(duì)凍結(jié)集設(shè)置不同的取值來(lái)使得輸入序列滿足特定的概率分布,以獲得輸入序列與輸出序列的最大互信息,并漸近達(dá)到信道容量。對(duì)于傳統(tǒng)的polar碼的碼字構(gòu)造方法是直接將信息比特送入信息位,將凍結(jié)集位置設(shè)置為固定的比特值,得到編碼的輸入序列,然后通過(guò)生成矩陣,得到編碼碼字。該碼字構(gòu)造方法是基于無(wú)記憶信道的,對(duì)于信息輸入呈現(xiàn)i.i.d的均勻分布時(shí),信道容量可達(dá)。但信道如果是記憶信道時(shí),輸入信息仍然為一般情況下的獨(dú)立均勻分布時(shí),采用原來(lái)的碼字構(gòu)造方法,只能得到最大互信息,并不能達(dá)到信道容量,為了在記憶信道下也能逼近或漸近達(dá)到信道容量,編碼輸入序列需滿足特定分布,因此,本發(fā)明的碼字構(gòu)造方法就是實(shí)現(xiàn)當(dāng)編碼輸入序列滿足i.i.d的均勻分布時(shí),碼字輸出序列滿足非均勻的特定分布,實(shí)現(xiàn)過(guò)程如圖1,從而實(shí)現(xiàn)信道容量可達(dá)。
輸入信息為K個(gè)比特,設(shè)待輸入信息序列為{v1,v2,...,vK},vj(j=1,2,…K)表示輸入信息的第j個(gè)比特值。編碼輸入序列為{u1,u2,...,uN},ui表示編碼輸入的第i個(gè)比特位,i為比特位的索引值,N為編碼輸入序列的比特總數(shù)。輸出碼字為N個(gè)比特,輸出碼字序列記為{x1,x2,...,xN},xi表示輸出碼字的第i個(gè)比特值,i=1,2,…N。信息位的索引集表示為其中δN表示無(wú)窮小量,Z(.)表示Bhattacharyya參數(shù)。凍結(jié)集記為Ic,Ic表示索引集I的補(bǔ)集。凍結(jié)位的條件概率記為表示u1,u2,u3,...,ui-1序列,表示編碼輸入序列中ui關(guān)于的條件概率,隨機(jī)數(shù)序列記為R,記憶信道的信道狀態(tài)記為S。字符Ui和分別為ui和的向量表示,小寫字母代表是標(biāo)量,是具體實(shí)例。Y1N表示接收端收到的信息序列。
本發(fā)明實(shí)現(xiàn)利用凍結(jié)集實(shí)現(xiàn)碼字最優(yōu)分布的polar碼構(gòu)造方法,主要流程如圖2所示,下面說(shuō)明各實(shí)現(xiàn)步驟。
步驟1:確定編碼輸入序列的N個(gè)比特值。依次取編碼輸入序列的一個(gè)比特位ui,判斷索引值i是否屬于凍結(jié)集,如果是,轉(zhuǎn)步驟2執(zhí)行,否則,取待輸入信息序列中當(dāng)前待輸入的比特值vj作為ui的值,可表示為ui=vj,然后轉(zhuǎn)至步驟4執(zhí)行。初始時(shí),i取值為1。
步驟2:設(shè)置凍結(jié)位ui的值。
步驟2.1,計(jì)算凍結(jié)位ui關(guān)于已知位置的條件概率
如果i屬于凍結(jié)集,則計(jì)算輸入序列中ui關(guān)于的條件概率因此,這里需要分別計(jì)算ui=0和ui=1的值,即和根據(jù)以下條件,
可以將條件概率轉(zhuǎn)化為聯(lián)合概率的情況來(lái)求解:
表示ui=0時(shí)u1,u2,...,ui的聯(lián)合概率,表示ui=1時(shí)u1,u2,...,ui的聯(lián)合概率。因此可以通過(guò)計(jì)算關(guān)于ui的聯(lián)合概率來(lái)求解
由于在記憶信道下,采用的是SC網(wǎng)格譯碼算法,因此,在計(jì)算關(guān)于ui聯(lián)合概率時(shí)需要加入狀態(tài)變量s。設(shè)si表示信道在第i個(gè)時(shí)刻的狀態(tài)變量,s0表示信道的初始狀態(tài),sN表示信道的終止?fàn)顟B(tài)。信道在第i時(shí)刻輸入比特ui,對(duì)應(yīng)信道狀態(tài)記為si。Si為標(biāo)量si的向量表示。
其中,表示u1,u2,...,ui序列,表示輸入序列的聯(lián)合概率,表示輸入序列關(guān)于信道初始狀態(tài)的條件概率,表示初始狀態(tài)s0的先驗(yàn)概率。
這里需要根據(jù)初始狀態(tài)和終止?fàn)顟B(tài)的概率進(jìn)行計(jì)算,通常情況下,系統(tǒng)的初始狀態(tài)是可以確定的,而且只有一個(gè)可能的取值。計(jì)算中加入終止?fàn)顟B(tài)也是為了遞歸計(jì)算的方便。式中
中間參量的定義為:
其中,χN-i表示χ的N-i維向量空間,參數(shù)χ∈{0,1}。表示ui+1,ui+2,...,uN序列,表示u1,u2,...,uN序列。表示在加入終止?fàn)顟B(tài)后編碼輸入序列u1,u2,...,ui關(guān)于初始狀態(tài)s0的條件概率。表示在加入終止?fàn)顟B(tài)后編碼輸入序列關(guān)于初始狀態(tài)s0的條件概率。
根據(jù)SC的遞歸結(jié)構(gòu),的計(jì)算也可用遞歸計(jì)算來(lái)求解,即:
初始值即給定當(dāng)前狀態(tài)si-1時(shí),輸出碼字xi和下一個(gè)狀態(tài)si的聯(lián)合概率,這個(gè)概率對(duì)應(yīng)了信道的最優(yōu)分布。
根據(jù)下面兩個(gè)公式(5)和(6)更新,在更新時(shí),由于涉及奇偶和分解問(wèn)題,將比特總數(shù)N表示為2M,即N=2M,M為正整數(shù)。
其中,表示異或運(yùn)算,表示輸入序列u1,u2,...,u2i,表示序列中索引為偶數(shù)的項(xiàng),表示序列中索引為奇數(shù)的項(xiàng)。
步驟2.2:構(gòu)造凍結(jié)集位的比特信息。根據(jù)當(dāng)前ui在凍結(jié)集位置的索引值,從隨機(jī)數(shù)列中取出對(duì)應(yīng)索引位置的隨機(jī)數(shù)r,然后結(jié)合步驟1中計(jì)算得出的關(guān)于ui=0和ui=1的條件概率的結(jié)果,設(shè)置ui的比特值。隨機(jī)數(shù)列由隨機(jī)數(shù)生成器提前生成,取值范圍是1到m的整數(shù),該序列長(zhǎng)度與凍結(jié)集的序列長(zhǎng)度相同。
采用如下公式隨機(jī)數(shù)的取值范圍是1到m之間的任意整數(shù),如果當(dāng)前隨機(jī)數(shù)則ui=0;否則則ui=1。
步驟3:重復(fù)步驟1至步驟2,直到當(dāng)前編碼輸入序列的N個(gè)位置均被賦值。
步驟4:根據(jù)生成矩陣G計(jì)算得到符合特定分布的輸出碼字序列即該實(shí)現(xiàn)步驟具體流程如圖2。
實(shí)施舉例:輸入序列的碼長(zhǎng)N=8的polar碼碼字構(gòu)造實(shí)施例;
本實(shí)例中信道傳輸?shù)拇a率Ra=1/2,凍結(jié)集長(zhǎng)度為|Ic|=4,信息位長(zhǎng)度|I|=4,待傳輸?shù)男畔閧v1,v2,v3,v4}。用蒙特卡羅方法得到凍結(jié)集Ic={1,2,3,5}和信息集I={4,6,7,8}。在記憶信道下,本實(shí)施例的信道有兩種狀態(tài),記為s={0,1},初始狀態(tài)設(shè)為s0=0,輸出碼字的最優(yōu)分布為:
(px,s′|s″(0,0|0),px,s′|s″(0,0|1),px,s′|s″(1,1|0),px,s′|s″(1,1|1))=(p1,p2,p3,p4)
并且0≤p1,p2,p3,p4≤1,p1+p2+p3+p4=1;此處,x為輸入信息比特位,s′表示信道的下一個(gè)狀態(tài),s″表示信道的當(dāng)前狀態(tài)。設(shè)定編碼碼字x和信道的下一個(gè)狀態(tài)s′相等,所以px,s′|s″(0,1|0),px,s′|s″(0,1|1),px,s′|s″(1,0|0),px,s′|s″(1,0|1)這四種情況不存在,可以賦值為0;隨機(jī)數(shù)列r={a,b,c,d};因?yàn)閮鼋Y(jié)集長(zhǎng)度為4,所以隨機(jī)數(shù)列長(zhǎng)度也為4。
按序從u1到u8賦值:
對(duì)于u1,由于序列索引1屬于凍結(jié)集。因此,首先需要分別計(jì)算和下面是具體計(jì)算過(guò)程:
根據(jù)公式(5)和(6)遞歸計(jì)算如下:
其中u1′,u2′,u1″,u2″表示編碼過(guò)程的中間變量,u1,u2,u3,u4,u5,u6,u7,u8表示編碼的輸入序列,u2′=u3+u4,u1″=u1+u2+u3+u4,u2″=u5+u6+u7+u8。
上面給出了部分遞歸計(jì)算過(guò)程,其它遞歸計(jì)算過(guò)程也根據(jù)公式(5)和(6)計(jì)算。
按照上述計(jì)算過(guò)程,計(jì)算出和同時(shí),信道的狀態(tài)有兩種取值且都是隨機(jī)的,所以所以可以被計(jì)算出來(lái)。
按照同樣的計(jì)算過(guò)程,的值也可以確定。
由于u1的條件概率和聯(lián)合概率形式相同,所以至此和計(jì)算結(jié)束。然后,取隨機(jī)數(shù)列R的第一個(gè)值a,如果則u1=0;否則u1=1。
對(duì)于u2,由于序列索引2屬于凍結(jié)集,因此,首先需要分別計(jì)算和根據(jù)公式(2)將條件概率轉(zhuǎn)換為聯(lián)合概率來(lái)求解,計(jì)算聯(lián)合概率和
這里u1的取值就為上面計(jì)算出來(lái)的結(jié)果,然后按照相同的計(jì)算過(guò)程就可計(jì)算出和進(jìn)而得到和的結(jié)果;然后,取隨機(jī)數(shù)列的第二個(gè)值b,如果則u2=0;否則u2=1。
對(duì)于u3,由于序列索引3屬于凍結(jié)集,因此,首先需要分別計(jì)算和按照同樣的計(jì)算過(guò)程,可以轉(zhuǎn)化為求和同樣利用公式(5)和(6)所示的遞推公式,計(jì)算得到進(jìn)而得到和然后,取隨機(jī)數(shù)列的第三個(gè)值c,如果則u3=0;否則u3=1。
對(duì)于u4,由于序列索引4屬于信息集,則直接賦值u4=v1。
同理u5—u8按照上述信息集和凍結(jié)集的類似計(jì)算過(guò)程完成賦值。
利用本發(fā)明方法得到的編碼輸入序列滿足給定的特定分布,同時(shí)由于polar碼編碼的生成矩陣是確定的,因此,輸出序列的碼字也就符合特定分布,這樣在記憶信道下,就可以逼近或漸近達(dá)到信道容量。