Wpan中基于二級流水線的高速qc-ldpc編碼器的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信道編碼領(lǐng)域,特別涉及一種WPAN系統(tǒng)中基于二級流水線的高速 QC-LDPC編碼器。
【背景技術(shù)】
[0002] 低密度奇偶校驗(Low-Density Parity-Check, LDPC)碼是高效的信道編碼技術(shù) 之一,而準循環(huán) LDPC(Quasi-Cyclic LDPC,QC-LDPC)碼是一種特殊的 LDPC 碼。QC-LDPC 碼 的生成矩陣G和校驗矩陣H都是由循環(huán)矩陣構(gòu)成的陣列,具有分段循環(huán)的特點,故被稱為 QC-LDPC碼。循環(huán)矩陣的首行是末行循環(huán)右移1位的結(jié)果,其余各行都是其上一行循環(huán)右 移1位的結(jié)果,因此,循環(huán)矩陣完全由其首行來表征。通常,循環(huán)矩陣的首行被稱為它的生 成多項式。
[0003] 通信系統(tǒng)通常采用系統(tǒng)形式的QC-LDPC碼,其生成矩陣G的左半部分是一個單位 矩陣,右半部分是由eXc個bXb階循環(huán)矩陣彡i〈e, e彡j〈t, t = e+c)構(gòu)成的陣列, 如下所示:
[0005] 其中,I是bXb階單位矩陣,0是bXb階全零矩陣。G的連續(xù)b行和b列分別被稱 為塊行和塊列。由式(1)可知,G有e塊行和t塊列。WPAN標準采用了一種碼率η = 1/2 的 QC-LDPC 碼,對于該碼,t = 32, e = 16, c = 16, b = 21。
[0006] WPAN標準中1/2碼率QC-LDPC編碼器的現(xiàn)有解決方案是基于16個I型移位寄存 器加累加器(Type-I Shift-Register-Adder-Accumulator,SRAA-I)電路的串行編碼器。由 16個SRAA-I電路構(gòu)成的串行編碼器,在336個時鐘周期內(nèi)完成編碼。該方案需要672個寄 存器、336個二輸入與門和336個二輸入異或門,還需要5376比特ROM存儲循環(huán)矩陣的生成 多項式。該方案有兩個缺點:一是需要大量存儲器,導(dǎo)致電路成本高;二是串行輸入信息比 特,編碼速度慢。
【發(fā)明內(nèi)容】
[0007] WPAN系統(tǒng)中1/2碼率QC-LDPC編碼器的現(xiàn)有實現(xiàn)方案存在成本高、編碼速度慢的 缺點,針對這些技術(shù)問題,本發(fā)明提供了一種基于二級流水線的高速Q(mào)C-LDPC編碼器。
[0008] 如圖2所示,WPAN系統(tǒng)中基于二級流水線的高速Q(mào)C-LDPC編碼器主要由2部分組 成型后向迭代電路和II型后向迭代電路。編碼過程分2步完成:第1步,使用I型后向 迭代電路計算向量q和X,從而求出部分校驗向量P x= X ;第2步,使用II型后向迭代電路 計算部分校驗向量Py,從而得到校驗向量P = (Px,Py)。
[0009] 本發(fā)明提供的WPAN系統(tǒng)中1/2碼率高速Q(mào)C-LDPC編碼器結(jié)構(gòu)簡單,無需存儲器, 能顯著提高編碼速度,從而降低成本,提高吞吐量。
[0010] 關(guān)于本發(fā)明的優(yōu)勢與方法可通過下面的發(fā)明詳述及附圖得到進一步的了解。
【附圖說明】
[0011] 圖1是行列交換后近似下三角校驗矩陣的結(jié)構(gòu)示意圖;
[0012] 圖2是基于二級流水線的QC-LDPC編碼過程;
[0013] 圖3是I型后向迭代電路;
[0014] 圖4給出了矩陣Q中非零循環(huán)矩陣所在的塊位置及其循環(huán)右移位數(shù);
[0015] 圖5是II型后向迭代電路;
[0016] 圖6給出了矩陣Y中非零循環(huán)矩陣所在的塊位置及其循環(huán)右移位數(shù);
[0017] 圖7總結(jié)了編碼器各編碼步驟以及整個編碼過程所需的硬件資源和處理時間。
【具體實施方式】
[0018] 下面結(jié)合附圖對本發(fā)明的較佳實施例作詳細闡述,以使本發(fā)明的優(yōu)點和特征能更 易于被本領(lǐng)域技術(shù)人員理解,從而對本發(fā)明的保護范圍作出更為清楚明確的界定。
[0019] 循環(huán)矩陣的行重和列重相同,記作w。如果w = 0,那么該循環(huán)矩陣是全零矩陣。如 果w = 1,那么該循環(huán)矩陣是可置換的,稱為置換矩陣,它可通過對單位矩陣I循環(huán)右移若干 位得到。QC-LDPC碼的校驗矩陣H是由cXt個bXb階循環(huán)矩陣H j, k (1彡j彡c,1彡k彡t,t =e+c)構(gòu)成的如下陣列:
[0021] 通常情況下,校驗矩陣H中的任一循環(huán)矩陣要么是全零矩陣(w = 0)要么是置換 矩陣O = 1)。令循環(huán)矩陣Hjik的首行g(shù)_jik= (g_jikil, g_jiki2,…,g_jikib)是其生成多項式,其中 0或I (1彡m彡b)。因為H是稀疏的,所以g ]ik只有1個'1',甚至沒有'1'。
[0022] 對于WPAN系統(tǒng)中1/2碼率的QC-LDPC碼,H的前16塊列對應(yīng)的是信息向量a,后 16塊列對應(yīng)的是校驗向量p。以b比特為一段,信息向量a被等分為16段,即a = (a^a;;,··· ,a16);校驗向量p被等分為16段,即p = (P1, p2,…,p16)。
[0023] 對校驗矩陣H進行行交換和列交換操作,將其變換成近似下三角形狀HAW,如圖1 所示。行列交換的過程如下:第1步,進行塊列交換,前18塊列保持不動,后14塊列重新排 序,它們分別對應(yīng)原來的第31、30、25、28、19、20、29、32、23、22、27、26、24、21塊列;第2步, 對所有塊行進行塊行交換,它們分別對應(yīng)原來的第5、7、14、16、4、1、6、8、11、10、13、15、12、 9、3、2塊行;第3步,將16塊行中的置換矩陣分別循環(huán)右移7、10、10、4、9、5、19、17、4、4、5、 19、12、4、20、7 位。
[0024] 在圖1中,所有矩陣的單位都是b = 21比特而不是1比特。A是由14X16個bXb 階循環(huán)矩陣構(gòu)成,B是由14X2個bXb階循環(huán)矩陣構(gòu)成,T是由14X14個bXb階循環(huán)矩 陣構(gòu)成,C是由2X16個bXb階循環(huán)矩陣構(gòu)成,D是由2X2個bXb階循環(huán)矩陣構(gòu)成,E是 由2X 14個bXb階循環(huán)矩陣構(gòu)成。T是下三角矩陣,u = 2反映了校驗矩陣ΗΑ?Τ與下三角 矩陣的接近程度。在圖1中,矩陣A和C對應(yīng)信息向量a,矩陣B和D對應(yīng)一部分校驗向量 Px= (Pi,P2),矩陣T和E則對應(yīng)余下的校驗向量py= (p3,p4,…,p16)。P= (px,py)。上述 矩陣和向量滿足如下關(guān)系:
[0025] ρχτ= Φ (ET 1AaVCax) (3)
[0026] p/= T 1 (AaT+BpxT) (4)
[0027] 其中,Φ = (ET 4+D) \上標1卩1分別表示轉(zhuǎn)置和逆。眾所周知,循環(huán)矩陣的逆、 乘積、和仍然是循環(huán)矩陣。因此,Φ也是由循環(huán)矩陣構(gòu)成的陣列。
[0028] 當Φ等于單位矩陣,即Φ = I時,式⑶可簡化為pxT= ET 1AaVcaT。令qT= T-1Aa' xT= Eq T+CaT以及 p x= X。
[0029] 向量q和x可由下式計算得到:
[0033] -旦計算得出px,式(4)可改寫為:
[0034] [A B T] [a px py] T = Y [a p x py] T = 0 (7)
[0035] 其中,
[0036] Y = [A B Τ] (8)
[0037] 因為Q和Y與T 一樣都是下三角矩陣,所以式(5)中的[q χ]和式(7)中的?,都 可采用后向迭代的計算方式。
[0038] Q和Y涉及后向迭代計算。根據(jù)以上討論,可給出一種基于二級流水線的QC-LDPC 編碼過程,如圖2所示。
[0039] 式(5)隱含了后向迭代操作,必須逐段求解向量q和X。定義[q X] = Q1, q2,… ,q16),并初始化為全零。首先,?是矩陣Q的第1塊行與向量[a q x]T之積。其次,92是 矩陣Q的第2塊行與向量[a q χ]τ之積。重復(fù)上述過程,直到算完q16為止,如圖3所示的 I型后向迭代電路。I型后向迭代電路由32個b比特寄存器Rlil, Rli2,…,&32和16個多輸 入模2加法器A1, D A1,2,…,A1,16組成。
[0040] 以計算q](l彡j彡16)為例。校驗矩陣H中的非零循環(huán)矩陣通常是單位矩陣的循 環(huán)右移版本。假設(shè)矩陣Q的第j塊行的前16塊列中有M個非零循環(huán)矩陣,它們的循環(huán)右移位 數(shù)分別是s,kl,Sj,k2,…,Sj, kM(l彡kl,k2,…,kM彡16),矩陣Q的第j塊行的后16塊列中有N 個非零循環(huán)矩陣,它們的循環(huán)右移位數(shù)分別是Sjiml, s_j,m2,…,s_j,mN (16〈ml, m2, 。 則
[0041 ]
[0042] 其中,上標re(n)和1s(n)分別表示循環(huán)右移η位和循環(huán)左移η位。因為M和N都很 小,所以式(9)可由一個對輸入循環(huán)左移的多輸入模2加法器在1個時鐘周期內(nèi)計算完畢。 因此,計算向量[q X]共需16個時鐘周期。既然矩陣Q中共有β = 102個非零循環(huán)矩陣, 那么I型后向迭代電路需使用(β -2c)b = 1470個二輸入異或門。
[0043] 矩陣Q是由16X32個bXb階循環(huán)矩陣UK 16, 1彡k彡32)構(gòu)成的陣 列。非零循環(huán)矩陣QKk相對于bXb階單位矩陣的循環(huán)右移位數(shù)是8 為便于 描述,全零循環(huán)矩陣相對于bXb階循環(huán)矩陣的循環(huán)右移位數(shù)記作S]ik= 在圖3中, 當1彡k彡16時,Q,k在垂直方向上對應(yīng)向量段a k,當16〈k〈16+j時,Qjik在垂直方向上對 應(yīng)向量段qk 16。全零循環(huán)矩陣〇0在垂直方向上對應(yīng)的向量段不參與異或運算,非零循環(huán) 矩陣Qj1Ii在垂直方向上對應(yīng)的向量段 a &或q k ie被循環(huán)左移S Ik位后送入多輸入模2加法 器A1^中進行異或運算,A u的計算結(jié)果是q ,,存入寄存器R1^中。圖4給出了矩陣Q中非 零循環(huán)矩陣所在的塊位置及其循環(huán)右移位數(shù)。使用I型后向迭代電路計算向量q和X的步 驟如下:
[0044] 第1步,輸入信息段ai,a2,…,a16,將它們分別存入寄存器R lil7, Rliis,…,Rli32中;
[0045] 第2步,非零循環(huán)矩陣Qjik在垂直方向上對應(yīng)的向量段a肩q k 16被循環(huán)左移s jik 位后送入多輸入模2加法器Ali,中進行異或運算,異或結(jié)果q ,被存入寄存器R u中,其中, 1彡j彡16, 1彡k〈32,0彡Sj,k〈b,當1彡k彡16時,Qjik在垂直方向上對應(yīng)向量段a k,當 16〈k〈16+j時,Qjik在垂直方向上對應(yīng)向量段qk 16;
[0046] 第3步,以1為步長遞增改變j的取值,重復(fù)第2步15次,最終