穆錫金,白寶明,賈 倩
(1.中國電子科技集團公司第五十四研究所,河北 石家莊 050081;2.西安電子科技大學 綜合業(yè)務網(wǎng)理論及關鍵技術國家重點實驗室,陜西 西安 710071)
低密度校驗(low-density parity-check,LDPC)碼是一類逼近信道容量限的線性分組碼,是由Gallager于20世紀60年代首先提出的[1]。LDPC 碼自提出以后被忽視了很久,直到20世紀90年代,一些學者通過對圖碼和迭代譯碼的研究,發(fā)現(xiàn)了具有稀疏校驗矩陣的線性分組碼在迭代譯碼算法下的性能也能夠逼近信道容量限[2],進而導致了LDPC碼的重新發(fā)現(xiàn)和廣泛研究。由于具有高譯碼吞吐量、低錯誤平層、自交織、自校驗和碼參數(shù)設計靈活等優(yōu)點, LDPC碼已經(jīng)被廣泛地應用于蜂窩通信、光纖通信、深空通信、衛(wèi)星數(shù)字廣播和大數(shù)據(jù)存儲等多種系統(tǒng)中[3]。
實際的無線通信系統(tǒng)往往需要碼率可變的LDPC碼來適應無線信道的時變特性,同時為了降低系統(tǒng)的整體復雜度,多個碼率的碼應該能用一套編譯碼器實現(xiàn)[4-5]。碼率可變的LDPC 碼成為當下研究熱點,其主要包括兩類:碼長固定的多速率LDPC(Multi-rate LDPC,MR-LDPC)碼和信息位長度固定的速率兼容LDPC(Rate-compatible LDPC,RC-LDPC)碼,其中MR-LDPC碼是在固定碼長的條件下,通過改變信息位長度實現(xiàn)碼率可變的;而RC-LDPC碼是在固定信息位長度的條件下,通過改變碼長實現(xiàn)碼率可變的。可以通過打孔和縮短的方法構造碼率范圍較廣的RC-LDPC碼[6-8],其優(yōu)化的打孔和縮短模式保障了所構造的碼具有較好的性能。除了打孔和縮短方法外,擴展也是一種構造RC-LDPC碼的有效方法,基于該方法構造的碼具有較廣的碼率范圍和較好的性能[11]。MR-LDPC碼的碼長不隨著碼率的變化而改變,因此適合于一些需要碼長固定的場景,如多層編碼調制系統(tǒng)等。Casado等人利用行合并的方法構造了一類MR-LDPC碼,所得到的碼在各個碼率下都具有較低的錯誤平層[12]。王琪等人通過修正漸進邊增長的方法構造了一類具有準循環(huán)結構的MR-LDPC碼,所構造的碼具有低復雜度的編譯碼結構[13]。
本文基于刪除方法構造了一類碼長固定的多速率LDPC碼。與此同時,利用LDPC碼的疊加構造整體設計所有碼的校驗矩陣,其構造的碼易于編譯碼器硬件實現(xiàn),并且能夠用校驗矩陣直接編碼。仿真結果表明,所構造的碼在多種碼率下都具有較好的瀑布區(qū)和平層區(qū)性能。
刪除是一種構造多速率碼的有效方法,其過程是先構造一個高碼率母碼,然后在保持碼長不變的條件下減少高碼率母碼的信息位數(shù)目,進而獲得低碼率的碼。圖1和圖2分別展示了應用刪除方法得到低碼率LDPC碼時校驗矩陣和Tanner圖的變化,可以看到,校驗矩陣的列數(shù)沒有變化,但行數(shù)增加了;Tanner圖中對應信息比特的變量節(jié)點數(shù)目減少了,但變量節(jié)點的整體數(shù)目沒有變化,與此同時,校驗節(jié)點的數(shù)目增加了。
圖1 校驗矩陣的變化
圖 2 Tanner圖的變化
LDPC碼的疊加構造最早是由Lin等人于2001年提出的[14]。構造過程涉及了一個大小為M×N的基矩陣B=[bm,n]0≤m Hmask=Z?H=[zm,n·Am,n]0≤m (1) 當zm,n=1時,zm,n·Am,n=Am,n;當zm,n= 0時,zm,n·Am,n=O,即一個全零矩陣。其中二元矩陣Z被稱為掩模矩陣,經(jīng)過掩模操作后得到的矩陣陣列Hmask的零空間即可定義一個LDPC碼。 按照刪除的過程,首先構造一個具有系統(tǒng)形式的高碼率LDPC碼,為了在碼長固定的條件下降低碼率,需要在減少信息位的同時增加校驗位。其中的難點在于:如何在保持已有高碼率LDPC碼校驗矩陣結構的前提下,實現(xiàn)信息位的減少和校驗位的增加。針對以上難點,采用LDPC碼的疊加構造來整體設計所有碼的校驗矩陣。 假設要構造的MR-LDPC碼的碼集合為{C1(n,k1),C2(n,k2),…,CS(n,kS)},其中k1>k2>…>kS。碼Cs(n,ks)對應的碼長為n,信息位長度為ks,碼率為rs=ks/n,校驗矩陣為Hmr,s,其中s∈{1,2,…,S}。圖3展示了MR-LDPC碼校驗矩陣的設計流程,首先基于有限域設計疊加構造中的基矩陣B;然后用循環(huán)置換矩陣(Circulant Permutation Matrix,CPM)作為疊加矩陣集合中的成員矩陣,并對基矩陣進行擴展操作,得到矩陣陣列H;分別選擇H中的部分行陣列,構成矩陣陣列H1,H2,…HS,將H1,H2,…HS分別與給定的掩模矩陣Z1,Z2,…ZS進行掩模操作,最終得到各個碼率的校驗矩陣Hmr,1,Hmr,2,…,Hmr,S。 圖 3 MR-LDPC碼校驗矩陣的設計流程 可以利用有限域來設計基矩陣[15],假設GF(q)是包含q個元素的有限域,α為GF(q)的一個本原元,GF(q)中所有的元素可以表示為α冪次的形式,其中0=α-∞,1=α0,α1,α2,…,αq-2,S1={αi0,αi1,…,αiM-1}和S2={αj0,αj1,…,αjN-1}是GF(q)的2個子集,其中im,jn∈{0,1,…,q-2},0≤m (2) 式中,αcm,n=αim-αjn,0≤m 擴展操作是將基矩陣B中的元素αcm,n替換成大小為(q-1)×(q-1)且循環(huán)系數(shù)為cm,n的CPM,經(jīng)過擴展操作可以得到矩陣陣列H,分別從H中選擇前M1,M2,…,MS個行陣列就可得到矩陣陣列H1,H2,…HS,其中Ms=(n-ks)/(q-1)。 掩模矩陣是由“0”元素和“1”元素組成的二元矩陣,可以通過計算機優(yōu)化搜索或代數(shù)理論設計的方法得到。將H1,H2,…HS分別與給定的掩模矩陣Z1,Z2,…ZS進行掩模操作,得到各個碼率的校驗矩陣Hmr,1,Hmr,2,…,Hmr,S,具體過程為: Hmr,s=Zs?Hs=[zm,n·Am,n]0≤m (3) 式中,當zm,n=1時,zm,n·Am,n=Am,n;當zm,n= 0時,zm,n·Am,n=O。 本節(jié)根據(jù)上述方法構造了MR-LDPC碼,并通過數(shù)值仿真對所構造的碼的性能進行檢測和驗證,本節(jié)的所有仿真都是假設碼字經(jīng)過二進制相移鍵控(Binary Phase Shift Keying,BPSK)調制后在加性高斯白噪聲(Additive White Gaussian Noise,AWGN)信道中傳輸,譯碼器采用和積譯碼算法(Sum-product Algorithm,SPA),最大譯碼迭代次數(shù)為50次。 所構造碼的碼長為2376比特,碼率為5/6、2/3、1/2。選擇有限域GF(67),本原元α= 2,集合S1包含18個從GF(67)中隨機選取的元素,集合S2包含36個從GF(67)中隨機選取的元素,根據(jù)S1和S2可以構造大小為18×36的基矩陣B。對基矩陣B進行擴展操作可以得到矩陣陣列H,分別從H中的選擇前6、12、18個行陣列就可以得到矩陣陣列H1,H2,H3。 圖4、圖5及圖6分別展示了給定的掩模矩陣Z1,Z2,Z3的散點圖。 圖4 掩模矩陣Z1的散點圖 圖5 掩模矩陣Z2的散點圖 圖6 掩模矩陣Z3的散點圖 將H1,H2,H3分別與給定的掩模矩陣Z1,Z2,Z3進行掩模操作,最終得到各個碼率的校驗矩陣Hmr,1,Hmr,2,Hmr,3。 圖7展示了所構造的MR-LDPC碼的誤比特率(Bit Error Rate,BER)性能。 圖7 所構造的MR-LDPC碼的性能 可以看到,所構造的碼在各個碼率下都具有較好的瀑布區(qū)性能,并且在BER等于10-6時沒有明顯的錯誤平層。圖7還展示了所構造的MR-LDPC碼與IEEE 802.16e標準[16]中具有相似碼率和碼長的LDPC碼之間的性能比較,可以看到,本文所構造的MR-LDPC碼具有更好的性能。 基于刪除方法構造了碼長固定的多速率LDPC碼,在碼長不變的前提下,通過減少高碼率母碼信息位數(shù)目得到低碼率碼。通過疊加構造法整體設計了不同碼率的LDPC碼的校驗矩陣,最終構造的碼具有易于編譯碼器硬件實現(xiàn)的準循環(huán)結構,并且能夠用校驗矩陣直接編碼。仿真結果表明,與IEEE 802.16e標準中具有相似碼率和碼長的LDPC碼相比,所構造的碼在較大的碼率范圍內都具有較好的瀑布區(qū)和平層區(qū)性能。3 基于刪除方法構造MR-LDPC碼
4 數(shù)值結果
5 結束語