蔣宛霖,劉 昊
(西安郵電大學(xué) 通信與信息工程學(xué)院,陜西 西安 710061)
雖然光纖及光器件具有低損耗,高穩(wěn)定性等優(yōu)越性能,使得光通信系統(tǒng)具有抗干擾能力較強(qiáng),穩(wěn)定性好等優(yōu)勢(shì),但高速長(zhǎng)距離大容量光通信系統(tǒng)中仍存在多種產(chǎn)生誤碼的因素。例如,光放大器的自發(fā)輻射噪聲(ASE)、光纖偏振模色散(PMD)以及光的非線性效應(yīng)如自相位調(diào)制(SPM)和受激布里淵散射(SBS),這些都會(huì)劣化光通信系統(tǒng)的性能。前向糾錯(cuò)技術(shù)(FEC)利用監(jiān)督碼元產(chǎn)生的數(shù)據(jù)相關(guān)性來(lái)糾正信道中產(chǎn)生的錯(cuò)碼,提高光通信系統(tǒng)的可靠性;因此,前向糾錯(cuò)技術(shù)廣泛應(yīng)用于高速長(zhǎng)距離大容量光通信系統(tǒng)中。
應(yīng)用在光通信系統(tǒng)中的差錯(cuò)控制碼有Turbo碼、RS碼、LDPC(Low Density Parity Check,低密度奇偶校驗(yàn))碼等,其中LDPC碼是近些年研究的熱點(diǎn)[1-4],有良好的糾錯(cuò)性能[5],編碼具有較大的靈活性,譯碼復(fù)雜度低,運(yùn)算量不會(huì)因?yàn)榇a長(zhǎng)的增加而急劇增加[6]。
研究大容量光通信系統(tǒng)中規(guī)則LDPC碼的性能,討論不同列重和迭代次數(shù)對(duì)系統(tǒng)性能的影響,尋求性能優(yōu)異的列重,研究誤碼率隨迭代次數(shù)變化曲線的收斂性,為不斷地嘗試改進(jìn)LDPC編譯碼的各種方案或是將LDPC碼與其它FEC碼進(jìn)行級(jí)聯(lián),以獲得糾錯(cuò)性能更好的超強(qiáng)FEC性能提供借鑒。
LDPC碼屬于線性分組碼,由奇偶校驗(yàn)碼演變而來(lái),因其H矩陣中“1”碼數(shù)量稀疏,被稱為低密度奇偶校驗(yàn)碼(Low density parity-check code),簡(jiǎn)稱LDPC碼。其稀疏的特性,使其能快速地實(shí)現(xiàn)編碼和譯碼,為其在大容量高速光通信系統(tǒng)的應(yīng)用提供了可能性。
LDPC碼有兩種表示方法,一種是由H矩陣表示,另一種是由Tanner圖來(lái)表示。H矩陣每行“1”的個(gè)數(shù)稱為行重,每列“1”的個(gè)數(shù)稱為列重,按照其稀疏校驗(yàn)矩陣H每列中“1”的個(gè)數(shù)是否相同,可分為規(guī)則LDPC碼和不規(guī)則LDPC碼,列重相同的為規(guī)則LDPC碼。
Gallager隨機(jī)構(gòu)造法構(gòu)造H校驗(yàn)矩陣,采用LU分解法[7]實(shí)現(xiàn)規(guī)則LDPC編碼。若碼長(zhǎng)為n 的LDPC碼字T以系統(tǒng)碼的形式來(lái)表示,則前k比特是信息位,剩余的n-k比特是校驗(yàn)比特,滿足如式(1)所示。
H×TT=0
(1)
將產(chǎn)生的H矩陣按列分為A、B兩部分,如式(2)所示,碼字T分為兩部分s和P,如式(3)所示。
H=[B?A]
(2)
T=[s?P]
(3)
A對(duì)應(yīng)校驗(yàn)部分,是一個(gè)非稀疏的n-k方陣, B對(duì)應(yīng)信息部分,是一個(gè)稀疏的(n-k)×k矩陣;s對(duì)應(yīng)k個(gè)信息位,sT是長(zhǎng)度為k的列向量,P對(duì)應(yīng)n-k個(gè)校驗(yàn)位,PT是長(zhǎng)度為n-k的列向量,將式(2)、式(3)代入式(1)得:
PT=A-1×B×sT
(4)
再將A進(jìn)行LU分解得式(5):
A=L×U
(5)
其中L是下三角矩陣,U是上三角矩陣,將式(5)代入式(4)得:
PT=(LU)-1×B×sT=U-1×L-1×B×sT
(6)
其中L、U都是三角矩陣,并不需求逆,可直接與矢量相乘,可以降低編碼復(fù)雜度。
LDPC碼最常用的譯碼算法是置信度傳播譯碼算法(簡(jiǎn)稱BP算法),這是一種性能優(yōu)越的迭代概率譯碼算法,之后又出現(xiàn)了用對(duì)數(shù)似然比表示的BP算法、最小和譯碼算法。已經(jīng)證明其中最小和譯碼算法性能和BP算法性能有很好的近似,但計(jì)算量比BP算法和對(duì)數(shù)似然比表示的BP算法都要簡(jiǎn)單,仿真中譯碼采用的是最小和譯碼算法[8]。
圖1 規(guī)則LDPC碼系統(tǒng)仿真框圖
為研究不同列重和迭代次數(shù)的規(guī)則LDPC碼在大容量光通信系統(tǒng)的性能,采用數(shù)據(jù)仿真,仿真框圖如圖1所示,首先產(chǎn)生偽隨機(jī)信源S,輸入到LDPC碼編碼器,編碼器通過(guò)Gallager隨機(jī)法生成的H校驗(yàn)矩陣,將S編碼成碼字T。隨后進(jìn)行BPSK調(diào)制,將0、1單極性碼變成-1、+1雙極性碼,進(jìn)入大容量光通信信道中傳輸[9],再經(jīng)過(guò)BPSK解調(diào)器解調(diào)和LDPC碼譯碼器譯碼,比較譯碼后的碼字S′和S,統(tǒng)計(jì)得出光通信系統(tǒng)誤碼率。
列重不同,構(gòu)造出來(lái)的H矩陣也不同,編碼后得到不同的規(guī)則LDPC碼,它們的性能也不同。為研究相同碼長(zhǎng)下,不同列重的H校驗(yàn)矩陣編碼后的規(guī)則LDPC碼的性能差異,在碼長(zhǎng)相同的情況下,對(duì)不同列重的規(guī)則LDPC碼的誤碼率性能進(jìn)行了數(shù)據(jù)仿真。取規(guī)則LDPC碼長(zhǎng)n=100,碼率1/2,迭代次數(shù)取20,列重取兩組值,第一組列重較小,分別為2,3,4,第二組列重較大,分別為 7,9,11,該規(guī)則LDPC碼的誤碼率隨信噪比變化的仿真結(jié)果如圖2、圖3所示。
圖2 小列重誤碼率隨信噪比變化的曲線
圖3 大列重誤碼率隨信噪比變化的曲線
從圖2可以看出,在第一組(列重取值2,3,4)中,列重4的誤碼率最低,列重3的次之,列重2的最高,可見(jiàn),在列重較小時(shí),隨著列重的增加,規(guī)則LDPC碼的誤碼率降低。從圖3可以看出,在列重取值較大(7,9,11)時(shí),列重7的誤碼率最低,列重9的次之,列重11的最高,可見(jiàn),在列重較大時(shí),隨著列重增大,規(guī)則LDPC碼的誤碼率升高??梢?jiàn),列重的取值不能太小也不能太大,這是由于H矩陣列重的值決定H矩陣的“1”碼的數(shù)量,列重太大,“1”碼的數(shù)量增多,Tanner圖中短環(huán)的數(shù)量就會(huì)增多,而短環(huán)會(huì)使譯碼性能急劇惡化。而“1”碼的數(shù)量少時(shí),譯碼時(shí)得到的校驗(yàn)信息少,也會(huì)使譯碼性能下降,誤碼率增高。
取規(guī)則LDPC碼的碼長(zhǎng)n為64,碼率1/2,信噪比為3,迭代次數(shù)為20,誤碼率隨列重的仿真結(jié)果如圖4所示。
圖4 誤碼率隨列重變化曲線
由圖4可以明顯地看出列重為5的規(guī)則LDPC碼的誤碼率要比其它列重下的規(guī)則LDPC碼的誤碼率低。信道編碼追求的是在確定的冗余度時(shí),達(dá)到盡可能好的誤碼率性能。因此,在相同的碼字開(kāi)銷下,找到誤碼率較小的列重值,具有重要的意義。
最小和譯碼算法,它是軟判決迭代譯碼BP譯碼的改進(jìn),每進(jìn)行一次迭代,譯碼的信息進(jìn)行一次更新,迭代次數(shù)決定校驗(yàn)信息更新的次數(shù),是規(guī)則LDPC碼譯碼的重要參數(shù)。取碼長(zhǎng)n=100,碼率1/2,列重為5,迭代次數(shù)分別為10、20、30,仿真得到誤碼率隨信噪比變化的結(jié)果如圖5所示。
圖5 不同迭代次數(shù),誤碼率隨信噪比變化曲線
從圖5可以看出,迭代次數(shù)為20時(shí),規(guī)則LDPC碼的誤碼率要比迭代次數(shù)為10時(shí)的誤碼率有明顯的降低,但是繼續(xù)增加迭代次數(shù)到30時(shí),規(guī)則LDPC碼的誤碼率下降得不明顯。
進(jìn)一步探究不同迭代次數(shù)下規(guī)則LDPC碼的性能,對(duì)相同碼長(zhǎng),相同碼率,相同信噪比,相同列重下,研究規(guī)則LDPC碼誤碼率隨迭代次數(shù)的變化規(guī)律。取規(guī)則LDPC碼的碼長(zhǎng)n為100,碼率1/2,信噪比為2,列重為5,誤碼率隨迭代次數(shù)的仿真結(jié)果如圖6所示。
圖6 不同迭代次數(shù),誤碼率隨迭代次數(shù)變化曲線
從圖6可以看出,規(guī)則LDPC碼的誤碼率隨迭代次數(shù)的增大而減小,迭代次數(shù)達(dá)到20后,迭代次數(shù)再增加,誤碼率性能沒(méi)有大的提高,所以在誤碼率曲線下降平緩的迭代次數(shù)區(qū)域中盡量選取迭代次數(shù)較小的值,既可以達(dá)到系統(tǒng)誤碼率的要求,同時(shí)也能減小迭代次數(shù)的增加給系統(tǒng)帶來(lái)的時(shí)延,節(jié)約系統(tǒng)資源。
仿真研究發(fā)現(xiàn):當(dāng)列重取值較小時(shí),隨著列重的增大系統(tǒng)誤碼率降低,規(guī)則LDPC碼的性能提高;當(dāng)列重取值較大時(shí),隨著列重的增大系統(tǒng)誤碼率升高,規(guī)則LDPC碼的性能下降。進(jìn)一步研究發(fā)現(xiàn)規(guī)則LDPC碼在碼長(zhǎng)一定時(shí),存在最佳的列重,能夠使其相比于其他列重的誤碼率性能更好。此外,在譯碼端,隨著迭代次數(shù)的增加,誤碼率的性能越好,但是迭代次數(shù)增加到一定值時(shí),誤碼率不隨著迭代次數(shù)的增加出現(xiàn)大的降低,所以在譯碼選取最大迭代次數(shù)時(shí),要選取合適的迭代次數(shù),既能達(dá)到性能的要求,同時(shí)又能盡量減小迭代次數(shù),節(jié)約耗費(fèi)的時(shí)間和軟硬件資源。
[1] Sugihara K, Miyata Y, Sugihara T,et al. A spatially-coupled type LDPC Code with an NCG of 12 dB for optical transmission beyond 100 GB/s[C]. Optical Fiber Communication Conference and Exposition and the National Fiber Optic Engineers Conference, 2013:17-21.
[2] 袁建國(guó),王望,梁天宇. 一種高速長(zhǎng)距離光通信系統(tǒng)中 QC-LDPC 碼的構(gòu)造方法[J]. 光電子·激光,2012,23(5):906-909.
[3] 袁建國(guó),劉文龍,黃勝,等. 光通信中基于有限域加群的一種QC-LDPC碼[J]. 光電子·激光,2013,24(1):75-78.
[4] Djordjevic I B, Cvijetic M, Xu L, et al. Using LDPC-coded modulation and coherent detection for ultra high-speed optical communications [J]. Lightwave Technol,2007(25):3619-3625.
[5] MacKay D J C. Good error-correcting codes based on very sparse matrices [J].IEEE Tran.Info.Theory, 1999,45(2):399-431.
[6] Richardson T, Urbanke R .The Capacity of Low-Density Parity Check Codes under Message-Passing Decoding [J]. IEEE Trans.Info.Theory,2001,47(2):599-618.
[7] 西瑞克斯通信設(shè)備有限公司.無(wú)線通信的MATLAB和FPGA實(shí)現(xiàn)[M].北京:人民郵電出版社,2009:224-225.
[8] 賀鶴云.LDPC碼基礎(chǔ)與應(yīng)用[M].北京:人民郵電出版社,2009:133-134.
[9] 袁建國(guó).高速超長(zhǎng)距離光通信系統(tǒng)中超強(qiáng)FEC碼型的研究[D].重慶:重慶大學(xué)光電工程學(xué)院,2007:11-15.