專利名稱:基于求和陣列的cmmb中l(wèi)dpc編碼器和編碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動多媒體廣播領(lǐng)域,特別涉及一種CMMB系統(tǒng)中QC-LDPC碼編碼器的并行實現(xiàn)方法。
背景技術(shù):
由于在傳輸信道中存在的各種失真和噪聲會對發(fā)送信號產(chǎn)生干擾,接收端不可避免地會出現(xiàn)數(shù)字信號產(chǎn)生誤碼的情況。為了降低誤碼率,需要采用信道編碼技術(shù)。低密度奇偶校驗(Low-Density Parity-Check, LDPC)碼以其逼近Shannon限的優(yōu)異性能成為信道編碼領(lǐng)域的研究熱點。準循環(huán)LDPC碼(Quasic-LDPC,QC-LDPC)碼是一種特殊的LDPC碼,其編碼可采用移位寄存器加累加器(Shift-Register-Adder-Accumulator,SRAA)加以實現(xiàn)。SRAA法是利用生成矩陣Gqc進行編碼。QC-LDPC碼的生成矩陣Gqc是由aXt個bXb階循環(huán)矩陣Gi,」(I彡i彡a, I彡j彡t)構(gòu)成的陣列,t=a+c。與信息向量對應(yīng)的一部分生成矩陣是單位矩陣,與校驗向量對應(yīng)的其余部分生成矩陣是高密度矩陣。假設(shè)a不是素數(shù),可被分解為a=ux (u彡X),其中,u不等于l,x不等于a。那么,u路并行SRAA法完成一次編碼需要bx+t個時鐘周期,需要(uc+t)b個寄存器、ucb個二輸入與門和ucb個二輸入異或門。此外,還需要acb比特ROM存儲循環(huán)矩陣的首行。CMMB標準采用了 1/2和3/4兩種不同碼率η的LDPC碼,通過行列交換,校驗矩陣H可被變換為準循環(huán)形式Hq。,Hqc對應(yīng)準循環(huán)生成矩陣Gq。。對于這兩種QC-LDPC碼,均有t=36和b=256, 2種a的最大公約數(shù)是u=9。圖I給出了不同碼率η下的參數(shù)a、c和X。CMMB標準中QC-LDPC高速編碼的現(xiàn)有解決方案是采用u=9路并行SRAA法,兩種碼率所需的編碼時間分別是548、804個時鐘周期。邏輯資源需要50688個寄存器、41472個二輸入與門和41472個二輸入異或門,這是由碼率η=1/2對應(yīng)的參數(shù)決定的。此外,兩種碼率共需145,152比特ROM存儲循環(huán)矩陣的首行。當采用硬件實現(xiàn)時,需要較多的存儲器和寄存器,勢必會造成設(shè)備成本高,功耗大。
發(fā)明內(nèi)容
針對CMMB系統(tǒng)多碼率QC-LDPC高速編碼的現(xiàn)有實現(xiàn)方案中存在的資源需求量大缺點,本發(fā)明提供了一種基于求和陣列的并行編碼方法,能在保持編碼速度不變的前提下,減少資源需求。如圖2所示,基于求和陣列的CMMB標準中多碼率QC-LDPC碼的并行編碼器主要由4部分組成寄存器、求和陣列、選擇器和b位二輸入異或門。整個編碼過程分4步完成第I步,輸入信息向量s,保存至寄存器R1 Ra,清零寄存器Ra+1 Rt,并為選擇器吣(I彡I彡c)配置恰當?shù)拇a率H ;第2步,寄存器R1 Ra串行左移I次,為求和陣列并行輸入向量(Sl,k,s2; k, *··, su;k) (I彡k彡bx),所有選擇器的控制端輸入P =[(k-l)/b]+l (符號[(k_l)/b]表示不大于(k-l)/b的最大整數(shù)),所有選擇器分別從求和陣列的輸出端中選擇b個,共同構(gòu)成向量(S1^s2Y -,Suj k)與碼率為η的子塊首行矩陣Fp的乘積,b位二輸入異或門A1 (I ^ I^c)將乘積的第I段b比特與寄存器Ra+1串行循環(huán)左移I次的結(jié)果相加,和存回寄存器Ra+1 ;第3步,以I為步長遞增改變k的取值,重復(fù)第2步bx次;第4步,并行輸出碼字 V= (S,P)。本發(fā)明提供的QC-LDPC并行編碼器兼容多碼率,能在保持編碼速度不變的前提下有效減少資源需求,從而達到降低硬件成本和功耗的目的。關(guān)于本發(fā)明的優(yōu)點與精神可通過接下來的發(fā)明詳述及附圖得到進一步的了解。
圖I給出了不同碼率η下的參數(shù)a、c和X ;圖2是CMMB標準中兼容兩種碼率QC-LDPC碼的并行編碼器整體結(jié)構(gòu);圖3是求和陣列的構(gòu)成示意圖;圖4給出了各種多輸入異或門的數(shù)量;圖5比較了傳統(tǒng)的u路并行SRAA法與本發(fā)明的資源消耗。
具體實施例方式下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明,但不作為對本發(fā)明的限定。QC-LDPC碼是一類特殊的LDPC碼,它的生成矩陣Gee和校驗矩陣Hee都是由循環(huán)矩陣構(gòu)成的陣列,具有分段循環(huán)特點,故被稱為準循環(huán)LDPC碼。從行的角度看,循環(huán)矩陣的每一行都是上一行(首行是末行)循環(huán)右移一位的結(jié)果;從列的角度看,循環(huán)矩陣的每一列都是前一列(首列是末列)循環(huán)下移一位的結(jié)果。循環(huán)矩陣的行向量構(gòu)成的集合與列向量構(gòu)成的集合完全相同,因此,循環(huán)矩陣完全可由它的首行或首列來表征。QC-LDPC碼的生成矩陣Gqc是由aXt個bXb階循環(huán)矩陣Gy (I彡i彡a, I彡j彡t)構(gòu)成的陣列
I O …O Gu+l Gl a+2 …Gi j O I …O G2afl G2a+2 …Glj
^jrOC*(I)
· * ·
· * · * · ·
O O …I Ga,a+i Ga …< (Gqc (或Hqc)的連續(xù)b行和b列分別被稱為塊行和塊列。假設(shè)gi, j(I ^a, a+1^ t)是循環(huán)矩陣Gm的首行,那么可按照如下方式定義aXbc階塊首行矩陣F
8l,a+2 -· gl,t]
J7 §2μ+1 Sl,a+2Slj/λ\
T =,{2)
_Sa,a+l Ma,a十2SaJ _F是由生成矩陣Gq。后c塊列中所有循環(huán)矩陣的首行構(gòu)成的,可視為由be個a維列向量組成的。假設(shè)a不是素數(shù),可被分解為a=ux (u < X),其中,u不等于l,x不等于a。那么,塊首行矩陣F的第u(p-l)+rup (1<P < χ)行構(gòu)成了一個uXbc階矩陣,稱之為子塊首行矩陣,記作Fp。Fp可視為由be個u維列向量構(gòu)成的。CMMB標準采用了 1/2和3/4兩種不同碼率η的LDPC碼,通過行列交換,校驗矩陣H可被變換為準循環(huán)形式Hq。,Hqc對應(yīng)準循環(huán)生成矩陣Gq。。生成矩陣Gq。對應(yīng)碼字V= (S,P),Gq。的前a塊列對應(yīng)的是信息向量S,后c塊列對應(yīng)的是校驗向量p。以b比特為一段,信息向量s被等分為a段,即S=G1, S2,…,sa);校驗向量P被等分為c段,即P= (P1, P2,…,P。)。對于第i (I彡i彡a)段信息向量Si,有…,Si,b)。CMMB標準采用了兩種不同碼率的QC-LDPC碼,均有t=36和b=256,2種a的最大公約數(shù)是u=9。圖I給出了不同碼率H下的參數(shù)a、c和X。由式(I)、⑵和循環(huán)矩陣的特點,圖2給出了適用于CMMB標準中2種碼率QC-LDPC碼的并行編碼器,它主要由寄存器、求和陣列、選擇器和b位二輸入異或門四種功能模塊組 成。寄存器R1 Ra用于緩存信息向量S= (Sl,S2, -,Sa),寄存器Ra+1 Rt用于計算和存儲校驗向量P= (P1, P2, ···, Pc)。求和陣列對并行輸入的U位信息比特Su,s2;k,…,su;k ( I彡k彡bx)進行求和,具體而言,是從中選取m (I SmSu)個不同的元素進行模2加。由排列組合知識可知,窮舉可得到2U-1=511個不同的求和表達式。511個求和表達式可用511個多輸入異或門加以實現(xiàn)。多輸入異或門的輸入端數(shù)目范圍是廣9,當只有一個輸入端時,單輸入異或門實際上是直連線。綜上,求和陣列有u=9個輸入端和511個輸出端,其內(nèi)部由511個多輸入異或門組成,如圖3所示。圖4給出了各種多輸入異或門的數(shù)量,它們總共相當于1793個二輸入異或門。選擇器吣(I ^ I ^ c)受控于碼率η和子塊首行矩陣Fp的下標P ( I < P < X)。P 與向量(S1,k,s2,k,...,su,k) (I 彡 k 彡 bx)的關(guān)系為 P=[(k-l)/b]+l (符號[(k-l)/b]表示不大于(k_l)/b的最大整數(shù))。選擇器M1在求和陣列運算結(jié)果的基礎(chǔ)上,根據(jù)碼率η完成向量(Su, s2,k, ···, Suk) (I < k < bx)與子塊首行矩陣Fp (I < P < x)的并行乘法。選擇器M1從求和陣列的輸出端中選擇b個,以構(gòu)成向量(Sl,k,s2,k,…,su,k)與子塊首行矩陣Fp乘積的第I段b比特,選擇方式完全取決于碼率為η的子塊首行矩陣Fp的be個列向量。b位二輸入異或門A1 (I彡I彡c)將向量(S1,k,s2,k,···, su;k) (I彡k彡bx)與子塊首行矩陣Fp乘積的第I段b比特累加到寄存器Ra+1中。本發(fā)明提供了一種可變碼率QC-LDPC碼的并行編碼方法,結(jié)合CMMB標準中多碼率QC-LDPC碼的并行編碼器(如圖2所示),其編碼步驟描述如下第I步,輸入信息向量S,保存至寄存器R1 Ra,清零寄存器Ra+1 Rt,并為選擇器M1 (I彡I彡c)配置恰當?shù)拇a率η ;第2步,寄存器R1 Ra串行左移I次,為求和陣列并行輸入向量(S1,k,s2;k,···, su;k)(I彡k彡bx),所有選擇器的控制端輸入P = [ (k-1) /b] +1,所有選擇器分別從求和陣列的輸出端中選擇b個,共同構(gòu)成向量(Sl,k,s2,k,…,su,k)與碼率為η的子塊首行矩陣Fp的乘積,b位二輸入異或門A1 (I彡I彡c)將乘積的第I段b比特與寄存器Ra+1串行循環(huán)左移I次的結(jié)果相加,和存回寄存器Ra+1 ;第3步,以I為步長遞增改變k的取值,重復(fù)第2步bx次,完成后,寄存器R1 Ra存儲的是信息向量S= (Sl,S2,…,Sa),寄存器Ra+1 Rt存儲的是校驗向量P= (Pl,P2,…,P。);第4步,并行輸出碼字V= (S,P)。從以上步驟不難看出,整個編碼過程共需bx+t個時鐘周期,這與傳統(tǒng)的u路并行SRAA法完全相同。圖5比較了傳統(tǒng)的u路并行SRAA法與本發(fā)明的資源消耗。注意,這里將選擇器的基本選擇單元視為一個二輸入與門。從圖5可清楚看到,與并行SRAA法相比,本發(fā)明的優(yōu)勢是無需存儲器,使用 了較少的寄存器、異或門和與門,耗費量分別是并行SRAA法的18%、15% 和 11%。綜上可見,與傳統(tǒng)的u路并行SRAA法相比,本發(fā)明保持了編碼速度,具有控制簡單、資源消耗少、功耗小、成本低等優(yōu)點。以上所述的實施例,只是本發(fā)明較優(yōu)選的具體實施方式
,本領(lǐng)域的技術(shù)人員在本發(fā)明技術(shù)方案范圍內(nèi)進行的通常變化和替換都應(yīng)包含在本發(fā)明的保護范圍內(nèi)。
權(quán)利要求
1.ー種適合于CMMB標準中兩種不同碼率QC-LDPC碼的并行編碼器,QC-LDPC碼的生成矩陣Gq。是由aX t個bXb階循環(huán)矩陣Gm構(gòu)成的陣列,其中,a、t和b皆為正整數(shù),t=a+c,Ii≤a,l≤j≤t,兩種不同碼率η分別是1/2、3/4,對于這兩種不同碼率QC-LDPC碼,均有t=36和b=256,兩種不同碼率對應(yīng)的參數(shù)a分別是18、27,兩種不同碼率對應(yīng)的參數(shù)c分別是18、9,2種a的最大公約數(shù)是u=9,a=ux,兩種不同碼率對應(yīng)的參數(shù)x分別是2、3,生成矩陣Gq。對應(yīng)碼字V= (S,P),Gqc的前a塊列對應(yīng)的是信息向量S,后c塊列對應(yīng)的是校驗向量P,以b比特為一段,信息向量s被等分為a段,即S=G1, S2, ···,sa),校驗向量P被等分為c段,即P=W p2,…,p。),第i段信息向量SiKsy, si;2, ···,SiJ ,其特征在于,所述編碼器包括以下部件 寄存器R1 Rt,寄存器R1 Ra用于緩存信息向量S= (Sl, S2,-, sa),寄存器Ra+1 Rt用于計算和存儲校驗向量P= (P1, Pu…,Pc); 求和陣列,對并行輸入的U位信息比特Sl,k,S2,k,…,Siu進行組合求和,其中,I ^ k ^ bx ; 選擇器M1 M。,在求和陣列運算結(jié)果的基礎(chǔ)上,根據(jù)碼率η完成向量(Sl,k,s2,k,…,su,k)與子塊首行矩陣Fp的并行乘法,其中,I彡P(guān)彡X,P=[(k-l)/b]+l,符號[(k-l)/b]表示不大于(k_l)/b的最大整數(shù); b位ニ輸入異或門A1 A。,、將向量(Sl,k,s2’k,…,su;k)與子塊首行矩陣Fp乘積的第I段b比特累加到寄存器Ra+1中,其中,I彡I彡C。
2.如權(quán)利要求I所述的并行編碼器,其特征在于,所述子塊首行矩陣Fp是由塊首行矩陣F的第u ( P -I) +Γπ P行構(gòu)成的uXbc階矩陣,而塊首行矩陣F是由生成矩陣Gq。后c塊列中所有循環(huán)矩陣的首行構(gòu)成的。
3.如權(quán)利要求I所述的并行編碼器,其特征在于,所述求和陣列有u個輸入端和511個輸出端,求和陣列對并行輸入的U位信息比特Sl,k,S2,k,…,Siu進行組合求和,所有子塊首行矩陣共有511個不同的非零列向量,它們與向量(Sl,k,s2;k,…,su,k)的內(nèi)積對應(yīng)511個求和表達式,這些求和表達式用511個多輸入異或門加以實現(xiàn)。
4.如權(quán)利要求I所述的并行編碼器,其特征在于,所述選擇器M1根據(jù)碼率η和子塊首行矩陣Fp的下標P從求和陣列的輸出端中選擇b個,以構(gòu)成向量(Su, s2;k, ···, su;k)與子塊首行矩陣Fp乘積的第I段b比特,選擇方式完全取決于碼率為η的子塊首行矩陣Fp的be個列向量。
5.ー種適合于CMMB標準中兩種不同碼率QC-LDPC碼的并行編碼方法,QC-LDPC碼的生成矩陣Gq。是由aXt個bXb階循環(huán)矩陣Gm構(gòu)成的陣列,其中,a、t和b皆為正整數(shù),t=a+c,I≤i≤a,l≤j≤t,兩種不同碼率η分別是1/2、3/4,對于這兩種不同碼率QC-LDPC碼,均有t=36和b=256,兩種不同碼率對應(yīng)的參數(shù)a分別是18、27,兩種不同碼率對應(yīng)的參數(shù)c分別是18、9,2種a的最大公約數(shù)是u=9,a=ux,兩種不同碼率對應(yīng)的參數(shù)x分別是2、3,生成矩陣Gq。對應(yīng)碼字V= (S,P),Gqc的前a塊列對應(yīng)的是信息向量S,后c塊列對應(yīng)的是校驗向量P,以b比特為一段,信息向量s被等分為a段,即S=G1, S2, ···,sa),校驗向量P被等分為c段,即P=W p2,…,p。),第i段信息向量SiKsu, sij2, ···,SiJ ,其特征在于,所述編碼方法包括以下步驟 第I步,輸入信息向量s,保存至寄存器R1 Ra,清零寄存器Ra+1 Rt,并為選擇器配置恰當?shù)拇a率η; 第2歩,寄存器R1 Ra串行左移I次,為求和陣列并行輸入向量(Sl,k,s2;k,…,su;k),所有選擇器的控制端輸入P=[(k_l)/b]+l,所有選擇器分別從求和陣列的輸出端中選擇b個,共同構(gòu)成向量···, su;k)與碼率為η的子塊首行矩陣Fp的乘積,b位ニ輸入異或門A 1將乘積的第I段b比特與寄存器Ra+1串行循環(huán)左移I次的結(jié)果相加,和存回寄存器 Ra+i ; 第3步,以I為步長遞增改變k的取值,重復(fù)第2步bx次,完成后,寄存器R1 Ra存儲的是信息向量S=(s” S2, ···,Sa),寄存器Ra+1 Rt存儲的是校驗向量Ρ=(Ρ1; P2,…,Pc); 第4步,并行輸出碼字V= (s, P)。
全文摘要
本發(fā)明涉及一種解決CMMB系統(tǒng)中兩種不同碼率QC-LDPC碼并行編碼的方案,其特征在于,所述系統(tǒng)的QC-LDPC碼的并行編碼器主要由寄存器、求和陣列、選擇器和b位二輸入異或門四部分組成。本發(fā)明提供的QC-LDPC并行編碼器兼容多碼率,能在保持編碼速度不變的條件下有效減少資源需求,具有控制簡單、資源消耗少、功耗小、成本低等優(yōu)點。
文檔編號H03M13/11GK102857236SQ20121037000
公開日2013年1月2日 申請日期2012年9月27日 優(yōu)先權(quán)日2012年9月27日
發(fā)明者蔡超時, 張鵬, 萬欣 申請人:蘇州威士達信息科技有限公司