專利名稱:基于并行濾波的深空通信中l(wèi)dpc編碼器和編碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及深空數(shù)據(jù)通信領(lǐng)域,特別涉及一種CCSDS深空通信系統(tǒng)中QC-LDPC碼編碼器的高效實(shí)現(xiàn)方法。
背景技術(shù):
由于在傳輸信道中存在的各種失真和噪聲會(huì)對(duì)發(fā)送信號(hào)產(chǎn)生干擾,接收端不可避免地會(huì)出現(xiàn)數(shù)字信號(hào)產(chǎn)生誤碼的情況。為了降低誤碼率,需要采用信道編碼技術(shù)。低密度奇偶校驗(yàn)(Low-Density Parity-Check, LDPC)碼以其逼近Shannon限的優(yōu)異性能成為信道編碼領(lǐng)域的研究熱點(diǎn)。準(zhǔn)循環(huán)LDPC碼(Quasic-LDPC,QC-LDPC)碼是一種特殊的LDPC碼,其編碼可采用移位寄存器加累加器(Shift-Register-Adder-Accumulator ,SRAA)加以實(shí)現(xiàn)。SRAA法是利用生成矩陣G進(jìn)行編碼。QC-LDPC碼的生成矩陣G是由aXt個(gè)bXb階循環(huán)矩陣Gi,」(I彡i彡a, I彡j彡t)構(gòu)成的陣列,t=a+c。與信息向量對(duì)應(yīng)的一部分生成矩陣是單位矩陣,與校驗(yàn)向量對(duì)應(yīng)的其余部分生成矩陣是高密度矩陣。串行SRAA法完成一次編碼需要ab+t個(gè)時(shí)鐘周期,需要(t+c)b個(gè)寄存器、cb個(gè)二輸入與門和cb個(gè)二輸入異或門。此外,還需要acb比特ROM存儲(chǔ)循環(huán)矩陣的首行。CCSDS深空通信系統(tǒng)推薦了 9種QC-LDPC碼,其中碼率η分為1/2、2/3和4/5三種,b分為32、64、128、256、512、1024和2048七種。如圖I所示,η和b共有9種有效組合(n,b) (4/5,32)、(2/3,64)、(1/2,128)、(4/5,128)、(2/3,256)、(1/2,512)、(4/5,512)、(2/3,1024)和(1/2,2048),對(duì)應(yīng) 9 種 QC-LDPC 碼。對(duì)于所有 QC-LDPC 碼,均有 c=12。圖 2給出了不同碼率Π下的參數(shù)a和t。CCSDS深空通信系統(tǒng)中QC-LDPC編碼的現(xiàn)有解決方案是采用串行SRAA法,9種QC-LDPC 碼所需的編碼時(shí)間分別是 1068、1052、1044、4140、4124、4116、16428、16412 和16404個(gè)時(shí)鐘周期。邏輯資源需要65536個(gè)寄存器、24576個(gè)二輸入與門和24576個(gè)二輸入異或門,這是由(n,b) = (l/2, 2048)對(duì)應(yīng)的參數(shù)決定的。此外,9種QC-LDPC碼共需774,144比特ROM存儲(chǔ)循環(huán)矩陣的首行。當(dāng)采用硬件實(shí)現(xiàn)時(shí),如此大的存儲(chǔ)需求會(huì)增加設(shè)備成本,且編碼時(shí)間較長(zhǎng)。
發(fā)明內(nèi)容
針對(duì)CCSDS深空通信系統(tǒng)多種QC-LDPC碼編碼的現(xiàn)有實(shí)現(xiàn)方案中存在的需要大容量存儲(chǔ)器和編碼速度慢缺點(diǎn),本發(fā)明提供了一種基于并行濾波的高效編碼方法,能有效提高編碼速度,減少存儲(chǔ)器需求。如圖13所示,CCSDS深空通信系統(tǒng)中多種QC-LDPC碼的編碼器主要由3部分組成共享寄存器、并行濾波器和串行循環(huán)左移累加器(串行CLSA)。共享寄存器由t個(gè)b位寄存器R1, R2,…,Rt構(gòu)成,其它兩個(gè)功能模塊共用這些寄存器。整個(gè)編碼過(guò)程分5步完成第I步,輸入信息向量s ;第2步,使用并行濾波器計(jì)算向量f ;第3步,使用串行CLSA計(jì)算部分校驗(yàn)向量Py ;第4步,使用并行濾波器計(jì)算部分校驗(yàn)向量Px ;第5步,輸出一部分碼字
(S,Px,Py) O本發(fā)明提供的QC-LDPC編碼器兼容多碼率,能在明顯提高編碼速度的同時(shí)有效減少資源需求,從而達(dá)到降低硬件成本和功耗的目的。關(guān)于本發(fā)明的優(yōu)點(diǎn)與精神可通過(guò)接下來(lái)的發(fā)明詳述及附圖得到進(jìn)一步的了解。
圖I給出了碼率η和b的有效組合(η,b); 圖2給出了不同碼率η下的參數(shù)a和t ;圖3是(η,b) = (4/5,32)時(shí)QC-LDPC碼校驗(yàn)矩陣H的詳細(xì)構(gòu)造;圖4是(η,b) = (2/3,64)時(shí)QC-LDPC碼校驗(yàn)矩陣H的詳細(xì)構(gòu)造;圖5是(n,b) = (l/2, 128)時(shí)QC-LDPC碼校驗(yàn)矩陣H的詳細(xì)構(gòu)造;圖6是(n,b) = (4/5,128)時(shí)QC-LDPC碼校驗(yàn)矩陣H的詳細(xì)構(gòu)造;圖7是(η,b) = (2/3,256)時(shí)QC-LDPC碼校驗(yàn)矩陣H的詳細(xì)構(gòu)造;圖8是(n,b) = (l/2,512)時(shí)QC-LDPC碼校驗(yàn)矩陣H的詳細(xì)構(gòu)造;圖9是(n,b) = (4/5,512)時(shí)QC-LDPC碼校驗(yàn)矩陣H的詳細(xì)構(gòu)造;圖10是(η,b) = (2/3,1024)時(shí)QC-LDPC碼校驗(yàn)矩陣H的詳細(xì)構(gòu)造;圖11是(n,b) = (l/2, 2048)時(shí)QC-LDPC碼校驗(yàn)矩陣H的詳細(xì)構(gòu)造;圖12是CCSDS深空通信系統(tǒng)中校驗(yàn)矩陣H的結(jié)構(gòu)示意圖;圖13是CCSDS深空通信系統(tǒng)中兼容9種QC-LDPC碼的編碼器整體結(jié)構(gòu);圖14是并行濾波器計(jì)算向量f時(shí)的結(jié)構(gòu)示意圖;圖15是并行濾波器計(jì)算部分校驗(yàn)向量Px時(shí)的結(jié)構(gòu)示意圖;圖16是串行CLSA的結(jié)構(gòu)示意圖;圖17是編碼器各組成部分以及整個(gè)電路的硬件資源消耗;圖18是各編碼步驟以及整個(gè)編碼過(guò)程所需的處理時(shí)間;圖19比較了傳統(tǒng)的串行SRAA法與本發(fā)明的編碼速度;圖20比較了傳統(tǒng)的串行SRAA法與本發(fā)明的資源消耗。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,但不作為對(duì)本發(fā)明的限定。QC-LDPC碼是一類特殊的LDPC碼,它的生成矩陣G和校驗(yàn)矩陣H都是由循環(huán)矩陣構(gòu)成的陣列,具有分段循環(huán)特點(diǎn),故被稱為準(zhǔn)循環(huán)LDPC碼。從行的角度看,循環(huán)矩陣的每一行都是上一行(首行是末行)循環(huán)右移一位的結(jié)果;從列的角度看,循環(huán)矩陣的每一列都是前一列(首列是末列)循環(huán)下移一位的結(jié)果。循環(huán)矩陣的行向量構(gòu)成的集合與列向量構(gòu)成的集合完全相同,因此,循環(huán)矩陣完全可由它的首行或首列來(lái)表征。循環(huán)矩陣的行重和列重相同,記作W。如果《=0,那么該循環(huán)矩陣是全零矩陣。如果《=1,那么該循環(huán)矩陣是可置換的,稱為置換矩陣,它可通過(guò)對(duì)單位矩陣I循環(huán)右移若干位得到。QC-LDPC碼的校驗(yàn)矩陣H是由cXt個(gè)bXb階循環(huán)矩陣Hiij (I彡i彡C,I彡j彡t)構(gòu)成的如下陣列
權(quán)利要求
1.一種適合于CCSDS深空通信系統(tǒng)采用的9種QC-LDPC碼的編碼器,QC-LDPC碼的校驗(yàn)矩陣H是由cXt個(gè)bXb階循環(huán)矩陣構(gòu)成的陣列,其中,C、t和b皆為正整數(shù),t=a+c,3種不同碼率η分別是1/2、2/3、4/5,7種方陣階數(shù)b分別是32、64、128、256、512、1024、2048,9 種有效組合(n,b)分別是(4/5,32)、(2/3,64)、(1/2,128)、(4/5,128)、(2/3,256)、(1/2,512)、(4/5,512)、(2/3,1024)和(1/2,2048),對(duì)于這 9 種 QC-LDPC 碼,均有 c=12,c=3u, u=4,3種不同碼率對(duì)應(yīng)的參數(shù)a分別是8、16、32,3種不同碼率對(duì)應(yīng)的參數(shù)t分別是20、28、44,校驗(yàn)矩陣H對(duì)應(yīng)碼字V= (s,p) = (s, px, py, pz),H的前a塊列對(duì)應(yīng)的是信息向量S,后c塊列對(duì)應(yīng)的是校驗(yàn)向量P,以b比特為一段,信息向量s被等分為a段,即S=(Sl,S2,…,Sa),校驗(yàn)向量 P 被等分為 C 段,即 P=CP1, P2, ---,Pc),Px= (P1, P2, P3, P4),Py= (p5, P6. Pt. P8),Pz= (p9,p10, pn, P12),其特征在于,所述編碼器包括以下部件 寄存器R1 Rt,其余兩個(gè)部件共享這t個(gè)b位寄存器; 并行濾波器,主要由寄存器R1 Rt和多輸入異或門An^1 An,b,2u組成,用于計(jì)算向量f和部分校驗(yàn)向量Px ; 串行循環(huán)左移累加器,用于計(jì)算部分校驗(yàn)向量py。
2.如權(quán)利要求I所述的編碼器,其特征在于,所述并行濾波器計(jì)算向量f時(shí)涉及寄存器R1 Ra、Ra+2u+1 Rt和多輸入異或門An^ An,b, u,每個(gè)多輸入異或門對(duì)應(yīng)矩陣F中的一個(gè)塊行,每個(gè)輸入端對(duì)應(yīng)一個(gè)置換矩陣,該置換矩陣所在塊列號(hào)等于寄存器R1 Ra的下標(biāo),其循環(huán)右移位數(shù)加I等于寄存器的抽頭位。
3.如權(quán)利要求I所述的編碼器,其特征在于,所述并行濾波器計(jì)算向量f的步驟如下 初始時(shí),信息向量s位于寄存器R1 Ra中,R1 Ra中的每個(gè)寄存器都有多個(gè)抽頭; 每個(gè)時(shí)鐘到來(lái)時(shí),寄存器R1 Ra各自串行循環(huán)左移I次,多輸入異或門AnA1 An’b’u分別將計(jì)算結(jié)果串行左移入寄存器Ra+2U+1 Rt ; 重復(fù)上述過(guò)程,經(jīng)過(guò)b個(gè)時(shí)鐘周期完成運(yùn)算,寄存器Ra+2U+1 Rt存儲(chǔ)的是向量f,而寄存器R1 Ra存儲(chǔ)的依然是信息向量S。
4.如權(quán)利要求I所述的編碼器,其特征在于,所述并行濾波器計(jì)算部分校驗(yàn)向量匕時(shí)涉及寄存器R1 Ra+2u和多輸入異或門An,b, U+1 An,b,2u,每個(gè)多輸入異或門對(duì)應(yīng)矩陣L中的一個(gè)塊行,每個(gè)輸入端對(duì)應(yīng)一個(gè)置換矩陣,該置換矩陣所在塊列號(hào)等于寄存器R1 Ra和Ra+U+1 Ra+2U的下標(biāo),其循環(huán)右移位數(shù)加I等于寄存器的抽頭位。
5.如權(quán)利要求I所述的編碼器,其特征在于,所述并行濾波器計(jì)算部分校驗(yàn)向量Px的步驟如下 初始時(shí),信息向量S和部分校驗(yàn)向量Py分別位于寄存器R1 Ra和Ra+U+1 Ra+2u中,這些寄存器都有多個(gè)抽頭; 每個(gè)時(shí)鐘到來(lái)時(shí),寄存器R1 Ra和Ra+U+1 Ra+2u各自串行循環(huán)左移I次,多輸入異或門An;b;u+1 AnA2u分別將計(jì)算結(jié)果串行左移入寄存器Ra+1 Ra+U ; 重復(fù)上述過(guò)程,經(jīng)過(guò)b個(gè)時(shí)鐘周期完成運(yùn)算,寄存器Ra+1 Ra+U存儲(chǔ)的是部分校驗(yàn)向量Px,而寄存器R1 Ra和Ra+U+1 Ra+2u存儲(chǔ)的依然分別是信息向量s和部分校驗(yàn)向量py。
6.如權(quán)利要求I所述的編碼器,其特征在于,所述串行循環(huán)左移累加器由寄存器Ra+1 Rt、u個(gè)b位二輸入與門Mi和u個(gè)b位二輸入異或門Ai組成,其中,I彡i彡u,用于計(jì)算部分校驗(yàn)向量Py 初始時(shí),寄存器Ra+2u+1 Rt存儲(chǔ)的是向量f,寄存器Ra+1 Ra+U分別加載矩陣Φ = [ΦΜ]第I塊列中循環(huán)矩陣①^廣①…的首列,寄存器Ra+U+1 Ra+2u被清零,其中,I ^ i, j ^ u ;每個(gè)時(shí)鐘到來(lái)時(shí),寄存器Ra+2u+1 Rt串行左移I次,b位二輸入與門Mi進(jìn)行標(biāo)量與向量的乘法運(yùn)算,Mi的乘積與寄存器1^+_串行循環(huán)左移I次的結(jié)果相加,和存回寄存器1^+_,需要指出的是,當(dāng)?shù)?j-l)b個(gè)時(shí)鐘周期到來(lái)時(shí),寄存器Ra+1 Ra+U分別加載矩陣Φ第j塊列中循環(huán)矩陣的首列,其中,l〈j ( u ; 重復(fù)上述過(guò)程,經(jīng)過(guò)ub個(gè)時(shí)鐘周期完成運(yùn)算,R1 Ra和Ra+U+1 Ra+2U存儲(chǔ)的分別是信息向量S和部分校驗(yàn)向量Py。 一種適合于CCSDS深空通信系統(tǒng)采用的9種QC-LDPC碼的編碼方法,QC-LDPC碼的校驗(yàn)矩陣H是由cXt個(gè)bXb階循環(huán)矩陣構(gòu)成的陣列,其中,C、t和b皆為正整數(shù),t=a+c,3種不同碼率η分別是1/2、2/3、4/5,7種方陣階數(shù)b分別是32、64、128、256、512、1024、·2048,9 種有效組合(n,b)分別是(4/5,32)、(2/3,64)、(1/2,128)、(4/5,128)、(2/3,256)、(1/2,512)、(4/5,512)、(2/3,1024)和(1/2,2048),對(duì)于這 9 種 QC-LDPC 碼,均有 c=12,c=3u, u=4,3種不同碼率對(duì)應(yīng)的參數(shù)a分別是8、16、32,3種不同碼率對(duì)應(yīng)的參數(shù)t分別是·20、28、44,校驗(yàn)矩陣H對(duì)應(yīng)碼字V= (s,p) = (s, px, py, pz),H的前a塊列對(duì)應(yīng)的是信息向量S,后c塊列對(duì)應(yīng)的是校驗(yàn)向量P,以b比特為一段,信息向量s被等分為a段,即S=(Sl,S2,…,Sa),校驗(yàn)向量 P 被等分為 C 段,即 P=CP1, P2, ---,Pc),Px= (P1, P2, P3, P4),Py= (p5, P6. Pt. P8),Pz= (ρ9, Ριο, Pu, P12),其特征在于,所述編碼方法包括以下步驟 第I步,輸入信息向量s ; 第2步,使用并行濾波器計(jì)算向量f ; 第3步,使用串行循環(huán)左移累加器計(jì)算部分校驗(yàn)向量Py ; 第4步,使用并行濾波器計(jì)算部分校驗(yàn)向量Px ; 第5步,輸出一部分碼字(s,px,py)。
全文摘要
本發(fā)明涉及一種解決CCSDS深空通信系統(tǒng)中9種QC-LDPC碼編碼的方案,其特征在于,所述系統(tǒng)的QC-LDPC碼的編碼器主要由共享寄存器、并行濾波器和串行循環(huán)左移累加器(串行CLSA)三部分組成,其核心技術(shù)是并行濾波。并行濾波器和串行CLSA共用t個(gè)b位寄存器。本發(fā)明提供的QC-LDPC編碼器兼容多碼率,能在明顯提高編碼速度的同時(shí)有效減少資源需求,具有編碼速度快、資源消耗少、功耗小、成本低等優(yōu)點(diǎn)。
文檔編號(hào)H03M13/11GK102868412SQ20121036956
公開日2013年1月9日 申請(qǐng)日期2012年9月27日 優(yōu)先權(quán)日2012年9月27日
發(fā)明者張鵬, 蔡超時(shí), 楊剛 申請(qǐng)人:蘇州威士達(dá)信息科技有限公司