国产精品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>

      一種低密度生成矩陣碼的譯碼方法及裝置的制作方法

      文檔序號(hào):7692126閱讀:252來(lái)源:國(guó)知局
      專利名稱:一種低密度生成矩陣碼的譯碼方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)據(jù)編譯碼領(lǐng)域,尤其涉及一種低密度生成矩陣碼的譯碼方 法及裝置。
      背景技術(shù)
      信道編碼的目的是為了保證信息的可靠傳輸,信道編碼方案的實(shí)現(xiàn)復(fù)雜 度主要在譯碼端,譯碼器通常是信道編碼方案的關(guān)鍵部分。譯碼器可以采用硬件實(shí)現(xiàn),即采用硬件邏輯單元構(gòu)建譯碼器;也可以采用軟件實(shí)現(xiàn),即采用 通用處理器(CPU),通過(guò)程序?qū)崿F(xiàn)譯碼器;還可以采用軟硬件結(jié)合的實(shí)現(xiàn) 方法實(shí)現(xiàn)譯碼器。LDGC (Low Density Generator Matrix Codes, j氐密度生成矩陣石馬)廣義 地是指其生成矩陣是一個(gè)稀疏的二元矩陣(即矩陣元素僅由0和1組成) 的一類碼,包括了結(jié)構(gòu)化LDGC碼和Raptor (瑞普特)碼等非結(jié)構(gòu)化LDGC 碼。LDGC適于對(duì)擦除信道進(jìn)行前向糾錯(cuò)(FEC)。在數(shù)據(jù)傳輸過(guò)程中,如 果接收端接收到的數(shù)據(jù)包出現(xiàn)校驗(yàn)錯(cuò)誤,則將錯(cuò)誤的數(shù)據(jù)段丟棄,相當(dāng)于進(jìn) 行擦除。LDGC碼可以有效對(duì)抗數(shù)據(jù)的丟失。同時(shí),LDGC是一種線性分組碼,其生成矩陣(編碼矩陣)中的元素均 來(lái)自二元域(GF(2)域),即生成矩陣的元素僅由0和1組成;并且其非零元 素通常是稀疏的,即矩陣中'T,的數(shù)量只占矩陣總元素?cái)?shù)量很小的比例;此 外,LDGC還是一種系統(tǒng)碼,即使用LDGC生成矩陣對(duì)K比特信息位進(jìn)行編 碼所生成的碼字的前K比特與該信息位相同。LDGC編譯碼過(guò)程涉及的運(yùn)算 都是GF(2)域上的運(yùn)算。結(jié)構(gòu)化LDGC的生成矩陣還具有其它特征,可以由一個(gè)很小的基礎(chǔ)矩陣通過(guò)擴(kuò)展修正得到;特別地,其前L行對(duì)應(yīng)的方陣通常是一個(gè)上三角或下三 角矩陣。而Raptor碼等不具有結(jié)構(gòu)化特點(diǎn)的LDGC生成矩陣是一個(gè)隨機(jī)的二 元矩陣。下面用Gldgc統(tǒng)一表示LDGC生成矩陣,當(dāng)需要分別表示時(shí),用Gstruct
      表示結(jié)構(gòu)化LDGC的生成矩陣的轉(zhuǎn)置,用Grand。m表示不具有結(jié)構(gòu)化特點(diǎn)的
      包括Raptor碼的生成矩陣。
      下面的敘述中凡是以小寫t為下標(biāo)的"向量"或"矩陣"都表示是原"向 量"或"矩陣"的轉(zhuǎn)置,向量或矩陣與其轉(zhuǎn)置從內(nèi)容上看是完全一樣的,有 時(shí)可以表示同一個(gè)對(duì)象。例如,定義Gwgct是G一的轉(zhuǎn)置,It是I的轉(zhuǎn)置,Rt 是R的轉(zhuǎn)置,因I和R都是行向量,這里It和Rt都是列向量;下面用G,ct、
      G^d。m分別表示各自的轉(zhuǎn)置后的生成矩陣Gldgct。
      圖l是轉(zhuǎn)置后的LDGC生成矩陣Gwgct的示意圖。如圖la所示,結(jié)構(gòu)化 LDGC生成矩陣Gstmct中的前L行對(duì)應(yīng)的方陣通常是一個(gè)上三角或下三角矩 陣。如圖lb所示,Raptor碼的前L行對(duì)應(yīng)的方陣是一個(gè)隨機(jī)的矩陣,不具有 上三角或下三角矩陣特點(diǎn)。其中,圖中的x, y可以為O。
      LDGC的編碼是利用系統(tǒng)碼中信息位(即待發(fā)送數(shù)據(jù))與中間變量的對(duì) 應(yīng)關(guān)系先求出中間變量,然后再用中間變量乘以生成矩陣得到編碼后的碼字。 具體地說(shuō),編碼過(guò)程是先對(duì)K比特原始信息序列m填充d =L -K個(gè)已知比特 后產(chǎn)生L比特序列s,然后根據(jù)方程組關(guān)系式I x Gldgc(0 : L - 1, 0 : L _ 1) = s, 解方程組得到L比特中間變量序列I,然后再由中間變量乘以生成矩陣,即I x Gldge(0 : L - 1, 0 : N+d - l)得到N+d比特(包含d個(gè)填充比特)的碼字序列 C,ldg(;, C,咖的d個(gè)填充比特不需要傳輸,因而真正傳輸?shù)氖荖比特的碼字序 列Cldgc。 d物經(jīng)過(guò)信道后(可能發(fā)生擦除),接收端接收的碼字序列為R。 其中,s是lxL的向量;I是lxL的向量;R是lxN的向量,其轉(zhuǎn)置Rt為 Nxl的向量;Gldge(0:L-l, O:L-l)是LxL方陣,該方陣通常是一個(gè)上三 角或下三角矩陣,Gldgc(0 : L _ 1, 0 : N+d - l)是L x (N+d)的矩陣。編碼的詳細(xì) 過(guò)程可以參考專利"低密度生成矩陣碼的編碼方法和裝置、及譯碼方法和裝 置,,。
      圖2是低密度生成矩陣碼的譯碼方法流程圖。如圖2所示,譯碼過(guò)程包含如下步驟
      201:在接收碼字序列Rt的相應(yīng)位置填充長(zhǎng)度為d = L - K的已知比特序 列,例如同時(shí)刪除神皮信道擦除的碼字符號(hào),得到Re;
      其中K為原始信息位的長(zhǎng)度,L為原始信息位經(jīng)過(guò)填充后編碼的長(zhǎng)度。
      202:根據(jù)接收碼字序列Rt被擦除的情況,對(duì)Gwget進(jìn)行行擦除(刪除)
      處理,得到擦除生成矩陣Ge。
      圖3為根據(jù)接收碼字序列Rt的擦除情況對(duì)生成矩陣進(jìn)行擦除處理的示意
      圖。如圖3所示,經(jīng)過(guò)擦除處理的生成矩陣Ge的前L行已不再是下三角方陣。
      假設(shè)填充已知比特序列后的R = (ro,ri,……rN+d》t中的Xt個(gè)符號(hào)化, r』,...,rp…i^被信道擦除;其中,前L個(gè)符號(hào)中的X^個(gè)符號(hào)&, r」,…,rp} 被信道擦除;貝'j Xset={i, j,…,p,…,x}; XsetL={i, j, ...p}。相應(yīng)地擦
      除Gwget中的第(i, j, ..., p, ..., XH亍,即得到Ge,這時(shí)Ge上面的矩陣由于
      擦除了若千行,已經(jīng)不是嚴(yán)格對(duì)角化,如圖3(c)所示。
      203:根據(jù)方程組關(guān)系式Ge x It = Re,解方程組求得中間變量It;
      204:根據(jù)方程組關(guān)系式Gldgct(0:L - l,O:L - 1) x it=St求出St,并從St中刪
      除上述填充的d個(gè)已知比特,得到K比特的原始信息序列m,完成LDGC譯碼。
      在上述譯碼過(guò)程中最關(guān)鍵的步驟是求中間變量It,這通常需要解大型的 二元線性方程組。工程上,解線性方程組可以釆用高斯消元或迭代等方法, 根據(jù)LDGC的特點(diǎn),高斯消元法更適合LDGC譯碼。因而,高斯消元過(guò)程的 快慢直接影響到LDGC譯碼的速度。
      根據(jù)方程組關(guān)系式Gldgct(0 : N+d - 1,0 : L - 1) x lt = Rt(發(fā)生信道擦除時(shí)將 Gwgct記為Ge,將Rt記為Re,上述方程組關(guān)系式為Ge x It = &)求解中間變量
      It的過(guò)程中,所進(jìn)行的高斯消元需要對(duì)G一t (發(fā)生信道擦除時(shí)為Ge)作"行
      置換、行相加和列置換"三種初等變換。根據(jù)線性代數(shù)原理,為了保證方程
      組的正確性,對(duì)Gwget (Ge)進(jìn)行初等變換的同時(shí),需要對(duì)It和Rt (發(fā)生信道
      擦除時(shí)為Re)作如下相應(yīng)的處理
      1 )行置換,若Gldget ( Ge )的第i行和第j行進(jìn)行置換,則Rt ( Re )的第i比特和第j個(gè)比特需要進(jìn)行置換;
      2 )行相加,若Gldgct ( Ge)的第i行和第j行進(jìn)行相加,則Rt (Re)的第 i比特和第j個(gè)比特需要進(jìn)行相加(模2加);
      3)列置換,若Gldget (Ge)的第i列和第j列進(jìn)行置換,則It的第i比特 和第j個(gè)比特需要進(jìn)行置換。
      由于最終結(jié)果需要得到It,而It中的元素在Gldgct (Ge)作列置換時(shí)相應(yīng) 地作了置換,因而需要對(duì)It的置換情況作記錄,以便用于后面的求逆置換過(guò) 程。工程上,可以通過(guò)一個(gè)數(shù)組來(lái)記錄It的置換情況。而Rt不是最終需要的 數(shù)據(jù),可以直接對(duì)其處理,不需要記錄其處理情況。
      因?yàn)檫@些變換關(guān)系是嚴(yán)格對(duì)應(yīng)的,而且高斯消元的主要復(fù)雜度體現(xiàn)在對(duì) Gldgct (Ge)的處理上,下面為了敘述的簡(jiǎn)便,凡是針對(duì)Gwgct (Ge)的初等變 換,相應(yīng)地對(duì)It和Rt (RJ的處理需嚴(yán)格按照上面的三種情況來(lái)處理。為了
      突出重點(diǎn),下面有時(shí)會(huì)簡(jiǎn)化對(duì)It和Rt (Re)的處理的描述。
      通常,實(shí)現(xiàn)高斯消元的復(fù)雜度(計(jì)算量)主要體現(xiàn)在矩陣的"行相加"
      操作上。由于G啤et的元素均來(lái)自GF(2)域;所以Gldget (Ge)中兩行的相加操 作是"模2相加"操作,例如
      第i行內(nèi)容row—i為(l,O,O,O,O,l,O,l);
      第j行內(nèi)容rowj為(1,1,0,0,0,1,1,1);
      進(jìn)行高斯消元時(shí)發(fā)生用row一i去消row J的操作,則相當(dāng)于
      row J = row一i + row」=
      (1,0,0,0,0,1,0,1)+(; U,O,O,O,l,l,l) =(0,1,0,0,0,0,1,0);
      這里"+"為GF(2)域中的加法(才莫2力口);
      由上面的例子可以看出,由于Gwgct中的元素均來(lái)自GF(2)域,即元素的 取值只有0和1兩種,如果直接存儲(chǔ)這些0和1元素,即每個(gè)比特元素占一 個(gè)存儲(chǔ)單元,或者說(shuō)占一個(gè)處理器的字(通常為32比特),則碼長(zhǎng)較長(zhǎng)時(shí) Gldgct (Ge)需要很大的存儲(chǔ)空間;而且,行相加操作需要分別對(duì)每一個(gè)元素 進(jìn)行才莫2加,非常費(fèi)時(shí)。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的技術(shù)問(wèn)題是,克服現(xiàn)有技術(shù)的不足,提出一種減少
      LDGC生成矩陣所占用的存儲(chǔ)空間,并提高運(yùn)算速度的低密度生成矩陣碼的 譯碼方法及裝置。
      為了解決上述問(wèn)題,本發(fā)明提供一種低密度生成矩陣碼的譯碼方法,對(duì) 接收到的經(jīng)過(guò)LDGC編碼后傳輸?shù)谋忍匦畔⑿蛄羞M(jìn)行譯碼,該方法包括如下 內(nèi)容
      Sl:在接收到的碼字序列R中填充L - K個(gè)已知比特并將R中祐L信道擦 除的碼字符號(hào)刪除,得到Re;
      S2:將上述被信道擦除的碼字符號(hào)對(duì)應(yīng)的行從LDGC生成矩陣的轉(zhuǎn)置矩 陣Gwgct中刪除,得到Ge;其中,用WNum個(gè)處理字依序存儲(chǔ)Ge中各行的全 部或部分相同位置的矩陣元素,每個(gè)處理字存儲(chǔ)Ge的WWid個(gè)矩陣元素;
      S3:根據(jù)關(guān)系式GeXl產(chǎn)Re解得It;
      S4:根據(jù)關(guān)系式Gldgct(0:L - l,O:L - 1) x it=St求出St,并從St中刪除上述 填充的L-K個(gè)已知比特得到K比特的原始信息序列;
      上述Gldget為N + L - K行、L列的GF(2)域矩陣,WWid為處理字的字寬, WNum = ceil(P/WWid), P為Ge各行中用所述處理字的一個(gè)比特存儲(chǔ)的矩陣元 素的個(gè)數(shù)。
      此外,步驟S3中,采用高斯消元法求解所述It;并且在高斯消元過(guò)程中, 對(duì)于Ge中用所述處理字的一個(gè)比特存儲(chǔ)的各行的矩陣元素,使用Ge中兩行 對(duì)應(yīng)的處理字的比特異或運(yùn)算實(shí)現(xiàn)對(duì)應(yīng)行的行相加。
      此外,所述Gldget的前L行對(duì)應(yīng)的方陣為下三角矩陣;
      步驟S3包括如下子步驟
      S31:對(duì)Ge進(jìn)行列置換,生成G^「A C],其中A是M階下三角矩陣,
      D B
      并記錄Ge和Ga的列置換對(duì)應(yīng)關(guān)系;
      S32:根據(jù)關(guān)系式Ga x I! = Re解得I;,并根據(jù)上述列置換對(duì)應(yīng)關(guān)系對(duì)I;進(jìn)行逆置換得到It;
      其中,所述P為矩陣C和B的列數(shù),用所述處理字依序存儲(chǔ)C和B中各 行的全部矩陣元素,每個(gè)處理字的各比特依序存儲(chǔ)C和B的WWid個(gè)矩陣元 素。
      此外,所述M=L - XL, XL為R的前L個(gè)碼字符號(hào)中被信道擦除的比特 數(shù);P=XL。
      此外,設(shè)XsetL為填充所述L - K個(gè)已知比特后R的前L個(gè)碼字符號(hào)中, 被刪除的碼字符號(hào)的序號(hào)集合,該集合中的序號(hào)個(gè)數(shù)為所述Xt;
      步驟S31中,將所述Ge中列序號(hào)屬于Xset的列移至Ge的最右端,對(duì)應(yīng) 列空出的位置由后續(xù)列序號(hào)不屬于XsetL的列依次填充,得到所述Ga。
      本發(fā)明還提供一種低密度生成矩陣碼的譯碼裝置,該裝置包括填充擦 除單元,高斯消元單元,信息序列生成單元,其中所述填充擦除單元,用于在接收到的碼字序列R中填充L-K個(gè)已知比 特,并將被信道擦除的碼字符號(hào)刪除,生成并輸出Re;并將上述被信道擦除 的碼字符號(hào)對(duì)應(yīng)的行從LDGC生成矩陣的轉(zhuǎn)置矩陣Gldgct中刪除,生成并輸出 Ge;其中,用WNum個(gè)處理字依序存儲(chǔ)Ge中各行的全部或部分相同位置的 矩陣元素,每個(gè)處理字存儲(chǔ)Ge的WWid個(gè)矩陣元素;
      所迷高斯消元單元,用于才艮據(jù)關(guān)系式GeXl產(chǎn)R^對(duì)Ge進(jìn)行高斯消元,解
      得并輸出It;
      所述信息序列生成單元,用于接收所述高斯消元單元輸出的It;根據(jù)關(guān) 系式Gldgct((X'L - l,O:L - 1) x I產(chǎn)st獲得St,并從st中刪除所述L -K個(gè)已知比特 后輸出K比特的原始信息序列;
      上述Gldgt;t為N + L - K行、L列的GF(2)域矩陣,WWid為處理字的字寬, WNum = ceil(P/WWid), P為Ge各行中用所述處理字的一個(gè)比特存儲(chǔ)的矩陣元 素的個(gè)數(shù)。
      此外,所述高斯消元單元采用高斯消元法求解所述It;并且在高斯消元過(guò)程中,對(duì)于Ge中用所述處理字的一個(gè)比特存儲(chǔ)的各行的矩陣元素,使用 Ge中兩行對(duì)應(yīng)的處理字的比特異或運(yùn)算實(shí)現(xiàn)對(duì)應(yīng)行的行相加。
      此外,所述Gldgct的前L行對(duì)應(yīng)的方陣為下三角矩陣;
      所述裝置還包含列置換單元,用于對(duì)所述填充擦除單元輸出的Ge進(jìn)行列 置換,生成Ga-[A 其中A是M階下三角矩陣,并輸出Ge和Ga的列置
      D B
      換對(duì)應(yīng)關(guān)系信息;
      所述高斯消元單元才艮據(jù)關(guān)系式GaX 1;= Re解得I;,并才艮據(jù)所述列置換單
      元輸出的列置換對(duì)應(yīng)關(guān)系信息對(duì)I't進(jìn)行逆置換得到并輸出所述It;
      其中,所述P為矩陣C和B的列數(shù),用所述處理字依序存儲(chǔ)C和B中各 行的全部矩陣元素,每個(gè)處理字的各比特依序存儲(chǔ)C和B的WWid個(gè)矩陣元素。
      此外,所述M-L - XL, XL為R的前L個(gè)碼字符號(hào)中^皮信道擦除的比特 數(shù)5 P=XLc
      此外,設(shè)XsetL為填充所述L - K個(gè)已知比特后R的前L個(gè)碼字符號(hào)中, 被刪除的碼字符號(hào)的序號(hào)集合,該集合中的序號(hào)個(gè)數(shù)為所述Xjj
      所述列置換單元將所述Ge中列序號(hào)屬于XsetL的列移至Ge的最右端,對(duì) 應(yīng)列空出的位置由后續(xù)列序號(hào)不屬于XsetL的列依次填充,得到所述Ga。
      采用本發(fā)明的LDGC譯碼方法,充分利用LDGC生成矩陣的特點(diǎn)以及處 理器可以并行處理多個(gè)比特的特點(diǎn),采用處理器的一個(gè)"字,,(簡(jiǎn)稱處理字) 存儲(chǔ)并表示譯碼LDGC生成矩陣的"處理器字寬"個(gè)元素,與直接存儲(chǔ)LDGC 生成矩陣元素的存儲(chǔ)結(jié)構(gòu)和數(shù)據(jù)表示方法相比,本發(fā)明大大減少了譯碼器的 存儲(chǔ)開(kāi)銷,并加快了譯碼速度,使LDGC可更靈活地應(yīng)用到高速的通信系統(tǒng) 中。


      圖1是轉(zhuǎn)置后的LDGC生成矩陣Gldgct的示意圖;圖2是低密度生成矩陣碼的譯碼方法流程圖;圖3為根據(jù)接收碼字序列Rt的擦除情況對(duì)生成矩陣進(jìn)行擦除處理的示意圖;圖4是本發(fā)明第一實(shí)施例低密度生成矩陣碼的譯碼方法流程圖; 圖5是本發(fā)明第二實(shí)施例低密度生成矩陣碼的譯碼方法流程圖; 圖6為對(duì)擦除生成矩陣Ge進(jìn)行列置換的示意圖; 圖7為本發(fā)明實(shí)施例低密度生成矩陣碼的譯碼裝置示意圖。
      具體實(shí)施方式
      由上可知,由于LDGC生成矩陣(包括G自ct和G^d。m)的矩陣元素僅由0和1組成,且高斯消元所涉及的行相加運(yùn)算為模2加;因此可以僅用一個(gè)比特存儲(chǔ)并表示一個(gè)矩陣元素,并且用比特異或(即按位異或)取代各矩陣元素的才莫2力p,快速實(shí)現(xiàn)LDGC生成矩陣的行相加運(yùn)算。 例如將第i行內(nèi)容rowj表示為10000101;將第j行內(nèi)容rowj表示為11000111;將第i行內(nèi)容與第j行內(nèi)容相加可以等同為row」=row—i row」=10000101011000111=01000010;上述"④"為"比特異或"運(yùn)算。下面將結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述,需要注意的是,本發(fā) 明僅關(guān)注的軟件、或軟硬件結(jié)合的譯碼器實(shí)現(xiàn)方法。圖4是本發(fā)明第一實(shí)施例低密度生成矩陣碼的譯碼方法流程圖;本實(shí)施 例是針對(duì)結(jié)構(gòu)化和非結(jié)構(gòu)化LDGC生成矩陣(G咖et和Grand。m)的通用譯碼方 法。如圖4所示,該方法包括如下步驟401:在接收碼字序列Rt的相應(yīng)位置填充長(zhǎng)度為d = L-K的已知比特序 列,同時(shí)刪除被信道擦除的碼字符號(hào),得到Re;其中K為原始信息位的長(zhǎng)度,L為原始信息位經(jīng)過(guò)填充后編碼的長(zhǎng)度。4叚-沒(méi)填充已知比特序列后的Rt-(ro,r!,……rN+d—])t中的Xt個(gè)符號(hào){&, rj,…,rp…r^被信道擦除,其中,前L個(gè)符號(hào)中的Xl個(gè)符號(hào)^, r」,…,rp} 凈皮信道擦除;則Xset={i, j,…,p,…,x}; XsetL={i, j, ...p}。402:根據(jù)接收碼字序列Rt被擦除的情況,對(duì)Gwget進(jìn)行行擦除(刪除) 處理,得到擦除生成矩陣Ge;其中,Ge的每一行用WNum個(gè)處理器的字(簡(jiǎn) 稱處理字)表示,當(dāng)然,Gwget的每一行也可以用WNum個(gè)處理器字表示;i殳Xset二(i, j,…,p,…,x}; XsetL={i, j, ...p},相應(yīng)i也擦除Gldgct中 的第(i, j, ..., p,…,x)行,即得到Ge。由于Ge (Gldgct)的每一行包含L個(gè)元素,因此WNum=ceil(L/WWid); WWid為處理器字寬(通常為8、 16、 32、 64,單位為比特);即用一個(gè)處理 字來(lái)依序存儲(chǔ)和表示Ge (Gldget)中連續(xù)的WWid個(gè)元素;當(dāng)L不是WWid的整數(shù)倍時(shí),每一行的最后一個(gè)處理字包含該行的最后 mod(L,WWid)個(gè)元素,對(duì)該處理字的其余Z=WWid - mod(L,WWid)個(gè)比特可以清零;上述ceil表示向上取整運(yùn)算,mod表示求模運(yùn)算。最終,Ge (Gldgct)可以采用一個(gè)二維數(shù)組來(lái)表示,二維數(shù)組中的一個(gè)元 素是一個(gè)處理字。該二維數(shù)組的元素總數(shù)為(N+d-XT)x WNum; XT為擦 除的行數(shù)。由此可知,采用本發(fā)明的上述矩陣表示方法可節(jié)約大量的存儲(chǔ)空間。例如,處理器字寬WWid=32, Ge (Gldgct)的每一行包含L = 2000個(gè)元素, 因此需要ceil(2000/32)=63個(gè)處理字來(lái)表示Ge (Gldgct)的每一行;由于2000 不是32的整數(shù)倍,mod(2000,32)=16,因此最后一個(gè)處理字中只有16個(gè)有效 比特,該處理字的其余32-16=16個(gè)比特沒(méi)有意義,清O即可。403:根據(jù)方程組關(guān)系式GeXl,Re,解方程組解得中間變量It;采用高斯消元法求解中間變量It的過(guò)程中,涉及的"行相加"操作采用處理器的比特異或(XOR)指令實(shí)現(xiàn);因此一次完整的行相加操作可用WNum 個(gè)處理字的比特異或操作代替,相當(dāng)于并行處理行相加操作,并行度為 WWid,極大地提高了 "行相加"操作的運(yùn)算速度。404:根據(jù)方程組關(guān)系式Gldgct(0:L - 1,0:L - 1) x It=St求出St,并從St中刪 除上述填充的d個(gè)已知比特得到K比特的原始信息序列m,完成LDGC譯碼。圖5是本發(fā)明第二實(shí)施例低密度生成矩陣碼的譯碼方法流程圖;本實(shí)施 例是針對(duì)結(jié)構(gòu)化LDGC生成矩陣(Gstmct)的譯碼方法,可以l義使用處理字存儲(chǔ)經(jīng)過(guò)擦除、列置換處理后的Gstruct中各行的部分元素。如圖5所示,該方法包括如下步驟501:在接收碼字序列Rt的相應(yīng)位置填充長(zhǎng)度為d = L-K的已知比特序 列,同時(shí)刪除被信道擦除的碼字符號(hào),得到Re;其中K為原始信息位的長(zhǎng)度,L為原始信息位經(jīng)過(guò)填充后編碼的長(zhǎng)度。假設(shè)填充已知比特序列后的R,(ro九……rN+d-!)T中的Xt個(gè)符號(hào)化, I], ..., rp…r^被信道擦除,其中,前L個(gè)符號(hào)中的Xl個(gè)符號(hào)化,r」,...,rp} 被信道擦除;則Xset={i, j,…,p,…,x}; XsetL={i, j, ...p}。502:根據(jù)接收碼字序列Rt被擦除的情況,對(duì)Gwget進(jìn)行行擦除(刪除) 處理,得到擦除生成矩陣Ge;設(shè)Xset^i, j,…,p, x}; XsetL={i, j, ...p},相應(yīng);也擦除Gldgct中 的第(i, j, ..., p,…,xM亍,即得到Ge。503:對(duì)擦除生成矩陣Ge進(jìn)行列置換,使Ge中以(0, 0)為頂點(diǎn)的M階方陣為下三角矩陣,將Ge置換后的矩陣記作置換生成矩陣Ga;同時(shí)記錄Ge和Ga的列置換對(duì)應(yīng)關(guān)系,用于將上述列置換過(guò)程中對(duì)It進(jìn)行相應(yīng)的置換操作 生成的I;進(jìn)行逆操作;圖6為對(duì)擦除生成矩陣Ge進(jìn)行列置換的示意圖。具體地說(shuō),為了得到下三角矩陣,將Ge中列序號(hào)屬于XsetL的列移至Ge 的最右端,對(duì)應(yīng)列空出的位置由后續(xù)列序號(hào)不屬于XsetL的列依次填充,得到 置換生成矩陣<formula>formula see original document page 15</formula>其中,矩陣A是M階方陣,其對(duì)角線上都是非零元素,并具有嚴(yán)格下三 角的特點(diǎn);矩陣C是大小為Mx(L-M)的矩陣;矩陣D是(N - K - (XT - XL)) xM的矩陣;矩陣B是(N-K-(XT-XO)x(L-M)的矩陣。上述M二L-XL。504:將Ga中的B和C的每一行用WNum個(gè)處理器字表示;由于B和C的每行的長(zhǎng)度為XsetL,設(shè)處理器字寬為WWid,則麗um = ceil(XsetL/WWid)。如果Xset不是WWid的整數(shù)倍,則每一行最后一個(gè)處理字包含該行的 最后mod(XsetL,WWid)個(gè)元素;對(duì)該處理字的其余Z二 WWid -mod(XsetL,WWid)個(gè)比特可以清零。因此,B和C可以分別采用一個(gè)二維數(shù)組來(lái)表示,二維數(shù)組中的一個(gè)元 素是一個(gè)處理字。矩陣C對(duì)應(yīng)的二維數(shù)組的元素總數(shù)為Mx WNum;矩陣 B對(duì)應(yīng)的二維數(shù)組的元素總數(shù)為(N - K - (XT - XL)) x WNum。例如,B和C的行長(zhǎng)度為XsetL =200;設(shè)處理器字寬WWid=32,則WNum=ceil(XsetL/WWid)=ceil(200/32)=7;即B和C的每一行需要用7個(gè) 處理字來(lái)存儲(chǔ)和表示。由于200不是32的整數(shù)倍,mod(XsetL,WWid)=mod(200,32)=8,因此最 后一個(gè)處理字中包含8個(gè)有效比特,該處理字其余32 - 8=24個(gè)比特沒(méi)意義, 可以清零。所以,矩陣C可以用元素總數(shù)為M x 7的二維數(shù)組存儲(chǔ)和表示,矩陣B 可以用元素總數(shù)為(N - K - (XT - XL)) x 7的二維數(shù)組存儲(chǔ)和表示;相對(duì)于現(xiàn) 有技術(shù)中用元素總數(shù)為M x 200的二維數(shù)組表示C,用元素總數(shù)為(N - K - (XT -XL)) x 200的二維數(shù)組表示B,節(jié)省了大量的存儲(chǔ)空間。陣所定義的公式直接計(jì)算得到,所以A和D實(shí)際上不需要存儲(chǔ),在對(duì)A和D 進(jìn)行消元的過(guò)程中只需通過(guò)編碼時(shí)構(gòu)造生成矩陣所定義的公式直接計(jì)算得到 非零元素的位置,然后根據(jù)這些非零元素的位置進(jìn)行"行相加"即可。當(dāng)然,也可以用同樣的方法對(duì)A和D進(jìn)行存儲(chǔ)和表示。而B和C可以看作是隨才幾的稀疏矩陣,所以對(duì)其進(jìn)行的行相加操作,只能將對(duì)應(yīng)元素逐個(gè)地相加。采用一個(gè)處理字表示W(wǎng)Wid個(gè)元素的數(shù)據(jù)結(jié)構(gòu)可以使軟件處理行相加的能力最 優(yōu)。505:根據(jù)方程組關(guān)系式GaXlt、Re,解方程組解得中間變量It';并根據(jù)It到It'的置換關(guān)系(即Ge到Ga的列置換關(guān)系)進(jìn)行逆置換,即可由It'求得It 。采用高斯消元法求解中間變量It'的過(guò)程中,涉及矩陣B和C的"行相力口" 操作采用處理器的比特異或(XOR)指令實(shí)現(xiàn);因此, 一次完整的行相加操作 可用WNum個(gè)處理字的比特異或操作代替,相當(dāng)于并行處理-阡相加操作,并 行度為WWid,極大地提高了 "行相加,,操作的運(yùn)算速度。506:根據(jù)方程組關(guān)系式Gwgct(0:L-1,0丄-1) xl產(chǎn)st求出St,并從st中刪 除上述填充的d個(gè)已知比特得到K比特的原始信息序列m,完成LDGC譯碼。圖7為本發(fā)明實(shí)施例低密度生成矩陣碼的譯碼裝置示意圖。如圖7所示, 該裝置包含填充擦除單元,列置換單元,高斯消元單元,信息序列生成單 元。其中,填充擦除單元,用于在接收到的碼字序列R中填充d-L-K個(gè)已知比特, 并將被信道擦除的碼字符號(hào)刪除,生成并輸出Re;并將上述^皮信道擦除的碼 字符號(hào)對(duì)應(yīng)的行從LDGC生成矩陣的轉(zhuǎn)置矩陣Gidget中刪除,生成并輸出Ge;其中,對(duì)于結(jié)構(gòu)化非結(jié)構(gòu)化LDGC生成矩陣,填充擦除單元用WNum個(gè) 處理字依序存儲(chǔ)Ge中每一行的全部或部分矩陣元素,每個(gè)處理字存儲(chǔ)Ge的 WWid個(gè)矩陣元素;WWid為處理字的字寬,WNum = ceil(Len/WWid)。 Len 為 一行中為需要用處理字表示的元素個(gè)數(shù)。列置換單元,用于對(duì)所述填充擦除單元輸出的Ge進(jìn)行列置換,使Ge中以第0行、第0列元素為頂點(diǎn)的M階方陣A為下三角矩陣,生成并輸出A C D B并輸出Ge和Ga的列置換對(duì)應(yīng)關(guān)系信息;所述M二L-XL, X^為R的前L個(gè)符號(hào)中被信道擦除的比特?cái)?shù)。 列置換單元可將Ge中列序號(hào)屬于Xset的列移至Ge的最右端,對(duì)應(yīng)列么出的位置由后續(xù)列序號(hào)不屬于XsetL的列依次填充,得到所述Ga。對(duì)于非結(jié)構(gòu)化LDGC生成矩陣,該單元為可選單元。高斯消元單元,用于根據(jù)關(guān)系式GeXl產(chǎn)J^對(duì)所述填充^察除單元輸出的 Ge進(jìn)行高斯消元,解得并輸出It;或根據(jù)關(guān)系式GaX l't= &對(duì)所述列置換單 元輸出的Ga進(jìn)行高斯消元,解得I't,并根據(jù)列置換單元輸出的所述列置換對(duì)應(yīng)關(guān)系信息對(duì)I't進(jìn)行逆置換,得到并輸出It;信息序列生成單元,用于接收高斯消元單元輸出的It;根椐關(guān)系式 Gldgct(0:L - l,O:L - 1) x 1產(chǎn)^獲得St,并從st中刪除d個(gè)已知比特后輸出K比特 的原始信息序列。由上可知,對(duì)于LDGC生成矩陣采用本發(fā)明的譯碼方法及裝置,可加快 高斯消元的處理速度。根據(jù)本發(fā)明的基本原理,上述實(shí)施例還可以有多種變換方式對(duì)于其它形狀的LDGC生成矩陣,例如,前L行為上三角矩陣,可將其 變換成下三角矩陣后采用本發(fā)明的譯碼方法。
      權(quán)利要求
      1. 一種低密度生成矩陣碼的譯碼方法,對(duì)接收到的經(jīng)過(guò)LDGC編碼后傳輸?shù)谋忍匦畔⑿蛄羞M(jìn)行譯碼,其特征在于,該方法包括如下內(nèi)容S1在接收到的碼字序列R中填充L-K個(gè)已知比特并將R中被信道擦除的碼字符號(hào)刪除,得到Re;S2將上述被信道擦除的碼字符號(hào)對(duì)應(yīng)的行從LDGC生成矩陣的轉(zhuǎn)置矩陣Gldgct中刪除,得到Ge;其中,用WNum個(gè)處理字依序存儲(chǔ)Ge中各行的全部或部分相同位置的矩陣元素,每個(gè)處理字存儲(chǔ)Ge的WWid個(gè)矩陣元素;S3根據(jù)關(guān)系式Ge×It=Re解得It;S4根據(jù)關(guān)系式Gldgct(0∶L-1,0∶L-1)×It=st求出st,并從st中刪除上述填充的L-K個(gè)已知比特得到K比特的原始信息序列;上述Gldgct為N+L-K行、L列的GF(2)域矩陣,WWid為處理字的字寬,WNum=ceil(P/WWid),P為Ge各行中用所述處理字的一個(gè)比特存儲(chǔ)的矩陣元素的個(gè)數(shù)。
      2、 如權(quán)利要求l所述的方法,其特征在于,步驟S3中,采用高斯消元法求解所述It;并且在高斯消元過(guò)程中,對(duì)于 Ge中用所述處理字的一個(gè)比特存儲(chǔ)的各行的矩陣元素,使用Ge中兩行對(duì)應(yīng)的 處理字的比特異或運(yùn)算實(shí)現(xiàn)對(duì)應(yīng)行的行相加。
      3、 如權(quán)利要求l所述的方法,其特征在于, 所述Gldgct的前L行對(duì)應(yīng)的方陣為下三角矩陣; 步驟S3包括如下子步驟A C D B,其中A是M階下三角矩陣,S31:對(duì)Ge進(jìn)行列置換,生成G^ 并記錄Ge和Ga的列置換對(duì)應(yīng)關(guān)系;S32:根據(jù)關(guān)系式GaX 1: = &解得1"并根據(jù)上述列置換對(duì)應(yīng)關(guān)系對(duì)I:進(jìn) 行逆置換得到It;其中,所述P為矩陣C和B的列數(shù),用所述處理字依序存儲(chǔ)C和B中各行的全部矩陣元素,每個(gè)處理字的各比特依序存儲(chǔ)C和B的WWid個(gè)矩陣元素。
      4、 如權(quán)利要求3所述的方法,其特征在于,所述M=L - XL, XL為R的前L個(gè)碼字符號(hào)中被信道擦除的比特?cái)?shù);P=XL。
      5、 如權(quán)利要求3所述的方法,其特征在于,設(shè)XsetL為填充所述L - K個(gè)已知比特后R的前L個(gè)碼字符號(hào)中,被刪除 的碼字符號(hào)的序號(hào)集合,該集合中的序號(hào)個(gè)數(shù)為所述Xx;,步驟S31中,將所述Ge中列序號(hào)屬于Xsek的列移至Ge的最右端,對(duì)應(yīng) 列空出的位置由后續(xù)列序號(hào)不屬于XsetL的列依次填充,得到所述Ga。
      6、 一種低密度生成矩陣碼的譯碼裝置,其特征在于,該裝置包括填充 擦除單元,高斯消元單元,信息序列生成單元,其中所述填充擦除單元,用于在接收到的碼字序列R中填充L-K個(gè)已知比 特,并將被信道擦除的碼字符號(hào)刪除,生成并輸出Re;并將上述被信道擦除 的碼字符號(hào)對(duì)應(yīng)的行/人LDGC生成矩陣的轉(zhuǎn)置矩陣Gldget中刪除,生成并輸出 Ge;其中,用WNum個(gè)處理字依序存儲(chǔ)Ge中各行的全部或部分相同位置的 矩陣元素,每個(gè)處理字存儲(chǔ)Ge的WWid個(gè)矩陣元素;所述高斯消元單元,用于才艮據(jù)關(guān)系式GeXl產(chǎn)Re對(duì)Ge進(jìn)行高斯消元,解得并輸出It;所述信息序列生成單元,用于接收所述高斯消元單元輸出的It;根據(jù)關(guān) 系式Gldgct(0:L - 1,0:L - 1) x it=St獲得St,并從St中刪除所述L - K個(gè)已知比特 后輸出K比特的原始信息序列;上述Gidgct為N + L _K行、L列的GF(2)域矩陣,WWid為處理字的字寬, WNum = ceil(P/WWid), P為Ge各行中用所述處理字的一個(gè)比特存儲(chǔ)的矩陣元 素的個(gè)數(shù)。
      7、 如權(quán)利要求6所述的裝置,其特征在于,所述高斯消元單元采用高斯消元法求解所述It;并且在高斯消元過(guò)程中,對(duì)于Ge中用所述處理字的一個(gè)比特存儲(chǔ)的各行的矩陣元素,使用Ge中兩行 對(duì)應(yīng)的處理字的比特異或運(yùn)算實(shí)現(xiàn)對(duì)應(yīng)行的行相加。
      8、 如權(quán)利要求6所述的裝置,其特征在于,所述Gldgct的前L行對(duì)應(yīng)的方陣為下三角矩陣;所述裝置還包含列置換單元,用于對(duì)所述填充擦除單元輸出的Ge進(jìn)行列 置換,生成Gf^ S],其中A是M階下三角矩陣,并輸出Ge和Ga的列置換對(duì)應(yīng)關(guān)系信息;所述高斯消元單元根據(jù)關(guān)系式Ga x 1;= &解得1:,并根據(jù)所述列置換單 元輸出的列置換對(duì)應(yīng)關(guān)系信息對(duì)I!進(jìn)行逆置換得到并輸出所述It;其中,所述P為矩陣C和B的列數(shù),用所述處理字依序存儲(chǔ)C和B中各 行的全部矩陣元素,每個(gè)處理字的各比特依序存儲(chǔ)C和B的WWid個(gè)矩陣元 素。
      9、 如權(quán)利要求8所述的裝置,其特征在于,所述M=L - XL, XL為R的前L個(gè)碼字符號(hào)中被信道擦除的比特?cái)?shù);P=XL。
      10、 如權(quán)利要求8所述的裝置,其特征在于,設(shè)XsetL為填充所述L - K個(gè)已知比特后R的前L個(gè)碼字符號(hào)中,被刪除 的碼字符號(hào)的序號(hào)集合,該集合中的序號(hào)個(gè)數(shù)為所述Xi/,所述列置換單元將所述Ge中列序號(hào)屬于XsetL的列移至Ge的最右端,對(duì) 應(yīng)列空出的位置由后續(xù)列序號(hào)不屬于XsetL的列依次填充,得到所述Ga。
      全文摘要
      一種低密度生成矩陣碼的譯碼方法及裝置,對(duì)接收到的經(jīng)過(guò)LDGC編碼后傳輸?shù)谋忍匦畔⑿蛄羞M(jìn)行譯碼,該方法包括在接收到的碼字序列R中填充L-K個(gè)已知比特并將R中被信道擦除的碼字符號(hào)刪除,得到R<sub>e</sub>;將被信道擦除的碼字符號(hào)對(duì)應(yīng)的行從LDGC生成矩陣的轉(zhuǎn)置矩陣G<sub>ldgct</sub>中刪除,得到G<sub>e</sub>;用WNum個(gè)處理字依序存儲(chǔ)G<sub>e</sub>中各行的全部或部分相同位置的矩陣元素,每個(gè)處理字存儲(chǔ)G<sub>e</sub>的WWid個(gè)矩陣元素;根據(jù)G<sub>e</sub>×I<sub>t</sub>=R<sub>e</sub>解得I<sub>t</sub>;根據(jù)G<sub>ldgct</sub>(0:L-1,0:L-1)×I<sub>t</sub>=s<sub>t</sub>求出s<sub>t</sub>,并從s<sub>t</sub>中刪除填充的L-K個(gè)已知比特得到K比特的原始信息序列。采用本發(fā)明可減少譯碼器的存儲(chǔ)開(kāi)銷,加快譯碼速度。
      文檔編號(hào)H04L1/00GK101272150SQ20081009699
      公開(kāi)日2008年9月24日 申請(qǐng)日期2008年5月14日 優(yōu)先權(quán)日2008年5月14日
      發(fā)明者俊 徐, 袁志鋒 申請(qǐng)人:中興通訊股份有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1