陳為剛,馮秀川,梁晨馳,邵亞東
(天津大學(xué)電子信息工程學(xué)院,天津300072)
衡量通信系統(tǒng)的指標(biāo)之一是系統(tǒng)的可靠性,而信道編碼是保證數(shù)據(jù)傳輸可靠性的一項(xiàng)標(biāo)準(zhǔn)技術(shù)。通過信道編碼可降低系統(tǒng)的誤比特率(Bit Error Rate,BER),滿足一些通信系統(tǒng)對低BER的要求,例如數(shù)字廣播中所要求的BER至少要低至10-11。
傳統(tǒng)的高效編碼技術(shù),如Turbo碼和低密度奇偶校驗(yàn)(Low-Density Parity-Check,LDPC)碼都可獲得非常低的譯碼門限性能,但設(shè)計(jì)的大多數(shù)高效糾錯碼都存在誤碼平層現(xiàn)象[1-2]。而設(shè)計(jì)基于LDPC碼的高效級聯(lián)碼是解決糾錯碼誤碼平層問題的一個有效方法。例如,中國地面數(shù)字電視傳輸(DTMB)標(biāo)準(zhǔn)采用的LDPC碼與BCH碼的級聯(lián)碼使得系統(tǒng) BER 低至10-12~10-11[3]。歐洲第二代衛(wèi)星數(shù)字電視廣播(DVB-S2)標(biāo)準(zhǔn)也采用LDPC碼與BCH碼的級聯(lián)碼作為信道編碼方案[4]。由P Elias提出的乘積碼[5]也是一種通過短碼構(gòu)造長碼用以提高性能的有效方法。目前基于LDPC碼的乘積碼構(gòu)造已取得有價值的研究成果,文獻(xiàn)[6]中基于IEEE802.16e標(biāo)準(zhǔn)中LDPC碼構(gòu)造了一種低復(fù)雜度的乘積碼;文獻(xiàn)[7]針對移動數(shù)字電視提出一種基于LDPC碼的乘積碼。
本文基于DTMB標(biāo)準(zhǔn)中的LDPC碼與BCH碼構(gòu)造乘積碼,而且構(gòu)造了不同碼長的乘積碼。與DTMB標(biāo)準(zhǔn)中的級聯(lián)碼相比,構(gòu)造的乘積碼也可有效降低LDPC碼的誤碼平層,并且乘積碼的編譯碼運(yùn)算復(fù)雜度沒有增加,只是延時與存儲量增加。
LDPC碼具有良好的性能,但由于誤碼平層問題的存在,使得LDPC碼很難實(shí)現(xiàn)極低的誤比特率。為解決LDPC碼的誤碼平層問題,DTMB標(biāo)準(zhǔn)采用了以BCH碼為外碼,LDPC碼為內(nèi)碼的級聯(lián)碼方案[8]。級聯(lián)碼中出現(xiàn)的錯誤主要由LDPC碼糾正,而BCH碼的作用主要是降低LDPC碼的誤碼平層,使得DTMB系統(tǒng)的誤碼平層低于10-12。
DTMB標(biāo)準(zhǔn)中采用的BCH(762,752,t=1)碼是BCH(1 023,1 013,t=1)碼的縮短碼。DTMB標(biāo)準(zhǔn)提供了等效碼率為0.4,0.6和0.8的3種LDPC 碼。3種碼率的LDPC 碼為 LDPC(7 493,3 048)碼、LDPC(7 493,4 572)碼和LDPC(7 493,6 096)碼。LDPC碼對應(yīng)的生成矩陣中的小矩陣 Gi,j為循環(huán)矩陣,大小為b×b,0≤i≤k-1,0≤j≤c-1。3種碼率的LDPC碼與BCH 碼級聯(lián)得到的3種前向糾錯碼結(jié)構(gòu)分別為:
1)FEC(7 488,3 008)碼:首先 BCH 碼進(jìn)行編碼,得到的4個BCH(762,752)碼字作為LDPC碼的信息位比特,然后LDPC碼編碼得到LDPC(7 493,3 048)碼,再將LDPC(7 493,3 048)碼前面的5個校驗(yàn)位刪除。其中,LDPC(7 493,3 048)碼的生成矩陣參數(shù)為k=24,c=35,b=127。
2)FEC(7 488,4 512)碼:首先BCH碼進(jìn)行編碼,得到的6個BCH(762,752)碼字作為LDPC碼的信息位比特,然后LDPC碼編碼得到LDPC(7 493,4 572)碼,再將LDPC(7 493,4 572)碼前面的5個校驗(yàn)位刪除。其中,LDPC(7 493,4 572)碼的生成矩陣參數(shù)為k=36,c=23,b=127。
3)FEC(7 488,6 016)碼:首先BCH碼進(jìn)行編碼,得到的8個BCH(762,752)碼字作為LDPC碼的信息位比特,然后LDPC碼編碼得到LDPC(7 493,6 096)碼,再將LDPC(7 493,6 096)碼前面的5個校驗(yàn)位刪除。其中,LDPC(7 493,6 096)碼的生成矩陣參數(shù)為k=48,c=11,b=127。
LDPC碼編碼器輸出的碼字,校驗(yàn)比特在前,信息比特在后。例如,等效碼率為0.4的編碼器輸出信號中輸入信息、BCH碼校驗(yàn)比特、LDPC碼校驗(yàn)比特的關(guān)系如圖1所示。圖1 中,DATA1、DATA2、DATA3、DATA4 表示每個 BCH 碼字的信息比特,標(biāo)志“BCH”表示BCH碼的校驗(yàn)比特。
圖1 碼率為0.4的LDPC碼編碼器輸出信號示意圖
基于上述DTMB中的級聯(lián)碼方案,本文提出基于DTMB標(biāo)準(zhǔn)中LDPC碼與BCH碼構(gòu)造更高性能的乘積碼的方法。構(gòu)造的乘積碼中BCH(n1,k1)碼和LDPC(n2,k2)碼的參數(shù)為:n1=762,k1=752,n2=7 488。不同碼率的LDPC碼k2不同。碼率為0.4的LDPC碼與BCH碼構(gòu)造的乘積碼碼字結(jié)構(gòu)如圖2所示。由圖2可得,每一行為一個LDPC碼碼字,除右邊陰影部分外的剩余部分中每a列為一個BCH碼碼字,也即每個LDPC碼包含的每個BCH碼中的比特數(shù)目為a,a為762的因子。由此可知該乘積碼中,BCH碼碼字?jǐn)?shù)目為LDPC碼的信息比特數(shù)目除以a,即k2/a,LDPC碼碼字的數(shù)目為縮短的BCH碼碼長除以a,即n1/a。若a=762,該乘積碼就退化為DTMB中的級聯(lián)碼,成為這里提出方法的特例。表1給出3種碼率的LDPC碼構(gòu)造的乘積碼中BCH碼與LDPC碼的數(shù)目,在該表中a的取值分別為1、2和3。不同的a值構(gòu)造的乘積碼的碼長不同。
圖2 碼率為0.4的LDPC碼與BCH碼構(gòu)造的乘積碼
表1 基于LDPC碼與BCH碼的乘積碼的構(gòu)成
以下介紹乘積碼的編譯碼過程。乘積碼編碼過程:首先進(jìn)行BCH碼編碼,一個乘積碼中的所有BCH碼編碼完成后再進(jìn)行LDPC碼編碼,LDPC碼編碼完成也即整個乘積碼的編碼過程結(jié)束。乘積碼具體編碼過程如下:
1)BCH碼編碼
圖2所示的乘積碼結(jié)構(gòu)中,輸入的信息比特序列(圖2中無陰影部分所示)按列劃分為k2/a列,每一列又包含a列且包含的比特數(shù)目為k1,每一列的k1個比特為一個BCH碼碼字的信息比特。k1個比特利用循環(huán)碼的編碼方式進(jìn)行編碼。由于BCH(n1,k1)碼為縮短BCH碼,所以在BCH碼編碼前需要添加261 bit的0,編碼完成后將261 bit的0舍棄,不進(jìn)行傳輸。BCH碼編碼完成后共有k2/a個BCH碼碼字。
2)LDPC碼編碼
BCH碼編碼完成后,(k2/a)×n1個比特劃分為n1/a行,每一行包含k2個比特,每一行的k2個比特為一個LDPC碼碼字的信息比特。由于DTMB中的LDPC碼為準(zhǔn)循環(huán)LDPC碼,生成矩陣為準(zhǔn)循環(huán)矩陣,所以LDPC碼的編碼可采用移位寄存器編碼實(shí)現(xiàn)[9]。根據(jù)不同LDPC碼碼率對應(yīng)的生成矩陣完成LDPC碼編碼。編碼完成后得到n1/a個碼率為R2=k2/n2的LDPC碼碼字,得到的乘積碼碼長為(n1/a)×n2bit。
編碼完成后對碼字進(jìn)行發(fā)送,信道模型為加性高斯白噪聲信道。接收端根據(jù)信道接收值進(jìn)行譯碼,乘積碼的譯碼過程為:先對LDPC碼進(jìn)行譯碼,n1/a個LDPC碼譯碼完成后,再對k2/a個BCH碼進(jìn)行譯碼。乘積碼譯碼過程具體實(shí)現(xiàn)如下:
1)根據(jù)信道接收值計(jì)算出每個LDPC碼碼字的先驗(yàn)概率信息,從而實(shí)現(xiàn)LDPC碼的迭代譯碼。LDPC碼譯碼采用偏移修正最小和(Offset Min -Sum,OMS)譯碼算法[10],在一個乘積碼中需要對n1/a個LDPC碼碼字進(jìn)行譯碼。
2)n1/a個LDPC碼譯碼完成后,BCH碼采用循環(huán)碼的捕錯譯碼算法或者是Berlekamp-Massey(BM)譯碼算法進(jìn)行譯碼,需要分別對k2/a個BCH碼進(jìn)行譯碼。
與級聯(lián)碼相比,本文構(gòu)造的性能優(yōu)越的乘積碼的編譯碼復(fù)雜度并沒有增加,且碼長明顯增大,從而性能有一定的改善。但由于碼長變長,編譯碼過程中所需的存儲量增加,延時也會增大。
DTMB中3種碼率的LDPC碼與BCH碼構(gòu)造出3種不同的乘積碼,而通過設(shè)置不同的a值可得到不同碼長的乘積碼。本文對3種碼率和3種a值的乘積碼在加性高斯白噪聲(Additive White Gaussian Noise,AWGN)信道下進(jìn)行仿真,調(diào)制方式為二進(jìn)制相移鍵控(Binary Phase Shift Keying,BPSK)。將仿真得到的乘積碼的性能與對應(yīng)碼率的級聯(lián)碼的性能進(jìn)行對比,仿真結(jié)果如圖3~圖5所示。其中,BCH(1 023,1 013)碼的生成多項(xiàng)式為g(x)=1+x3+x10,LDPC碼OMS譯碼算法中采用的偏移量修正因子為0.6[11],LDPC 碼的最大迭代譯碼次數(shù)為30 次。
3 LDPC碼碼率為0.4時對應(yīng)的級聯(lián)碼與乘積碼的性能對比
圖5 LDPC碼碼率為0.8時對應(yīng)的級聯(lián)碼與乘積碼的性能對比
由圖3中級聯(lián)碼與乘積碼的性能對比曲線可看出,當(dāng)誤比特率低于5×10-4時,乘積碼的性能優(yōu)于級聯(lián)碼的性能。在誤比特率為1×10-8時,a=1對應(yīng)的乘積碼相比于級聯(lián)碼有約為0.12 dB的編碼增益,a=2,a=3所對應(yīng)的乘積碼的編碼增益約為0.03 dB。由圖4可得,在誤比特率為1×10-7時,與級聯(lián)碼相比,a=1對應(yīng)的乘積碼的編碼增益約為0.11 dB,a=2和a=3對應(yīng)的乘積碼的編碼增益約為0.02 dB。圖5中,誤比特率低于1×10-3時,乘積碼性能優(yōu)于級聯(lián)碼的性能。在誤比特率為1×10-7時,與級聯(lián)碼相比,a=1對應(yīng)的乘積碼的編碼增益約為0.12 dB,a=2和a=3對應(yīng)的乘積碼的編碼增益約為0.05 dB。綜合圖3~圖5,a=1時,乘積碼較級聯(lián)碼有一定的編碼增益,不足是譯碼需要的存儲量和譯碼延時增加。由于本文的性能對比采用計(jì)算機(jī)仿真,僅測試到BER為1×10-7,隨著錯誤率的降低,乘積碼的性能將進(jìn)一步改善,這將在硬件平臺上進(jìn)行更低誤比特率下的編碼增益的驗(yàn)證。
基于DTMB中LDPC碼與BCH碼,本文實(shí)現(xiàn)了與級聯(lián)碼編譯碼復(fù)雜度相當(dāng)?shù)某朔e碼的構(gòu)造。仿真結(jié)果表明,與級聯(lián)碼相比,在誤比特率為1×10-7且碼率相同時,構(gòu)造的不同碼長的乘積碼均能獲得編碼增益,有一定的應(yīng)用價值;每個LDPC碼中包含的每個BCH碼的比特數(shù)目為2和3時的乘積碼較級聯(lián)碼的增益非常有限。未來的研究中將在硬件平臺上驗(yàn)證對比級聯(lián)碼與乘積碼的性能。
[1] GALLAGER R G.Low -density parity- check codes[J].IRE Trans.Information Theory,1962,8(1):21-28.
[2] RICHARDSON T.Error floors of LDPC codes[C]//Proc.41st Annual Allerton Conference on Communication,Control and Computing.Monticello,USA:IEEE Press,2003:1426-1435.
[3]GB 20600—2006,數(shù)字電視地面廣播傳輸系統(tǒng)幀結(jié)構(gòu)、信道編碼和調(diào)制[S].2006.
[4] YADAV M K,PARHIK K.Design and implementation of LDPC codes for DVB-S2[C]//Proc.39th Asilomar Conference on Signals,Systems and Computers.Pacific Grove,California,USA:IEEE Press,2005:723-728.
[5] ELIASP.Error-free coding[J].IRE Trans.Information Theory,1954,IT-4(4):29-37.
[6] CHEN W G,DONG T X.Low complexity product codes with LDPC codes achieving ultra low BER[C]//Proc.14th International Conference on Communication Technology.Chengdu,China:IEEE Press,2012:1312-1316.
[7] LIY Q,LIU B,RONGB,etal.On the performance of LDPC-RSproduct codes formobile DTV[C]//Proc.International Symposium on Broadband Multimedia and Broadcasting.Seoul,Korea:IEEE Press,2012:1-5.
[8]潘長勇,王軍,宋健,等.中國地面數(shù)字電視廣播傳輸標(biāo)準(zhǔn)概要[J].電視技術(shù),2006,30(10):45-47.
[9] LIZW,CHEN L,ZENG L Q,et al.Efficientencoding of quasi-cyclic low-density parity-check codes[J].IEEE Trans.Communications,2006,54(1):71-81.
[10] CHEN J,F(xiàn)OSSORIERM PC.Density evolution for two improved BP-based decoding algorithms of LDPC codes[J].IEEE Communications Letters,2002,6(5):208-210.
[11]馮林浩.基于DTMB的糾錯碼譯碼譯碼器的研究與設(shè)計(jì)[D].成都:電子科技大學(xué),2010.