LDPC(Low Density Parity Check)碼作為一種高效的線性分組糾錯碼,最初由Gallager發(fā)現(xiàn),故亦稱Gallager碼。當時由于計算機處理能力較差,相關(guān)理論基礎(chǔ)也比較薄弱,該線性分組碼沒有引起人們的重視。直到1996年,MacKay和Neal重新發(fā)現(xiàn)了它,并證明它在運用BP(Belief-Propagation)算法譯碼時具有逼近Shannon限的性能。對于二元輸入的AWGN信道,當碼長為107,R=1/2時,在BPSK調(diào)制下的性能距Shannon限只差0.0045dB,是目前距Shannon限最近的糾錯碼。
多進制LDPC碼作為LDPC碼的一種特殊形式,有實驗表明,多進制LDPC碼的誤比特率性能優(yōu)于二進制LDPC碼,其抗突發(fā)錯誤能力相比二進制LDPC碼也有較大程度的改善,尤其適用于衛(wèi)星通信。雖然與二進制LDPC碼相比,多進制LDPC碼有上述優(yōu)勢,但是它也存在自己的缺點,即計算復雜度遠遠大于二進制LDPC碼。為解決這一難題,本文提出一種低復雜度的多進制LDPC碼的編碼算法。
令啄是GF(q)的非零元素,那么琢啄的位置矢量z(琢啄)是啄的位置矢量z(啄)的右循環(huán)移一位。構(gòu)成一個GF(q)上的(q-1)×(q-1)矩陣A,以啄,琢啄,琢2啄,…,琢q-2啄的位置矢量作為行。這樣A是一個循環(huán)置換矩陣,其每一行是由上面一行右循環(huán)移位得到,第一行是最下面一行右循環(huán)移位得到。A被稱為域元素啄的二維q-1對折散布矩陣。很明顯,0元素的散布矩陣是(q-1)×(q-1)的全0矩陣。
把大小為(q-1)×(q-1)的循環(huán)置換矩陣作為Hd的子矩陣,如式(1)所示:
以下分別對不同碼長、不同有限域的碼字進行MATLAB仿真,同時將多個仿真結(jié)果的誤比特性能進行比較。首先分別構(gòu)造具有準循環(huán)結(jié)構(gòu)的信息位矩陣,具體參數(shù)如下:①m=252,n=504,q=64;②m=378,n=756,q=64;③m=762,n=1524,q=128;④m=1016,n=2032,q=128;校驗位矩陣部分采用雙對角線結(jié)構(gòu);其次對其采用差分編碼方法;最后在高斯信道下,采用BPSK調(diào)制,BP譯碼算法,譯碼迭代次數(shù)取100。不同碼長、不同有限域的LDPC碼誤比特性能的比較如圖1所示。
仿真結(jié)果顯示,當誤比特率為10-3時,基于GF(64)的(378,756)LDPC碼的信噪比優(yōu)于(252,504)LDPC碼0.1dB,當誤比特率為10-5時,基于GF(128)的(1016,2032)LDPC碼的信噪比優(yōu)于(762,1524)LDPC碼0.15dB。這樣的結(jié)果表明,在一定的碼長范圍內(nèi)下,基于同一有限域的LDPC碼長碼要比短碼的性能略優(yōu)。
4結(jié)論
本文介紹了一種基于有限域構(gòu)造LDPC校驗矩陣的方法,信息位矩陣采用準循環(huán)構(gòu)造方法,校驗位矩陣采用雙對角線結(jié)構(gòu),在信息位矩陣的構(gòu)造中,提出一種利用等差數(shù)列確定指數(shù)矩陣的方法,運用此方法構(gòu)造出的LDPC碼不存在4環(huán)。仿真結(jié)果表明了多進制LDPC碼性能的優(yōu)異,信噪比在2.5dB時,基于GF(128)的(762,1524)碼和(1016,2032)碼的誤比特率可達到10-5以下。但是,本文的算法也有一定的局限性,即碼長的大小要與有限域相匹配,不能夠隨意取值,這是本文算法還有待改進的地方。