專利名稱:一種低密度奇偶校驗(yàn)碼解碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種奇偶校驗(yàn)碼解碼方法,其為基于最小和算法的一種低密度奇偶校驗(yàn)碼解碼方法,屬于電子通訊技術(shù)領(lǐng)域。
背景技術(shù):
在現(xiàn)代通信系統(tǒng)中,信道中存在的噪聲和衰落會(huì)使傳送的二進(jìn)制數(shù)據(jù)產(chǎn)生差錯(cuò)。為了保證信息的可靠傳輸,需要使用糾錯(cuò)編碼技術(shù)。低密度奇偶校驗(yàn)(LDPC)碼因其卓越的性能引起了很大的關(guān)注,并被廣泛認(rèn)為是很有應(yīng)用前景的糾錯(cuò)編碼方式。
LDPC碼可以由大小為M×N的校驗(yàn)矩陣H定義,N表示編碼比特長(zhǎng)度,M表示校驗(yàn)比特長(zhǎng)度,矩陣H每行、列的非零值的個(gè)數(shù)定義為行重和列重。
對(duì)數(shù)似然比置信傳播(LLR-BP)解碼算法是一個(gè)典型的LDPC碼解碼算法。該算法是一個(gè)迭代的信息傳遞過程,在每一次迭代中,所有的變量結(jié)點(diǎn)將相應(yīng)的信息傳遞給在二分圖上與它相連的校驗(yàn)結(jié)點(diǎn),接著校驗(yàn)結(jié)點(diǎn)也將其估算的解碼信息傳遞給與其相連的變量結(jié)點(diǎn),然后變量結(jié)點(diǎn)進(jìn)行數(shù)值更新。當(dāng)?shù)螖?shù)達(dá)到設(shè)定的上限或者所有校驗(yàn)方程都滿足時(shí)迭代結(jié)束。由于該算法使用Log函數(shù)和超正切函數(shù),因此實(shí)現(xiàn)難度較大。隨后提出的最小和(MS)算法通過近似避免了LLR-BP算法使用的復(fù)雜函數(shù),以較小的譯碼性能下降為代價(jià)顯著降低了譯碼復(fù)雜度。
MS算法原理大致如下令N(j)表示與校驗(yàn)結(jié)點(diǎn)j相連的變量結(jié)點(diǎn)集合,M(i)表示與變量結(jié)點(diǎn)i相連的校驗(yàn)結(jié)點(diǎn)集合,N(j)\i表示除i外與校驗(yàn)結(jié)點(diǎn)j相連的變量結(jié)點(diǎn)集合,M(i)\j表示除j外與變量結(jié)點(diǎn)i相連的校驗(yàn)結(jié)點(diǎn)集合,同時(shí)令Lq(i,j)(t)表示第t次迭代中變量結(jié)點(diǎn)VN(i)發(fā)送給校驗(yàn)結(jié)點(diǎn)CN(j)的消息,Lr(j,i)(t)表示第t次迭代中校驗(yàn)結(jié)點(diǎn)CN(j)發(fā)送給變量結(jié)點(diǎn)VN(i)的消息。
MS算法的步驟如下 1.初始化令t=0;使用N個(gè)輸入信號(hào)計(jì)算初始信息 2.校驗(yàn)結(jié)點(diǎn)運(yùn)算每個(gè)校驗(yàn)結(jié)點(diǎn)根據(jù)接收到的變量結(jié)點(diǎn)消息修正Lr(j,i) 3.變量結(jié)點(diǎn)運(yùn)算每個(gè)變量結(jié)點(diǎn)根據(jù)接收到的校驗(yàn)結(jié)點(diǎn)消息修正Lq(i,j) 4.譯碼嘗試根據(jù)初始信息和最新校驗(yàn)結(jié)點(diǎn)消息計(jì)算當(dāng)前迭代結(jié)果 然后進(jìn)行硬判決,LQ(i)(t+1)<0則vi=1,否則vi=0。令V={vi},i∈[1,N],如果H·VT為零向量或者已經(jīng)達(dá)到最大迭代次數(shù)則譯碼結(jié)束并輸出相應(yīng)結(jié)果;否則t加1,返回步驟(2)繼續(xù)迭代。
可以看到,MS算法計(jì)算過程中需要存儲(chǔ)大量的中間數(shù)據(jù),而且變量結(jié)點(diǎn)和校驗(yàn)結(jié)點(diǎn)之間大量的數(shù)據(jù)交換會(huì)導(dǎo)致復(fù)雜的互連網(wǎng)絡(luò),這些缺點(diǎn)使得解碼器的設(shè)計(jì)實(shí)現(xiàn)十分復(fù)雜。因此,為了推廣LDPC碼在實(shí)踐中普遍應(yīng)用,需要一種易于實(shí)現(xiàn)同時(shí)具有良好性能的LDPC解碼算法。
發(fā)明內(nèi)容
針對(duì)上述問題,本發(fā)明提出一種低密度奇偶校驗(yàn)碼解碼方法。
本發(fā)明的技術(shù)解決方案包括以下步驟 步驟一初始化,變量結(jié)點(diǎn)計(jì)算并保存接收數(shù)據(jù)的初始化信息; 步驟二對(duì)校驗(yàn)結(jié)點(diǎn)進(jìn)行運(yùn)算,每個(gè)變量結(jié)點(diǎn)傳遞給不同校驗(yàn)結(jié)點(diǎn)的消息均相同,并存儲(chǔ)必要的組信息; 步驟三利用存儲(chǔ)的組信息計(jì)算校驗(yàn)結(jié)點(diǎn)到變量結(jié)點(diǎn)消息,對(duì)變量結(jié)點(diǎn)進(jìn)行更新; 步驟四進(jìn)行譯碼嘗試并判斷迭代是否結(jié)束,即對(duì)LQ(i)(t+1)的值進(jìn)行硬判決,同時(shí)判斷是否滿足迭代結(jié)束條件,否則t的值加1后返回步驟二繼續(xù)迭代。
上述的一種低密度奇偶校驗(yàn)碼解碼方法,其中所述步驟一中令變量t為0,輸入信號(hào)代入中計(jì)算出變量結(jié)點(diǎn)的初始信息。
進(jìn)一步地,上述的一種低密度奇偶校驗(yàn)碼解碼方法,其中所述的步驟二中每個(gè)變量結(jié)點(diǎn)傳遞給不同校驗(yàn)結(jié)點(diǎn)的消息均為L(zhǎng)Q(i)(t)。
更進(jìn)一步地,上述的一種低密度奇偶校驗(yàn)碼解碼方法,其中所述的步驟二中,校驗(yàn)結(jié)點(diǎn)讀取相應(yīng)變量結(jié)點(diǎn)消息,然后每個(gè)校驗(yàn)結(jié)點(diǎn)計(jì)算一組數(shù)據(jù)[s(j),m1(j),m2(j)],所述的m1(j)是與校驗(yàn)結(jié)點(diǎn)j相連的一組變量結(jié)點(diǎn)消息數(shù)據(jù)絕對(duì)值的最小值,即存在有m2(j)是本組變量結(jié)點(diǎn)消息數(shù)據(jù)絕對(duì)值的第二最小值。
更進(jìn)一步地,上述的一種低密度奇偶校驗(yàn)碼解碼方法,其中所述的步驟三中,首先利用得到的變量結(jié)點(diǎn)LQ(i)(t)和校驗(yàn)結(jié)點(diǎn)保存的信息計(jì)算得出Lr(j,i)(t+1),然后再結(jié)合來更新變量結(jié)點(diǎn)消息。
更進(jìn)一步地,上述的一種低密度奇偶校驗(yàn)碼解碼方法,其中將變量結(jié)點(diǎn)LQ(i)(t)和校驗(yàn)結(jié)點(diǎn)保存的信息代入 sign[Lr(j,i)(t+1)]=sign[LQ(i)(t)]*s(j) 得出Lr(j,i)(t+1)。
再進(jìn)一步地,上述的一種低密度奇偶校驗(yàn)碼解碼方法,其中更新變量結(jié)點(diǎn)消息中引入衰減因子K,得到其中K為0與1之間的一個(gè)常數(shù)。
本發(fā)明的技術(shù)效果主要體現(xiàn)在簡(jiǎn)化MS算法變量結(jié)點(diǎn)VN(i)發(fā)送給不同校驗(yàn)結(jié)點(diǎn)的消息為同一數(shù)值LQ(i),該數(shù)值取代了MS算法中的Lq(i,j),從而使變量結(jié)點(diǎn)部分只需存儲(chǔ)并且只需提供給校驗(yàn)結(jié)點(diǎn)部分N個(gè)數(shù)據(jù)。同時(shí),本發(fā)明通過改進(jìn)校驗(yàn)結(jié)點(diǎn)存儲(chǔ)方案和變量結(jié)點(diǎn)計(jì)算方式,使校驗(yàn)結(jié)點(diǎn)部分只需要存儲(chǔ)M組數(shù)據(jù)。以上這些改進(jìn)顯著降低了LDPC解碼所需的數(shù)據(jù)存儲(chǔ)量以及變量結(jié)點(diǎn)與校驗(yàn)結(jié)點(diǎn)之間數(shù)據(jù)交換的復(fù)雜度。相比于傳統(tǒng)的MS算法,本發(fā)明具有實(shí)質(zhì)性技術(shù)特點(diǎn)和顯著的技術(shù)進(jìn)步,其應(yīng)用前景非常廣闊。
本發(fā)明的目的、優(yōu)點(diǎn)和特點(diǎn),將通過下面優(yōu)選實(shí)施例的非限制性說明進(jìn)行圖示和解釋。這些實(shí)施例僅是應(yīng)用本發(fā)明技術(shù)方案的典型范例,凡采取等同替換或者等效變換而形成的技術(shù)方案,均落在本發(fā)明要求保護(hù)的范圍之內(nèi)。這些附圖當(dāng)中, 圖1是LDPC解碼器構(gòu)造示意圖; 圖2是在加性高斯白噪聲(AWGN)信道下,使用二進(jìn)制相移鍵控(BPSK)調(diào)制方式時(shí)本發(fā)明與標(biāo)準(zhǔn)MS算法在不同迭代次數(shù)情況下的BER性能比較曲線圖。
圖中各附圖標(biāo)記的含義如下 1 變量結(jié)點(diǎn)存儲(chǔ)器 2 校驗(yàn)結(jié)點(diǎn)處理模塊 3 變量結(jié)點(diǎn)處理模塊4 校驗(yàn)結(jié)點(diǎn)存儲(chǔ)器
具體實(shí)施例方式 以中國(guó)移動(dòng)多媒體廣播系統(tǒng)廣播信道行業(yè)標(biāo)準(zhǔn)《GY/T 220.1-2006移動(dòng)多媒體廣播第1部分廣播信道幀結(jié)構(gòu)、信道編碼和調(diào)制》使用的1/2碼率LDPC碼為例,LDPC碼的行重和列重分別為6和3,N=9216,M=4608,組成校驗(yàn)矩陣,結(jié)合本方法,采用如圖1所示的常用LDPC解碼器來實(shí)施。具體來說,解碼器由變量結(jié)點(diǎn)存儲(chǔ)器1、校驗(yàn)結(jié)點(diǎn)處理模塊2、變量結(jié)點(diǎn)處理模塊3和校驗(yàn)結(jié)點(diǎn)存儲(chǔ)器4組成。
首先,解碼器輸入的6bit初始軟判決數(shù)據(jù)存入變量結(jié)點(diǎn)存儲(chǔ)器1。然后,校驗(yàn)結(jié)點(diǎn)處理模塊2從變量結(jié)點(diǎn)存儲(chǔ)器1讀取變量結(jié)點(diǎn)消息,并根據(jù)每個(gè)變量結(jié)點(diǎn)傳遞給不同校驗(yàn)結(jié)點(diǎn)的消息均為L(zhǎng)Q(i)(t)出發(fā),將計(jì)算得到的M組[s(j),m1(j),m2(j)]存入校驗(yàn)結(jié)點(diǎn)存儲(chǔ)器4。其中m1(j)是與校驗(yàn)結(jié)點(diǎn)j相連的一組變量結(jié)點(diǎn)消息數(shù)據(jù)絕對(duì)值的最小值,m2(j)是本組變量結(jié)點(diǎn)消息數(shù)據(jù)絕對(duì)值的第二最小值,即存在有 接下來,分別針對(duì)N個(gè)變量結(jié)點(diǎn)進(jìn)行變量結(jié)點(diǎn)運(yùn)算,每次變量結(jié)點(diǎn)處理模塊3從變量結(jié)點(diǎn)存儲(chǔ)器1讀取一個(gè)變量結(jié)點(diǎn)數(shù)值,并且從校驗(yàn)結(jié)點(diǎn)存儲(chǔ)器4讀取與該變量結(jié)點(diǎn)相關(guān)聯(lián)的三個(gè)校驗(yàn)結(jié)點(diǎn)消息,利用這些數(shù)據(jù)計(jì)算得到該變量結(jié)點(diǎn)的更新值,結(jié)果寫入變量結(jié)點(diǎn)存儲(chǔ)器1。綜合考慮性能效果和實(shí)現(xiàn)成本,計(jì)算中K取值0.5即可。
結(jié)合上述的實(shí)施方式進(jìn)行對(duì)比,若是采用目前最常用的標(biāo)準(zhǔn)MS算法,則初始值存儲(chǔ)量為9216×6=55296bit;使用10bit存儲(chǔ)數(shù)據(jù)Lqq(i,j),變量結(jié)點(diǎn)存儲(chǔ)器1的規(guī)模為9216×3×10=276480bit;校驗(yàn)結(jié)點(diǎn)存儲(chǔ)器4的規(guī)模至少為4608×6×6=165888bit。設(shè)計(jì)解碼器時(shí),變量結(jié)點(diǎn)和校驗(yàn)結(jié)點(diǎn)計(jì)算結(jié)果可以共用存儲(chǔ)器,因此MS算法總共需要的最小存儲(chǔ)量為55296+276480=331776bit。
然而,采用本方法后不需要專門存儲(chǔ)初始值,使用10bit表示數(shù)據(jù)LQ(j),變量結(jié)點(diǎn)存儲(chǔ)器1的存儲(chǔ)量為9216×10=92160bit;校驗(yàn)結(jié)點(diǎn)存儲(chǔ)器4的存儲(chǔ)量為4608×13=59904bit。由于分開了變量結(jié)點(diǎn)存儲(chǔ)器1和校驗(yàn)結(jié)點(diǎn)存儲(chǔ)器4,因此共需要存儲(chǔ)152064bit數(shù)據(jù)??梢杂?jì)算出,相對(duì)于標(biāo)準(zhǔn)MS算法,本發(fā)明減少了54.17%的存儲(chǔ)量。與此同時(shí),一次迭代運(yùn)算中,結(jié)點(diǎn)對(duì)存儲(chǔ)器的數(shù)據(jù)訪問次數(shù)也從標(biāo)準(zhǔn)MS算法的119808次減少為78336次,下降了34.62%。
再進(jìn)一步結(jié)合圖2所示其是在加性高斯白噪聲(AWGN)信道下,使用二進(jìn)制相移鍵控(BPSK)調(diào)制方式時(shí)本發(fā)明與標(biāo)準(zhǔn)MS算法在不同迭代次數(shù)情況下的BER性能比較曲線圖。從圖中可以看出,一次迭代時(shí)兩種算法有相同的性能,這是因?yàn)樵谒鼈兊牡谝淮蔚校兞拷Y(jié)點(diǎn)傳遞給校驗(yàn)結(jié)點(diǎn)的消息是相同的,都為初始信息。在三次和五次迭代時(shí),在一定的信號(hào)噪聲比(SNR)區(qū)間內(nèi),本發(fā)明有一定的性能下降。圖2顯示五次迭代的本發(fā)明的性能優(yōu)于三次迭代的MS算法,因此可以通過增加迭代次數(shù)來補(bǔ)償本發(fā)明的性能損失。由于本發(fā)明的存儲(chǔ)器訪問次數(shù)顯著低于MS算法,而LDPC碼的解碼運(yùn)算延遲主要由存儲(chǔ)器訪問造成,所以本發(fā)明完成一次迭代的處理時(shí)間也顯著小于MS算法,也就是說在相同的時(shí)間內(nèi)本發(fā)明可以完成更多次的迭代運(yùn)算。因此,即使在某些SNR下本發(fā)明為了得到與MS算法相同的性能需要更多次的迭代,也不會(huì)造成解碼運(yùn)算處理延遲的明顯增長(zhǎng)。
本發(fā)明與標(biāo)準(zhǔn)MS算法的不同之處體現(xiàn)于迭代計(jì)算過程。簡(jiǎn)化MS算法變量結(jié)點(diǎn)VN(i)發(fā)送給不同校驗(yàn)結(jié)點(diǎn)的消息為同一數(shù)值LQ(i),該數(shù)值取代了MS算法中的Lq(i,j),從而使變量結(jié)點(diǎn)部分只需存儲(chǔ)并且只需提供給校驗(yàn)結(jié)點(diǎn)部分N個(gè)數(shù)據(jù)。同時(shí),本發(fā)明通過改進(jìn)校驗(yàn)結(jié)點(diǎn)存儲(chǔ)方案和變量結(jié)點(diǎn)計(jì)算方式,使校驗(yàn)結(jié)點(diǎn)部分只需要存儲(chǔ)M組數(shù)據(jù)。以上這些改進(jìn)顯著降低了LDPC解碼所需的數(shù)據(jù)存儲(chǔ)量以及變量結(jié)點(diǎn)與校驗(yàn)結(jié)點(diǎn)之間數(shù)據(jù)交換的復(fù)雜度,能夠在通訊領(lǐng)域中得到很好的推廣應(yīng)用。
權(quán)利要求
1、一種低密度奇偶校驗(yàn)碼解碼方法,其特征在于
步驟一初始化,變量結(jié)點(diǎn)計(jì)算并保存接收數(shù)據(jù)的初始化信息;
步驟二對(duì)校驗(yàn)結(jié)點(diǎn)進(jìn)行運(yùn)算,每個(gè)變量結(jié)點(diǎn)傳遞給不同校驗(yàn)結(jié)點(diǎn)的消息均相同,并存儲(chǔ)必要的組信息;
步驟三利用存儲(chǔ)的組信息計(jì)算校驗(yàn)結(jié)點(diǎn)到變量結(jié)點(diǎn)消息,對(duì)變量結(jié)點(diǎn)進(jìn)行更新;
步驟四進(jìn)行譯碼嘗試并判斷迭代是否結(jié)束,即對(duì)LQ(i)(t+1)的值進(jìn)行硬判決,同時(shí)判斷是否滿足迭代結(jié)束條件,否則t的值加1后返回步驟二繼續(xù)迭代。
2、根據(jù)權(quán)利要求1所述的一種低密度奇偶校驗(yàn)碼解碼方法,其特征在于所述的步驟一中令變量t為0,輸入信號(hào)代入中計(jì)算出變量結(jié)點(diǎn)的初始信息。
3、根據(jù)權(quán)利要求1所述的一種低密度奇偶校驗(yàn)碼解碼方法,其特征在于所述的步驟二中每個(gè)變量結(jié)點(diǎn)傳遞給不同校驗(yàn)結(jié)點(diǎn)的消息均為L(zhǎng)Q(i)(t)。
4、根據(jù)權(quán)利要求1所述的一種低密度奇偶校驗(yàn)碼解碼方法,其特征在于所述的步驟二中,校驗(yàn)結(jié)點(diǎn)讀取相應(yīng)變量結(jié)點(diǎn)消息,然后每個(gè)校驗(yàn)結(jié)點(diǎn)計(jì)算一組數(shù)據(jù)[s(j),m1(j),m2(j)],所述的m1(j)是與校驗(yàn)結(jié)點(diǎn)j相連的一組變量結(jié)點(diǎn)消息數(shù)據(jù)絕對(duì)值的最小值,即存在有m2(j)是本組變量結(jié)點(diǎn)消息數(shù)據(jù)絕對(duì)值的第二最小值。
5、根據(jù)權(quán)利要求1所述的一種低密度奇偶校驗(yàn)碼解碼方法,其特征在于所述的步驟三中,首先利用得到的變量結(jié)點(diǎn)LQ(i)(t)和校驗(yàn)結(jié)點(diǎn)保存的信息計(jì)算得出Lr(j,i)(t+1),然后再結(jié)合來更新變量結(jié)點(diǎn)消息。
6、根據(jù)權(quán)利要求5所述的一種低密度奇偶校驗(yàn)碼解碼方法,其特征在于將變量結(jié)點(diǎn)LQ(i)(t)和校驗(yàn)結(jié)點(diǎn)保存的信息代入
sign[Lr(j,i)(t+1)]=sign[LQ(i)(t)]*s(j)
得出Lr(j,i)(t+1)。
7、根據(jù)權(quán)利要求5所述的一種低密度奇偶校驗(yàn)碼解碼方法,其特征在于更新變量結(jié)點(diǎn)消息,得到
其中K為0與1之間的一個(gè)常數(shù)。
全文摘要
本發(fā)明涉及一種低密度奇偶校驗(yàn)碼解碼方法,主要步驟是初始化數(shù)據(jù)迭代解碼過程中使用簡(jiǎn)化變量結(jié)點(diǎn)得到校驗(yàn)結(jié)點(diǎn)消息,保存接收數(shù)據(jù)的初始化信息;隨后每個(gè)變量結(jié)點(diǎn)傳遞給不同校驗(yàn)結(jié)點(diǎn)相同的消息,并存儲(chǔ)必要的組信息;接著利用存儲(chǔ)的組信息計(jì)算校驗(yàn)結(jié)點(diǎn)到變量結(jié)點(diǎn)消息,最后進(jìn)行譯碼嘗試并判斷迭代是否結(jié)束,若還需要迭代則繼續(xù)。本發(fā)明通過改進(jìn)校驗(yàn)結(jié)點(diǎn)存儲(chǔ)方案和變量結(jié)點(diǎn)計(jì)算方式,使校驗(yàn)結(jié)點(diǎn)部分只需要存儲(chǔ)M組數(shù)據(jù),顯著降低了解碼所需的數(shù)據(jù)存儲(chǔ)量以及變量結(jié)點(diǎn)與校驗(yàn)結(jié)點(diǎn)之間數(shù)據(jù)交換的復(fù)雜度。
文檔編號(hào)H04L1/00GK101557232SQ20081002334
公開日2009年10月14日 申請(qǐng)日期2008年4月8日 優(yōu)先權(quán)日2008年4月8日
發(fā)明者偉 鐘, 朱麗娟 申請(qǐng)人:威望科技(蘇州)有限公司