數據處理裝置的制造方法
【專利摘要】本發明提供一種數據處理裝置,該裝置包括:m個數據處理模塊,用于按照計算順序在第i個周期處理Ni個數據或者操作;其中且m<n,m、n和Ni均為正整數,通過m個數據處理模塊在時間上的復用,從而達到對n個數據或者操作的處理,進而降低了對硬件資源的消耗。
【專利說明】
數據處理裝置
技術領域
[0001] 本發明設及信息論及編碼技術領域,尤其設及一種數據處理裝置。
【背景技術】
[0002] 伴隨著通信技術的飛速發展W及各種傳輸方式對信息可靠性要求的不斷提高,差 錯控制編碼技術作為抗干擾技術的一種重要手段,在數字通信領域和數字傳輸系統中顯示 出越來越重要的作用。
[0003] 低密度奇偶校驗(low-density parity check, LDPC)碼是一類譯碼性能接近信 道極限的線性分組碼。由于其優異的糾錯性能,二進制LDPC碼已經被廣泛地應用于各種通 信、導航和數字存儲系統。多進制LDPC碼也已成為未來運些系統中糾錯編碼方案的有利競 爭者。
[0004] 但是,目前現有技術中實現LDPC碼的編碼器或者譯碼器大多數采用的是全并行 結構,W全并行結構的編碼器為例,假設待編碼數據為C = (C。,Cl. .. Ck 1),生成矩陣為Gkx。, 它們的乘積結果則為最終編碼序列,因此,所謂全并行結構編碼器指的是:該編碼器具有n 個數據處理模塊,每個數據處理模塊用來計算C = (C。,Cl. .. Ck 1)與Gkx。中的一列的乘積, 然而運種全并行結構造成大量硬件資源的消耗。
【發明內容】
陽0化]本發明實施例提供一種數據處理裝置,從而達到降低硬件資源消耗的目的。
[0006] 第一方面,本發明實施例提供一種數據處理裝置,包括:m個數據處理模塊,用于 按照計算順序在第i個周期處理Ni個數據或者操作;其中
且m<n,m、n和Ni均 為正整數,z' = l,2...互+1 /巧 O
[0007] 結合第一方面,在第一方面的第一種可能實施方式中,所述m個數據處理模塊,具 體用于:在低密度奇偶校驗LDPC編碼過程中,分別計算待編碼數據C = (C。,Cl. .. Ck 1)與生 成矩陣Gkx。中每一列相乘,其中k表示所述待編碼數據的長度,n表示所述生成矩陣G kx。的 列數;在第i個周期計算C = (C。,Cl. .. Ck 1)與生成矩陣Gkx。中的Ni個列相乘,其中在前 里個周期,所述Ni=m,z' = l,2...互在第互+1個周期,所述Ni=nmo血,Z'= - +1 Im \ 1,?」; LmJ L"!」。
[0008] 結合第一方面,在第一方面的第二種可能實施方式中,所述數據處理模塊包括: 第一存儲單元和第二存儲單元;所述數據處理模塊用于將所述生成矩陣Gkx。的每一列分 為P個第一數據塊,其中P > 2 ;所述第一存儲單元用于存儲一個所述第一數據塊;所述第 二存儲單元用于存儲所述第一數據塊對應的所述待編碼數據的第二數據塊;所述m個數 據處理模塊,具體用于:在低密度奇偶校驗LDPC編碼過程中,根據分塊結果,在第i個周 期計算Ni個第二數據塊與對應的Ni個第一數據塊相乘,其中在前^ Xf個周期,所述Ni
t周期至第? XF + F個周期,所述Ni=nmo血, JU \
[0009] 結合第一方面或第一方面的第一種可能實施方式或第二種可能實施方式,在第一 方面的第=種可能實施方式中,還包括:第一存儲模塊,用于存儲所述生成矩陣。
[0010] 結合第一方面的第=種可能實施方式,在第一方面的第四種可能實施方式中,所 述第一存儲模塊具體用于:若所述生成矩陣為稀疏矩陣,則所述第一存儲模塊僅存儲所述 生成矩陣的非零元素和所述非零元素對應的位置坐標;若所述生成矩陣的子矩陣為循環矩 陣,則所述第一存儲模塊僅存儲所述循環矩陣中所有的非零元素、W及其中一列非零元素 對應的位置坐標和相鄰兩列的循環偏移量。
[0011] 結合第一方面,在第一方面的第五種可能實施方式中,還包括:第二存儲模塊,所 述第二存儲模塊用于存儲校驗矩陣Hix。;所述校驗矩陣的列對應變量節點,所述校驗矩陣 的行對應校驗節點。
[0012] 第二方面,本發明實施例提供一種數據處理裝置,包括:第二存儲模塊,用于存儲 校驗矩陣Hix。,所述校驗矩陣的列對應變量節點,所述校驗矩陣的行對應校驗節點。第=存 儲模塊,用于存儲數據處理過程中所述變量節點和所述校驗節點之間傳遞的數據。e個第 一數據處理模塊,用于處理e個所述校驗節點上的數據;f個第二數據處理模塊,用于處理f 個所述變量節點上的數據;其中,e<l,f<n,其中e和f均為正整數。
[0013] 結合第二方面,在第二方面的第一種可能實施方式中,若所述校驗矩陣為循環排 列矩陣和零矩陣組成,則所述第S存儲模塊,根據所述循環排列矩陣的結構循環自增尋址。
[0014] 本發明實施例提供一種數據處理裝置,該裝置包括:m個數據處理模塊,用于按照 計算順序在第i個周期處理Ni個數據或者操作;其中
且m<n,m、n和Ni均為正 整數,z' = l,2…^ +1通過m個數據處理模塊在時間上的復用,從而達到對n個數據或者 .L 」 Q 操作的處理,從而降低了對硬件資源的消耗。
【附圖說明】
[0015] 為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現 有技術描述中所需要使用的附圖做一簡單地介紹,顯而易見地,下面描述中的附圖是本發 明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可W 根據運些附圖獲得其他的附圖。
[0016] 圖1為現有技術提供的一種全并行結構的編碼器的示意圖;
[0017] 圖2為本發明實施例一提供的一種數據處理裝置的示意圖;
[0018] 圖3為本發明實施例二提供的一種數據處理裝置的示意圖;
[0019] 圖4為本發明實施例=提供的數據處理裝置的示意圖;
[0020] 圖5為本發明實施例五提供的一種數據處理裝置的結構示意圖;
[0021] 圖6為本發明實施例六提供的一種數據處理裝置的結構示意圖;
[0022] 圖7為本發明實施例六提供的Tanner示意圖;
[0023] 圖8為本發明實施例六提供的SPC碼和REP碼的譯碼模型。
【具體實施方式】
[0024] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員 在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[00對在LDPC編碼過程中,假設待編碼數據為C = (C。,Cl. .. Ck 1),生成矩陣為GkXn,它們 的乘積結果則為最終編碼序列,因此編碼器需要計算C = (C。,Cl. .. Ck 1)與Gkx。每一列的乘 積,圖1為現有技術提供的一種全并行結構的編碼器的示意圖,如圖1所示,該編碼器包括n 個數據處理模塊,每個數據處理模塊用來計算C = (C。,Cl. .. Ck 1)與Gkx。中的一列的乘積, 即每一個數據處理模塊輸出一個最終編碼序列的一個碼字,因此在一個運算周期內n個數 據處理模塊將輸出全部碼字。運中全并行結構的編碼器會造成硬件資源的浪費,為了解決 運一技術問題,本發明提供了一種數據處理裝置。 W26] 實施例一
[0027] 圖2為本發明實施例一提供的一種數據處理裝置的示意圖,該數據處理裝置可W 應用于LDPC編碼或者譯碼的場景,其中該裝置可W為LDPC編碼器,或者LDPC譯碼器,如圖 2所示,該數據處理裝置包括:m個數據處理模塊201,用于按照計算順序在第i個周期處理
Ni個數據或者操作;其中 且m<n,m、n和Ni均為正整數,^ = V2''' ^ +1 9 L - O 陽0巧]具體地,比如:由于計算C = (C。,Cl. .. Ck 1)與GkXn相乘的計算順序為:C = (C。,Cl. .. Ck 1)分別與Gkx。的第一列至第n列相乘,本實施例中的數據處理裝置具有m個數 據處理模塊201,并且m<n,因此,在第一個周期,可W分別計算C = (C。,Cl. .. Ck 1)與GkXn的 第一列至第m列相乘,輸出m個碼字,該例子中,第一個周期中的Ni即為m,在第二個周期, 可W分別計算C = (C。,Cl. .. Ck 1)與GkXn的第m+1列至第2m列,為了充分利用已有的硬件 資源,在每一個周期盡可能的使每一個數據處理模塊201處理一個數據或者操作。進一步 地,在第i個周期處理Ni個數據或者操作,運里的N 1個操作可W理解為N 1個相乘操作,運 里的Ni個數據可W理解為N 1個具體數字,也可W是N 1個向量,矩陣等。本發明實施例對此 不做限制。 W29] 進一步地,該數據處理裝置還包括用于存儲長度為k的待編碼數據C = (C。,Cl...Cki)的存儲模塊,和用于存儲長度為k的生成矩陣Gkx。的每一列的存儲模塊。由 于每一列都是按照先后順序與C = (C。,Cl. .. Ck 1)相乘,因此用于存儲每一列的存儲模塊可 W實現復用的效果。
[0030] 更進一步地,該數據處理裝置還包括乘法器和加法器,使用k個乘法器用來完成 待編碼數據C = (C。,Cl. .. Ck 1)的各個元素與生成矩陣的對應元素乘法運算,使用k-1個加 法器用來計算上述乘積之和,通過乘法器和加法器的作用則可W生成一個碼字。
[0031] 本發明實施例提供了一種數據處理裝置,其中該裝置包括:m個數據處理模塊,用 于按照計算順序在第i個周期處理Ni個數據或者操作;其中
且m<n,m、n和Ni均 為正整數,= ^ +1通過m個數據處理模塊在時間上的復用,從而達到對n個數據 L J O 或者操作的處理,從而降低了對硬件資源的消耗。 W巧實施例二
[0033] 圖3為本發明實施例二提供的一種數據處理裝置的示意圖,該裝置具體可W為 LDPC編碼器,其中該編碼器包括m個數據處理模塊,所述m個數據處理模塊具體用于:在低 密度奇偶校驗LDPC編碼過程中,分別計算待編碼數據C= (C。,Cl...Cki)與生成矩陣Gkx。 中每一列相乘,其中k表示所述待編碼數據的長度;n表示所述生成矩陣Gkx。的列數,在第 i個周期計算C= (cu,ci...Cki)與生成矩陣Gkx。中的Ni個列相乘,其中在前^個周期, m _ 所述Ni= m,= 在第 '魚.+.1個周其月,所述Ni= nmo血,J心_ +1 L妍」;Im \ Lw」。
[0034] 由于該數據處理裝置包括m個數據處理模塊,因此可W稱該數據處理裝置的并行 度為m。
[0035] 舉個例子,假設m = 3, k = 3, n = 5,則在低密度奇偶校驗LDPC編碼過程中,在第 1個周期3個數據處理模塊分別計算C = (C。,Cl, C2)與生成矩陣Gsxe中的第1列、第2列 和第3列相乘,在第2個周期,其中2個數據處理模塊分別計算C = (C。,Cl, C2)與生成矩陣 Gsxs中的第4列和第5列相乘。 W36] 進一步地,該數據處理裝置還包括用于存儲長度為k的待編碼數據C = (C。,Cl...Cki)的存儲模塊,和用于存儲長度為k的生成矩陣Gkx。的每一列的存儲模塊。由 于每一列都是按照先后順序與C = (C。,Cl. .. Ck 1)相乘,因此用于存儲每一列的存儲模塊可 W實現復用的效果。
[0037] 更進一步地,該數據處理裝置還包括乘法器和加法器,使用k個乘法器用來完成 待編碼數據C = (C。,Cl. .. Ck 1)的各個元素與生成矩陣的對應元素乘法運算,使用k-1個加 法器用來計算上述乘積之和,通過乘法器和加法器的作用則可W生成一個碼字。
[0038] 本發明實施例提供了一種數據處理裝置,該裝置包括m個數據處理模塊,所述m 個數據處理模塊具體用于:在低密度奇偶校驗LDPC編碼過程中,分別計算待編碼數據C = (C。,Cl. .. Ck 1)與生成矩陣Gkx。中每一列相乘,其中k表示所述待編碼數據的長度,n表示 所述生成矩陣GkXn的列數,在第i個周期計算C = (C。,Cl. .. Ck 1)與生成矩陣GkXn中的N 1 個列相乘,其中在前一個周期,所述Ni= m,z'=l,2…^在第i +1個周期,所述Ni = m L"!」. 慚 1- 」 nmo血,Z'= ^ +1從而實現了數據處理模塊在時間上的復用,進而,降低了對硬件資源的 .Hi- LJ G 消耗。
[0039] 實施例S
[0040] 圖4為本發明實施例=提供的數據處理裝置的示意圖,實施例=在實施例二的基 礎上,將對生成矩陣Gkx。中每一列進行分塊,基于分塊的思想,實施例=提供的數據處理裝 置中的數據處理模塊包括:第一存儲單元401和第二存儲單元402 ;其中,數據處理模塊用 于將所述生成矩陣Gkx。的每一列分為P個第一數據塊;其中P > 2。如圖4所示,第一存儲 單元401用于存儲一個第一數據塊;第二存儲單元402用于存儲第一數據塊對應的所述待 編碼數據的第二數據塊;圖4所示的第一存儲單元401此時存儲長度為d的第一數據塊,第 二存儲單元402此時存儲長度為d的第二數據塊,當然,該數據處理模塊還包括乘法器、加 法器和累加器,m個數據處理模塊具體用于:在低密度奇偶校驗LDPC編碼過程中,根據分塊 結果,在第i個周期計算Ni個第二數據塊與對應的Ni個第一數據塊相乘,其中在前^ XP 個周期,所述Ni=m,z=l,2''' XP在第^xP + 1個周期至第一XP + F個周期,所 L "2」.; |_。芽」 1_解_ . 述 Ni=nmo血,Z' = - x/" + l,一 xP + 2-'- - xP + f I f t- I f t- I tl- L. 」 L. 」 〇.
[0041] 具體地,第一存儲單元401相對于每一個第一數據塊都可W實現復用,第二存儲 單元402相對于第二數據塊也可W實現復用,即不需要開辟多余的存儲空間,所有的第一 數據塊按照時間順序使用一個第一存儲單元401即可,所有的第二數據塊按照時間順序使 用一個第二存儲單元402即可。
[0042] 舉個例子:假設m = 3, k = 3, n = 5, P = 2,即生成矩陣Gsxs每一列被分成了 2 個第一數據塊,針對每一列,從上至下的順序,第一個元素構成一個第一數據塊,第二個元 素和第=個元素構成一個第一數據塊,因此,生成矩陣Gsxe實際包括了 10個第一數據塊, 相應地,待編碼數據C = (C。,Cl, C2)也被分為2個第二數據塊,從左至右,第一個元素 C。構 成一個第二數據塊,第二個元素 Cl和第S個元素 C 2構成一個第二數據塊,則在低密度奇 偶校驗LDPC編碼過程中,按照計算順序,即在第1個周期3個數據處理模塊分別計算C = (C。,Cl, C2)的第一個元素構成的第二數據塊與生成矩陣G3X5中由第一列第一個元素構成的 第一數據塊的乘積,C= (C。,Cl, C2)的第一個元素構成的第二數據塊與生成矩陣Gsxs中由 第二列第一個元素構成的第一數據塊的乘積,C= (C。,Cl, C2)的第一個元素構成的第二數 據塊與生成矩陣Gsxe中由第=列第一個元素構成的第一數據塊的乘積;在第2個周期3個 數據處理模塊分別計算C= (C。,Cl, C2)的第二個元素和第=個元素構成的第二數據塊與生 成矩陣G3X5中由第一列第二個元素和第=個元素構成的第一數據塊的乘積,C = (C。,Cl, C2) 的第二個元素和第=個元素構成的第二數據塊與生成矩陣Gsxe中由第二列第二個元素和 第=個元素構成的第一數據塊的乘積,C = (C。,Cl, C2)的第二個元素和第=個元素構成的 第二數據塊與生成矩陣Gsxe中由第=列第二個元素和第=個元素構成的第一數據塊的乘 積,并將計算結果分別與第1個周期中的計算結果累加,依次類推。從而實現數據處理模塊 的復用。
[0043] 本發明實施例提供一種數據處理裝置,其中該裝置的數據處理模塊包括:第一存 儲單元和第二存儲單元;數據處理模塊用于將所述生成矩陣Gkx。的每一列分為P個第一數 據塊;第一存儲單元用于存儲一個第一數據塊;第二存儲單元用于存儲第一數據塊對應的 所述待編碼數據的第二數據塊;m個數據處理模塊,具體用于:在低密度奇偶校驗LDPC編 碼過程中,根據分塊結果,在第i個周期計算Ni個第二數據塊與對應的Ni個第一數據塊 相乘,其中在前一Xi^個周期,所述Ni=m,z' = l,2…XP在第£_ xf+1個周期至第 _-辦」 L/WJ ; [_蹤_ 里XP +戶個周期,所述Ni=nmo血,Z'= - XP + 1,一 XP+2…互XP +戶從而提高數 _攜」 L哪」 L哪」 L挪」 , 據處理模塊、W及該模塊中的第一存儲單元和第二存儲單元的利用效率,降低了每個數據 處理模塊上的計算復雜度。
[0044] 實施例四
[0045] 本發明實施例四提供一種數據處理裝置,其中該裝置基于校驗矩陣獲取最終編碼 序列的思想實現存儲空間的復用的,具體地,通過校驗矩陣獲取最終編碼序列的具體方法 為:假設待編碼數據為M = (m。,nil. . .Hik 1),校驗矩陣為HiXn,校驗符號為Pi,化......P。k,則 (紙Pi, P:…P,, kWL二0 ^段設校驗矩陣由Hix。= (QI),其中Q為(n-k) Xk的矩陣,對 應M,I為(n-k) X (n-k)的矩陣,對應已編碼數據的冗余位,當I為準雙對角矩陣,即該I除 對角線上的元素,W及對角線上方或上方元素之外的元素均為0時,該矩陣就為準雙對角 矩陣。基于辦,斯,P2 ~~Pn-fc)巧L = 0,可W得到第一個冗余位P河W直接由待編碼數據 中的元素計算得到,第二個冗余位P2可W由第一個冗余位P 1和待編碼數據中的元素共同 計算得到,依次類推,P"k可W由Pnk 1和待編碼數據中的元素共同計算得到。因此,可W首 先從存儲(M,Pi,化……P。k)的存儲模塊中讀出校驗矩陣中第一行第一個非零元素對應的 (M,Pi,化......P。k)中的信息位,從存儲校驗矩陣的存儲模塊中讀出該非零元素,然后將它 們相乘,存入累加器中,接著從存儲(M,Pi,化……p"k)的存儲模塊中讀出校驗矩陣中第一 行第二個非零元素對應的(M,Pi, P2......P"k)中的信息位,從存儲校驗矩陣的存儲模塊中 讀出該非零元素,然后將它們相乘,結果與累加器中的結果相加。依次類推,直到計算出第 一個校驗位,將累加器中的結果存入存儲(M,Pi,化......P"k)的存儲模塊中。最后,清空累 加器,重復上述步驟,直到所有冗余位計算完畢。上述過程根據計算時間的先后順序實現了 存儲空間的復用。 陽046] 實施例五
[0047] 圖5為本發明實施例五提供的一種數據處理裝置的結構示意圖,在實施例一、實 施例二和實施例=的基礎之上,該數據處理裝置除了包括m個數據處理模塊501之外,還包 括第一存儲模塊502,該第一存儲模塊502用于存儲生成矩陣。
[0048] 具體地,第一存儲模塊502具體用于:
[0049] (1)若生成矩陣為稀疏矩陣,則第一存儲模塊502僅存儲生成矩陣的非零元素和 非零元素對應的位置坐標。
[0050] 具體地,矩陣中非零元素的個數遠遠小于矩陣元素的總數,則稱該矩陣為稀疏矩 陣,因此,第一存儲模塊502僅存儲生成矩陣的非零元素和非零元素對應的位置坐標。進一 步地,當本發明采用的是二進制LDPC編碼,則生成矩陣中的非零元素只是1,因此,第一存 儲模塊502中可W僅存儲非零元素1對應的位置坐標即可。
[0051] (2)若所述生成矩陣的子矩陣為循環矩陣,則所述第一存儲模塊502僅存儲所述 循環矩陣中所有的非零元素、W及其中一列非零元素對應的位置坐標和相鄰兩列的循環偏 移量。
[0052] 具體地,若所述生成矩陣的子矩陣為循環矩陣,則成該生成矩陣為準循環矩陣, 比如生成矩陣
其中G。為循環矩陣,(i = 1,2...8 ;j = 1,2. .. r),基于循環矩陣具有的特點,則第一存儲模塊502僅存儲循環矩陣中所有的非零 元素、W及其中一列非零元素對應的位置坐標和相鄰兩列的循環偏移量。比如:qXq的循 環矩陣
則第一存儲模塊502可W只存儲q個非零元素,然后存儲 第一列非零元素 g。的位置,W及相鄰兩列的循環偏移量1,運樣其他列的非零元素則可W 通過第一列非零元素的位置和循環偏移量推導得到。進一步地,當本發明采用的是二進制 LDPC編碼,則生成矩陣中的非零元素只是1,因此,第一存儲模塊502中可W僅存儲非零元 素1對應的位置和循環偏移量即可。
[0053] 本發明實施例提供一種數據處理裝置,該裝置還包括第一存儲模塊,用于存儲生 成矩陣。其中若生成矩陣為稀疏矩陣,則第一存儲模塊僅存儲生成矩陣的非零元素和非零 元素對應的位置坐標;若生成矩陣的子矩陣為循環矩陣,則第一存儲模塊僅存儲所述循環 矩陣中所有的非零元素、W及其中一列非零元素對應的位置坐標和相鄰兩列的循環偏移 量,從而實現第一存儲模塊的復用效果。進而降低對硬件資源的消耗。
[0054] 實施例六
[0055] 圖6為本發明實施例六提供的一種數據處理裝置的結構示意圖,本發明實施例中 的數據處理裝置可W為譯碼器,該數據處理裝置包括第二存儲模塊601,用于存儲校驗矩 陣Hix。,所述校驗矩陣的列對應變量節點,所述校驗矩陣的行對應校驗節點。第=存儲模塊 604,用于存儲數據處理過程中變量節點和校驗節點之間傳遞的數據。e個第一數據處理模 塊602,用于處理e個所述校驗節點上的數據;f個第二數據處理模塊603,用于處理f個所 述變量節點上的數據;其中,e<l,f<n,其中e和f均為正整數。
[0056] 具體地,本發明實施例提供的數據處理裝置使用的是置信傳播類算法,它是基于 Tanner圖的迭代譯碼的。圖7為本發明實施例六提供的Tanner示意圖,其中校驗矩陣的列 對應變量節點,校驗矩陣的行對應校驗節點,表示一個校驗方程,上面一行為校驗節點,下 面一行為變量節點,連接變量節點與校驗節點之間的線對應校驗矩陣中不為0的元素,稱 之為邊。從Tanner圖上來看,可W把LDPC碼看作是單奇偶校驗(Single Parity Qieck, 簡稱SPC)碼與重復巧epeat,簡稱RE巧碼的交錯連接,圖8為本發明實施例六提供的SPC 碼和REP碼的譯碼模型,譯碼是一個置信信息通過邊在變量節點與校驗節點之間的迭代過 程。首先,信道接收到的置信信息傳遞給變量節點,每個變量節點向與之相連的每個校驗節 點發送更新的置信信息,運就是SPC譯碼模型的工作。每個校驗節點通過計算向與之相連 的變量節點發送更新信息,運是REP譯碼模型的工作。整個譯碼過程從變量節點開始,不斷 的重復,直到所有校驗方程都滿足后譯碼完成,或者達到最大迭代次數后譯碼停止。
[0057] 在譯碼過程中,第一數據處理模塊602和第二數據處理模塊603之間的傳輸輸入 輸出端口并不直接連接,而是通過第=存儲模塊604連接,從而可W只實現e個第一數據處 理模塊602及f個第二數據處理模塊603通過多次運算,可W分別處理完1個數據和n個 數據。
[0058] 其中e個第一數據處理模塊602及f個第二數據處理模塊603的具體工作步驟包 括:
[0059] (1) f個第二數據處理模塊603讀取前f個變量節點對應的信道數據,初始化進入 第=存儲模塊604中,并作出硬判決,然后各第二數據處理模塊603分別讀取下一組信道數 據,直至將所有信道數據初始化入第=存儲模塊604中;
[0060] (2) e個第一數據處理模塊602從第=存儲模塊604中讀取第二數據處理模塊603 傳遞給前e個校驗節點的數據,進行計算及驗證校驗方程,并將結果保存至存儲器604中, 然后各第一數據處理模塊602分別從第=存儲模塊604中讀取下一組第一數據處理模塊 602接收的數據,直至完成所有校驗節點上的數據計算;
[0061] (3)若所有校驗方程都得到滿足,則停止迭代譯碼,輸出譯碼結果,否則進行第二 數據處理模塊603繼續計算。f個第二數據處理模塊603從第=存儲模塊604中讀取第一 數據處理模塊602傳遞給前f個變量節點的數據,進行計算及作出硬判決,并將結果保存回 第=存儲模塊604中,然后各第二數據處理模塊603分別從第=存儲模塊604中讀取下一 組變量節點接收的數據,直至完成所有變量節點計算完畢;
[0062] (4)如此反復,直至所有校驗方程得到滿足或達到最大迭代次數后停止譯碼。
[0063] 進一步地,在LDPC碼的校驗矩陣中,每行或每列都有不止一個非零元素,對應的 第一數據處理模塊602和第二數據處理模塊603也就有不止一個輸入/輸出端口。可W將 單個數據處理模塊所需的g個輸入分多次輸入,每次輸入后就開始進行計算,并將所需中 間結果存儲在存儲器中,最終得到所需的運算結果,從而實現在時間上對硬件資源進行復 用。
[0064] W第一數據處理模塊602為例,在第一數據處理模塊602只有=個端口時,設第一 數據處理模塊602的輸入為D。,Di, 〇2,二端口運算電路可W直接根據輸入的數據計算出輸 出數據,計算步驟如下: 陽0化](1)讀入D。,保存在一組存儲器中;
[0066] 似讀入Di,保存在另一組存儲器中,同時利用二端口運算電路計算D〇?Di,將 結果保存到第=組存儲器中;
[0067] 做讀入〇2,利用二端口運算電路計算Do?化,將結果覆蓋至原記錄D。的存儲器 中; W側 (4)再次讀入〇2,利用二端口運算電路計算Di 0]?,將結果覆蓋至原記錄化的存 儲器中。
[0069] 其中,上述的貸既可W是二進制LDPC編碼過程中的運算規則,也可W是多進制 LDPC編碼過程中的運算規則。此時第一數據處理模塊602每次只讀入一個端口的數據, 整個計算過程中也只需要=組存儲器保存所有中間結果及最終結果;當第一數據處理模塊 602有四個端口時,可W先忽視第四個端口,按照=端口,第一數據處理模塊602進行計算, 將結果D〇0Di,1)〇?〇2, Di貸〇2保存在=組存儲器中,然后根據=端口,第一數據處 理模塊602任一端口的輸入及輸出計算出D〇?Di?D2的結果保存在第四組存儲器中,再 將第四個端口的輸入與前=組存儲器中的數據進行運算,并將運=組存儲器中的數據更新 為運算的結果,則只需四組存儲器,并進行屯次計算即可求出具有四端口的第一數據處理 模塊602的全部輸出,依次類推,當計算具有N端口的第一數據處理模塊602的輸出時,可 W先忽視最后一個端口,按照N-I端口第一數據處理模塊602來計算,然后計算N-I端口所 有端口輸入數據的和并保存到1組新的存儲器中,再將最后一個端口的輸入與之前N-I組 存儲器中的數據進行運算,并將計算結果更新到對應的存儲器中,就可W只占用N組存儲 器,并進行(3+腳(N-2)/2次計算完成全部端口的輸出數據的計算。
[0070] 可選地,若所述校驗矩陣為循環排列矩陣(Circulant化rmutation Matrices,簡 稱CPM)和零矩陣組成,則所述第S存儲模塊604,根據循環排列矩陣的結構循環自增尋址。 結合圖7中所有的邊對應的非零元素都在CPM中。假設H中的一個CPM表示校驗節點與變 量節點之間的連接,該CPM的偏移量為0,即該CPM是由pXp的單位陣的所有行向右循環 移動0個位置得到。校驗節點CNi就與變量節點VN。4相連,CN P。與VN P,CNp。4與VN 1相連, CNp與VN。相連。我們把連接運P個連續的校驗節點與P個連續的變量節點之間的邊稱之 為塊邊。
[0071] 因此整個Tanner圖中的變量節點與校驗節點之間的信息交換都在一個一個的塊 邊進行。當P個變量節點按照VNi, VN2, ...,VNp的順序更新時,首先將它們的更新結果分別 轉存到地址為A"+l,A。巧,...,A"+p的存儲單元中去;然后當與該循環塊相連的P個校驗節 點順序更新時,就可W連續的從運P個地址連續的存儲單元中順序讀取VNi, VNz, ...,VNp的 更新結果。只不過起始地址應該從Ae+0+l開始,當地址自加到Ae+p時便從Ae+1重新自加 到Ae+o,如此就實現了對應連接的信息轉移,采用塊邊的尋址方式,只用記錄存儲單元地址 段的起始地址A。和0。當變量節點更新時,地址從A。+1開始到Au+p結束;當校驗節點更新 時,地址從A"+o+l開始,循環增加到A"+o結束。運樣與傳統的譯碼器交換信息的尋址方式 相比,存儲復雜度降為了原來的p/2,而且采用循環自增的地址產生方式,尋址效率也大大 提局。
[0072] 本發明實施例提供了一種數據處理裝置,包括:第二存儲模塊,用于存儲校驗矩陣 Hix。,所述校驗矩陣的列對應變量節點,所述校驗矩陣的行對應校驗節點。第=存儲模塊,用 于存儲數據處理過程中變量節點和校驗節點之間傳遞的數據。e個第一數據處理模塊,用于 處理e個所述校驗節點上的數據;f個第二數據處理模塊,用于處理f個所述變量節點上的 數據;其中,e<l,f<n,其中e和f均為正整數。從而實現數據處理模塊、第二存儲模塊、第 =存儲模塊的復用。
[0073] 本領域普通技術人員可W理解:實現上述各方法實施例的全部或部分步驟可W通 過程序指令相關的硬件來完成。前述的程序可W存儲于一計算機可讀取存儲介質中。該程 序在執行時,執行包括上述各方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟 或者光盤等各種可W存儲程序代碼的介質。
[0074] 最后應說明的是:W上各實施例僅用W說明本發明的技術方案,而非對其限制; 盡管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其 依然可W對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征 進行等同替換;而運些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技 術方案的范圍。
【主權項】
1. 一種數據處理裝置,其特征在于,包括: m個數據處理模塊,用于按照計算順序在第i個周期處理Ni個數據或者操作; 其4且m<n,m、η和Ni均為正整數,2. 根據權利要求1所述的裝置,其特征在于,所述m個數據處理模塊,具體用于: 在低密度奇偶校驗LDPC編碼過程中,分別計算待編碼數據c= (C。,Cl…Cki)與生成矩 陣Gkx。中每一列相乘,其中k表示所述待編碼數據的長度,η表示所述生成矩陣G kx。的列 數; 在第i個周期計算c= (c〇,Ci…Cki)與生成矩陣Gkx。中的Ni個列相乘,其中在前^ 個周期,所述 Ni=m,z' = l,2... ,: 在第里.+ 1個周其月,所述Ni= η mod m,Z.二一+1 _.掛」. ,LW」。3. 根據權利要求1所述的裝置,其特征在于,所述數據處理模塊包括:第一存儲單元和 第二存儲單元; 所述數據處理模塊用于將所述生成矩陣Gkx。的每一列分為P個第一數據塊,其中 P > 2 ; 所述第一存儲單元用于存儲一個所述第一數據塊; 所述第二存儲單元用于存儲所述第一數據塊對應的所述待編碼數據的第二數據塊; 所述m個數據處理模塊,具體用于:在低密度奇偶校驗LDPC編碼過程中,根據分塊結 果,在第i個周期計算Ni個第二數據塊與對應的Ni個第一數據塊相乘,其中在前^ xf個 周期,所述Ni= m,在第個周期,所述Ni= η mod m,4. 根據權利要求1-3任一項所述的裝置,其特征在于,還包括:第一存儲模塊,用于存 儲所述生成矩陣。5. 根據權利要求4所述的裝置,其特征在于,所述第一存儲模塊具體用于: 若所述生成矩陣為稀疏矩陣,則所述第一存儲模塊僅存儲所述生成矩陣的非零元素和 所述非零元素對應的位置坐標; 若所述生成矩陣的子矩陣為循環矩陣,則所述第一存儲模塊僅存儲所述循環矩陣中所 有的非零元素、w及其中一列非零元素對應的位置坐標和相鄰兩列的循環偏移量。6. -種數據處理裝置,其特征在于:包括: 第二存儲模塊,用于存儲校驗矩陣Hix。,所述校驗矩陣的列對應變量節點,所述校驗矩 陣的行對應校驗節點; 第Ξ存儲模塊,用于存儲數據處理過程中所述變量節點和所述校驗節點之間傳遞的數 據; e個第一數據處理模塊,用于處理e個所述校驗節點上的操作; f個第二數據處理模塊,用于處理f個所述變量節點上的操作; 其中,e<l,f<n,其中e和f均為正整數。7. 根據權利要求6所述的裝置,其特征在于,若所述校驗矩陣由循環排列矩陣和零矩 陣組成,則所述第Ξ存儲模塊,根據所述循環排列矩陣的結構循環自增尋址。
【文檔編號】H03M13/11GK105846830SQ201510019132
【公開日】2016年8月10日
【申請日】2015年1月14日
【發明人】蔡琛, 黃勤, 陸國雷, 王祖林, 馮文全
【申請人】北京航空航天大學, 北京航天華科技有限公司