共享存儲機制的wpan中準循環(huán)ldpc串行編碼器的制造方法
【技術領域】
[0001] 本發(fā)明涉及信道編碼領域,特別涉及一種WPAN系統中準循環(huán)LDPC碼的串行編碼 器。
【背景技術】
[0002] 低密度奇偶校驗(Low-DensityParity-Check,LDPC)碼是高效的信道編碼技術之 一,而準循環(huán)LDPC(Quasic-LDPC,QC-LDPC)碼是一種特殊的LDPC碼。QC-LDPC碼的生成矩 陣G和校驗矩陣H都是由循環(huán)矩陣構成的陣列,具有分段循環(huán)的特點,故被稱為準循環(huán)LDPC 碼。循環(huán)矩陣的首行是末行循環(huán)右移1位的結果,其余各行都是其上一行循環(huán)右移1位的 結果,因此,循環(huán)矩陣完全由其首行來表征。通常,循環(huán)矩陣的首行被稱為它的生成多項式。
[0003] WPAN是中國數字廣播的英文簡稱,英文全稱是China Digital Radio。WPAN標準 采用了系統形式的QC-LDPC碼,其生成矩陣G的左半部分是一個單位矩陣,右半部分是由 aXc個bXb階循環(huán)矩陣Gi,j(0彡i〈a, a彡j〈t, t = a+c)構成的陣列,如下所示:
[0004] (1)
[0005] 其中,I是bXb階單位矩陣,0是bXb階全零矩陣。G的連續(xù)b行和b列分別被 稱為塊行和塊列。由式(1)可知,G有a塊行和t塊列。令gu是循環(huán)矩陣Gy的生成多項 式。WPAN標準采用了四種不同碼率的QC-LDPC碼。對于這四種QC-LDPC碼,均有t= 32和 b= 21。圖1給出了不同碼率n下的參數a和c〇
[0006] 對于WPAN標準,生成矩陣G對應碼字V= (s,p),G的前a塊列對應的是信息向 量s= (eQ,e:,…,,后c塊列對應的是校驗向量p= (dQ,屯,…,d。^)。以b比特為 一段,信息向量s被等分為a段,即s= (Sd,Si,…,s^);校驗向量p被等分為c段,即p= (p。,Pi,…,P?!?。由v=sG可知,第j-a段校驗向量滿足
[0007] Pj_a= s qGqj+sA,,…+SA,,...(2)其中,0彡i〈a,a彡j〈t,t =a+c。令g丨和gif分別是生成多項式gi,」循環(huán)右移n位和循環(huán)左移n位的結果,其中, 0< n < b。那么,式(2)等號右邊的第i項可展開為
[0008]
(3)
[0009] 目前,QC-LDPC串行編碼廣泛采用的是基于c個I型移位寄存器加累加器(Type-IShift-Register-Adder-Accumulator, SRAA-I)電路的方案。圖 2 是單個 SRAA-I 電路的功 能框圖,信息向量s逐位串行送入該電路。當用SRAA-I電路對校驗段Pj_a(a< j〈t)進行 編碼時,生成多項式查找表預先存儲生成矩陣G的第j塊列的所有生成多項式,累加器被清 零初始化。當第〇個時鐘周期到來時,移位寄存器從生成多項式查找表加載G的第0塊行、 第j塊列的生成多項式gfg:,信息比特移入電路,并與移位寄存器的內容g巧進行標 量乘,乘積eflg;J與累加器的內容0模2加,和eug$存回累加器。當第1個時鐘周期到來 時,移位寄存器循環(huán)右移1位,內容變?yōu)?,信息比?1移入電路,并與移位寄存器的內容 g;)?進行標量乘,乘積AgjJ與累加器的內Weug$模2加,和eug: +qgg存回累加器。上述 右移-乘-加-存儲過程繼續(xù)進行下去。當第b-1個時鐘周期結束時,信息比特eb_i已移入 電路,此時累加器存儲的是部分和ScA^,這是信息段S(l對p的貢獻。當第b個時鐘周期到 來時,移位寄存器從生成多項式查找表加載G的第1塊行、第j塊列的生成多項式&.廣g[f, 重復上述右移-乘-加-存儲過程。當信息段81完全移入電路時,累加器存儲的是部分和ScAu+sAu。重復上述過程,直到整個信息向量s全部串行移入電路。此時,累加器存儲的 是校驗段Ph。使用c個SRAA-I電路能構成圖3所示的串行編碼器,它在aXb個時鐘周期 內同時求出c個校驗段。該方案需要2XcXb個寄存器、cXb個二輸入與門和cXb個二 輸入異或門,還需要c個aXb比特ROM存儲循環(huán)矩陣的生成多項式。
[0010] 為兼容四種碼率,WPAN標準中QC-LDPC串行編碼的現有解決方案是基于16個 SRAA-I電路,需要672個寄存器、336個二輸入與門和336個二輸入異或門,還需要4個336 比特的ROM分別存儲n= 1/2碼率G的第16~19塊列的循環(huán)矩陣生成多項式,4個756 比特的ROM分別存儲n= 1/2和5/8兩種碼率G的第20~23塊列的循環(huán)矩陣生成多項 式,4個1260比特的ROM分別存儲n= 1/2、5/8和3/4三種碼率G的第24~27塊列的循 環(huán)矩陣生成多項式,4個1848比特的ROM分別存儲所有碼率生成矩陣G的第28~31塊列 的循環(huán)矩陣生成多項式。該方案有兩個缺點:一是移位寄存器在每個時鐘周期要么加載新 的生成多項式,要么循環(huán)右移1位,造成單個寄存器的存儲內容不斷變化,進而導致電路的 功耗大;二是循環(huán)矩陣的生成多項式分散在多個ROM中,眾所周知,當用FPGA片內的存儲器 實現ROM時,不可避免地會造成存儲器的浪費,ROM個數越多浪費越嚴重,勢必造成電路的 存儲器大、成本高。
【發(fā)明內容】
[0011] WPAN系統中多碼率QC-LDPC串行編碼的現有實現方案存在功耗高、存儲器大、成 本高的缺點,針對這些技術問題,本發(fā)明提供了一種基于共享存儲機制的串行編碼器。
[0012] 如圖5所示,WPAN系統中多碼率QC-LDPC碼的串行編碼器主要由6部分組成:生 成多項式查找表、緩沖器、b位二進制乘法器、b位二進制加法器、移位寄存器和延時器。編 碼過程分5步完成:第1步,清零延時器D和移位寄存器&,&,…,R15,根據不同的碼率n, 緩沖器h_a在第i Xb+j-a個時鐘周期到來時從生成多項式查找表加載生成矩陣G第i塊 行、第j塊列的生成多項式gu,而在其它時刻保持不變;第2步,當第k個時鐘周期到來 時,延時器D輸入信息比特ek(0彡k〈aXb),緩沖器&,…,B15中的生成多項式分別通 過b位二進制乘法器M。,]^,…,M15與延時器D中的數據比特D。,Di,…,D15進行標量乘,b位 二進制乘法器凡,]^,…,M15的乘積分別通過b位二進制加法器AmAi,…,A15與移位寄存器 R。,&,…,R15的內容相加,b位二進制加法器A^Ai,…,A15的和被循環(huán)左移1位后的結果分 別存入移位寄存器R〇, &,…,R15;第3步,以1為步長遞增改變k的取值,重復第2步aXb 次,直到整個信息向量S輸入完畢;第4步,當時鐘周期到來時,延時器D輸入填充比特0, 緩沖器,…,B15中的生成多項式分別通過b位二進制乘法器Mm]^,…,M15與延時器D 中的數據比特%,Di,…,D15進行標量乘,b位二進制乘法器M&Mi,…,M15的乘積分別通過b 位二進制加法器A。,Ai,…,A15與移位寄存器R。,札,…,R15的內容相加,b位二進制加法器 A。,Ai,…,A15的和被循環(huán)左移1位后的結果分別存入移位寄存器R& &,…,R15;第5步,重復 第4步16次,直到16個填充比特0輸入完畢,此時,移位寄存器&,&,…,R15存儲的分別 是校驗段P。,Pi,…,P15,它們構成了校驗向量P= (P。,Pi,…,P15)。
[0013] 本發(fā)明提供的串行編碼器結構簡單,兼容WPAN系統中所有碼率的QC-LDPC碼,能 在基本上保持編碼速度和邏輯資源耗費不變的條件下,降低功耗,減少存儲器需求,節(jié)約成 本。
[0014] 關于本發(fā)明的優(yōu)勢與方法可通過下面的發(fā)明詳述及附圖得到進一步的了解。
【附圖說明】
[0015] 圖1匯總了WPAN系統中四種碼率QC-LDPC碼生成矩陣的參數a和c;
[0016] 圖2是I型移位寄存器加累加器SRAA-I電路的功能框圖;
[0017] 圖3是由c個SRAA-I電路構成的QC-LDPC串行編碼器;
[0018] 圖4是緩沖器加移位寄存器BASR電路的功能框圖;
[0019] 圖5是由16個BASR電路構成的一種基于共享存儲機制的QC-LDPC串行編碼器。
【具體實施方式】
[0020] 下面結合附圖對本發(fā)明的較佳實施例作詳細闡述,以使本發(fā)明的優(yōu)點和特征能更 易于被本領域技術人員理解,從而對本發(fā)明的保護范圍作出更為清楚明確的界定。
[0021] 既然將循環(huán)矩陣的生成多項式gi,j循環(huán)右移n位等價于將它循環(huán)左移b-n位,即 €r=g!rn>,那么式⑶可改寫為
[0022]
(4)
[0023] 式⑷是一個乘-加-左移-存儲的過程,其實現用緩沖器加移位寄存器(Buffer -Adder-Shift-Register,BASR)電路。圖4是BASR電路的功能框圖,信息向量s被逐位串 行送入該電路。當用BASR電路對校驗段Pj_a(0 <j〈c)進行編碼時,生成多項式查找表預 先存儲生成矩陣G的第j塊列的所有生成多項式,移位寄存器被清零初始化。當第0個時 鐘周期到來時,緩沖器從生成多項式查找表加載G的第0塊行、第j塊列的生成多項式gaj, 信息比特移入電路,并與緩沖器的內容gaj進行標量乘,乘積e與移位寄存器的內容 0模2加,和e(|g(U循環(huán)左移1位的結果(0+e 存回移位寄存器。當第1個時鐘周期 到來時,緩沖器的內容保持不變,信息比特61移入電路,并與緩沖器的內容g(U進行標量乘, 乘積6也」與移位寄存器的內容(〇+6成(|,」嚴1)模 2加,和(0+6通(|,」)1(1)+6而,」循環(huán)左移1位 的結果((〇+%&」1(1)+6也/(1)存回移位寄存器。上述乘-加-左移-存儲過程繼續(xù)進行 下去。當第b_l個時鐘周期結束時,信息比特eb_i已移入電路,此時移位寄存器存儲的是部 分和ScA^,這是信息段S(l對p的貢獻。當第b個時鐘周期到來時,緩沖器從生成多項式 查找表加載G的第1塊行、第j塊列的生成多項式g1;j,重復上述乘-加-左移-存儲過程。 當信息段81完全移入電路時,移位寄存器存儲的是部分和sfw+SiGu。重復上述過程,直 到整個信息向量S全部串行移入電路。此時,移位寄存器存儲的是校驗段Ph。
[0024] 圖5給出了由16個BASR電路構成的一種基于共享存儲機制的QC-LDPC串行編 碼器,由生成多項式查找表、緩沖器、b位二進制乘法器、b位二進制加法器、移位寄存器和 延時器六種功能模塊組成。生成多項式查找表用于存儲所有循環(huán)矩陣的生成多項式,16 個BASR電路共享該查找表,分時從中讀取生成多項式。緩沖器,…,B15分別緩存第 a,a+l,…,t-1塊列中循環(huán)矩陣的生成多項式。緩沖器,…,B15中的生成多項式分別與 延時器D中的數據比特%,Di,…,D15進行標量乘,這16個標量乘法分別通過b位二進制乘法 器,…,M15完成。b位二進制乘法器IMi,…,M15的乘積分別與移位寄存器R。,!^,…,R15 的內容相加,這16個模2加法分別通過b位二進制加法器,…,A15完成。b位二進制 加法器A。,Ai,…,A15的和被循環(huán)左移1位后的結果分別存入移位寄存器R