国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      深空通信中基于共享機(jī)制的準(zhǔn)循環(huán)LDPC編碼器的制作方法

      文檔序號(hào):11731884閱讀:172來源:國知局
      深空通信中基于共享機(jī)制的準(zhǔn)循環(huán)LDPC編碼器的制作方法與工藝

      本發(fā)明涉及信道編碼領(lǐng)域,特別涉及一種深空通信系統(tǒng)中基于共享機(jī)制的qc-ldpc編碼器。



      背景技術(shù):

      低密度奇偶校驗(yàn)(low-densityparity-check,ldpc)碼是高效的信道編碼技術(shù)之一,而準(zhǔn)循環(huán)ldpc(quasi-cyclicldpc,qc-ldpc)碼是一種特殊的ldpc碼。qc-ldpc碼的生成矩陣g和校驗(yàn)矩陣h都是由循環(huán)矩陣構(gòu)成的陣列,具有分塊循環(huán)的特點(diǎn),故被稱為qc-ldpc碼。循環(huán)矩陣的首行是末行循環(huán)右移1位的結(jié)果,其余各行都是其上一行循環(huán)右移1位的結(jié)果,因此,循環(huán)矩陣完全由其首行來表征。通常,循環(huán)矩陣的首行被稱為它的生成多項(xiàng)式。

      深空通信標(biāo)準(zhǔn)采用系統(tǒng)形式的qc-ldpc碼,其生成矩陣g的左半部分是一個(gè)單位矩陣,右半部分是由e×c個(gè)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塊列。深空通信標(biāo)準(zhǔn)采用了一種碼率η=1/2的qc-ldpc碼,對(duì)于該碼,t=20,e=8,c=12,b=2048。

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



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

      深空通信系統(tǒng)中1/2碼率qc-ldpc編碼器的現(xiàn)有實(shí)現(xiàn)方案存在成本高、編碼速度慢的缺點(diǎn),針對(duì)這些技術(shù)問題,本發(fā)明提供了一種基于共享機(jī)制的qc-ldpc編碼器。

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

      本發(fā)明提供的深空通信系統(tǒng)中1/2碼率qc-ldpc編碼器結(jié)構(gòu)簡(jiǎn)單,能在顯著提高編碼速度的條件下,減少存儲(chǔ)器,從而降低成本,提高吞吐量。

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

      附圖說明

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

      圖2是基于共享機(jī)制的qc-ldpc編碼過程;

      圖3是后向迭代電路;

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

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

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

      具體實(shí)施方式

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

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

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

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

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

      pxτ=φ(et-1aaτ+caτ)(3)

      pyτ=t-1(aaτ+bpxτ)(4)

      其中,φ=(et-1b+d)-1,上標(biāo)τ-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]τ=0(6)

      因?yàn)槭?5)和(6)中的兩個(gè)矩陣與t一樣都是下三角矩陣,所以式(5)中的x和式(6)中的py都可采用后向迭代的計(jì)算方式。

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

      其中,

      v=[apxpyx](8)

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

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

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

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

      根據(jù)以上討論,可給出一種分三階段的qc-ldpc編碼過程,如圖2所示。φ涉及向量與高密度矩陣的乘法,而x涉及后向迭代計(jì)算。第二階段使用向量與高密度矩陣的乘法器實(shí)現(xiàn)px=xφt。因?yàn)閤是下三角矩陣,所以第一和第三階段共享同一后向迭代電路分別計(jì)算x和py。在第一階段,px被初始化為全零,py實(shí)際上是q;在第三階段,px和py是各自的實(shí)際值,且無需計(jì)算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。對(duì)于給定的qc-ldpc碼,i′與i同步變化。因?yàn)橄氯蔷仃噚是從h派生而來,所以hi,i′=i,且當(dāng)k>i′時(shí),hi,k=0。由式(7)可知,x的第i塊行與vt的乘積滿足

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

      或者說

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

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

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

      在第三階段,如果b的前r塊列是全零,那么py的前r段也無需計(jì)算,這是因?yàn)檫@些段恰好等于第一階段計(jì)算出來的py的前r段。又因?yàn)樵诘谌A段無需計(jì)算x,故在第三階段無需使用h′的前r塊行和后u塊行。假設(shè)在h′中及其中間的(c–r–u)塊行分別有α和β個(gè)非零循環(huán)矩陣。由于存在路徑延時(shí),在第一和第三階段計(jì)算x和py所花的總時(shí)間下限是(α+β+2τ)個(gè)時(shí)鐘周期。對(duì)于深空通信系統(tǒng)中的1/2碼率qc-ldpc碼,α和β分別是32和28。

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

      使用后向迭代電路計(jì)算向量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,延時(shí)器1與比較器1配合判斷k是否變小,若變小,則比較器1輸出1,否則,比較器1輸出0,累加器3對(duì)延時(shí)τ個(gè)時(shí)鐘周期的比較器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步,桶形移位器對(duì)復(fù)用器的輸出循環(huán)左移si,k位,累加器1對(duì)桶形移位器的輸出進(jìn)行累加,當(dāng)延時(shí)器2的輸出為1時(shí),累加器1的內(nèi)容即為目的操作數(shù)vi′,vi′被寫入ram的目的地址i′中,與此同時(shí),累加器1被清零,以便計(jì)算下一個(gè)目的操作數(shù);

      第6步,重復(fù)步驟2~5,直到[pyx]=(vt–c+u+1,vt–c+u+2,…,vt+u)逐段存儲(chǔ)于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等價(jià)于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)矩陣生成多項(xiàng)式構(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事先存儲(chǔ)可變的u比特向量與固定的φj的所有可能乘積,故需2ub比特的只讀存儲(chǔ)器(read-onlymemory,rom)。b比特寄存器r1,r2,…,ru分別用于緩沖向量x的向量段vt+1,vt+2,…,vt+u,b比特寄存器ru+j用于存儲(chǔ)px的校驗(yàn)段vt–c+j。1個(gè)rla電路計(jì)算向量vt–c+j需要b個(gè)時(shí)鐘周期。

      對(duì)于深空通信系統(tǒng),使用u=4個(gè)rla電路同時(shí)計(jì)算px=(vt–c+1,vt–c+2,…,vt–c+u)是一種合理方案,如圖5所示的向量與高密度矩陣的乘法器。向量與高密度矩陣的乘法器由u個(gè)查找表l1,l2,…,lu、2u個(gè)b比特寄存器r2,1,r2,2,…,r2,2u和u個(gè)b位二輸入異或門x2,1,x2,2,…,x2,u組成。查找表l1,l2,…,lu分別存儲(chǔ)可變的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分別用于存儲(chǔ)px的校驗(yàn)段vt–c+1,vt–c+2,…,vt–c+u。u個(gè)rla電路需使用ub個(gè)二輸入異或門,2uub比特的rom和2ub個(gè)寄存器。u個(gè)rla電路計(jì)算向量px需要b個(gè)時(shí)鐘周期。使用向量與高密度矩陣的乘法器計(jì)算向量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同時(shí)循環(huán)左移1次,異或門x2,1,x2,2,…,x2,u分別對(duì)查找表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存儲(chǔ)的內(nèi)容分別是校驗(yàn)段vt–c+1,vt–c+2,…,vt–c+u,它們構(gòu)成了部分校驗(yàn)向量px。

      本發(fā)明提供了一種基于共享機(jī)制的qc-ldpc編碼方法,適用于深空通信系統(tǒng)中的1/2碼率qc-ldpc碼,其編碼步驟描述如下:

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

      第2步,使用向量與高密度矩陣的乘法器計(jì)算部分校驗(yàn)向量px;

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

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

      從圖6不難看出,整個(gè)編碼過程大約共需(α+β+2τ+b)=2130個(gè)時(shí)鐘周期,遠(yuǎn)小于基于c個(gè)sraa-i電路的串行編碼方法所需的e×b=16404個(gè)時(shí)鐘周期。

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

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

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

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1