專利名稱:一種無短環(huán)無低碼重碼的ldpc碼構(gòu)造方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信與電子系統(tǒng)領(lǐng)域,尤其涉及一種信道糾錯碼中LDPC碼構(gòu)造方法。
背景技術(shù):
近年來,通信技術(shù)發(fā)展日新月異,其中信道編碼作為通信系統(tǒng)中不可替代的基本技術(shù),在理論研究和實際應(yīng)用中得了長足的進步。低密度奇偶校驗碼(LDPC碼)的研究和實現(xiàn),是繼Turbo碼之后在糾錯編碼領(lǐng)域的又一重大進展。LDPC碼的優(yōu)異性能及其在信息可靠傳輸和磁存儲技術(shù)中的良好應(yīng)用前景,已引起世界各國學術(shù)界和IT業(yè)界的高度重視,成為當今信道編碼領(lǐng)域的研究熱點。
LDPC全稱Low Density Parity Check,即低密度奇偶校驗碼,是一種線性分組碼,它通過一個生成矩陣G將信息序列映射成發(fā)送序列,也就是碼字序列。對于生成矩陣G,完全等效于存在一個奇偶校驗矩陣H,所有的碼字序列c構(gòu)成了H的零空間,即HcT=0。
LDPC碼的奇偶校驗矩陣H是一稀疏矩陣,相對于行與列的長度(N,M),校驗矩陣每行、列中非零元素的數(shù)目(習慣稱作行重、列重)非常小,這也是LDPC碼之所以稱為低密度碼的原因。由于校驗矩陣H的稀疏性以及構(gòu)造時所使用的不同規(guī)則,使得不同LDPC碼的編碼二分圖(Tanner圖)具有不同的閉合環(huán)路(Girth)分布。而二分圖中閉合環(huán)路是影響LDPC碼性能的重要因素,它使得LDPC碼在類似可信度傳播(Belief Propagation)算法的一類迭代譯碼算法下,表現(xiàn)出完全不同的譯碼性能。當H的行重和列重保持不變或盡可能的保持均勻時,稱這樣的LDPC碼為規(guī)則LDPC碼,反之如果列、行重變化差異較大時,稱為不規(guī)則的LDPC碼。一般來說,正確設(shè)計的不規(guī)則LDPC碼的性能要優(yōu)于規(guī)則LDPC。根據(jù)校驗矩陣H中的元素是屬于GF(2)域還是GF(q)(2p=q),還可以將LDPC碼分為二元域或多元域的LDPC碼,本發(fā)明內(nèi)容涉及二元域的LDPC碼的設(shè)計。
根據(jù)校驗矩陣結(jié)構(gòu),LDPC碼可分為兩類準循環(huán)(QC)LDPC碼和隨機LDPC碼。隨機LDPC碼校驗矩陣中的1的分布是隨機的,不利于編碼器和解碼器的硬件實現(xiàn),而準循環(huán)LDPC碼中的1的分布是按一定規(guī)律分布的,利于編碼器和解碼器的硬件實現(xiàn)。但是,現(xiàn)有準循環(huán)(QC)LDPC碼的設(shè)計未同時考慮避免短環(huán)問題和避免低碼重碼問題,這兩個問題使準循環(huán)LDPC碼的誤碼率性能遠低于隨機LDPC碼。LDPC碼避免短環(huán),可使LDPC碼譯碼器能夠較快收斂,但是并不能保證該LDPC碼不存在低碼重碼。因此,無短環(huán)的LDPC碼如果存在低碼重碼,其誤碼率性能遠低于隨機LDPC碼。此外,現(xiàn)有準循環(huán)(QC)LDPC碼的校驗矩陣存在奇異性(非滿秩)問題,不能得到同秩的生成矩陣。
由于LDPC碼可采用復(fù)雜度較低的迭代消息傳遞(BP)譯碼算法,且譯碼復(fù)雜度不會隨著碼長的增加而加大,所以性能優(yōu)異的LDPC碼設(shè)計受到極大關(guān)注,在衛(wèi)星地面數(shù)字電視廣播標準(DVB-S2,Digital video broadcasting(DVB);second generation framings tructure,channel coding and modulationsystems for broadcasting,interactive services,news gathering and otherbroad-band satellite applications,EN 302 307,EuropeanTelecommunications Standards Institute(ETSI))和IEEE 802.16e IEEE Std802.16e,(Draft IEEE standard for local and metropolitan area networks,Part 16Air interface for fixed and mobile broadband wireless accesssystems,F(xiàn)eb.2006)中獲得采納,并應(yīng)用到無線保密通信領(lǐng)域。準循環(huán)(QC)LDPC碼和隨機LDPC碼。無4環(huán)的隨機LDPC碼的優(yōu)點是碼的最小碼重和碼間距離近似為碼長的線性函數(shù),其缺點是校驗矩陣中1的分布無規(guī)律,使其碼樹上的校驗節(jié)點和信息節(jié)點的連接無規(guī)律,其編碼器需要存儲生成矩陣的所有行向量,解碼器需要存儲校驗矩陣的所有行向量。因此隨機LDPC碼的編碼器和解碼器的超大規(guī)模集成電路(VLSI)實現(xiàn)較為困難。如果使用代數(shù)方法構(gòu)造的QC LDPC碼,則上述問題可解決。QC LDPC碼校驗矩陣是由一組循環(huán)矩陣構(gòu)成的,它的準循環(huán)特性使其易于高效編碼和解碼,碼的代數(shù)結(jié)構(gòu)使得它易于VLSI實現(xiàn)。然而,現(xiàn)有QC碼設(shè)計并不能保證QC LDPC碼的無四、六環(huán),并不能保證無低碼重碼,使其糾錯性能和誤碼率性能優(yōu)于或接近隨機LDPC碼。
準循環(huán)LDPC碼設(shè)計是采用分塊單位循環(huán)矩陣的組合構(gòu)成校驗矩陣。但是,一般準循環(huán)LDPC碼的校驗矩陣是非滿秩的,不能得到同秩的生成矩陣。雖然DVB-S2中采用雙對角線矩陣作為校驗矩陣中的一子矩陣,可使校驗矩陣為滿秩,但是雙對角線矩陣會導致低碼重碼字,使LDPC碼糾錯能力降低。
發(fā)明內(nèi)容
為解決上述問題,本發(fā)明公開一種無短環(huán)無低碼重碼的準循環(huán)LDPC碼的構(gòu)造方法,根據(jù)四環(huán)檢驗結(jié)果與低碼重碼檢驗結(jié)果調(diào)整校驗矩陣中循環(huán)子矩陣的維數(shù)和移位因子。
本發(fā)明提出一種不規(guī)則QC LDPC碼的校驗矩陣結(jié)構(gòu),使校驗矩陣為一非奇異方陣和循環(huán)子矩陣的組合,采用GF(2)域的逆矩陣運算得到生成矩陣,具體方法見式(5)。
本發(fā)明提出QC LDPC碼構(gòu)造的約束條件,對索引矩陣參數(shù)的選擇做出嚴格限制,可獲得無4環(huán),無低碼重碼字的QC LDPC碼。采用本發(fā)明方法構(gòu)造的QC LDPC碼的碼重分布和誤碼率特性均接近LDPC隨機碼。本發(fā)明提出的QC LDPC碼解決了低碼重碼字問題,碼集合中的所有碼都具有較大的碼重,使LDPC碼糾錯能力與碼長呈線性關(guān)系。
定義1設(shè)LDPC碼的碼長為N,校驗矩陣的每列包含j個1,每行包含k個1,則該碼為規(guī)則LDPC碼,記作(N,j,k)。
一種規(guī)則QC LDPC碼的構(gòu)造方法,其校驗矩陣由若干不同整數(shù)移位的循環(huán)子矩陣構(gòu)成,循環(huán)子矩陣的移位由如下索引矩陣確定。
定義2如果j×k矩陣P的元素來自GF(q)域,且它的第(s,t)個元素Ps,t=atbs如下 這里0≤s≤j-1,0≤t≤k-1,a和b均為素數(shù),則稱矩陣P(a,b)為索引矩陣。索引矩陣P(a,b)的元素Ps,t=atbs,modq,q為素數(shù)。
校驗矩陣H(a,b,q)中第(s,t)個循環(huán)子矩陣是由q×q的單位矩陣I按照行的方向向右循環(huán)移位動Ps,t位產(chǎn)生的。由j×k個循環(huán)子矩陣構(gòu)造校驗矩陣H(a,b,q)為 H(a,b,q)的維數(shù)是jq×kq,碼長N=kq,這里Ix是一個q×q的單位循環(huán)矩陣,是將單位矩陣的每行向右循環(huán)移動x位后得到的。
采用式(2)構(gòu)成生成矩陣得到的QC碼的碼率為R≥1-j/k。R取決于校驗矩陣H(a,b,q)中行向量之間的線性獨立性,而式(2)的H(a,b,q)中至少有j-1個相關(guān)的行,這給生成矩陣的設(shè)計帶來很大困難。
設(shè)H(a,b,q)中相關(guān)的行數(shù)為r,現(xiàn)有方法用GF(2)域內(nèi)的高斯消元法得到一(jq+r)×kq維的生成矩陣G(a,b,q),使 H1(a,b,q)·GT(a,b,q)=0 (3) 其中H1(a,b,q)為滿足式(3)的對H(a,b,q)進行列交換后的校驗矩陣,上式的矩陣乘積運算為GF(2)域內(nèi)的計算。
解碼器根據(jù)式(3)中H1(a,b,q)和軟接收碼流進行解碼。這里,軟接收碼流有如下定義。
定義3編碼信號流經(jīng)過高斯白噪聲信道后未經(jīng)判決的信號流為軟接收碼流。
由于H1(a,b,q)和G(a,b,q)的維數(shù)不同,這給LDPC碼的編解碼電路實現(xiàn)帶來很大困難。另外,現(xiàn)有方法用GF(2)域內(nèi)的高斯消元法需要對式(2)的校驗矩陣H(a,b,q)進行列交換,得到的H1(a,b,q)已破壞了式(2)的校驗矩陣H(a,b,q)的循環(huán)結(jié)構(gòu),使得編碼器和解碼器無法利用校驗矩陣的循環(huán)特性。
為保持式(2)的校驗矩陣H(a,b,q)的循環(huán)結(jié)構(gòu),本發(fā)明直接將H(a,b,q)分解為兩個子矩陣A(a,b,q)和B(a,b,q), H(a,b,q)=[A(a,b,q)B(a,b,q)] (4) A(a,b,q)為方陣,本發(fā)明使A(a,b,q)為非奇異的,則可以得到同維數(shù)的生成矩陣 G(a,b,q)=[(A-1(a,b,q)B(a,b,q))TI] (5) =[g1(a,b,q)g2(a,b,q)K gM(a,b,q)]T 其中的逆矩陣與乘積運算為GF(2)域內(nèi)的計算,gm(a,b,q)為生成矩陣G(a,b,q)的行向量,且為a,b,q的隱函數(shù),m=1,...M。
如果采用DVB-S2的LDPC碼結(jié)構(gòu)設(shè)計子矩陣A(a,b,q),則A(a,b,q)為雙對角線矩陣,A(a,b,q)為非奇異,但得到的碼字集合中存在大量低碼重碼字。為解決該問題,本發(fā)明提出如下不規(guī)則QC碼構(gòu)造方法。不失一般性,考慮常用的1/2碼率(N,3,6)LDPC碼,其它碼率LDPC碼可依此類推得到。
本發(fā)明中,對于1/2碼率的(N,3,6)LDPC碼,單位矩陣維數(shù)q須為素數(shù),則碼長為N=6q,參數(shù)a和b分別為小于q且大于1的兩素數(shù),設(shè) 其中z表示該位置為零矩陣,P(a,b)的其它元素定義同式(1),H(a,b,q)由3×6個子矩陣構(gòu)成, Ix是一個q×q的單位循環(huán)矩陣,其將單位矩陣的每行向右循環(huán)移動x位。
由式(7)中的H(a,b,q),令 將兩子矩陣A(a,b,q)和B(a,b,q)代入式(5)得到生成矩陣 G(a,b,q)=[(A-1(a,b,q)BT(a,b,q)I] (10) 將長度為N/2的信息比特向量與生成矩陣相乘得到長度為N的碼cn 本發(fā)明中1/2碼率LDPC碼的校驗矩陣和生成矩陣分別具有式(7)和式(10)的形式,其中參數(shù)a、b和q的設(shè)計需要用本發(fā)明提出的方法。LDPC碼是否無4環(huán)取決于式(7)的校驗矩陣,而由式(11)得到的LDPC碼是否無低碼重碼亦取決于式(7)的校驗矩陣。
令式(2)的H(a,b,q)矩陣為(N,3,6)碼的行列格式, 將式(7)與式(12)比較,可看出式(12)的H(a,b,q)矩陣有5個子矩陣被替換,這是本發(fā)明使A(a,b,q)為非奇異方陣的方法。
由于本發(fā)明方法的式(7)引入了兩個零矩陣,因此H(a,b,q)有2q行的1的個數(shù)為5,q行的1的個數(shù)為6,同樣,2q列的1的個數(shù)為2,q列的1的個數(shù)為3。此時,由式(7)構(gòu)造的QC LDPC碼為不規(guī)則QC碼,不同于式(2)的規(guī)則QC碼。本發(fā)明提出的約束條件同樣適合其它碼率的不規(guī)則QC LDPC碼。
式(10)中的LDPC碼生成矩陣G(a,b,q)的行向量與碼字有如下關(guān)系。
性質(zhì)1LDPC碼生成矩陣行向量的線性組合構(gòu)成碼字, 其中u=[un,1 un,2 K un,M]為信息比特向量,M=N/為信息比特序列長度。
BP譯碼算法(見D.J.C.MacKay,“Good Error-Correcting Codes Basedon Very Sparse Matrices”,IEEE Transactions on Information Theory,Vol.45,No.2,1999,pp.399-431)是基于LDPC樹圖(Tanner兩部圖)的最大后驗概率譯碼方法,其獲得良好譯碼性能的重要前提是H(a,b,q)無短環(huán)(4環(huán))。Tanner兩部圖的短環(huán)特性取決于校驗矩陣H(a,b,q)中4環(huán)的個數(shù)。評估得到的QC LDPC碼是否為好碼,必須檢驗校驗矩陣H(a,b,q)是否存在短環(huán)。
定義4校驗矩陣H(a,b,q)中的兩列向量對應(yīng)位置的1構(gòu)成端點的四邊形圍線為4環(huán)。
本發(fā)明采用論文Yang XIAO and Moon Ho LEE,Low Complexity MIMO-LDPCCDMA Systems over Multipath Channels,IEICE Transactions onCommunications,2006,E89-B(5)1713-1717;doi10.1093/ietcom/e89-b.5.1713,提出的LDPC碼的4環(huán)檢驗方法,使所設(shè)計的校驗矩陣H(a,b,q)無4環(huán)。
4環(huán)檢驗方法當且僅當H(a,b,q)HT(a,b,q)除對角線外的元素值為0或1,LDPC碼無4環(huán)。
4環(huán)檢驗方法能保證無4環(huán),但不能保證通過其檢驗的LDPC碼無低碼重碼。
本發(fā)明提出一種通過LDPC碼生成矩陣G的行向量估計LDPC碼最小碼重的上界的方法,即最小碼重估計方法。
最小碼重估計方法LDPC碼的最小碼重小于生成矩陣G(a,b,q)的行向量最小碼重與任意兩行向量直和的最小碼重,即 wmin{cn,n=1,...,2N}≤min[wmin{gm(a,b,q),m∈{1,...,M}, (14) wmin{mod(gm(a,b,q)+gn(a,b,q),2),m,n∈{1,...,M},m≠n}] 精確地確定wmin{cn,n=1,...,2N}為NP(Non-deterministic Polynomial)難解問題,在P≠NP的假設(shè)下,NP難解問題找不到一個算法能保證在多項式時間內(nèi)得到wmin{cn,n=1,...,2N}。本發(fā)明提出的最小碼重估計方法提供了估計LDPC碼的最小碼重的簡單方法。該算法可以確定已提出的各種LDPC碼最小碼重的上界,包括DVB-S2和IEEE 802.16e中的LDPC碼。本發(fā)明提出聯(lián)合使用4環(huán)檢驗方法和最小碼重估計方法,得到一種不存在4環(huán)和無低碼重碼的1/2碼率QC LDPC碼的構(gòu)造方法?,F(xiàn)有方法在構(gòu)造校驗矩陣H(a,b,q)時,未考慮單位矩陣I的階次q與單位矩陣I的最大右循環(huán)移位ak-1bj-1的關(guān)系,使其構(gòu)造的校驗矩陣H(a,b,q)可能存在4環(huán)。
本發(fā)明提出一種不存在4環(huán)和無低碼重碼的1/2碼率QC LDPC碼的構(gòu)造方法,包括下列步驟 步驟1使所構(gòu)造的1/2碼率QC LDPC碼的碼長N為單位矩陣維數(shù)q的6倍,N=6q,單位矩陣維數(shù)q為素數(shù),信息比特向量長度為M=3q; 步驟2從素數(shù)集合{a}和(1<a<q,1<b<q)中選取兩素數(shù)a和b,構(gòu)造具有下式形式的1/2碼率QC LDPC碼的校驗矩陣,即 步驟3用4環(huán)檢驗方法檢驗H(a,b,q)是否無4環(huán),如無4環(huán),進到步驟4,否則,返回步驟2,直到取遍集合{a}和內(nèi)所有a和b; 步驟4由步驟3獲得的H(a,b,q),令 及 步驟5將步驟4得到的兩個子矩陣A(a,b,q)和B(a,b,q)代入式(5)得到生成矩陣 G(a,b,q)=[(A-1(a,b,q)B(a,b,q))TI], 用最小碼重估計方法檢驗式(14),即 min[wmin{gm(a,b,q),m∈{1,...,M},wmin{mod(gm(a,b,q)+gn(a,b,q),2),m,n∈{1,...,M},m≠n} 對于{a},是否為最大,若是,則H(a,b,q)為所求,否則返回步驟2。
步驟6將長度為M=3q的信息比特向量與生成矩陣相乘得到長度為N的碼cn, 其中un=[un,0,un,1,...,un,N/2-1]是一個隨機的信息比特向量。
如果保持子矩陣A(a,b,q)不變,但改變子矩陣B(a,b,q)的列數(shù),則可以獲得其它碼率的LDPC碼,如3/4碼率的LDPC碼,見如下具體方法。
本發(fā)明提出一種不存在4環(huán)和無低碼重碼的3/4碼率QC LDPC碼的構(gòu)造方法,包括下列步驟 步驟1使所構(gòu)造的3/4碼率QC LDPC碼的碼長N為單位矩陣維數(shù)q的4倍,N=4q,單位矩陣維數(shù)q為素數(shù),信息比特向量長度為M=3q; 步驟2從素數(shù)集合{a}和(1<a<q,1<b<q)中選取兩素數(shù)a和b,構(gòu)造具有下式形式的3/4碼率QC LDPC碼的校驗矩陣,即 步驟3用4環(huán)檢驗方法檢驗H(a,b,q)是否無4環(huán),如無4環(huán),進到步驟4,否則,返回步驟2,直到取遍集合{a}和內(nèi)所有a和b; 步驟4由步驟3獲得的H(a,b,q),令 及 步驟5將步驟4得到的兩個子矩陣A(a,b,q)和B(a,b,q)代入式(5)得到生成矩陣 G(a,b,q)=[(A-1(a,b,q)B(a,b,q))TI], 用最小碼重估計方法檢驗式(14),即 min[wmin{gm(a,b,q),m∈{1,...,M},wmin{mod(gm(a,b,q)+gn(a,b,q),2),m,n∈{1,...,M},m≠n,M=3q} 對于{a},是否為最大,若是,則H(a,b,q)為所求,否則返回步驟2。
步驟6將長度為M=3q的信息比特向量與生成矩陣相乘得到長度為N的碼cn, 其中un=[un,0,un,1,...,un,N/2-1]是一個隨機的信息比特向量。
本發(fā)明還提出一種不存在4環(huán)和無低碼重碼的3/5碼率QC LDPC碼的構(gòu)造方法,包括下列步驟。
步驟1使所構(gòu)造的3/5碼率QC LDPC碼的碼長N為單位矩陣維數(shù)q的5倍,N=5q,單位矩陣維數(shù)q為素數(shù),信息比特向量長度為M=3q; 步驟2從素數(shù)集合{a}和(1<a<q,1<b<q)中選取兩素數(shù)a和b,構(gòu)造具有下式形式的3/5碼率QC LDPC碼的校驗矩陣,即 步驟3用4環(huán)檢驗方法檢驗H(a,b,q)是否無4環(huán),如無4環(huán),進到步驟4,否則,返回步驟2,直到取遍集合{a}和內(nèi)所有a和b; 步驟4由步驟3獲得的H(a,b,q),令 及 步驟5將步驟4得到的兩個子矩陣A(a,b,q)和B(a,b,q)代入式(5)得到生成矩陣 G(a,b,q)=[(A-1(a,b,q)B(a,b,q))TI], 用最小碼重估計方法檢驗 min[wmin{gm(a,b,q),m∈{1,...,M},wmin{mod(gm(a,b,q)+gn(a,b,q),2),m,n∈{1,...,M},m≠n,M=3q} 對于{a},是否為最大,若是,則H(a,b,q)為所求,否則返回步驟2。
步驟6將長度為M=3q的信息比特向量與生成矩陣相乘得到長度為N的碼cn, 其中un=[un,0,un,1,...,un,M-1]是一個隨機的信息比特向量。
從上面三種碼率的QC LDPC碼的構(gòu)造方法可以得到3/(3+K)碼率QC LDPC碼的一般構(gòu)造方法,其中QC LDPC碼校驗矩陣H由子矩陣A和子矩陣B構(gòu)成,子矩陣A的矩陣塊列數(shù)為3,子矩陣B的矩陣塊列數(shù)為K,K為大于1的整數(shù),由碼率決定。一種不存在4環(huán)和無低碼重碼的3/(3+K)碼率QC LDPC碼的構(gòu)造方法,可用附圖1的流程圖表示,該流程圖包括下列具體步驟。
步驟1使所構(gòu)造的3/(3+K)碼率QC LDPC碼的碼長N為單位矩陣維數(shù)q的3+K倍,N=(3+K)q,單位矩陣維數(shù)q為素數(shù),信息比特向量長度為M=3q; 步驟2從素數(shù)集合{a}和(1<a<q,1<b<q)中選取兩素數(shù)a和b,構(gòu)造具有下式形式的3/(3+K)碼率QC LDPC碼的校驗矩陣,即 步驟3用4環(huán)檢驗方法檢驗H(a,b,q)是否無4環(huán),如無4環(huán),進到步驟4,否則,返回步驟2,直到取遍集合{a}和內(nèi)所有a和b; 步驟4由步驟3獲得的H(a,b,q),令 及 步驟5將步驟4得到的兩個子矩陣A(a,b,q)和B(a,b,q)代入式(5)得到生成矩陣 G(a,b,q)=[(A-1(a,b,q)B(a,b,q))TI], 用最小碼重估計方法檢驗 min[wmin{gm(a,b,q),m∈{1,...,M},wmin{mod(gm(a,b,q)+gn(a,b,q),2), m,n∈{1,...,M},m≠n,M=3q} 對于{a},是否為最大,若是,則H(a,b,q)為所求,否則返回步驟2。
步驟6將長度為M=3q的信息比特向量與生成矩陣相乘得到長度為N的碼cn, 其中un=[un,0,un,1,...,un,M-1]是一個隨機的信息比特向量。
本發(fā)明的3/(3+K)碼率QC LDPC碼的一般構(gòu)造方法歸納了1/2碼率QC LDPC碼(K=3),3/4碼率QC LDPC碼(K=1)和3/5碼率QC LDPC碼(K=2)的構(gòu)造方法,選取不同的K,根據(jù)本發(fā)明給出的設(shè)計步驟,可得到不同碼率QC LDPC好碼。例如,在3/(3+K)碼率QC LDPC碼的一般構(gòu)造方法中,令K=3,即得到1/2碼率QC LDPC碼的設(shè)計方法。
圖1是不存在4環(huán)和無低碼重碼的3/(3+K)碼率QC LDPC碼的構(gòu)造方法的流程圖。
圖2是根據(jù)本發(fā)明一個具體實施方式
中H(2,2,47)HT(2,2,47)的計算結(jié)果采用4環(huán)檢驗方法檢驗1/2碼率QC LDPC碼的H(2,2,47),無4環(huán)。
圖3是根據(jù)本發(fā)明一個具體實施方式
中H(2,3,47)HT(2,3,47)的計算結(jié)果采用4環(huán)檢驗方法檢驗,1/2碼率QC LDPC碼的H(2,3,47),無4環(huán)。
圖4是根據(jù)本發(fā)明一個具體實施方式
中H(2,5,47)HT(2,5,47)的計算結(jié)果采用4環(huán)檢驗方法檢驗1/2碼率QC LDPC碼的H(2,5,47),無4環(huán)。
圖5是根據(jù)本發(fā)明一個具體實施方式
中H(2,7,47)HT(2,7,47)的計算結(jié)果采用4環(huán)檢驗方法檢驗1/2碼率QC LDPC碼的H(2,7,47),無4環(huán)。
圖6是根據(jù)本發(fā)明一個具體實施方式
中H(2,11,47)HT(2,11,47)的計算結(jié)果采用4環(huán)檢驗方法檢驗1/2碼率QC LDPC碼的H(2,11,47),無4環(huán)。
圖7是根據(jù)本發(fā)明一個具體實施方式
中各LDPC碼H(2,b,47),b=2,3,5,7,11的誤碼率曲線。
圖8是根據(jù)本發(fā)明另一個具體實施方式
中各LDPC碼H(2,b,47),b=2,3,5,7,11的誤碼率曲線。
圖9是根據(jù)本發(fā)明又一個具體實施方式
中各LDPC碼H(2,b,47),b=2,3,5,7,11的誤碼率曲線。
下面結(jié)合附圖和實施例進一步說明本發(fā)明。
具體實施例方式 本發(fā)明以實例說明所提出的設(shè)計方法,計算機仿真結(jié)果驗證本發(fā)明設(shè)計的準循環(huán)LDPC碼具有良好的誤碼率性能。附圖2-附圖6中的橫軸坐標和縱軸坐標是根據(jù)本發(fā)明一個具體實施方式
中矩陣乘積H(2,b,47)HT(2,b,47)的元素位置,z軸的數(shù)值為矩陣乘積H(2,b,47)HT(2,b,47)的元素的數(shù)值。在4環(huán)檢驗方法中,H(a,b,q)無4環(huán)的充要條件是矩陣乘積H(a,b,q)HT(a,b,q)除對角線外的元素值為0或1,附圖2-附圖6中的矩陣乘積H(2,b,47)HT(2,b,47)的數(shù)值滿足這一條件。在附圖7-附圖9中的橫軸坐標為信噪比,縱軸坐標為誤碼率。如果LDPC碼誤碼率曲線能夠隨信噪比增大而快速衰落,則該碼為好碼。
根據(jù)本發(fā)明的一個具體實施方式
,采用本發(fā)明不存在4環(huán)和無低碼重碼的1/2碼率QC LDPC碼的構(gòu)造方法設(shè)計(N,3,6)碼,考察q=47,a=2,b={2,3,5,7,11}時的4環(huán)特性,生成矩陣行向量最小碼重,行向量直和最小碼重與誤碼率特性,選取集合中的好碼。
在3/(3+K)碼率QC LDPC碼的一般構(gòu)造方法中,令K=3,得到1/2碼率QCLDPC碼的設(shè)計方法,包括下列步驟。
步驟1K=3,使所構(gòu)造的3/(3+K)=3/6=1/2碼率QC LDPC碼的碼長N為單位矩陣維數(shù)q的3+K=6倍,N=(3+K)q=6q。這里,單位矩陣維數(shù)q為素數(shù),q=47,信息比特向量長度為M=3q=141,碼長N=6q=282; 步驟2從素數(shù)集合{a}={2}和={2,3,5,7,11}(1<a<47,1<b<47)中選取兩素數(shù)a和b,構(gòu)造具有下式形式的3/(3+3)碼率QC LDPC碼的校驗矩陣,即 得到構(gòu)造的H(2,b,47),b=2,3,5,7,11, 步驟3用4環(huán)檢驗方法檢驗H(a,b,q)均無4環(huán),見附圖2-附圖6。附圖2-附圖6顯示H(2,b,47)HT(2,b,47)的矩陣乘積結(jié)果,因為H(2,b,47)HT(2,b,47),b=2,3,5,7,11除對角線外的元素值為0或1,所以該組LDPC碼無4環(huán)。
步驟4由步驟3獲得的H(2,b,47),b=2,3,5,7,11,令 及 步驟5將步驟4得到的兩子矩陣A(2,b,47),b=3,5,7,11和B(2,b,47),b=2,3,5,7,11代入下式得到生成矩陣 G(2,b,47)=[(A-1(2,b,47)B(2,b,47))TI],b=3,5,7,11; 應(yīng)用最小碼重估計方法,得到表1生成矩陣的行向量最小碼重,行向量直和最小碼重。
表1.1/2碼率QC LDPC碼的生成矩陣的行向量最小碼重wmin{gm,m∈{1,...,M}.M=3q}與行向量直和最小碼重wmin{mod(gm+gn,2),m,n∈{1,...,M},m≠n.M=3q} G(2,b,47) b=2 b=3 b=5 b=7 b=11 wmin{gm,m∈{1,...,M}76 73 10 72 81 wmin{mod(gm+gn,2),m,n∈{1,...,M} 20 38 10 26 28 由表1知, 使min[wmin{gm,m∈{1,...,M},wmin{mod(gm+gn,2),m,n∈{1,...,M},m≠n,M=141}為最大的為H(2,3,47),所以H(2,3,47)為所求。
在所檢驗的5個LDPC碼中,H(2,5,47)存在低碼重碼,因為 wmin{gm,m∈{1,...,M}}=10, wmin{mod(gm+gn,2),m,n∈{1,...,M},m≠n}=10, 導致 wmin{cn,n=1,...,2N}≤10。
步驟6將長度為3q的信息比特向量與生成矩陣相乘得到長度為N的碼cn, 其中un=[un,0,un,1,...,un,N/2-1]是一個隨機選取的信息比特向量。
對上述一個具體實施方式
涉及的各不規(guī)則QC LDPC碼H(2,b,47),b=2,3,5,7,11進行系統(tǒng)仿真,解碼算法采用BP算法,迭代次數(shù)為20,調(diào)制方式同為BPSK,信道為高斯加性(AWGN)高斯信道。校驗矩陣H(2,b,47),b=2,3,5,7,11對應(yīng)的LDPC碼誤碼率曲線見附圖7,附圖7中的橫軸坐標為信噪比,縱軸坐標為誤碼率。如果LDPC碼誤碼率曲線能夠隨信噪比增大而快速衰落,則該碼為好碼。
在所檢驗的5個LDPC碼中,H(2,5,47)存在低碼重碼,導致其誤碼率性能最差,見附圖7中最上方含圓圈的曲線。H(2,3,47)為本發(fā)明方法得到的好碼的校驗矩陣,其誤碼率性能最好,見附圖7中最下方含倒三角形的曲線。附圖7中H(2,11,47)的誤碼率曲線與H(2,3,47)誤碼率曲線接近,與表1的最小碼重結(jié)果吻合,H(2,11,47)的生成矩陣的行向量直和最小碼重僅低于H(2,3,47)的行向量直和最小碼重。
附圖7的結(jié)果說明在無4環(huán)LDPC碼中可以使用本發(fā)明提出的方法得到無低碼重碼的好碼。
此外,根據(jù)本發(fā)明的另一個具體實施方式
,采用本發(fā)明不存在4環(huán)和無低碼重碼的3/5碼率QC LDPC碼的構(gòu)造方法設(shè)計(N,3,5)碼,考察q=47,a=2,b={2,3,5,7,11}時的4環(huán)特性,生成矩陣行向量最小碼重,行向量直和最小碼重與誤碼率特性,選取集合中的好碼。
在3/(3+K)碼率QC LDPC碼的一般構(gòu)造方法中,令K=2,得到3/5碼率QCLDPC碼的設(shè)計方法,包括下列步驟。
步驟1K=2,使所構(gòu)造的3/(3+K)=3/5碼率QC LDPC碼的碼長N為單位矩陣維數(shù)q的3+K=5倍,N=(3+K)q=5q。這里,單位矩陣維數(shù)q為素數(shù),q=47,信息比特向量長度為M=3q=141,碼長N=5q=235; 步驟2從素數(shù)集合{a}={2}和={2,3,5,7,11}(1<a<47,1<b<47)中選取兩素數(shù)a和b,構(gòu)造具有下式形式的3/5碼率QC LDPC碼的校驗矩陣,即 得到構(gòu)造的H(2,b,47),b=2,3,5,7,11, 步驟3用4環(huán)檢驗方法檢驗H(a,b,q)均無4環(huán),結(jié)果類似附圖2-附圖6。
步驟4由步驟3獲得的H(2,b,47),b=2,3,5,7,11,令 及 步驟5將步驟4得到的兩子矩陣A(2,b,47),b=3,5,7,11和B(2,b,47),b=2,3,5,7,11代入下式得到生成矩陣 G(2,b,47)=[(A-1(2,b,47)B(2,b,47))TI],b=3,5,7,11; 應(yīng)用最小碼重估計方法,得到表2生成矩陣的行向量最小碼重,行向量直和最小碼重。
表2.3/5碼率QC LDPC碼的生成矩陣的行向量最小碼重wmin{gm,m∈{1,...,M},M=3q}與行向量直和最小碼重wmin{mod(gm+gn,2),m,n∈{1,...,M},m≠n,M=3q} G(2,b,47) b=2 b=3 b=5 b=7 b=11 wmin{gm,m∈{1,...,M}51537 5153 wmin{mod(gm+gn,2),m,n∈{1,...,M} 46387 3828 由表2知, 使min[wmin{gm,m∈{1,...,M},wmin{mod(gm+gn,2),m,n∈{1,...,M},m≠n,M=141}為最大的為H(2,2,47),所以該H(2,2,47)為所求。
在所檢驗的5個LDPC碼中,H(2,5,47)存在低碼重碼,因為 wmin{gm,m∈{1,...,M}}=7, wmin{mod(gm+gn,2),m,n∈{1,...,M},m≠n}=7, 導致 wmin{cn,n=1,...,2N}≤7。
步驟6將長度為3q的信息比特向量與生成矩陣G(2,2,47)相乘得到長度為N的碼cn, 其中un=[un,0,un,1,...,un,N/2-1]是一個隨機選取的信息比特向量。
對上述另一個具體實施方式
涉及的各不規(guī)則QC LDPC碼H(2,b,47),b=2,3,5,7,11進行系統(tǒng)仿真,解碼算法采用BP算法,迭代次數(shù)為20,調(diào)制方式同為BPSK,信道為高斯加性(AWGN)高斯信道。校驗矩陣H(2,b,47),b=2,3,5,7,11對應(yīng)的LDPC碼誤碼率曲線見附圖8。在所檢驗的5個LDPC碼中,H(2,5,47)存在低碼重碼,導致其誤碼率性能最差,參見附圖8中最上方含圓圈的曲線。H(2,2,47)為本發(fā)明方法得到的好碼的校驗矩陣,其誤碼率性能最好,參見附圖8中最下方含星號的曲線。附圖8中H(2,7,47)的誤碼率曲線與H(2,2,47)誤碼率曲線接近,與表2的最小碼重結(jié)果吻合,H(2,7,47)的生成矩陣的行向量直和最小碼重僅低于H(2,2,47)的行向量直和最小碼重。
附圖8的結(jié)果說明在無4環(huán)LDPC碼中可以使用本發(fā)明提出的方法得到無低碼重碼的好碼。
此外,根據(jù)本發(fā)明的又一個具體實施方式
,采用本發(fā)明不存在4環(huán)和無低碼重碼的3/4碼率QC LDPC碼的構(gòu)造方法設(shè)計(N,3,4)碼,考察q=47,a=7,b={2,3,5,7,11}時的4環(huán)特性,生成矩陣行向量最小碼重,行向量直和最小碼重與誤碼率特性,選取集合中的好碼。
在3/(3+K)碼率QC LDPC碼的一般構(gòu)造方法中,令K=1,得到3/4碼率QCLDPC碼的設(shè)計方法,包括下列步驟。
步驟1K=1,使所構(gòu)造的3/(3+K)=3/4碼率QC LDPC碼的碼長N為單位矩陣維數(shù)q的3+K=4倍,N=(3+K)q=4q。這里,單位矩陣維數(shù)q為素數(shù),q=47,信息比特向量長度為M=3q=141,碼長N=4q=188; 步驟2從素數(shù)集合{a}={7}和={2,3,5,7,11}(1<a<47,1<b<47)中選取兩素數(shù)a和b,構(gòu)造具有下式形式的3/4碼率QC LDPC碼的校驗矩陣,即 得到構(gòu)造的H(7,b,47),b=2,3,5,7,11, 步驟3用4環(huán)檢驗方法檢驗H(a,b,q)均無4環(huán),結(jié)果類似附圖2-附圖6。
步驟4由步驟3獲得的H(7,b,47),b=2,3,5,7,11,令 及 步驟5將步驟4得到的兩子矩陣A(7,b,47),b=3,5,7,11和B(7,b,47),b=2,3,5,7,11代入下式得到生成矩陣 G(7,b,47)=[(A-1(7,b,47)B(7,b,47))TI],b=3,5,7,11; 應(yīng)用最小碼重估計方法,得到表3生成矩陣的行向量最小碼重,行向量直和最小碼重。
表3.3/4碼率QC LDPC碼的生成矩陣的行向量最小碼重wmin{gm,m∈{1,...,M},M=3q}與行向量直和最小碼重wmin{mod(gm+gn,2),m,n∈{1,...,M},m≠n,M=3q} G(7,b,47) b=2 b=3 b=5 b=7 b=11 wmin{gm,m∈{1,...,M}7562656771 wmin{mod(gm+gn,2),m,n∈{1,...,M} 2618342418 由表3知, 使min[wmin{gm,m∈{1,...,M},wmin{mod(gm+gn,2),m,n∈{1,...,M},m≠n,M=141}為最大的為H(7,5,47),所以H(7,5,47)為所求。
在所檢驗的5個LDPC碼中,不存在低碼重碼,因為 wmin{gm,m∈{1,...,M}}>=62, wmin{mod(gm+gn,2),m,n∈{1,...,M},m≠n}>=18,并由附圖9中各誤碼率曲線接近得以驗證。
步驟6將長度為3q的信息比特向量與生成矩陣G(7,5,47)相乘得到長度為N的碼cn, 其中un=[un,0,un,1,...,un,N/2-1]是一個隨機選取的信息比特向量。
對上述又一個具體實施方式
涉及的各不規(guī)則QC LDPC碼H(7,b,47),b=2,3,5,7,11進行系統(tǒng)仿真,解碼算法采用BP算法,迭代次數(shù)為20,調(diào)制方式同為BPSK,信道為高斯加性(AWGN)高斯信道。校驗矩陣H(7,b,47),b=2,3,5,7,11對應(yīng)的LDPC碼誤碼率曲線見附圖9。附圖9中的橫軸坐標為信噪比,縱軸坐標為誤碼率。在所檢驗的5個LDPC碼中,不存在低碼重碼,其誤碼率性能接近。H(7,5,47)為本發(fā)明方法得到的好碼的校驗矩陣,其誤碼率性能最好,附圖8中最下方含圓圈的曲線。附圖9中5個LDPC碼的誤碼率曲線接近,與表3的最小碼重結(jié)果吻合。
上述多個具體實施方式
給出了3/(K+3)碼率小范圍參數(shù)集合內(nèi)搜索無4環(huán)無低碼重碼的好碼的方法。只須參照上述3個具體實施方式
的步驟,本發(fā)明的方法可直接得到3/(K+3),K>3的其它碼率、大范圍參數(shù)集合內(nèi)搜索無4環(huán)無低碼重碼的好碼。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準。
權(quán)利要求
1、一種不存在4環(huán)和無低碼重碼的3/(3+K)碼率QC LDPC碼的構(gòu)造方法,其中QC LDPC碼校驗矩陣H(a,b,q)由子矩陣A(a,b,q)和子矩陣B(a,b,q)構(gòu)成,子矩陣A(a,b,q)的矩陣塊列數(shù)為3,子矩陣B(a,b,q)的矩陣塊列數(shù)為K,K為大于1的整數(shù),K由碼率決定,其特征在于,包括下列步驟
步驟1使所構(gòu)造的3/(3+K)碼率QC LDPC碼的碼長N為單位矩陣維數(shù)q的3+K倍,N=(3+K)q,單位矩陣維數(shù)q為素數(shù),信息比特向量長度為M=3q;
步驟2從素數(shù)集合{a}和(1<a<q,1<b<q)中選取兩素數(shù)a和b,構(gòu)造具有下式形式的3/(3+K)碼率QC LDPC碼的校驗矩陣,即
步驟3用4環(huán)檢驗方法檢驗H(a,b,q)是否無4環(huán),如無4環(huán),進到步驟4,否則,返回步驟2,直到取遍集合{a}和內(nèi)所有a和b;
步驟4由步驟3獲得的H(a,b,q),令
及
步驟5將步驟4得到的兩個子矩陣A(a,b,q)和B(a,b,q)代入下式得到生成矩陣
G(a,b,q)=[(A-1(a,b,q)B(a,b,q))TI],
用最小碼重估計方法檢驗
min[wmin{gm(a,b,q),m∈{1,...,M},wmin{mod(gm(a,b,q)+gn(a,b,q),2),m,n∈{1,...,M},m≠n.M=3q}
判斷對于{a},是否為最大,若是,則H(a,b,q)為所求,否則返回步驟2;
步驟6將長度為M=3q的信息比特向量與生成矩陣相乘得到長度為N的碼cn,
cn=unG(a,b,q)=[cn un],
其中un=[un,0,un,1,...,un,M-1]是一個隨機的信息比特向量。
2、根據(jù)權(quán)利要求1的方法,其特征在于,上述步驟2中,校驗矩陣H(a,b,q)中第(s,t)個循環(huán)子矩陣由q×q的單位矩陣I按照行的方向向右循環(huán)移位動Ps,t=asbt位產(chǎn)生。
3、根據(jù)權(quán)利要求1的方法,其特征在于,上述步驟3中,用4環(huán)檢驗方法檢驗校驗矩陣H(a,b,q)是否無4環(huán),是檢查H(a,b,q)HT(a,b,q)除對角線外的元素值為0或1,如果滿足該條件,則校驗矩陣H(a,b,q)無4環(huán),否則校驗矩陣H(a,b,q)有4環(huán)。
4、根據(jù)權(quán)利要求1的方法,其特征在于,上述步驟4中,生成矩陣G(a,b,q)由校驗矩陣H(a,b,q)的子矩陣A(a,b,q)和子矩陣B(a,b,q)計算,G(a,b,q)=[(A-1(a,b,q)B(a,b,q))TI],校驗矩陣的H(a,b,q)的子矩陣A(a,b,q)和子矩陣B(a,b,q)在上述步驟3中給出,即
及
5、根據(jù)權(quán)利要求1的方法,其特征在于,上述步驟5中,用最小碼重估計方法檢驗校驗矩陣H是否有低碼重碼,在
min[wmin{gm(a,b,q),m∈{1,...,M},wmin{mod(gm(a,b,q)+gn(a,b,q),2),m,n∈{1,...,M},m≠n}中,gm(a,b,q)和gn(a,b,q)為生成矩陣G(a,b,q)的行向量,mod(gm(a,b,q)+gn(a,b,q),2),m,n∈{1,...,M},m≠n為生成矩陣G兩行向量gm(a,b,q)和gn(a,b,q)的直和。
6、根據(jù)權(quán)利要求1的方法,其特征在于,K=3時,得到一種不存在4環(huán)和無低碼重碼的1/2碼率QC LDPC碼的構(gòu)造方法,其中步驟2中所構(gòu)造的所述校驗矩陣具有下式形式,即
在步驟4中設(shè)置子矩陣A(a,b,q)和子矩陣B(a,b,q),分別設(shè)置為
及
7、根據(jù)權(quán)利要求1的方法,其特征在于,K=1時,得到一種不存在4環(huán)和無低碼重碼的3/4碼率QC LDPC碼的構(gòu)造方法,其中步驟2中所構(gòu)造的所述校驗矩陣H(a,b,q)的形式如下,即
在步驟4中分別設(shè)置子矩陣A(a,b,q)和子矩陣B(a,b,q),其中
及
8、根據(jù)權(quán)利要求1的方法,其特征在于,K=2時,得到一種不存在4環(huán)和無低碼重碼的3/5碼率QC LDPC碼的構(gòu)造方法,其中步驟2中所構(gòu)造的所述校驗矩陣H(a,b,q)的形式如下,即,
在步驟4中分別設(shè)置子矩陣A(a,b,q)和子矩陣B(a,b,q),其中
及
全文摘要
本發(fā)明公開了一種基于循環(huán)矩陣的LDPC碼的代數(shù)構(gòu)造方法,通過短環(huán)檢驗和最小碼重檢驗調(diào)整循環(huán)矩陣的設(shè)計參數(shù)滿足兩個約束條件的非負素數(shù)a和b,及單位矩陣的維數(shù)q,其中移位單位矩陣的維數(shù)q大小與是否為素數(shù)影響到所設(shè)計的LDPC碼的誤碼率特性。本發(fā)明解決了現(xiàn)有QC LDPC碼設(shè)計可能出現(xiàn)短環(huán)和低碼重碼字的問題。本發(fā)明方法可以檢驗所設(shè)計的碼中低碼重碼字的存在,檢驗4環(huán)的存在。本發(fā)明提出的不規(guī)則準循環(huán)LDPC碼結(jié)構(gòu),將校驗矩陣H分為兩子矩陣A和B,提出子矩陣A的非奇異結(jié)構(gòu),由兩子矩陣A和B得到生成矩陣。通過生成矩陣直接線性編碼。實施例驗證了本發(fā)明所提方法的有效性與良好的比特率性能。
文檔編號H03M13/11GK101488761SQ20091007890
公開日2009年7月22日 申請日期2009年2月27日 優(yōu)先權(quán)日2009年2月27日
發(fā)明者揚 肖 申請人:北京交通大學