專利名稱:低密度分組校驗(yàn)碼的譯碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域信道的譯碼,具體涉及一種低密度分組校驗(yàn)碼的譯碼方法。
背景技術(shù):
低密度分組校驗(yàn)碼(Low Density Parity-Check Code,LDPC Code)是近十年來重新發(fā)現(xiàn)的一種強(qiáng)有力的前向糾錯(cuò)編碼方法,在長(zhǎng)碼構(gòu)造條件下已經(jīng)逼近香農(nóng)限,因而被認(rèn)為是Turbo碼的有效替代技術(shù),很有可能被用于下一代移動(dòng)通信和深空通信。
Gallager在1962年提出了低密度分組校驗(yàn)碼。LDPC碼是基于監(jiān)督矩陣定義的一種碼,它具有以下特性每列包含很小的固定數(shù)目j>=3的1,每行包含很小的固定數(shù)目k>j的1。Gallager證明這些碼字的典型最小距離隨碼長(zhǎng)的增加線性增加,而且BSC信道下譯碼錯(cuò)誤的典型概率隨碼長(zhǎng)指數(shù)減小。Gallager的博士論文還給出了LDPC碼的構(gòu)造方法,迭代譯碼算法及其性能分析。由于當(dāng)時(shí)計(jì)算機(jī)水平發(fā)展有限,硬件實(shí)現(xiàn)困難,LDPC被長(zhǎng)期的遺忘了。直到1995年,Mackay和Neal重新發(fā)現(xiàn)LDPC碼與Turbo碼相比有著同樣的優(yōu)秀性能,而且在長(zhǎng)碼長(zhǎng)的情況下還超過了Turbo碼。因而,LDPC碼成為新的研究熱點(diǎn),得到大家的廣泛關(guān)注。
目前,對(duì)LDPC碼的研究主要集中在如下幾個(gè)方向。第一,考慮LDPC碼在非GF(2)上的構(gòu)造,也就是在多元域上的編碼問題,如GF(4),GF(8)等。Mackay和Davey等在此方向作了很多探索和嘗試(Matthew C.Davey,PHD ThesisError-correction using Low-Density Parity-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,MichaelMitzenmacher,M.Amin Shokrollahi,and Daniel A.Spielman,“Improved Low-Density Parity-Check Codes Using IrregularGraphs,”IEEE TRANSACTIONS ON INFORMATION THEORY,VOL.47,NO.2,F(xiàn)EBRUARY 2001585-598)。Luby在1998年提出,放松對(duì)行列重量的限制,構(gòu)造不規(guī)則的LDPC碼,也就是每列(每行)重量不相同。研究結(jié)果表明,這對(duì)于最初的Gallager碼,非規(guī)則LDPC碼的性能也有了極大提高。目前這兩個(gè)研究方向正在不斷的優(yōu)化組合,來尋找性能更優(yōu)的非GF(2)上的不規(guī)則LDPC碼。
目前LDPC的譯碼算法都是基于和積算法。這種算法相對(duì)于卷積碼的MAP算法收斂速度慢。通常情況下,MAP譯碼算法會(huì)在五六次迭代后收斂,而和積算法需要迭代數(shù)十次甚至上百次才會(huì)收斂。如何有效降低和積算法的迭代復(fù)雜度同時(shí)又不降低它的性能成為L(zhǎng)DPC碼實(shí)際應(yīng)用的一大課題。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種高效可靠的LDPC譯碼方法。本發(fā)明尤其對(duì)下一代移動(dòng)通信和深空通信等使用糾錯(cuò)技術(shù)的場(chǎng)所有重要的實(shí)用價(jià)值。
本發(fā)明主要是通過對(duì)和積算法迭代譯碼過程中信息節(jié)點(diǎn)輸出的似然比值的檢測(cè)來自適應(yīng)的直接輸出可靠信息節(jié)點(diǎn)的硬判決值,同時(shí)在后繼的迭代過程中停止對(duì)可靠信息節(jié)點(diǎn)的更新,以減少運(yùn)算量在本發(fā)明的一個(gè)方面,提出了一種低密度分組校驗(yàn)碼的譯碼方法,包括初始化步驟,預(yù)置門限值M,放大系數(shù)K和似然比值Qij,并在二元數(shù)組A[i]中存儲(chǔ)信息比特i的可靠性標(biāo)志;向上更新步驟,從似然比值Qij計(jì)算信息節(jié)點(diǎn)xi狀態(tài)為a和校驗(yàn)式Aj中其他信息節(jié)點(diǎn)狀態(tài)分布已知的條件下校驗(yàn)式j(luò)所滿足的概率Rij;向下更新步驟,在二元數(shù)組A[i]中存儲(chǔ)信息比特i的可靠性標(biāo)志表示需要進(jìn)行更新的情況下,用概率Rij更新似然比值Qij;嘗試譯碼步驟,計(jì)算比特i的偽后驗(yàn)概率Ei=Pi+Σj∈col[i]Rij,]]>以得到譯碼矢量x=(x1,x2…..xn),Pi表示比特i的先驗(yàn)似然比值。
研究表明,LDPC碼信息節(jié)點(diǎn)的度數(shù)越高,對(duì)應(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)是否可靠的一種重要量度。
然而,信息節(jié)點(diǎn)的度數(shù)只是反映了LDPC編碼的影響,而沒有考慮到信道噪聲造成的誤碼影響。在LDPC譯碼過程中,信息節(jié)點(diǎn)輸出的似然比直接的表明了信息節(jié)點(diǎn)的概率特性。從物理概念上講,似然比反映了譯碼判決的0,1碼元的后驗(yàn)概率的非對(duì)稱性。似然比為0,說明0,1碼元等概,是最對(duì)稱的情況,但此時(shí)做硬判決的可靠性最差,譯碼相當(dāng)于投硬幣般的瞎猜。而似然比的絕對(duì)值越大,0,1碼元越不等概(越不平衡),說明對(duì)該節(jié)點(diǎn)的硬判決越可靠。當(dāng)似然比絕對(duì)值趨于無窮時(shí),譯碼器的硬判決值幾乎以概率1成立,糾錯(cuò)最可靠。通常情況下,信息節(jié)點(diǎn)的度數(shù)越大,其輸出的似然比絕對(duì)值越大。而且,信息節(jié)點(diǎn)的有害噪聲越小,其輸出的似然比絕對(duì)值越大。所以,似然比絕對(duì)值是判斷信息節(jié)點(diǎn)是否可靠的一種更準(zhǔn)確的量度。
我們用信息節(jié)點(diǎn)的似然比值做為信息節(jié)點(diǎn)可靠性的度量。首先設(shè)置一定的門限值M。當(dāng)LDPC迭代譯碼過程中信息節(jié)點(diǎn)的似然比絕對(duì)值超過此門限值M時(shí),就直接輸出該節(jié)點(diǎn)硬判決值(該節(jié)點(diǎn)稱為終止節(jié)點(diǎn)),并且在以后的迭代中停止對(duì)此節(jié)點(diǎn)的軟信息更新,同時(shí)存儲(chǔ)并放大該節(jié)點(diǎn)的似然值用于對(duì)相連校驗(yàn)節(jié)點(diǎn)的更新。終止節(jié)點(diǎn)通常都是LDPC譯碼的可靠節(jié)點(diǎn),它一般有較大的度數(shù)且受信道有害噪聲較小,它自適應(yīng)的反映了LDPC譯碼的糾錯(cuò)情況。
由于終止節(jié)點(diǎn)停止了更新,所以能夠有效降低譯碼的計(jì)算復(fù)雜度。通常一個(gè)信息節(jié)點(diǎn)的計(jì)算復(fù)雜度(加法和乘法運(yùn)算)與其節(jié)點(diǎn)的度數(shù)的平方成正比,而終止節(jié)點(diǎn)一般又是高度數(shù)的節(jié)點(diǎn)。所以停止對(duì)終止節(jié)點(diǎn)的更新,可以使譯碼從高復(fù)雜度的節(jié)點(diǎn)向低復(fù)雜度的節(jié)點(diǎn)循序漸進(jìn)的轉(zhuǎn)移,與上文所說的“波浪效應(yīng)”相吻合,最終會(huì)有效降低對(duì)整個(gè)迭代譯碼的計(jì)算復(fù)雜度。
圖1是以二部圖表示的LDPC碼的實(shí)例;圖2是LDPC譯碼的向上更新示意圖;圖3是LDPC譯碼的向下更新的示意圖;圖4是改進(jìn)的和積算法實(shí)現(xiàn)流程圖;圖5是新方法與原方法的誤碼率比較圖;圖6是新方法與原方法的計(jì)算效率比較圖。
具體的實(shí)施方式下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
圖1給出了用二部圖來表示低密度校驗(yàn)碼的一個(gè)簡(jiǎn)單示例。LDPC碼是一種基于稀疏校驗(yàn)矩陣的線性分組碼。1981年,Tanner提出了用二部圖來表示一個(gè)低密度的線性分組碼,從此二部圖成為了分析LDPC碼的主要工具。設(shè)一個(gè)LDPC碼,信息位長(zhǎng)為K,碼長(zhǎng)為N,校驗(yàn)位為M=N-K,則該碼的校驗(yàn)矩陣A是一個(gè)大小為M*N的矩陣。H的二部圖表述如下二部圖下邊的N個(gè)節(jié)點(diǎn)代表N個(gè)碼字,成為信息節(jié)點(diǎn)(massage node);上邊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ò)誤碼字,對(duì)于這種情況下將會(huì)產(chǎn)生我們通常所說的不可檢測(cè)錯(cuò)誤(undetected error),但從一般的仿真結(jié)果看,出現(xiàn)這樣不可檢測(cè)錯(cuò)誤的幾率很小。下面給出LDCP碼的和積算法描述。
1、初始化過程設(shè)接收到的有噪信號(hào)為有rn,對(duì)n=1,2,….N,每比特的判決值初始化為rn的硬判決值xn。設(shè)pi0=P(xi=0),pi1=P(xi=1)=1-pi0]]>是迭代譯碼前信道給出的先驗(yàn)信息,對(duì)每一次迭代,它都是不變的外信息(extrinsic value).qij1qij0是除校驗(yàn)式j(luò)以外的其他校驗(yàn)式可信度信息已知的條件下,信息比特ti=1/0的概率。qij1,qij0初始化成pi1,pi0。αij是qij1,qij0的歸一化因子。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ò)滿足)的概率。ei1,ei0是信息節(jié)點(diǎn)在每一次迭代中計(jì)算的外信息,我們稱它為比特i的偽后驗(yàn)概率(pseudo posterior probabilities)。αi是ei1,ei0的歸一化因子。αi,αij都初始化成α0。
2、迭代過程Step1.向上更新(更新rija)由校驗(yàn)式j(luò)傳遞給接收序列比特i的rija是信息節(jié)點(diǎn)xi狀態(tài)為a和校驗(yàn)式Aj中其他信息節(jié)點(diǎn)狀態(tài)分布已知的條件下,校驗(yàn)式j(luò)滿足的概率。經(jīng)推導(dǎo)有rij1=12[1-Πi′∈row[j]\{i}δ(qi′ja)]]]>
rij0=12[1+Πi′∈row[j]\{i}δ(qi′ja)]]]>在第一次計(jì)算中,qij1,qij0初始化成pi1,pi0。其中,δ(qi′ja)定義為差分函數(shù),δ(qi′ja)=qi′j0-qi′j1.]]>如圖2所示,假設(shè)校驗(yàn)節(jié)點(diǎn)Aj分別與三個(gè)信息節(jié)點(diǎn)(x1,x2和xi)相聯(lián)系,Aj=x1+x2+xi,則由校驗(yàn)節(jié)點(diǎn)Aj先從信息節(jié)點(diǎn)x1和x2分別得到q1j和q2j,并將rij傳遞到信息節(jié)點(diǎn)xi。在此例中,rij1=12[1-δ(11j)δ(q2j)]]]>rij0=12[1+δ(q1j)δ(q2j)]]]>δ(q1j)=q1j0-q1j1]]>δ(q2j)=q2j0-q2j1]]>Step2向下更新(更新qija)由接收序列比特i傳遞給校驗(yàn)式j(luò)的qija是在除Aj外xi參與的其他校驗(yàn)節(jié)點(diǎn)提供的信息上,xi在狀態(tài)a的概率。經(jīng)推導(dǎo)有qija=αijpiaΠj′∈col[i]\{j}rij′a]]>pia是先驗(yàn)概率P(xi=a),αij=1/(qij0+qij1)]]>根據(jù)Step1中得出的rij0,rij1和外信息pi0,pi1,再計(jì)算qij0,qij1。
qij1=αijpi1Πj′∈col[i]\{j}rij′1]]>qij0=αijpi0Πj′∈col[i]\{j}rij′0]]>如圖3所示,假設(shè)信息節(jié)點(diǎn)xi分別與三個(gè)校驗(yàn)節(jié)點(diǎn)(A1,A2和Aj)相聯(lián)系,則由信息節(jié)點(diǎn)xi先從校驗(yàn)節(jié)點(diǎn)A1和A2分別得到ri1和ri2,并將qij傳遞到校驗(yàn)節(jié)點(diǎn)Aj。在此例中,
qij0=αijpi0ri10ri20]]>qij1=αijpi1ri11ri21]]>αij=1pi0ri10ri20+pi1ri11ri21]]>Step3嘗試譯碼接下來按照下式計(jì)算比特i的偽后驗(yàn)概率ei1,ei0,公式的推導(dǎo),類似于step2。結(jié)果是ei0=αipi0Πj∈col[i]rij0]]>ei1=αipi1Πj∈col[i]rij1]]>注意選擇合適的αi=1/(ei1+ei0),]]>使得ei1+ei0=1.]]>偽后驗(yàn)概率ei0(ei1)是用來判定比特i在這次迭代結(jié)束時(shí),是0(1)的可能概率。它們間接決定了是否繼續(xù)迭代過程。在ei1(ei0)>=0.5]]>時(shí),判定i比特=1(0),得到當(dāng)前譯碼xi。在所有比特被譯出之后,得到譯碼矢量x=(x1,x2…..xn)。
在譯碼結(jié)束時(shí),我們嘗試進(jìn)行譯碼判決,其算法如下如果Hx=0,那么停止譯碼,輸出x=(x1,x2…..xn)作為有效的輸出值;否則如果達(dá)到預(yù)設(shè)定的迭代次數(shù),那么停止迭代,輸出譯碼結(jié)果;否則開始下一輪迭代;以上是一般的和積算法流程。它存在收斂速度慢和計(jì)算復(fù)雜度高的缺點(diǎn),不利于硬件電路高速化的實(shí)現(xiàn)。所以,我們通過用似然比值判斷信息節(jié)點(diǎn)的可靠性,進(jìn)而對(duì)于高可靠的節(jié)點(diǎn)停止向下更新,從而大大降低了譯碼的計(jì)算復(fù)雜度。
圖4給出了根據(jù)本發(fā)明的改進(jìn)的和積譯碼算法的實(shí)現(xiàn)流程。對(duì)于一般的硬件電路,為了減少乘法運(yùn)算,和積算法一般在對(duì)數(shù)域上實(shí)現(xiàn)。具體過程如下
1、初始化過程設(shè)接收到的有噪信號(hào)為有rn,對(duì)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)的似然比值。對(duì)于某個(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)的似然比值。預(yù)設(shè)一個(gè)固定的門限值M和放大系數(shù)K,M和K都是正數(shù)(S401)。其次,定義如下函數(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ù)值。
我們用一個(gè)二元數(shù)組A[i]存儲(chǔ)信息比特i的可靠性標(biāo)志。如果存儲(chǔ)值為0表明不可靠,如果為1表明可靠。A[i]全部初始化為0,表明全不可靠。
2、迭代過程
Step1.向上更新(更新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ò)滿足的概率(S402)。經(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向下更新(更新Qij)首先讀出二元數(shù)組A[i]存儲(chǔ)的信息比特i的可靠性標(biāo)志,判斷是否可靠(S403)。如果存儲(chǔ)值為1表明可靠,信息比特i不再更新,否則進(jìn)行如下更新(S404)Qij=Σj′∈col[i]\{j}Rij′]]>由已存儲(chǔ)的Rij′計(jì)算并存儲(chǔ)Qij。
Step3嘗試譯碼接下來按照下式計(jì)算比特i的偽后驗(yàn)概率Ei(S405)Ei=Pi+Σj∈col[i]Rij]]>偽后驗(yàn)概率Ei是用來判定比特i在這次迭代結(jié)束時(shí),是0(1)的可能概率。根據(jù)符號(hào)可以判定i比特=1(0),得到當(dāng)前譯碼xi。在所有比特被譯出之后,得到譯碼矢量x=(x1,x2…..xn)。
在譯碼結(jié)束時(shí),嘗試進(jìn)行譯碼判決,其算法如下如果Hx=0(S406),那么停止譯碼,輸出x=(x1,x2…..xn)作為有效的輸出值;否則如果達(dá)到預(yù)設(shè)定的迭代次數(shù),那么停止迭代,輸出譯碼結(jié)果(S409);否則,進(jìn)行信息節(jié)點(diǎn)i的可靠性判決,然后轉(zhuǎn)step1開始下一輪迭代;
進(jìn)行信息節(jié)點(diǎn)i的可靠性判決的方法如下預(yù)設(shè)一個(gè)固定的門限值M和放大系數(shù)K,M和K都是正數(shù)。如果Ei的絕對(duì)值大于M并且A[i]=0,則判斷信息節(jié)點(diǎn)i是可靠節(jié)點(diǎn),并置A[i]=1,Qij=Qij+sign(Qij)K。在以后的迭代過程中,Qij本身不再更新(改變),但會(huì)用于向上更新Rij。
sign表示取符號(hào)。Qij=Qij+sign(Qij)K表明將可靠節(jié)點(diǎn)i的似然比值放大。
以上的改進(jìn)和積算法能自適應(yīng)的跟蹤譯碼過程,及時(shí)停止對(duì)于可靠節(jié)點(diǎn)的更新,從而大大降低了譯碼復(fù)雜度,同時(shí)又不顯著降低譯碼性能。
圖5是新方法與原方法的誤碼率比較圖。我們采用了碼率為二分之一的非規(guī)則LDPC碼,碼長(zhǎng)為2000比特,信道是AWGN(加性白高斯信道)。橫坐標(biāo)是dB(分貝)表示的能噪比,縱坐標(biāo)是誤碼率。從圖中可以看到新方法與原方法的誤碼率基本都是一致的。
圖6是新方法與原方法的計(jì)算效率比較圖。同樣是碼率為二分之一的非規(guī)則LDPC碼,碼長(zhǎng)為2000比特,信道是AWGN(加性白高斯信道)。橫坐標(biāo)是dB(分貝)表示的能噪比,縱坐標(biāo)是用VC軟件仿真得到的原方法仿真時(shí)間與新方法仿真時(shí)間的比值(計(jì)算效率比)。從圖中可以看到在高能噪比,新方法與原方法節(jié)省了大約三分之二的時(shí)間。
以上所述,僅為本發(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)碼的譯碼方法,包括初始化步驟,預(yù)置門限值M,放大系數(shù)K和似然比值Qij,并在二元數(shù)組A[i]中存儲(chǔ)信息比特i的可靠性標(biāo)志;向上更新步驟,從似然比值Qij計(jì)算信息節(jié)點(diǎn)xi狀態(tài)為a和校驗(yàn)式Aj中其他信息節(jié)點(diǎn)狀態(tài)分布已知的條件下校驗(yàn)式j(luò)所滿足的概率Rij;向下更新步驟,在二元數(shù)組A[i]中存儲(chǔ)信息比特i的可靠性標(biāo)志表示需要進(jìn)行更新的情況下,用概率Rij更新似然比值Qij;嘗試譯碼步驟,計(jì)算比特i的偽后驗(yàn)概率Ei=Pi+Σj∈col[i]Rij,]]>以得到譯碼矢量x=(x1,x2…..xn),Pi表示比特i的先驗(yàn)似然比值。
2.根據(jù)權(quán)利要求1所述的譯碼方法,其特征在于如果校驗(yàn)矩陣H與矢量x的積等于零,則停止譯碼,輸出x=(x1,x2…..xn)作為有效的輸出值,否則重復(fù)執(zhí)行向上更新步驟、向下更新步驟和嘗試譯碼步驟。
3.根據(jù)權(quán)利要求1所述的譯碼方法,其特征在于如果重復(fù)執(zhí)行向上更新步驟、向下更新步驟和嘗試譯碼步驟的次數(shù)達(dá)到預(yù)設(shè)定的迭代次數(shù),那么停止迭代,輸出譯碼結(jié)果,否則,進(jìn)行信息節(jié)點(diǎn)i的可靠性判決,然后執(zhí)行向上更新步驟、向下更新步驟和嘗試譯碼步驟。
4.根據(jù)權(quán)利要求3所述的譯碼方法,其特征在于,進(jìn)行節(jié)點(diǎn)i的可靠性判決包括如果Ei的絕對(duì)值大于M并且A[i]=0,則判斷信息節(jié)點(diǎn)i是可靠節(jié)點(diǎn),并置A[i]=1,Qij=Qij+sign(Qij)K,sign表示取符號(hào)。
5.根據(jù)權(quán)利要求4所述的譯碼方法,其特征在于,在以后的迭代過程中,Qij自身不再更新,但會(huì)用于向上更新Rij。
6.根據(jù)權(quán)利要求1所述的譯碼方法,其特征在于,在向上更新步驟中,根據(jù)下式由已存儲(chǔ)的Qi″j計(jì)算并存儲(chǔ)RijRij=f(exp(Σi′∈row[j]\{i}ln(g(Qi′′j))))]]>其中,f(x)=ln(1+x1-x),x∈(-1,1)]]>g(x)=f-1(x)=ex-1ex+1,x∈R.]]>
7.根據(jù)權(quán)利要求1所述的譯碼方法,其特征在于,如果二元數(shù)組A[i]存儲(chǔ)值為1表明可靠,如果存儲(chǔ)值為0表明不可靠。
全文摘要
本發(fā)明提供了一種低密度分組校驗(yàn)碼的譯碼方法。本發(fā)明主要是通過對(duì)和積算法迭代譯碼過程中信息節(jié)點(diǎn)輸出的似然比值的檢測(cè)來自適應(yīng)的直接輸出可靠信息節(jié)點(diǎn)的硬判決值,同時(shí)在后繼的迭代過程中停止對(duì)可靠信息節(jié)點(diǎn)的更新,以減少運(yùn)算量。
文檔編號(hào)H03M13/19GK1889368SQ20051008148
公開日2007年1月3日 申請(qǐng)日期2005年6月29日 優(yōu)先權(quán)日2005年6月29日
發(fā)明者吳湛擊, 李繼峰 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社