基于查找表的cdr中qc-ldpc并行編碼器的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)字廣播領(lǐng)域,特別涉及一種CDR系統(tǒng)中QC-LDPC碼編碼器的并行實(shí) 現(xiàn)方法。
【背景技術(shù)】
[0002] 由于在傳輸信道中存在的各種失真和噪聲會(huì)對(duì)發(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。與信息向量對(duì)應(yīng)的一部分 生成矩陣是單位矩陣,與校驗(yàn)向量對(duì)應(yīng)的其余部分生成矩陣是高密度矩陣。a路并行SRAA 法完成一次編碼需要b+t個(gè)時(shí)鐘周期,需要(ac+t)b個(gè)寄存器、acb個(gè)二輸入與門和acb個(gè) 二輸入異或門。
[0005] ⑶R是中國數(shù)字廣播的英文簡稱,英文全稱是ChinaDigitalRadio。⑶R標(biāo)準(zhǔn)采 用了四種不同碼率的QC-LDPC碼。對(duì)于這四種QC-LDPC碼,均有t= 36和b= 256。圖1 給出了不同碼率n下的參數(shù)a和c〇
[0006] ⑶R系統(tǒng)中QC-LDPC高速編碼的現(xiàn)有解決方案是采用a路并行SRAA法,實(shí)現(xiàn)四種 碼率QC-LDPC碼的并行編碼器共需317952個(gè)寄存器、281088個(gè)二輸入與門和281088個(gè)二 輸入異或門。當(dāng)采用FPGA實(shí)現(xiàn)時(shí),需要較多的邏輯資源,勢(shì)必會(huì)造成設(shè)備成本高,功耗大。
【發(fā)明內(nèi)容】
[0007] 針對(duì)CDR系統(tǒng)多碼率QC-LDPC碼高速編碼的現(xiàn)有實(shí)現(xiàn)方案中存在的資源需求量大 缺點(diǎn),本發(fā)明提供了一種基于查找表的并行編碼方法,充分利用FPGA邏輯資源中的查找表 功能,能在保持編碼速度不變的前提下,有效減少資源需求。
[0008] 如圖2所示,⑶R系統(tǒng)中多碼率QC-LDPC碼的并行編碼器主要由4部分組成:寄存 器、查找表、be位二輸入異或門和b位二輸入異或門。整個(gè)編碼過程分4步完成:第1步,輸 入信息向量s,保存至寄存器札~Ra,清零寄存器Ra+1~Rt;第2步,寄存器RRa串行左 移1次,查找表Lx分別輸入向量hhx和輸出向量vvx,bc位二輸入異或門&~ 對(duì)向量vvx求和,得到向量vx+1,b位二輸入異或門將向量vX+1的第1段b比特與 寄存器Ra+1串行循環(huán)左移1次的結(jié)果相加,和存回寄存器Ra+1,其中,1彡1彡c;第3步,重復(fù) 第2步b-1次,完成后,寄存器札~Ra存儲(chǔ)的是信息向量s=(si,s2,…,sa),寄存器Ra+1~ Rt存儲(chǔ)的是校驗(yàn)向量P=(PuP2,…,P。);第4步,并行輸出碼字(s,p)。
[0009] 本發(fā)明提供的QC-LDPC并行編碼器兼容多碼率,能在保持編碼速度不變的前提下 有效減少資源需求,從而達(dá)到降低硬件成本和功耗的目的。
[0010] 關(guān)于本發(fā)明的優(yōu)點(diǎn)與精神可通過接下來的發(fā)明詳述及附圖得到進(jìn)一步的了解。
【附圖說明】
[0011] 圖1給出了不同碼率n下的參數(shù)a、c和x;
[0012] 圖2是⑶R系統(tǒng)中兼容四種碼率QC-LDPC碼的并行編碼器整體結(jié)構(gòu);
[0013] 圖3比較了傳統(tǒng)的a路并行SRAA法與本發(fā)明的資源消耗。
【具體實(shí)施方式】
[0014] 下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明,但不作為對(duì)本發(fā)明的限定。
[0015] 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)成的陣列:
[0016]
(1)
[0017] G(或H)的連續(xù)b行和b列分別被稱為塊行和塊列。假設(shè) gi,j(l<i<a,a+l<j<t)是循環(huán)矩陣Gi;j的首行,那么可按照如下方式定義aXbc階 塊首行矩陣F:
[0018] (2)
[0019]F是由生成矩陣G后c塊列中所有循環(huán)矩陣的首行構(gòu)成的,可視為由be個(gè)a維列 向量組成的。假設(shè)a不是素?cái)?shù),可被分解為a=ux,其中,u和x皆為非1的正整數(shù)。那么, 塊首行矩陣F的第u(m-l)+l~um(l彡m彡x)行構(gòu)成了一個(gè)uXbc階矩陣,稱之為子塊首 行矩陣,記作Fm。Fm可視為由be個(gè)u維列向量構(gòu)成的。
[0020] 對(duì)于⑶R系統(tǒng),生成矩陣G對(duì)應(yīng)碼字(s,p),G的前a塊列對(duì)應(yīng)的是信息向量s,后c 塊列對(duì)應(yīng)的是校驗(yàn)向量P。以b比特為一段,信息向量s被等分為a段,即s= (sps2,…,sa); 校驗(yàn)向量P被等分為c段,即p=(Ppp2,…,p。)。對(duì)于第i(1彡i彡a)段信息向量Si,有 81=(81,14,2"",\ 13)。〇)1?標(biāo)準(zhǔn)采用了四種不同碼率的0(:-〇^(:碼,均有七=36和匕= 256,所有a的最大公約數(shù)是u= 3。圖1給出了不同碼率n下的參數(shù)a、c和X。
[0021] 由式(1)、⑵和循環(huán)矩陣的特點(diǎn),圖2給出了適用于⑶R系統(tǒng)中四種碼率QC-LDPC 碼的并行編碼器,它主要由寄存器、查找表、be位二輸入異或門和b位二輸入異或門四種功 能模塊組成。
[0022] 寄存器Ri~Ra用于緩存信息向量s= (Sl,s2,…,sa),寄存器Ra+1~Rt用于計(jì)算 和存儲(chǔ)校驗(yàn)向量P=(PuP2,…,P。)。
[0023] 查找表Li~Lx均有u位輸入和be位輸出,分別完成不同的u位信息比 特與子塊首行矩陣Fi~Fx的乘積。并行輸入的u位信息比特smu_u+1,k,smu_u+2,k,… ,s-d彡m彡X,1彡k彡b)構(gòu)成向量hf{s^u+u, s^u+u,…,s-}。查找表L的輸入是tv 每一路輸出是hm與子塊首行矩陣Fm對(duì)應(yīng)列的乘積,總輸出構(gòu)成了向量vm。如果將查找表的 基本查找單元視為一個(gè)二輸入與門,那么共需xeb個(gè)二輸入與門。
[0024] be位二輸入異或門將向量Vi~vjtl在一起,得到向量vx+1。實(shí)際上,vx+1中 的每個(gè)元素是向量IX,h2,…,hx}與塊首行矩陣F對(duì)應(yīng)列的乘積,vx+1是向量{huh2,…,hx} 與塊首行矩陣F的乘積。
[0025] b位二輸入異或門心