欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

WPAN中基于校驗矩陣的準(zhǔn)循環(huán)LDPC編碼器的制作方法

文檔序號:11680924閱讀:138來源:國知局
WPAN中基于校驗矩陣的準(zhǔn)循環(huán)LDPC編碼器的制造方法與工藝

本發(fā)明涉及信道編碼領(lǐng)域,特別涉及一種wpan系統(tǒng)中基于校驗矩陣的qc-ldpc編碼器。



背景技術(shù):

低密度奇偶校驗(low-densityparity-check,ldpc)碼是高效的信道編碼技術(shù)之一,而準(zhǔn)循環(huán)ldpc(quasi-cyclicldpc,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)矩陣的首行被稱為它的生成多項式。

wpan標(biāo)準(zhǔn)采用系統(tǒng)形式的qc-ldpc碼,其生成矩陣g的左半部分是一個單位矩陣,右半部分是由e×c個b×b階循環(huán)矩陣gi,j(0≤i<e,e≤j<t,t=e+c)構(gòu)成的陣列,如下所示:

其中,i是b×b階單位矩陣,0是b×b階全零矩陣。g的連續(xù)b行和b列分別被稱為塊行和塊列。由式(1)可知,g有e塊行和t塊列。wpan標(biāo)準(zhǔn)采用了一種碼率η=1/2的qc-ldpc碼,對于該碼,t=32,e=16,c=16,b=21。

wpan標(biāo)準(zhǔn)中1/2碼率qc-ldpc編碼器的現(xiàn)有解決方案是基于c個i型移位寄存器加累加器(type-ishift-register-adder-accumulator,sraa-i)電路的串行編碼器。由c個sraa-i電路構(gòu)成的串行編碼器,在e×b個時鐘周期內(nèi)完成編碼。該方案需要2×c×b個寄存器、c×b個二輸入與門和c×b個二輸入異或門,還需要e×c×b比特rom存儲循環(huán)矩陣的生成多項式。該方案有兩個缺點:一是需要大量存儲器,導(dǎo)致電路成本高;二是串行輸入信息比特,編碼速度慢。



技術(shù)實現(xiàn)要素:

wpan系統(tǒng)中1/2碼率qc-ldpc編碼器的現(xiàn)有實現(xiàn)方案存在成本高、編碼速度慢的缺點,針對這些技術(shù)問題,本發(fā)明提供了一種基于校驗矩陣的qc-ldpc編碼器。

如圖2所示,wpan系統(tǒng)中基于校驗矩陣的qc-ldpc編碼器主要由2部分組成:后向迭代電路和向量與高密度矩陣的乘法器。編碼過程分3步完成:第1步,使用后向迭代電路計算向量py和x;第2步,使用向量與高密度矩陣的乘法器計算部分校驗向量px;第3步,使用后向迭代電路計算部分校驗向量py,從而得到校驗向量p=(px,py)。

本發(fā)明提供的qc-ldpc編碼器結(jié)構(gòu)簡單,能在顯著提高編碼速度的條件下,減少存儲器,從而降低成本,提高吞吐量。

關(guān)于本發(fā)明的優(yōu)勢與方法可通過下面的發(fā)明詳述及附圖得到進(jìn)一步的了解。

附圖說明

圖1是行列交換后近似下三角校驗矩陣的結(jié)構(gòu)示意圖;

圖2是基于校驗矩陣的qc-ldpc編碼過程;

圖3是后向迭代電路;

圖4是循環(huán)左移累加器rla電路的功能框圖;

圖5是由u個rla電路構(gòu)成的一種向量與高密度矩陣的乘法器;

圖6總結(jié)了編碼器各編碼步驟以及整個編碼過程所需的硬件資源和處理時間。

具體實施方式

下面結(jié)合附圖對本發(fā)明的較佳實施例作詳細(xì)闡述,以使本發(fā)明的優(yōu)點和特征能更易于被本領(lǐng)域技術(shù)人員理解,從而對本發(fā)明的保護(hù)范圍作出更為清楚明確的界定。

循環(huán)矩陣的行重和列重相同,記作w。如果w=0,那么該循環(huán)矩陣是全零矩陣。如果w=1,那么該循環(huán)矩陣是可置換的,稱為置換矩陣,它可通過對單位矩陣i循環(huán)右移若干位得到。qc-ldpc碼的校驗矩陣h是由c×t個b×b階循環(huán)矩陣hi,k(1≤i≤c,1≤k≤t,t=e+c)構(gòu)成的如下陣列:

通常情況下,校驗矩陣h中的任一循環(huán)矩陣要么是全零矩陣(w=0)要么是置換矩陣(w=1)。令循環(huán)矩陣hi,k的首行g(shù)i,k是其生成多項式。因為h是稀疏的,所以gi,k只有1個‘1’,甚至沒有‘1’。

h的前e塊列對應(yīng)的是信息向量a,后c塊列對應(yīng)的是校驗向量p。以b比特為一段,信息向量a被等分為e段,即a=(a1,a2,…,ae);校驗向量p被等分為c段,即p=(p1,p2,…,pc)。

對校驗矩陣h進(jìn)行行交換和列交換操作,將其變換成近似下三角形狀halt,如圖1所示。在圖1中,所有矩陣的單位都是b比特而不是1比特。a是由(c-u)×e個b×b階循環(huán)矩陣構(gòu)成,b是由(c-u)×u個b×b階循環(huán)矩陣構(gòu)成,t是由(c-u)×(c-u)個b×b階循環(huán)矩陣構(gòu)成,c是由u×e個b×b階循環(huán)矩陣構(gòu)成,d是由u×u個b×b階循環(huán)矩陣構(gòu)成,e是由u×(c-u)個b×b階循環(huán)矩陣構(gòu)成。t是下三角矩陣,u反映了校驗矩陣halt與下三角矩陣的接近程度。在圖1中,矩陣a和c對應(yīng)信息向量a,矩陣b和d對應(yīng)一部分校驗向量px,矩陣t和e則對應(yīng)余下的校驗向量py。p=(px,py)。上述矩陣和向量滿足如下關(guān)系:

pxt=φ(et-1aat+cat)(3)

pyt=t-1(aat+bpxt)(4)

其中,φ=(et-1b+d)-1,上標(biāo)t-1分別表示轉(zhuǎn)置和逆。眾所周知,循環(huán)矩陣的逆、乘積、和仍然是循環(huán)矩陣。因此,φ也是由循環(huán)矩陣構(gòu)成的陣列。雖然矩陣e、t、b和d都是稀疏矩陣,但通常情況下φ不再稀疏而是高密度的。

令qt=t–1aat,xt=eqt+cat以及pxt=φxt(或px=xφt)。那么,式(3)和(4)可變?yōu)椋?/p>

[abt][apxpy]t=0(6)

因為式(5)和(6)中的兩個矩陣與t一樣都是下三角矩陣,所以式(5)中的x和式(6)中的py都可采用后向迭代的計算方式。

如果px=0,那么pyt=t–1aat=qt,且式(5)可改寫為

其中,

v=[apxpyx](8)

也就是說,如果px初始化為全零,那么x也可由式(7)計算出來。清零矩陣x對角線上所有的單位矩陣,可得

對比式(10)和圖1可見,h′只是比h少了些非零循環(huán)矩陣。

式(7)可展開為如下一組等式:

顯然,式(6)是式(11)的一部分,因此,式(7)也可用來計算py。

根據(jù)以上討論,可給出一種基于三級流水線的qc-ldpc編碼過程,如圖2所示。φ涉及向量與高密度矩陣的乘法,而x涉及后向迭代計算。第二級使用向量與高密度矩陣的乘法器實現(xiàn)px=xφt。因為x是下三角矩陣,所以第一級和第三級可使用同種類型的后向迭代電路分別計算x和py。在第一級,px被初始化為全零,py實際上是q;在第三級,px和py是各自的實際值,且無需計算x。

令v=(v1,v2,…,vt+u),其中,每一段vk都是v的連續(xù)b比特組成,1≤k≤t+u。由式(7)和圖1可知,[pyx]=(vt–c+u+1,vt–c+u+2,…,vt+u)。以vt–c+u+i=vi′為例,其中,i′=t–c+u+i,1≤i≤c,t–c+u+1≤i′≤t+u。對于給定的qc-ldpc碼,i′與i同步變化。因為下三角矩陣x是從h派生而來,所以hi,i′=i,且當(dāng)k>i′時,hi,k=0。由式(7)可知,x的第i塊行與vt的乘積滿足

非零循環(huán)矩陣hi,k相對于b×b階單位矩陣的循環(huán)右移位數(shù)是si,k,其中,0≤si,k<b,假設(shè)在h′的第i塊行中有n個非零循環(huán)矩陣,它們的塊列號分別是k1、k2、…、kn,且1≤k1<k2<…<kn<i′。那么,式(12)變?yōu)?/p>

或者說

其中,上標(biāo)rs(s)和ls(s)分別表示對矩陣(或向量)循環(huán)右移或循環(huán)左移s位。

如果vi′按照i′升序依次由式(14)計算,那么py和x可逐段計算出來。該后向迭代過程可由圖3所示電路加以實現(xiàn)。該后向迭代電路由1個桶形移位器、3個累加器、2個延時器、2個比較器、1個復(fù)用器、1塊只讀存儲器(rom)和1塊隨機訪問存儲器(ram)組成。在圖3中,桶形移位器采用二分結(jié)構(gòu)和流水線機制,固有延時是τ個時鐘周期,其中,τ={log2b}表示τ是不小于log2b的最小整數(shù)。桶形移位器對一個b比特數(shù)循環(huán)左移若干位,累加器1對桶形移位器的輸出進(jìn)行累加。如圖3所示,h′中所有非零循環(huán)矩陣,即h1,k1、h1,k2、…、h1,kn、h2,k1、h2,k2、…、hi,kn、hi+1,k1、…、hc,kn的塊列號和移位數(shù)逐塊行地存儲于rom中。通常,hi,kn的下標(biāo)kn大于hi+1,k1的下標(biāo)k1。因此,當(dāng)rom輸出的源地址k變小時,式(14)中目的地址i′和塊行號i應(yīng)同時加1。與此同時,累加器1的內(nèi)容,即目的操作數(shù)vi′被寫入ram中,然后被清零,以便計算下一個目的操作數(shù)。延時器1延時1個時鐘周期,它與比較器1配合判斷k是否變小。延時器2延時τ個時鐘周期是為了補償桶形移位器的固有延時。累加器3產(chǎn)生目的地址i′。ram根據(jù)rom輸出的源地址k輸出源操作數(shù)vk,把目的操作數(shù)vi′寫入目的地址i′。

從理論上講,在式(14)中,源地址k一定小于目的地址i′。實際上,由于延時器2延時τ個時鐘周期,可能會出現(xiàn)k≥i′。當(dāng)出現(xiàn)這種情況時,ram輸出的vk是無效的,這是因為vi′還未計算出來,更不要說vk。當(dāng)k≥i′時,rom暫停輸出新數(shù)據(jù),且送入桶形移位器的數(shù)不是vk而是0。根據(jù)比較器2的輸出,累加器2產(chǎn)生rom的地址,復(fù)用器從vk和0中二選一送給桶形移位器。

在第三級,如果b的前r塊列是全零,那么py的前r段也無需計算,這是因為這些段恰好等于第一級計算出來的py的前r段。又因為在第三級無需計算x,故在第三級無需使用h′的前r塊行和后u塊行。假設(shè)在h′中及其中間的(c–r–u)塊行分別有α和β個非零循環(huán)矩陣。由于存在路徑延時,在第一和第三級計算x和py所花的總時間下限是(α+β+2τ)個時鐘周期。對于wpan系統(tǒng)中的1/2碼率qc-ldpc碼,α和β分別是86和79。

如果只考慮圖3中rom、ram、桶形移位器和累加器1等主要組成部分的資源消耗,那么該后向迭代電路需要τb個觸發(fā)器、b個二輸入異或門、(t+u)b比特的ram和({log2t}+{log2b})β比特的rom。

使用后向迭代電路計算向量py和x的步驟如下:

第1步,清零累加器1和累加器2,初始化累加器3為i′=t–c+u+1;

第2步,rom根據(jù)累加器2產(chǎn)生的地址輸出源地址k及移位數(shù)si,k;

第3步,ram根據(jù)源地址k輸出源操作數(shù)vk,比較器2判斷源地址k是否小于目的地址i′,若k<i′,則比較器2輸出1,否則,比較器2輸出0,延時器1與比較器1配合判斷k是否變小,若變小,則比較器1輸出1,否則,比較器1輸出0,累加器3對延時τ個時鐘周期的比較器1輸出進(jìn)行累加,產(chǎn)生目的地址i′;

第4步,根據(jù)比較器2的輸出,累加器2產(chǎn)生rom地址,復(fù)用器從vk和0中二選一送給桶形移位器,若比較器2的輸出是1,則累加器2遞增rom地址,復(fù)用器把vk送給桶形移位器,否則,累加器2保持rom地址不變,復(fù)用器把0送給桶形移位器;

第5步,桶形移位器對復(fù)用器的輸出循環(huán)左移si,k位,累加器1對桶形移位器的輸出進(jìn)行累加,當(dāng)延時器2的輸出為1時,累加器1的內(nèi)容即為目的操作數(shù)vi′,vi′被寫入ram的目的地址i′中,與此同時,累加器1被清零,以便計算下一個目的操作數(shù);

第6步,重復(fù)步驟2~5,直到[pyx]=(vt–c+u+1,vt–c+u+2,…,vt+u)逐段存儲于ram中。

由式(7)、圖1和v=(v1,v2,…,vt+u)可知,px=(vt–c+1,vt–c+2,…,vt–c+u)和x=(vt+1,vt+2,…,vt+u)。pxt=φxt等價于px=xφt。令x=(x1,x2,…,xu×b)。定義u比特向量sn=(xn,xn+b,…,xn+(u-1)×b),其中1≤n≤b。令φj(1≤j≤u)是由φt的第j塊列中所有循環(huán)矩陣生成多項式構(gòu)成的u×b階矩陣。則有

vt-c+j=(…((0+s1φj)ls(1)+s2φj)ls(1)+…+sbφj)ls(1)(15)

由式(15)可得到一種循環(huán)左移累加器(rotate-left-accumulator,rla)電路,如圖4所示。查找表的索引是u比特向量sn,查找表lj事先存儲可變的u比特向量與固定的φj的所有可能乘積,故需2ub比特的只讀存儲器(read-onlymemory,rom)。b比特寄存器r1,r2,…,ru分別用于緩沖向量x的向量段vt+1,vt+2,…,vt+u,b比特寄存器ru+j用于存儲px的校驗段vt–c+j。1個rla電路計算向量vt–c+j需要b個時鐘周期。

對于wpan系統(tǒng),使用u=3個rla電路同時計算px=(vt–c+1,vt–c+2,…,vt–c+u)是一種合理方案,如圖5所示的向量與高密度矩陣的乘法器。向量與高密度矩陣的乘法器由u個查找表l1,l2,…,lu、2u個b比特寄存器r2,1,r2,2,…,r2,2u和u個b位二輸入異或門x2,1,x2,2,…,x2,u組成。查找表l1,l2,…,lu分別存儲可變的u比特向量與固定的矩陣φ1,φ2,…,φu的所有可能乘積,寄存器r2,1,r2,2,…,r2,u分別用于緩沖向量x的向量段vt+1,vt+2,…,vt+u,寄存器r2,u+1,r2,u+2,…,r2,2u分別用于存儲px的校驗段vt–c+1,vt–c+2,…,vt–c+u。u個rla電路需使用ub個二輸入異或門,2uub比特的rom和2ub個寄存器。u個rla電路計算向量px需要b個時鐘周期。使用向量與高密度矩陣的乘法器計算向量px的步驟如下:

第1步,清零寄存器r2,u+1,r2,u+2,…,r2,2u,輸入向量段vt+1,vt+2,…,vt+u,將它們分別存入寄存器r2,1,r2,2,…,r2,u中;

第2步,寄存器r2,1,r2,2,…,r2,u同時循環(huán)左移1次,異或門x2,1,x2,2,…,x2,u分別對查找表l1,l2,…,lu的輸出和寄存器r2,u+1,r2,u+2,…,r2,2u的內(nèi)容進(jìn)行異或,異或結(jié)果被循環(huán)左移1次后分別存回寄存器r2,u+1,r2,u+2,…,r2,2u;

第3步,重復(fù)第2步b-1次,完成后,寄存器r2,u+1,r2,u+2,…,r2,2u存儲的內(nèi)容分別是校驗段vt–c+1,vt–c+2,…,vt–c+u,它們構(gòu)成了部分校驗向量px。

本發(fā)明提供了一種基于校驗矩陣的qc-ldpc編碼方法,適用于wpan系統(tǒng)中的1/2碼率qc-ldpc碼,其編碼步驟描述如下:

第1步,使用后向迭代電路計算向量py和x;

第2步,使用向量與高密度矩陣的乘法器計算部分校驗向量px;

第3步,使用后向迭代電路計算部分校驗向量py,從而得到校驗向量p=(px,py)。

圖6總結(jié)了編碼器各編碼步驟以及整個編碼過程所需的硬件資源消耗和處理時間。

從圖6不難看出,流水線充滿時,整個編碼過程大約共需max(α+τ,b,β+τ)=92個時鐘周期,小于基于c個sraa-i電路的串行編碼方法所需的e×b=336個時鐘周期。

wpan標(biāo)準(zhǔn)中1/2碼率qc-ldpc編碼器的現(xiàn)有解決方案需要e×c×b=5376比特rom,而本發(fā)明需要({log2t}+{log2b})(α+β)+2uub=1897比特rom。

綜上可見,與傳統(tǒng)的串行sraa法相比,本發(fā)明具有編碼速度快、存儲器消耗少等優(yōu)點。

以上所述,僅為本發(fā)明的具體實施方式之一,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本領(lǐng)域的技術(shù)人員在本發(fā)明所揭露的技術(shù)范圍內(nèi),可不經(jīng)過創(chuàng)造性勞動想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書所限定的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
武陟县| 茂名市| 会东县| 剑河县| 望城县| 吐鲁番市| 诸城市| 常宁市| 温州市| 英吉沙县| 湛江市| 浙江省| 孟州市| 金平| 长葛市| 思茅市| 平湖市| 松滋市| 奉新县| 祁阳县| 武夷山市| 宁海县| 勐海县| 广德县| 翼城县| 平南县| 霍邱县| 轮台县| 那坡县| 平顺县| 临邑县| 太仆寺旗| 东辽县| 久治县| 台北县| 吴忠市| 新干县| 历史| 鄂州市| 得荣县| 明星|