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