專利名稱:非對稱低密度校驗(yàn)碼編譯碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域信道糾錯(cuò)LDPC碼的編譯碼方法,具體涉及一種能減小迭代次數(shù)的LDPC碼的編譯碼方法。
背景技術(shù):
低密度分組校驗(yàn)碼(Low Density Parity-Check Code,LDPC Code)是近十年來重新發(fā)現(xiàn)的一種強(qiáng)有力的前向糾錯(cuò)編碼方法,在長碼構(gòu)造條件下已經(jīng)逼近香農(nóng)限,因而被認(rèn)為是Turbo碼的有效替代技術(shù),很有可能被用于下一代移動(dòng)通信和深空通信。
目前,對LDPC碼的研究主要集中在如下幾個(gè)方向。第一,考慮LDPC碼在非GF(2)上的構(gòu)造,也就是在多元域上的編碼問題,如GF(4),GF(8)等。Mackay和Davey等在此方向作了很多探索和嘗試(Matthew C.Davey,PHD ThesisError-correction using Low-DensityParity-Check Code,Gonville and Caius College,Cambridge,1999),取得了很好的成果。精心構(gòu)造的多元域上的校驗(yàn)矩陣,可以使性能有極大提高。第二,Gallager提出的LDPC碼,其校驗(yàn)矩陣的列重和行重是固定的,這通常被稱為規(guī)則的LDPC碼(或者Gallager碼);Luby,Mitzenmacher,Shokrollahi和Spielman首先提出構(gòu)造不規(guī)則的二元LDPC碼(Michael G.Luby,Michael Mitzenmacher,M.AminShokrollahi,and Daniel A.Spielman,“Improved Low-DensityParity-Check Codes Using Irregular Graphs,”IEEE TRANSACTIONSON INFORMATION THEORY,VOL.47,NO.2,F(xiàn)EBRUARY 2001585-598)。Luby在1998年提出,放松對行列重量的限制,構(gòu)造不規(guī)則的LDPC碼,也就是每列(每行)重量不相同。研究結(jié)果表明,這對于最初的Gallager碼,非規(guī)則LDPC碼的性能也有了極大提高。目前這兩個(gè)研究方向正在不斷的優(yōu)化組合,來尋找性能更優(yōu)的非GF(2)上的不規(guī)則LDPC碼。
目前LDPC的譯碼算法都是基于和積算法。這種算法相對于卷積碼的MAP算法收斂速度慢。通常情況下,MAP譯碼算法會(huì)在五六次迭代后收斂,而和積算法需要迭代數(shù)十次甚至上百次才會(huì)收斂。如何有效降低和積算法的迭代復(fù)雜度同時(shí)又不降低它的性能成為LDPC碼實(shí)際應(yīng)用的一大課題。
同時(shí),非規(guī)則LDPC的編碼通常沒有考慮到實(shí)際應(yīng)用過程中的非對稱保護(hù)問題,對于信息比特和校驗(yàn)比特隨機(jī)的分配給消息節(jié)點(diǎn),沒有利用非規(guī)則LDPC碼的特點(diǎn)??紤]到實(shí)用中的系統(tǒng)碼方式的非規(guī)則LDPC碼,通常編碼之前的信息比特需要更多的差錯(cuò)保護(hù),而校驗(yàn)比特主要用于對信息比特的保護(hù)。
在實(shí)際應(yīng)用中,要求編碼之前的信息比特的誤碼率足夠低,而校驗(yàn)比特的誤碼率不是我們所關(guān)心的。非規(guī)則LDPC碼自身的特點(diǎn)正好為信息比特和校驗(yàn)比特的非對稱保護(hù)提供了方便。同時(shí),結(jié)合LDPC譯碼的特點(diǎn),不必等所有的比特都收斂,而只需要信息比特都收斂即可停止譯碼。
發(fā)明內(nèi)容
考慮到以上問題,提出了本發(fā)明。本發(fā)明的目的是提出一種非對稱LDPC編譯碼方法,其利用非規(guī)則LDPC碼的非對稱糾錯(cuò)性能,提高系統(tǒng)信息位的糾錯(cuò)能力,同時(shí)在譯碼端減少迭代次數(shù),縮短譯碼時(shí)間。
因此,在本發(fā)明的一個(gè)方面,提出了一種非對稱低密度校驗(yàn)碼的編碼方法,包括步驟構(gòu)造非規(guī)則[n,k]低密度校驗(yàn)碼的校驗(yàn)矩陣Ha;對校驗(yàn)矩陣Ha按列重從小到大進(jìn)行列的重排得到重排的校驗(yàn)矩陣H;用所述重排的校驗(yàn)矩陣H對輸入的信息碼字S進(jìn)行編碼,其中S是k維的列向量。
在本發(fā)明的另一方面,提出了一種非對稱的低密度校驗(yàn)碼的譯碼方法,包括步驟初始化步驟,預(yù)置多個(gè)門限值和信息比特i的似然比值Qij;向上更新步驟,從似然比值Qij計(jì)算信息節(jié)點(diǎn)xi狀態(tài)為a和校驗(yàn)式Aj中其他信息節(jié)點(diǎn)狀態(tài)分布已知的條件下校驗(yàn)式j(luò)所滿足的概率Rij;向下更新步驟,用概率Rij更新似然比值Qij;嘗試譯碼步驟,計(jì)算比特i的偽后驗(yàn)概率Ei=Pi+Σj∈col[i]ijRij,]]>以得到譯碼矢量x=(x1,x2…..xn),Pi表示比特i的先驗(yàn)似然比值;其特征在于,所述方法還包括步驟利用所述多個(gè)門限值的至少之一和硬判決值或者相關(guān)的軟信息值來判斷是否收斂;以及如果迭代收斂,輸出碼字x,否則存儲(chǔ)本次迭代的信息碼字S的硬判決值和相關(guān)的軟信息值,用于下一此迭代的收斂性判斷。
在譯碼端,由于和積算法不必等所有的比特都收斂,而只需要信息比特都收斂即可停止譯碼,減少了迭代次數(shù)。
圖1是以二部圖表示的LDPC碼的實(shí)例。
圖2是非對稱編碼的流程圖。
圖3是改進(jìn)的和積算法實(shí)現(xiàn)流程圖。
圖4是信息比特位的收斂判斷的流程圖。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明作進(jìn)一步詳細(xì)說明。
圖1給出了用二部圖來表示低密度校驗(yàn)碼的一個(gè)簡單示例。LDPC碼是一種基于稀疏校驗(yàn)矩陣的線性分組碼。1981年,Tanner提出了用二部圖來表示一個(gè)低密度的線性分組碼,從此二部圖成為了分析LDPC碼的主要工具。設(shè)一個(gè)LDPC碼,信息位長為K,碼長為N,校驗(yàn)位為M=N-K,則該碼的校驗(yàn)矩陣H是一個(gè)大小為M*N的矩陣。H的二部圖表述如下二部圖下邊的N個(gè)節(jié)點(diǎn)代表N個(gè)碼字,成為信息節(jié)點(diǎn)(massagenode);上邊M個(gè)節(jié)點(diǎn)代表M個(gè)校驗(yàn)式,稱為校驗(yàn)節(jié)點(diǎn)(check node)。當(dāng)下邊的信息節(jié)點(diǎn)和上邊的校驗(yàn)節(jié)點(diǎn)存在于同一個(gè)校驗(yàn)式時(shí),就用邊(edge)將兩者連接。將和每個(gè)節(jié)點(diǎn)相連的線的個(gè)數(shù)稱為該節(jié)點(diǎn)的度(degree)。
LDPC碼的譯碼采用和積(Sum-Product)算法,整個(gè)譯碼過程可以看作在Tanner的二部圖上的BP算法的應(yīng)用。以圖1為例,我們把每一個(gè)校驗(yàn)節(jié)點(diǎn)A是信息節(jié)點(diǎn)x的父節(jié)點(diǎn)(parent),每一個(gè)信息節(jié)點(diǎn)x是校驗(yàn)節(jié)點(diǎn)A的子節(jié)點(diǎn)(child)。圖底下一排代表信息節(jié)點(diǎn)(9個(gè)),上面的一排節(jié)點(diǎn)代表校驗(yàn)節(jié)點(diǎn)(6個(gè)),每一個(gè)節(jié)點(diǎn)代表矩陣H中的一行校驗(yàn)式,稱為一個(gè)校驗(yàn)比特。節(jié)點(diǎn)X1,X4,X7和節(jié)點(diǎn)A1相連,代表了第一行校驗(yàn)式。
每一次迭代中,x節(jié)點(diǎn)被激活之后把qija作為其可信度傳遞給與之相連的A節(jié)點(diǎn),a=1/0。qija是在除Aj外xi參與的其他校驗(yàn)節(jié)點(diǎn)提供的信息上,xi在狀態(tài)a的可信度。節(jié)點(diǎn)Aj被激活之后把rija作為其可信度傳遞給與之相連的x節(jié)點(diǎn),a=1/0。rija是在信息節(jié)點(diǎn)xi狀態(tài)為a和校驗(yàn)式Aj中其他信息節(jié)點(diǎn)狀態(tài)分布已知的條件下,校驗(yàn)式j(luò)滿足的概率。在每次迭代中,所有節(jié)點(diǎn)的可信度都得到更新。每次迭代結(jié)束時(shí),計(jì)算{xi}的偽后驗(yàn)概率eia,做一次嘗試判決,得到判決序列 。直到判決序列 滿足Hx^=0,]]>或迭代次數(shù)達(dá)到我們預(yù)設(shè)的最大值,迭代終止。最大迭代次數(shù)可以設(shè)為平均次數(shù)的十倍。由于有短環(huán)的存在,譯碼有可能收斂到錯(cuò)誤碼字,對于這種情況下將會(huì)產(chǎn)生我們通常所說的不可檢測錯(cuò)誤(undetected error),但從一般的仿真結(jié)果看,出現(xiàn)這樣不可檢測錯(cuò)誤的幾率很小。
編碼Luby等人的研究(Michael G.Luby,Michael Mitzenmacher,M.Amin Shokrollahi,and Daniel A.Spielman,“ImprovedLow-Density Parity-Check Codes Using Irregular Graphs,”IEEETRANSACTIONS ON INFORMATION THEORY,VOL.47,NO.2,F(xiàn)EBRUARY2001585-598)表明,LDPC碼信息節(jié)點(diǎn)的度數(shù)越高,對應(yīng)的校驗(yàn)節(jié)點(diǎn)就越多,從而糾錯(cuò)能力越強(qiáng),在迭代譯碼過程的收斂速度越快。通常情況下,最高階(度數(shù)最多)的信息節(jié)點(diǎn)首先糾錯(cuò),然后再是階數(shù)較低的信息節(jié)點(diǎn)進(jìn)行修正,而最低階的信息節(jié)點(diǎn)一般最后糾正。從而,整個(gè)LDPC譯碼呈現(xiàn)出一種“波浪效應(yīng)”,從高階信息節(jié)點(diǎn)到低階節(jié)點(diǎn)循序漸進(jìn)的糾錯(cuò)。因而,度數(shù)是判斷信息節(jié)點(diǎn)是否可靠的一種重要量度。度數(shù)大的信息節(jié)點(diǎn),能夠更好的被正確譯碼,它們再提供給校驗(yàn)節(jié)點(diǎn)正確的信息,這些校驗(yàn)節(jié)點(diǎn)再把更好的信息提供給度數(shù)較小的信息節(jié)點(diǎn)。
對于實(shí)用中的系統(tǒng)碼方式的非規(guī)則LDPC碼,通常編碼之前的信息比特需要更多的差錯(cuò)保護(hù),而校驗(yàn)比特主要用于對信息比特的保護(hù)。在實(shí)際應(yīng)用中,要求編碼之前的信息比特的誤碼率足夠低,而校驗(yàn)比特的誤碼率不是我們所關(guān)心的。所以,可以先將信息節(jié)點(diǎn)按其度數(shù)從大到小排序,然后度數(shù)大的信息節(jié)點(diǎn)分配給編碼之前的信息比特,而剩余的度數(shù)小的信息節(jié)點(diǎn)分配給校驗(yàn)比特。
以下對照圖2詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的LDCP編碼方法。
圖2是示出了非對稱編碼的流程圖。首先構(gòu)造非規(guī)則[n,k]LDPC碼的校驗(yàn)(監(jiān)督)矩陣Ha(S201)。對Ha按列重從小(左邊)到大(右邊)進(jìn)行列的重排得到H(S202)。
然后,將H分為(n-k)階的方陣A和(n-k)行k列的矩陣B,滿足AC+BS=0(S203)。其中C是要求的校驗(yàn)碼字,它是(n-k)維的列向量。而S是輸入的信息碼字,它是k維的列向量。
將方陣A進(jìn)行LU分解A=LU,得到一個(gè)下三角陣L和上三角陣U,L和U都是(n-k)階的方陣(S204)。
接著,計(jì)算Z=BS(S205)。用后向算法解線性方程LY=Z,得到Y(jié)(S206)。
繼而用后向算法解UC=Y(jié),得到C(S207)。
所以,可以由信息碼字S得到校驗(yàn)碼字C,而且S的度數(shù)大,而C的度數(shù)小。
譯碼如上所述,度數(shù)大的信息節(jié)點(diǎn)分配給編碼之前的信息比特,而度數(shù)小的信息節(jié)點(diǎn)分配給校驗(yàn)比特。那么,在譯碼方面,對于和積算法,一般是信息比特先收斂,而校驗(yàn)比特后收斂。而在實(shí)際應(yīng)用中,更多關(guān)心的是信息比特的收斂情況。所以,當(dāng)檢測到信息比特都收斂后,就可以停止迭代譯碼,而不必等待所有比特都收斂。這樣可以降低迭代次數(shù)和譯碼時(shí)延,同時(shí)又不會(huì)降低信息比特的誤碼率。下面參照圖3和圖4詳細(xì)說明本發(fā)明的譯碼方法。
1、初始化過程(S301)設(shè)接收到的有噪信號為有rn,對n=1,2,….N,每比特的判決值初始化為rn的硬判決值xn。設(shè)pi0=P(xi=0),]]>pi1=P(xi=1)=1-pi0]]>是迭代譯碼前信道給出的先驗(yàn)信息,并記Pi=ln(pi0pi1)]]>表明了信息比特i的先驗(yàn)似然比值。qij1,qij0是除校驗(yàn)式j(luò)以外的其他校驗(yàn)式可信度信息已知的條件下,信息比特ti=1/0的概率,并記Qij=ln(qij0qij1)]]>表明了其相應(yīng)的似然比值。對于某個(gè)信息比特i,用Pi=ln(pi0pi1)]]>初始化并存儲(chǔ)其所有的Qij。rij1,rij0是假設(shè)信息比特ti=1/0下,其他與校驗(yàn)位j有邊連結(jié)的(也就是參與該校驗(yàn)式j(luò))的信息比特i’的1/0概率分布為qi′j1和qi′j0,校驗(yàn)位j=1(也就是校驗(yàn)式j(luò)滿足)的概率。并記Rij=ln(rij0rij1)]]>表明其相應(yīng)的似然比值。ei1,ei0是信息節(jié)點(diǎn)在每一次迭代中計(jì)算的外信息,稱它為比特i的偽后驗(yàn)概率。并記Ei=ln(ei0ei1)]]>表明其相應(yīng)的似然比值。其次,定義如下函數(shù)f(x)=ln(1+x1-x),]]>x∈(-1,1)g(x)=f-1(x)=ex-1ex+1,]]>x∈R通常,f(x),g(x),ln(x)和exp(x)這些復(fù)雜的非線性函數(shù)在硬件電路上都用查表的方法實(shí)現(xiàn),事先會(huì)用固定的RAM來存儲(chǔ)其相應(yīng)的函數(shù)值。
2、迭代過程Step1.向上更新(S302,更新Rij)由校驗(yàn)式j(luò)傳遞給接收序列比特i的Rij是信息節(jié)點(diǎn)xi狀態(tài)為a和校驗(yàn)式Aj中其他信息節(jié)點(diǎn)狀態(tài)分布已知的條件下,校驗(yàn)式j(luò)滿足的概率。經(jīng)推導(dǎo)有Rij=f(exp(Σi′∈row[j]\{i}ln(g(Qi′j))))]]>先后進(jìn)行了g,ln,∑,exp,f五種運(yùn)算操作,其中∑是硬件加法運(yùn)算而其余四種都是查表操作。由已存儲(chǔ)的Qi′j計(jì)算并存儲(chǔ)Rij。
Step2向下更新(S303,更新Qij)Qij=Σj′∈col[i]\{i}Rij′]]>由已存儲(chǔ)的Rij′計(jì)算并存儲(chǔ)Qij。
Step3嘗試譯碼(S304)接下來按照下式計(jì)算比特i的偽后驗(yàn)概率EiEi=Pi+Σj∈col[i]Rij]]>偽后驗(yàn)概率Ei是用來判定比特i在這次迭代結(jié)束時(shí),是0(1)的可能概率。根據(jù)符號可以判定i比特=1(0),得到當(dāng)前譯碼xi。在所有比特被譯出之后,得到譯碼矢量x=(x1,x2…..xn)。
在當(dāng)前一輪迭代譯碼結(jié)束時(shí),嘗試進(jìn)行譯碼判決,如下如果Hx=0(S305),那么停止譯碼,輸出x=(x1,x2…..xn)作為有效的輸出值(S306);否則,如果達(dá)到預(yù)設(shè)定的迭代次數(shù)(S305),那么停止迭代,輸出譯碼結(jié)果(S306)。
否則(S305,否),根據(jù)迭代譯碼信息,例如硬判決值或者相關(guān)的軟信息值進(jìn)行信息比特的收斂性判斷(S307),如果收斂,那么停止迭代,輸出譯碼結(jié)果(S306);否則,存儲(chǔ)本次迭代的信息碼字S的硬判決值和相關(guān)的軟信息值然后轉(zhuǎn)step1開始下一輪迭代(S308)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,用硬判決算法來檢測信息比特的收斂性。也就是,檢測相鄰兩次和積算法輸出的信息比特的硬判決結(jié)果,將兩個(gè)結(jié)果取異或運(yùn)算,如果不同的比特小于總比特的一定比例,則認(rèn)為迭代收斂,停止運(yùn)算。
根據(jù)本發(fā)明的另一實(shí)施例,用軟判決算法來檢測來檢測信息比特的收斂性,并提出了絕對意義上的門限準(zhǔn)則和相對意義上的差分準(zhǔn)則。從物理概念上講,似然比反映了譯碼判決的0,1碼元的后驗(yàn)概率的非對稱性。似然比為0,說明0,1碼元等概,是最對稱的情況,但此時(shí)做硬判決的可靠性最差,譯碼相當(dāng)于投硬幣般的瞎猜。而似然比的絕對值越大,0,1碼元越不等概(越不平衡),說明對該節(jié)點(diǎn)的硬判決越可靠。當(dāng)似然比絕對值趨于無窮時(shí),譯碼器的硬判決值幾乎以概率1成立,糾錯(cuò)最可靠。通常情況下,信息節(jié)點(diǎn)的度數(shù)越大,其輸出的似然比絕對值越大。而且,信息節(jié)點(diǎn)的有害噪聲越小,其輸出的似然比絕對值越大。所以,似然比絕對值是判斷信息節(jié)點(diǎn)是否可靠的一種更準(zhǔn)確的量度。
絕對意義上的門限準(zhǔn)則是指如果信息比特似然比絕對值的均值(或者最小值)高于某個(gè)門限值,則停止迭代。絕對值的均值表示了信息比特判決可靠性的平均程度,而絕對值的最小值表示了信息比特最差軟判決的可靠性。通常情況下,這兩個(gè)值是迭代次數(shù)的增函數(shù)。當(dāng)它們大于門限值時(shí),就表明信息比特的判決足夠可靠,所以可以判斷已經(jīng)收斂。
相對意義上的門限準(zhǔn)則是指如果相鄰兩次迭代輸出的信息比特似然比絕對值的均值(或者最小值)的差值小于某個(gè)門限值,則停止迭代。似然比絕對值的均值和最小值都是迭代次數(shù)的有界的增函數(shù)。當(dāng)?shù)g碼收斂時(shí),這兩個(gè)值都收斂到某一個(gè)值,因而相鄰兩次迭代輸出的信息比特似然比絕對值的均值(或者最小值)的差值會(huì)趨于零。因而,這種相對意義上的差值提供了收斂判斷的依據(jù)。
圖4是利用上述的判斷準(zhǔn)則判斷信息比特的收斂性的圖。首先,輸入本次信息碼字S(k)的似然比,并讀出上次S(k-1)的相關(guān)值,主要是S(k-1)的硬判決值,S(k-1)似然比絕對值的均值La(k-1)和最小值Lb(k-1);設(shè)置門限值r,M1,M2,N1,N2(S401)。假設(shè)信息碼字的長度為L。令二進(jìn)制數(shù)F1,F(xiàn)2,F(xiàn)3,F(xiàn)4和F5都為0(S402)。分以下五種情況進(jìn)行判斷Case1比較本次信息碼字S(k)和已存儲(chǔ)的上次S(k-1),得到兩者差異的個(gè)數(shù)d(S413)。如果d<rL,則判斷收斂,令F1=1,否則F1=0(S414)。這里,r是小于1的正數(shù),r越小說明判斷的條件越強(qiáng)。如果r充分小,那么只有當(dāng)d=0,也就是說兩次信息碼字完全一樣才能判斷收斂。所以,r越小,性能越好,但迭代次數(shù)也要增加。
Case2計(jì)算本次信息碼字S(k)似然比絕對值的均值La(k)(S423)。如果La(k)>M1,說明迭代收斂,令F2=1,否則F2=0(S424)。M1是預(yù)設(shè)的正數(shù),M1越大,性能越好,但迭代次數(shù)也要增加。
Case3計(jì)算本次信息碼字S(k)似然比絕對值的最小值Lb(k)(S433)。如果Lb(k)>M2,說明迭代收斂,令F3=1,否則F3=0(S434)。M2也是預(yù)設(shè)的正數(shù)。同理,M2越大,性能越好,但迭代次數(shù)也要增加。
Case4計(jì)算本次信息碼字S(k)似然比絕對值的均值La(k)(S443),并讀出已存儲(chǔ)的La(k-1)。如果La(k)-La(k-1)<N1,那么說明迭代收斂,令F4=1,否則F4=0(S444)。N1也是預(yù)設(shè)的正數(shù)。N1越小,性能越好,但迭代次數(shù)也要增加。
Case5計(jì)算本次信息碼字S(k)似然比絕對值的最小值Lb(k),并讀出已存儲(chǔ)的Lb(k-1)(S453)。如果Lb(k)-Lb(k-1)<N2,那么說明迭代收斂,令F5=1,否則F5=0(S454)。N2也是預(yù)設(shè)的正數(shù)。N2越小,性能越好,但迭代次數(shù)也要增加。
以上五種判斷準(zhǔn)則可以單獨(dú)使用,也可以取幾種的邏輯F=fun(F1,F(xiàn)2,F(xiàn)3,F(xiàn)4,F(xiàn)5),例如(與and,或or)組合。例如,取五種準(zhǔn)則的邏輯或關(guān)系,這是條件最弱的收斂準(zhǔn)則。也可以取五種準(zhǔn)則的邏輯與關(guān)系,這是條件最強(qiáng)的收斂準(zhǔn)則。一般的,收斂條件越強(qiáng),性能越好,但迭代次數(shù)也越多。因而,這是性能和復(fù)雜度的平衡折中過程。
最后,判斷邏輯組合的輸出結(jié)果F,F(xiàn)=1表示收斂,F(xiàn)=0表示不收斂(S416)。
以上的改進(jìn)和積算法能自適應(yīng)的跟蹤信息比特的譯碼過程,及時(shí)停止對于可靠譯碼的信息比特的迭代,而不必等所有比特的譯碼收斂,因此大大降低了譯碼復(fù)雜度。同時(shí),在編碼端,信息比特的度數(shù)大,而校驗(yàn)比特度數(shù)小,因而這樣得到的信息比特的糾錯(cuò)性能好,不會(huì)顯著降低譯碼性能。
以上所述,僅為本發(fā)明中的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到的變換或替換,都應(yīng)涵蓋在本發(fā)明的包含范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種非對稱低密度校驗(yàn)碼的編碼方法,包括步驟構(gòu)造非規(guī)則[n,k]低密度校驗(yàn)碼的校驗(yàn)矩陣Ha;對校驗(yàn)矩陣Ha按列重從小到大進(jìn)行列的重排得到重排的校驗(yàn)矩陣H;用所述重排的校驗(yàn)矩陣H對輸入的信息碼字S進(jìn)行編碼,其中S是k維的列向量。
2.如權(quán)利要求1所述的編碼方法,其特征在于,對信息碼字S進(jìn)行編碼的步驟包括將H分為(n-k)階的方陣A和(n-k)行k列的矩陣B,滿足AC+BS=0,其中C是要求的校驗(yàn)碼字,它是(n-k)維的列向量;從等式AC+BS=0求校驗(yàn)碼字C。
3.如權(quán)利要求2所述的編碼方法,其特征在于,求校驗(yàn)碼字的步驟包括將方陣A進(jìn)行LU分解A=LU,得到一個(gè)下三角陣L和上三角陣U,L和U都是(n-k)階的方陣;利用矩陣B、L、U和S,根據(jù)后向算法求出校驗(yàn)碼字。
4.如權(quán)利要求3所述的編碼方法,其特征在于,信息碼字S的度數(shù)大,而校驗(yàn)碼字C的度數(shù)小。
5.一種非對稱低密度校驗(yàn)碼的譯碼方法,包括步驟初始化步驟,預(yù)置多個(gè)門限值和信息比特i的似然比值Qij;向上更新步驟,從似然比值Qij計(jì)算信息節(jié)點(diǎn)xi狀態(tài)為a和校驗(yàn)式Aj中其他信息節(jié)點(diǎn)狀態(tài)分布已知的條件下校驗(yàn)式j(luò)所滿足的概率Rij;向下更新步驟,用概率Rij更新似然比值Qij;嘗試譯碼步驟,計(jì)算比特i的偽后驗(yàn)概率Ei=Pi+Σj∈co[i]Rij,]]>以得到譯碼矢量x=(x1,x2…..xn),Pi表示比特i的先驗(yàn)似然比值;其特征在于,所述方法還包括步驟利用所述多個(gè)門限值的至少之一和硬判決值或者相關(guān)的軟信息值來判斷是否收斂;以及如果迭代收斂,輸出碼字x,否則存儲(chǔ)本次迭代的信息碼字S的硬判決值和相關(guān)的軟信息值,用于下一此迭代的收斂性判斷。
6.如權(quán)利要求5所述的譯碼方法,其特征在于,所述多個(gè)門限值包括第一門限值,所述判斷是否收斂的步驟包括比較本次迭代的信息碼字和已存儲(chǔ)的上次迭代的信息碼字,得到兩者差異的個(gè)數(shù);如果所述差異的個(gè)數(shù)小于第一門限值與信息碼字的長度之積,則判斷迭代收斂。
7.如權(quán)利要求5所述的譯碼方法,其特征在于,所述多個(gè)門限值包括第二門限值,所述判斷是否收斂的步驟包括計(jì)算本次迭代的信息碼字的似然比絕對值的均值;如果所述均值大于第二門限值,則判斷迭代收斂。
8.如權(quán)利要求5所述的譯碼方法,其特征在于,所述多個(gè)門限值包括第三門限值,所述判斷是否收斂的步驟包括計(jì)算本次迭代的信息碼字的似然比絕對值的最小值;如果所述最小值大于第三門限值,則判斷迭代收斂。
9.如權(quán)利要求5所述的譯碼方法,其特征在于,所述多個(gè)門限值包括第四門限值,所述判斷是否收斂的步驟包括計(jì)算本次迭代的信息碼字的似然比絕對值的均值,并讀出已存儲(chǔ)的上次迭代的信息碼字的似然比絕對值的均值;如果二者之差小于第四門限值,則判斷迭代收斂。
10.如權(quán)利要求5所述的譯碼方法,其特征在于,所述多個(gè)門限值包括第五門限值,所述判斷是否收斂的步驟包括計(jì)算本次迭代的信息碼字的似然比絕對值的最小值,并讀出已存儲(chǔ)的上次迭代的信息碼字的似然比絕對值的最小值;如果二者之差小于第五門限值,則判斷迭代收斂。
全文摘要
公開了一種非對稱低密度校驗(yàn)碼編譯碼方法。本發(fā)明主要利用LDPC碼的消息節(jié)點(diǎn)度數(shù)不規(guī)則的特點(diǎn),將度數(shù)大的節(jié)點(diǎn)分配給信息比特,而度數(shù)小的節(jié)點(diǎn)分配給校驗(yàn)比特。同時(shí),在譯碼端,不必等所有比特收斂,只需信息比特收斂即可停止迭代。
文檔編號H03M13/00GK1905374SQ200510084920
公開日2007年1月31日 申請日期2005年7月25日 優(yōu)先權(quán)日2005年7月25日
發(fā)明者吳湛擊, 李繼峰 申請人:松下電器產(chǎn)業(yè)株式會(huì)社