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