文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2017.07.025
中文引用格式: 燕威,朱巖. CCSDS標(biāo)準(zhǔn)低并行度高速LDPC編碼方案[J].電子技術(shù)應(yīng)用,2017,43(7):96-99,109.
英文引用格式: Yan Wei,Zhu Yan. An encoder architecture scheme with low parallel and high speed for LDPC codes based CCSDS standard[J].Application of Electronic Technique,2017,43(7):96-99,109.
0 引言
空間咨詢數(shù)據(jù)委員會(huì)(CCSDS)推薦7/8碼率LDPC碼[1]作為近地空間通信信道編碼方案[2-5]。這種LDPC碼可以提供非常低的誤碼平臺(tái)和較快的譯碼收斂速度[6-8],非常適合空間通信應(yīng)用場(chǎng)景。7/8碼率LDPC碼串行編碼的結(jié)構(gòu)[9-12]符合LDPC碼線性分組碼的特點(diǎn),具有編碼結(jié)構(gòu)簡(jiǎn)單、編碼速率快和編碼器占用邏輯資源較少等優(yōu)點(diǎn)。但是,隨著空間通信要求的提高,串行編碼的編碼速率提升受到限制。
本文提出一種低并行度高速編碼結(jié)構(gòu)設(shè)計(jì)。該編碼結(jié)構(gòu)通過合理的插“0”和改變生成矩陣結(jié)構(gòu),實(shí)現(xiàn)高速低并行度編碼。
1 CCSDS標(biāo)準(zhǔn)LDPC編碼原理
1.1 編碼的數(shù)學(xué)原理
LDPC的編碼本質(zhì)為矩陣的乘法運(yùn)算。以(8 176,7 154)碼[2]為例,輸入7 154位待編碼信息位,編碼產(chǎn)生1 022位奇偶校驗(yàn)位,編碼輸出為8 176位系統(tǒng)碼。
待編碼的信息位數(shù)據(jù)為長(zhǎng)度為7 154的信息向量n:
矩陣G分為兩部分,左邊是7 154×7 154的單位矩陣,其中I為511×511的單位子矩陣,0是511×511的零矩陣;右邊是矩陣Bi,j(i=1,2…14;i=1,2),Bi,j是511×511的循環(huán)矩陣。矩陣的左邊部分用于生成7 154位信息碼,右邊部分用于生成1 022位校驗(yàn)碼。
編碼生成的系統(tǒng)碼向量N:
其中bi,j為循環(huán)矩陣Bi,j的第一行。這樣,在采用可編程邏輯器件實(shí)現(xiàn)編碼器時(shí),只需要保存28個(gè)循環(huán)子矩陣Bi,j各自的第一行數(shù)據(jù)bi,j(i=1,2…14;j=1,2)即可,減少硬件資源使用。
1.2 編碼器的結(jié)構(gòu)設(shè)計(jì)原理
圖1為串行編碼器結(jié)構(gòu)設(shè)計(jì)原理圖。為了適應(yīng)循環(huán)編碼,將待編碼的信息向量n分割為14個(gè)向量n=(p1 p2 … p14),且:
編碼過程如下:
(1)初始時(shí)刻,循環(huán)移位寄存器1中存儲(chǔ)的數(shù)據(jù)為b1,1,循環(huán)移位寄存器2中存儲(chǔ)的數(shù)據(jù)是b1,2。累加器1中為511位0,累加器2中為511位0。
同理,第2~511個(gè)時(shí)鐘周期內(nèi),每個(gè)時(shí)鐘周期循環(huán)移位寄存器1和2循環(huán)右移1位,對(duì)輸入信息位重復(fù)第1個(gè)時(shí)鐘周期相似的過程。511個(gè)時(shí)鐘周期后,第一組循環(huán)校驗(yàn)矩陣結(jié)束。然后將循環(huán)移位寄存器1中數(shù)據(jù)b1,1更換為b2,1,循環(huán)移位寄存器2中數(shù)據(jù)b1,2更換為b2,2。
(3)對(duì)輸入的p2,p3,…,p14向量,重復(fù)與p1輸入的處理相同的過程。當(dāng)所有的7 154位待編碼數(shù)據(jù)全部處理完畢,將輸入的7 154位待編碼數(shù)據(jù)和編碼得到的累加器1、累加器2的數(shù)據(jù)組合為8 176位系統(tǒng)碼,即最后得到的編碼數(shù)據(jù)幀。
2 串行編碼實(shí)現(xiàn)及存在的問題
CCSDS給出的7/8LDPC碼的編碼幀格式[3]為32+7 136+1 022+2 bit,為了保證編碼的輸入和輸出同步,在待編碼數(shù)據(jù)輸入編碼器之前,待編碼數(shù)據(jù)轉(zhuǎn)變?yōu)? 136位待編碼數(shù)據(jù)+1 056位“0”,在編碼器的校驗(yàn)矩陣Bi,j中添加第16、17組全“0”的校驗(yàn)循環(huán)矩陣。這樣使得編碼輸入和輸出數(shù)據(jù)位數(shù)完全一致,有利于編碼器設(shè)計(jì)結(jié)構(gòu)的簡(jiǎn)化。編碼結(jié)構(gòu)中插“0”結(jié)構(gòu)如圖2。
串行編碼器結(jié)構(gòu)簡(jiǎn)單,占用資源少,但是存在不足之處:采用串行輸入的方式,編碼能夠達(dá)到的最大速率有限,對(duì)于有圖像數(shù)據(jù)傳輸?shù)膽?yīng)用場(chǎng)合,顯示出局限性。
3 低并行度編碼結(jié)構(gòu)設(shè)計(jì)
3.1 低并行度編碼的數(shù)學(xué)原理
本文根據(jù)7/8 LDPC碼編碼矩陣的特點(diǎn)提出了低并行度編碼的數(shù)學(xué)原理。假設(shè)輸入的待編碼數(shù)據(jù)為7 154位的向量n,且有n=(n1 n2 … n7154),將向量n分割為14個(gè)長(zhǎng)度511向量pi(i=1,2,…,14)。為了使輸入的待編碼信息位符合奇偶位并行輸入的特點(diǎn),對(duì)14個(gè)信息位向量pi(i=1,2,…,14)進(jìn)行“0”位填充,使待編碼信息變?yōu)? 168位的向量m,且有m=(k1 k2 … k14),其中ki(i=1,2,…,14)為長(zhǎng)度512的向量。如下:
設(shè)待編碼信息位向量k拆分為奇位向量和偶位向量:奇位向量odd_k=(n1 n3 … n509 n511),偶位向量even_k=(n2 n4 … n510 0)。
將生成矩陣G的右邊部分的兩列Bi,j(i=1,2,…,14;j=1,2)循環(huán)子矩陣拆分成與奇編碼矩陣odd_Bi,j和偶編碼矩陣even_Bi,j,如下:
所以可得編碼校驗(yàn)位向量:
3.2 編碼結(jié)構(gòu)設(shè)計(jì)
圖3為低并行度編碼器結(jié)構(gòu)框圖。根據(jù)低并行度編碼數(shù)學(xué)原理,在編碼之前先對(duì)數(shù)據(jù)每隔511位插入1個(gè)“0”,在插滿14個(gè)“0”之后,在編碼數(shù)據(jù)后補(bǔ)齊1 042個(gè)“0”,使待編碼數(shù)據(jù)幀長(zhǎng)度為8 192 bit。低并行度并行編碼采用4個(gè)循環(huán)移位寄存器。編碼過程如下:
(3)對(duì)于輸入向量k2,k3,…k14,重復(fù)與k1輸入的處理相同的過程。當(dāng)所有7 154位待編碼數(shù)據(jù)全部處理完畢,將輸入的7 154位待編碼數(shù)據(jù)和編碼得到的累加器1,累加器2的數(shù)據(jù)組合為8 176位系統(tǒng)碼就是編碼數(shù)據(jù)幀。
4 編碼性能和編碼效率分析
定義衡量編碼性能的公式如下:
5 結(jié)論
本文提出的低并行度7/8碼率LDPC編碼是在CCSDS標(biāo)準(zhǔn)提出的串行編碼結(jié)構(gòu)上采用插“0”設(shè)計(jì)和改變生成矩陣的形式,設(shè)計(jì)新的編碼結(jié)構(gòu),大幅度提升了編碼速率和編碼效率,擴(kuò)展了LDPC編碼的應(yīng)用范圍,具有創(chuàng)新性。另外,該低并行編碼的并行度可以根據(jù)設(shè)計(jì)需求改變,對(duì)于工程應(yīng)用有較好的適應(yīng)性。
參考文獻(xiàn)
[1] GALLAGER R G.Low-density parity-check codes[J].IRE Transactions on Information Theory,1962,8(1):21-28.
[2] CCSDS.CCSDS 131.1-O-2-low density parity check codes for use in near-earth and deep space applications[R].Washington,DC,USA,2007.
[3] CCSDS.CCSDS 131.0-B-2-TM synchronization and channel coding[S].Washington,DC,USA,2011.
[4] CCSDS.CCSDS 230.2-G-1-next generation uplink[R].Washington,DC,USA,2014.
[5] CCSDS.CCSDS 231.1-O-1-short block length LDPC codes for TC synchronization and channel coding[R].Washington,DC,USA,2015.
[6] MACKAY D C.Good error-correcting codes based on very sparse matrices[J].IEEE Transactions on Information Theory,1999,45(2):399-431.
[7] Lin Shu,Chen Lei,Xu Jun.Near shannon limit quasicyclic low-density parity-check codes[J].IEEE Transaction on Communication,2004,52(7):1038-1042.
[8] 袁東風(fēng),張海剛.LDPC碼理論與應(yīng)用[M].北京:人民郵電出版社,2008:20-25.
[9] 燕威,薛長(zhǎng)斌.高效低功耗低并行度LDPC編碼方法[J].電子與信息學(xué)報(bào),2016,38(9):2268-2273.
[10] Sun Yang,KARKOOTI M,CAVALLARO J R.Vlsi decoder architecture for high throughput and variable block-size and multi-rate ldpc codes[C].IEEE International Symposium on Circuits and Systems,2007:2104-2107.
[11] CHENG L,LI G X,ZHU H P,et al.LDPC encoder design and FPGA implementation in deep space communication[C].Proceedings of the International Conference on Logistics,Engineering,Management and Computer Science,Paris,2014,101:343-346.
[12] 劉冬培,劉衡竹,張波濤.基于準(zhǔn)循環(huán)雙對(duì)角陣的LDPC編碼算法研究[J].國(guó)防科技大學(xué)學(xué)報(bào),2014(2):156-160.
作者信息:
燕 威1,2,朱 巖1
(1.中國(guó)科學(xué)院國(guó)家空間科學(xué)中心,北京100190;2.中國(guó)科學(xué)院大學(xué),北京100190)