基于求和陣列的cdr中qc-ldpc并行編碼器的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)字廣播領(lǐng)域,特別涉及一種CDR系統(tǒng)中QC-LDPC碼編碼器的并行實(shí) 現(xiàn)方法。
【背景技術(shù)】
[0002] 由于在傳輸信道中存在的各種失真和噪聲會(huì)對發(fā)送信號(hào)產(chǎn)生干擾,接收端不可避 免地會(huì)出現(xiàn)數(shù)字信號(hào)產(chǎn)生誤碼的情況。為了降低誤碼率,需要采用信道編碼技術(shù)。
[0003] 低密度奇偶校驗(yàn)(Low-DensityParity-Check,LDPC)碼以其逼近Shannon限的優(yōu) 異性能成為信道編碼領(lǐng)域的研宄熱點(diǎn)。準(zhǔn)循環(huán)LDPC(Quasic-LDPC,QC-LDPC)碼是一種特殊 的LDPC碼,其編碼可采用移位寄存器加累加器(Shift-Register-Adder-Accumulator,SR AA)加以實(shí)現(xiàn)。
[0004] SRAA法是利用生成矩陣G進(jìn)行編碼。QC-LDPC碼的生成矩陣G是由aXt個(gè)bXb 階循環(huán)矩陣Gud彡i彡a,1彡j彡t)構(gòu)成的陣列,t=a+c。與信息向量對應(yīng)的一部分 生成矩陣是單位矩陣,與校驗(yàn)向量對應(yīng)的其余部分生成矩陣是高密度矩陣。假設(shè)a不是素 數(shù),可被分解為a=ux(u<x),其中,u不等于1,x不等于a。那么,u路并行SRAA法完成 一次編碼需要bx+t個(gè)時(shí)鐘周期,需要(uc+t)b個(gè)寄存器、ucb個(gè)二輸入與門和ucb個(gè)二輸 入異或門。此外,還需要acb比特ROM存儲(chǔ)循環(huán)矩陣的首行。
[0005] ⑶R是中國數(shù)字廣播的英文簡稱,英文全稱是ChinaDigitalRadio。⑶R標(biāo)準(zhǔn)采 用了四種不同碼率的QC-LDPC碼。對于這四種QC-LDPC碼,均有t= 36和b= 256,所有a 的最大公約數(shù)是u= 3。圖1給出了不同碼率n下的參數(shù)a、c和x。
[0006] ⑶R系統(tǒng)中QC-LDPC高速編碼的現(xiàn)有解決方案是采用u= 3路并行SRAA法,四 種QC-LDPC碼所需的編碼時(shí)間分別是804、1060、1572和2340個(gè)時(shí)鐘周期。邏輯資源需要 29952個(gè)寄存器、20736個(gè)二輸入與門和20736個(gè)二輸入異或門,這是由碼率n= 1/4對應(yīng) 的參數(shù)決定的。此外,四種QC-LDPC碼共需281088比特ROM存儲(chǔ)循環(huán)矩陣的首行。當(dāng)采用 硬件實(shí)現(xiàn)時(shí),需要較多的存儲(chǔ)器和寄存器,勢必會(huì)造成設(shè)備成本高,功耗大。
【發(fā)明內(nèi)容】
[0007] 針對CDR系統(tǒng)多碼率QC-LDPC碼高速編碼的現(xiàn)有實(shí)現(xiàn)方案中存在的資源需求量大 缺點(diǎn),本發(fā)明提供了一種基于求和陣列的并行編碼方法,能在保持編碼速度不變的前提下, 減少資源需求。
[0008] 如圖2所示,⑶R系統(tǒng)中多碼率QC-LDPC碼的并行編碼器主要由4部分組成:寄存 器、求和陣列、選擇擴(kuò)展器和b位二輸入異或門。整個(gè)編碼過程分4步完成:第1步,輸入 信息向量s,保存至寄存器&~Ra,清零寄存器Ra+1~Rt,并為選擇擴(kuò)展器I配置s對應(yīng)的 碼率n,其中,1彡1彡c;第2步,寄存器札~1^串行左移1次,為求和陣列并行輸入向量 ,…,su,k),所有選擇擴(kuò)展器的控制端輸入數(shù)值p= [(k-l)/b]+l,所有選擇擴(kuò)展器 分別從求和陣列的輸出端中選擇一部分并擴(kuò)展成13個(gè),共同構(gòu)成向量(81,1;, 82,1;,一,、1;)與 碼率n對應(yīng)的子塊首行矩陣Fp的乘積,b位二輸入異或門Ai將乘積的第1段b比特與寄 存器Ra+1串行循環(huán)左移1次的結(jié)果相加,和存回寄存器Ra+1,其中,1彡k彡bx,l彡P(guān)彡X, 1 < 1 <c,符號(hào)[(k-1) /b]表示不大于(k-1) /b的最大整數(shù);第3步,以1為步長遞增改變k 的取值,重復(fù)第2步bx-1次,完成后,寄存器札~Ra存儲(chǔ)的是信息向量s=(sps2,…,sa), 寄存器Ra+1~Rt存儲(chǔ)的是校驗(yàn)向量P= (PuPs,…,P。);第4步,并行輸出碼字v= (s,p)。
[0009] 本發(fā)明提供的QC-LDPC并行編碼器兼容多碼率,能在保持編碼速度不變的前提下 有效減少資源需求,從而達(dá)到降低硬件成本和功耗的目的。
[0010] 關(guān)于本發(fā)明的優(yōu)點(diǎn)與精神可通過接下來的發(fā)明詳述及附圖得到進(jìn)一步的了解。
【附圖說明】
[0011] 圖1給出了不同碼率n下的參數(shù)a、t和X;
[0012] 圖2是⑶R系統(tǒng)中兼容四種碼率QC-LDPC碼的并行編碼器整體結(jié)構(gòu);
[0013] 圖3是求和陣列的構(gòu)成示意圖;
[0014] 圖4給出了各種多輸入異或門的數(shù)量;
[0015] 圖5比較了傳統(tǒng)的u路并行SRAA法與本發(fā)明的資源消耗。
【具體實(shí)施方式】
[0016] 下面結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步說明,但不作為對本發(fā)明的限定。
[0017] 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)矩陣完全可由它的首行或首列來表征。QC-LDPC碼的生成矩陣 G是由aXt個(gè)bXb階循環(huán)矩陣匕」(1彡i彡a,1彡j彡t)構(gòu)成的陣列:
[0018] (1)
[0019] G(或H)的連續(xù)b行和b列分別被稱為塊行和塊列。假設(shè) gi,j(l<i<a,a+l<j<t)是循環(huán)矩陣Gi;j的首行,那么可按照如下方式定義aXbc階 塊首行矩陣F:
[0020]
(2)
[0021] F是由生成矩陣G后c塊列中所有循環(huán)矩陣的首行構(gòu)成的,可視為由be個(gè)a維列 向量組成的。假設(shè)a不是素?cái)?shù),可被分解為a=ux(u<x),其中,u不等于1,x不等于a。 那么,塊首行矩陣F的第u(P_l)+l~up(1彡P(guān)彡x)行構(gòu)成了一個(gè)uXbc階矩陣,稱之 為子塊首行矩陣,記作Fp。Fp可視為由be個(gè)u維列向量構(gòu)成的。
[0022] 對于⑶R系統(tǒng),生成矩陣G對應(yīng)碼字v= (s,p),G的前a塊列對應(yīng)的是信息向 量s,后c塊列對應(yīng)的是校驗(yàn)向量p。以b比特為一段,信息向量s被等分為a段,即s= (Sps2,…,sa);校驗(yàn)向量p被等分為c段,即p= (Pi,p2,…,p。)。對于第i(1 <i<a)段 信息向量8"有Si=(si;1,Si,2,…,Si, b)。CDR標(biāo)準(zhǔn)采用了四種不同碼率的QC-LDPC碼,均有 t= 36和b= 256,所有a的最大公約數(shù)是u= 3。圖1給出了不同碼率n下的參數(shù)a、c 和x〇
[0023] 由式(1)、⑵和循環(huán)矩陣的特點(diǎn),圖2給出了適用于⑶R系統(tǒng)中四種碼率QC-LDPC 碼的并行編碼器,它主要由寄存器、求和陣列、選擇擴(kuò)展器和b位二輸入異或門四種功能模 塊組成。
[0024] 寄存器Ri~Ra用于緩存信息向量s= (Sl,s2,…,sa),寄存器Ra+1~Rt用于計(jì)算 和存儲(chǔ)校驗(yàn)向量P=(PuP2,…,P。)。
[0025] 求和陣列對并行輸入的u位信息比特Su,s2,k,…,su,k(l彡k彡bx)進(jìn)行求和,具 體而言,是從中選取個(gè)不同的元素進(jìn)行模2加。由排列組合知識(shí)可知,窮舉 可得到2 U-1 = 7個(gè)不同的求和表達(dá)式。7個(gè)求和表達(dá)式可用7個(gè)多輸入異或門加以實(shí)現(xiàn)。 多輸入異或門的輸入端數(shù)目范圍是1~3,當(dāng)只有一個(gè)輸入端時(shí),單輸入異或門實(shí)際上是直 連線。綜上,求和陣列有u= 3個(gè)輸入端和7個(gè)輸出端,其內(nèi)部由7個(gè)多輸入異或門組成, 如圖3所示。圖4給出了各種多輸入異或門的數(shù)量,它們總共相當(dāng)于5個(gè)二輸入異或門。
[0026] 選擇擴(kuò)展器吣(1 < 1 <C)受控于碼率n和子塊首行矩陣Fp的下標(biāo) P(1 彡P(guān)彡x)。P與向量(Su,s2,k,…,su,k) (1 彡k彡bx)的關(guān)系為p= [(k-l)/b]+l(符 號(hào)[(k_l)/b]表示不大于(k_l)/b的最大整數(shù))。選擇擴(kuò)展器吣在求和陣列運(yùn)算結(jié)果的基礎(chǔ) 上,根據(jù)碼率n完成向量(s^k,s2,k,…,su,k) (1 <k<bx)與子塊首行矩陣Fp (1 <p<x) 的并行乘法。選擇擴(kuò)展器1從求和陣列的輸出端中選擇一部分并擴(kuò)展成b個(gè),以構(gòu)成向量 (su,s2,k,…,Su,k)與子塊首行矩陣匕乘積的第1段b比特,選擇方式完全取決于碼率為q 的子塊首行矩陣Fp的be個(gè)列向量。
[0027] b