專利名稱:解碼設備、解碼方法和程序的制作方法
技術領域:
本發明涉及解碼設備、解碼方法和程序。更具體地,本發明涉及能夠 對具有互相不同的結構的多個LDPC(低密度奇偶校驗)碼進行解碼并具有 較小電路尺寸的解碼設備。本發明還涉及該解碼設備所采用的解碼方法和 實施該解碼方法的程序。
背景技術:
通信系統采用編碼技術來執行通過有噪聲的通信信道的可靠通信。在 例如衛星網絡這樣的無線系統(或無線電系統)中,有許多因地理和環境原 因造成的噪聲源。各通信信道可被視為具有固定容量的信道、可被視為能 夠在特定SNR(信噪比)呈示每符號比特數的信道,并規定了被稱為香農極 限的理論上限。因此,編碼設計具有達到逼近香農極限的速率這一目的。 這一目的與帶寬受限的衛星系統具有特別緊密的關系。
近年來,開發出各自呈現出接近香農極限的性能的編碼方法。各編碼 方法還被稱作在基于Turbo碼的編碼處理中采用的所謂Turbo編碼才支術, Turbo碼如PCCC(Parallel Concatenated Convolutional Code,并行^# 巻積碼)和SCCC(Serially Concatenated Convolutional Code,串行鏈接巻 積碼)。盡管開發了這些Turbo碼,但LDPC碼(低密度奇偶校驗碼)已吸 引了很大注意力。LDPC碼是在為人所知很長時間的編碼方法中使用的 碼。
LDPC碼是由R. GL Gallager在《Low Density Parity Check Codes》 (Cambridge, Massachusetts, MIT Press, 1963年)中首先提出的。此后, 如在D. J. C Mackay所著的《Good error correcting codes, based on veryparse matrices》(提交至IEEE Trans. Inf. Theory, IT一5, pp. 399 ~ 431, 1999)以及M. GL Luby、 M. Mitzenmacher、 M. A. Shokrollahi和D. A. Spielman所著的《Analysis of low density codes and improved designs using irregular graphs》(ACM Symposium on Theory of Computing的論 文集,pp. 249 ~258, 1998)中所記威,LDPC碼再次引^A們的關注。
近年來開展的研究結果逐漸表明在LDPC碼的情況下,通過增加 碼長度,有可能以與Turbo碼相同的方式展示出接近香農極限的性能。 此外,LDPC碼具有示出最小距離與碼長度成比例的性質。因此,LDPC 碼的特征在于LDPC碼提供這樣的優點即良好的分組誤差概率特性、 以及幾乎不發生所謂誤差平底(error floor)現象。誤差平底現象是在如 Turbo碼的碼的解碼特性中》見察到的現象。
以下具體"^兌明LDPC碼。注意,LDPC碼是線性碼,而且不一定是 二維碼。不過,在以下說明中將LDPC碼作為二維碼來進行解釋。
LDPC碼的最顯著特征是定義該LDPC碼的奇偶校驗矩陣是稀疏 矩陣。稀疏矩陣是這樣的矩陣其中值為1的元素個數非常少。設記號H 表示稀疏奇偶校驗矩陣。圖1是示出典型的稀疏奇偶校驗矩陣H的圖。 如圖1所示,各列的漢明權是3,而各行的漢明權是6。列或行的漢明權 是作為值均為1的元素而均包含在列或行中的矩陣元素的個數。
如上所述,由對于各列具有恒定的漢明權并對于各行具有恒定的漢明 權的奇偶校驗矩陣H定義的LDPC碼被稱作規則LDPC碼。另 一方面, 由漢明權隨各列而變且漢明權隨各行而變的奇偶校驗矩陣H定義的 LDPC碼被稱作不規則LDPC碼。
基于該LDPC碼的編碼處理是如下執行的即基于定義LDPC碼的 奇偶校驗矩陣H而創建生成矩陣G。接著將該生成矩陣G乘以二維信息 消息u從而產生編碼字c。具體地,用于執行基于LDPC碼的編碼處理的 編碼設備創建生成矩陣G,對于該生成矩陣G,關于從定義LDPC碼的 奇偶校驗矩陣H而得的重排序后的矩陣H1,等式GlC成立。如果生 成矩陣G是kxn矩陣,則編碼設備將生成矩陣G乘以k位的信息消息, 以產生由n位組成的編碼字(-uG)。在以下的說明中,由k位組成的信息 消息也稱作向量u。編碼設備最后通過將值為0的各編碼字位映射至 并將值為1的各編碼字位映射至"-l"、從而將編碼字c經過預先確定的 通信線路而發送至接收方。總之,編碼設備基于由奇偶校驗矩陣H定義 的LDPC碼而將信息消息u編碼為編碼字c。注意,如果例如由n位組成的編碼字c是這樣的組織碼其與由I^ 是(n-k)個奇偶校驗位的k位信息消息組成的n位序列相匹配,則在圖2 所示的由(n-k)行和n列組成的(n-k)行xn列奇偶校驗矩陣H中,與由n位 組成的編碼字中的k位信息消息u對應的(n-k)行xk列矩陣部分稱作信息 部,而與由n位組成的編碼字中的(n-k)個奇偶校驗位對應的(n-k)行x(n-k) 列矩陣部分稱作奇偶校驗部。如果奇偶校驗部是下三角矩陣或上三角矩 陣,則采用基于LDPC碼的編碼方法對信息消息u進行編碼的這一處理 是通過使用定義LDPC碼的奇偶校驗矩陣H來執行的。
也就是說,如圖2所示,奇偶校驗矩陣H包括信息部和用作奇偶校 驗部的下三角矩陣,而用作奇偶校驗部的下三角矩陣的每個元素是l。在 這種情況下,奇偶校驗位的序列如下求得。首先,編碼字c的奇偶校驗位 序列的第1奇偶校驗位具有作為對均包括在信息消息u中的位執行 EXOR(異或邏輯和)處理的結果而得到的值,所述均包括在信息消息u中 的位是對應于包括在奇偶校驗矩陣H的信息部的第一行中的作為具有值 1的元素的矩陣元素的位。
接著,編碼字c的奇偶校驗位序列的第2奇偶校驗位具有作為對奇偶 校驗序列的第一奇偶校驗位和均包括在信息消息u中的消息位執行 EXOR處理的結果而得到的值,所述消息位是對應于包括在奇偶校驗矩 陣H的信息部的第二行中的作為具有值1的元素的矩陣元素的位。
1^,編碼字c的奇偶校驗位序列的第3奇偶校驗位具有作為對奇偶 校驗位序列的第一和第二奇偶核J^位和均包括在信息消息u中的的消息 位執行EXOR處理的結果而得到的值,所述消息位是對應于包括在奇偶 校驗矩陣H的信息部的第三行中的作為具有值1的元素的矩陣元素的位。
然后,以同樣方式求得奇偶校驗位序列的第4和后續的奇偶校驗位。 一般而言,編碼字c的奇偶校驗位序列的第i奇偶校驗位具有對奇偶校驗 序列的第一至第(i- 1)奇偶校驗位和均包括在信息消息u中的消息位執 行EXOR處理的結果而得到的值,所述消息位^i對應于包括在奇偶校驗 矩陣H的信息部的第i行中的作為具有值1的元素的矩陣元素的位。
如上所述計算奇偶校驗位序列的(n-k)個奇偶校驗位,然后再將該奇 偶校驗位序列放置在跟隨由k位組成的信息消息的位置處,從而生成由n 位組成的編碼字c。
另一方面,使用LDPC碼的解碼處理還可根據消息傳遞算法來執行,該消息傳遞算法基于由可變節點(各可變節點也稱作消息節點)和校驗節
點組成的所謂Tanner圖上的置信傳播(belief propagation )。該消息傳遞 算法是由Gallager作為稱作概率解碼的算法而提出的算法。以下隨意地 將可變節點和校驗節點簡稱作節點。
然而,在概率解碼算法的情況下,在節點間傳遞的消息是實數值。因 此,為了以解析方式來求解消息,需要追蹤具有連續的值的消息的概率分 布。也就是說,需#行極其困難的分析。為了解決這一問題,Gallager 提出了算法A和B作為均用于對LDPC碼進行解碼,或嚴格地說,是對 已使用LDPC碼來編碼的數據進行解碼的算法,
對使用LDPC碼來編碼的數據進行解碼的解碼處理通常是根據圖3 所示的流程圖代表的步驟來執行的。在以下說明中,對使用LDPC碼來 編碼的lt據進行解碼的處理也簡稱為對LDPC碼進行解碼的處理,而用 作解碼對象的LDPC碼指的是已使用LDPC碼來編碼的數據。要注意, 在步驟中,記號U。(u。i)表示基于具有特定碼長度的LDPC碼而編碼的接
收數據的笫i個值,記號Uj表示從校驗節點輸出的第j個消息、或嚴格地 說是從連接至校驗節點的第j個邊輸出的消息,而記號Vi表示從可變節點 輸出的笫i個消息、或嚴格地說是從連接至可變節點的第i個邊輸出的消 息。此夕卜,在這種情況下,消息是用于表示所謂的對數似然比等的實數值, 作為代表值0的似然度的值。
如圖3所示,代表解碼處理的步驟的流程圖開始于步驟S101,在該 步驟中接收數據值Uo(u。0,而將消息Uj和變量k的每一個初始化為O。變 量k是代表迭代處理的次數的整數。接著,解碼處理的流程轉至步驟S102。 在步驟S102,結合消息Ui而使用接收數據值U。(u。i)、以根據式(l)在可變 節點執行處理,從而求得消息Vi。接著,使用該消息Vi以根據式(2)在校
驗節點執行處理,從而求得消息Uj。
<formula>formula see original document page 11</formula> (1)
<formula>formula see original document page 11</formula> …(2)
注意,式(l)中使用的記號dv表示這樣的^:其代表縱(或列)方向 上值為1的元素的數目,而式(2)中使用的記號de表示這樣的^:其代
表橫(或行)方向上值為1的元素的數目。也就是說,記號dy和de表示這樣的^lt:其分別代表各列的漢明權和^4t的漢明權。這些^ltdv和dc 的值可任意選擇。例如在碼(3, 6)的情況下,各列的漢明權的值設為3(即 dv-3)而各行的漢明權的值設為6(即dc=6)。
注意,在根據式(l)的求和處理中,從試圖輸出消息的邊輸入的消息 不被用作處理的對象。因此,求和處理的范圍從1開始到(dy-l)為止。同 理,在根據式(2)的乘法處理中,從試圖輸出消息的邊輸入的消息不被用 作處理的對象。因此,乘法處理的范圍從1開始到(dc-l)為止。此外,根 據式(2)求得消息Uj的值的乘法處理可如下才艮據式(3)和(4)來執行。預先創 建對于2個給定輸入^和V2的函數R(Vl, v。的值1的表作為根據式(3)
的表。如式(3)所示,函數R(V" V2)的值X是輸入Vi和V2的函數。接著通
過使用值x可求得消息Uj的值,該Uj的值^JL據式(4)以遞推方式從上述 表求得的。
x=21如h -1 {ta nli (v /2) t a n h (v2/2) 1 = R 01, v 2)…(3) Llj =R (v,, R (v2, R (V3,…R (v《一2, vdcH))〉)…(4)
此外,在步驟S102,將變量k加1。接著解碼處理的流程轉至步驟 S103。在步驟S103,將變量k與預先確定的迭代解碼計數值N做比較, 以產生對變量k是否等于或大于迭代解碼計數值N所做判斷的結果。如 果在步驟S103執行的處理產生的判斷結果表示變量k既不等于也不大于 預先確定的迭代解碼計數值N,則解碼處理的流程返回步驟S102,以重 復步驟S102和S103的處理。
另一方面,如果在步驟S103執行的處理產生的判斷結果表示變量k 等于或大于預先確定的迭代解碼計數值N,則解碼處理的流程轉至步驟 S104,在該步驟中通過執行根據式(5)的處理來求得消息v,作為最#^輸 出的解碼結果。然后,對使用LDPC碼來編碼的數據進行解碼的解碼處 理結束。
《
V,十Z Uj
",…(5)
根據式(5)的計算處理與根據式(1)的計算處理的不同在于根據式(5) 的計算處理是通過使用來自連接至可變節點的所有邊的消息Uj而執行的。
在對使用LDPC碼來編碼的數據進行解碼的解碼處理中,在例如(3, 6)碼的情況下,如圖4所示,消息在節點之間交換。要注意,在圖4+,由"="(等號)表示的各節點是可變節點,在此執行根據式(l)的求和處理。
另一方面,由"+"(加號)表示的各節點是校驗節點,在此執行根據式(2) 的乘法處理。
特別地,根據前面提到的算法A,使消息成為二維,并在"+"(加號)
所示的校驗節點處,對提供給校驗節點的(de-l)個輸入消息Vi執行異或邏 輯和處理,而在"="(等號)所示的可變節點處,如果提供給可變節點的(dvl)
個輸入消息Uj具有4^P不同的比特值,則在輸出數據R之前使接收數據 R的符號反轉。
此外,近年來研究了對用于對使用LDPC碼來編碼的數據進行解碼 的處理的方法的實施。在說明對使用LDPC碼來編碼的數據進行解碼的 處理的執行方法前,首先創建并解釋對使用LDPC碼來編碼的數據進行 解碼的處理的模型。
圖5是示出了定義作為編碼率為1/2且碼長度為12的LDPC碼的(3, 6)碼的LDPC碼的典型的奇偶校驗矩陣H的圖。圖5所示的作為定義 LDPC碼的矩陣的奇偶校驗矩陣H可由如圖6所示那樣的Tanner圖來表 示。在圖6中,由"="(等號)表示的各節點是可變節點,而由"+"(加 號)表示的各節點是校驗節點。校驗節點和可變節點對應于奇偶校驗矩陣 H中的行和列。使校驗節點和可變節點相互連接的線稱作邊,其對應于值 為l的矩陣元素。即,如果存在于奇偶核^驗矩陣H中的作為第j行和第i 列的交點的交點處矩陣元素的值為1,則將圖6的從上起第i個可變節點 (即,由"="(等號)表示的第i個節點)和圖6的從上起第j個校驗節點(即, 由"+"(加號)表示的第j個節點)以與值為1的矩陣元素處的交點對應的 邊iM目互連接。使可變節點和校驗節點相互連接的ii^示作為與可變節 點關聯的位的包括在使用LDPC碼來編碼的接收數據中的位具有關于校 驗節點的約束條件。注意,圖6所示的Tanner圖表示上述圖5所示的奇 偶校驗矩陣H。
用作對使用LDPC碼來編碼的數據進行解碼的方法的和積算法是用 于重復執行可變節點和校驗節點的處理的算法。
在可變節點處,如圖7所示,執行作為對可變節點的處理的式(l)所 代表的求和處理。在圖7所示的求和處理中,與連接至可變節點的邊中存
在的第i邊對應的消息Vi是從來自連接至可變節點的其余邊的消息lh和
u2、以及接收數據值U。i計算的。對應于任何其它邊的消息也以同樣方式 計算。在解釋于校驗節點處執行的處理前,通過使用關系
<formula>formula see original document page 14</formula>(6)
此外,對于x20,定義非線性函數(Kx)^ln(tanh(x/2))。在這種情況下, 該非線性函數(l)(x)的反函數(l)"(x)可如下表示(1)"(x)-2tanh"(e-x)。因此, 從式(l)"(x)-2tanh"(e-x)可如下將式(6)改寫成式(7):
/^-1 、 t,
(=1
(7)
在核^驗節點處,如圖8所示,執行根據式(7)的校驗節點處理。在圖8 所示的乘法處理中,與連接至校驗節點的邊中存在的第j邊對應的消息
Uj是從來自連接至校驗節點的其余邊的消息Vi、 V2、 V3、 V4和Vs計算的。
對應于任何其它邊的消息也以同樣方式來計算。
要注意,非線性函數(Kx)也可表示為<|>(x)=ln((ex+l)/(ex-l))。在這種 情況下,對于x>0則(Kx)—"(x)。即,執行非線性函數(Kx)的處理結果與 執行非線性函數(Kx)的反函數(l)"(x)的處理結^目等。在實際中,使用硬件
來實施非線性函數())(X)和該非線性函數(I)(X)的反函數(^(X)中的每一個。用
于實施非線性函數(Kx)和該非線性函數(j)(x)的反函數(l)"(x)的每一個的硬件 譚常是LUT(查詢表)。因此在這種情況下,可使用對于非線性函數(()(x)和 該非線性函數(Kx)的反函數(l)"(x)共同的LUT。
此外,作為根據式(l)的求和處理的在可變節點處執行的處理可被分 成祁^據式(5)的求和處理和才艮據式(8)的減法處理。
Vi = v—udv …(8)
因此,通過重復進行根據式(5)和(8)的處理,可重復進行對可變節點的處理,即,可重復進行根據式(l)的可變節點的處理。同理,通過重復
進行根據式(7)的處理,可重復進行校驗節點的處理。在這種情況下,可 將作為重復進行才艮據式(5)和(8)的處理的結果所得的、根據式(8)的最終處 理的結果原樣地用作解碼處理的最終結果。
如果由硬件來實施作為用于解碼設備的算法的和積算法,則需務使用 尺寸適當的電路、以適當的工作頻率來重復進行可變節點處理和校驗節點 處理。可變節點處理是根據式(1)或式(5)和(8)在每一可變節點處執行的處 理,而校驗節點處理是根據式(7)在每一校驗節點處執行的處理。
以下解釋這種解碼設備的例子。
對使用LDPC碼來編碼的數據進行解碼所用的算法的特征在于該 算法可以實施性能非常高的完全并行處理解碼i殳備。然而,意圖用于碼長 度較大的數據的完全并行處理解碼設備具有極大的電路尺寸,以致難以實 施該設備。
為了解決這一問題,近年來已提出了具有適于實施具有可行的電路尺 寸的解碼i殳備的結構的LDPC碼,該LDPC碼作為在如DVB-S.2 (ETSI EN302307)的傳送系統中使用的LDPC碼。因此,在以下說明中將該提議 的LDPC碼稱作DVB-S.2 LDPC碼。
DVB-S.2 LDPC碼可由具有如下結構的矩陣來定義,該結構通過重 排序上述奇偶校驗矩陣的行和列而獲得。
即,DVB-S.2 LDPC碼可由具有如下結構的奇偶校驗矩陣來表示, 該結構通過組合多個配置矩陣而得到,該多個配置矩陣包括PxP單位矩 陣(其中P-360)、 PxP準單位矩陣、PxP移位矩陣、PxP和矩陣和PxP零 矩陣。準單位矩陣是將一個或多個值為1的矩陣元素的每一個置0的單位 矩陣。移位矩陣是作為對單位矩陣或準單位矩陣執行循環移位運算的結果
所得的矩陣。和矩陣是對單位矩陣、準單位矩陣和移位矩陣中的至少2 個執行矩陣加法運算而得的矩陣。注意,在以下說明中,將具有這種結構 的奇偶校驗矩陣稱作由各具有PxP結構的配置矩陣組成的奇偶校驗矩陣, 而將該由各具有PxP結構的配置矩陣組成的奇偶校驗矩陣所定義的 LDPC碼稱作P碼。
通過使用這種P碼,有可能實施這樣的解碼設備其同時處理分別 代表P個接收值的P位和分別代表P個消息的P位。
然而,為了使以下說明容易理解,對P-6做出說明。圖9是示出了定義了編碼率為2/3且碼長度為108的LDPC碼的奇偶校驗矩陣H的圖。 圖9所示的奇偶校驗矩陣H是由各具有6x6結構的配置矩陣組成的典型 的奇偶校驗矩陣。為了使各具有6x6結構的每一個配置矩陣更容易識別, 在圖9所示的奇偶校驗矩陣H中,在6x6配置矩陣之間設有間隔。為了 使圖9容易觀看,以句點"."來代表奇偶校驗矩陣H中值為0的各矩陣 元素。即,圖9所示的奇偶校驗矩陣具有這樣的結構該結構是通itl且合 多個配置矩陣而得到的,該多個配置矩陣包括6x6單位矩陣、6x6準單位 矩陣、6x6移位矩陣、6x6和矩陣和6x6零矩陣。如前面所述,準單位矩 陣是將一個或多個值為1的矩陣元素置0的單位矩陣。
圖10是示出了對^f吏用上述LDPC碼即P=6的LDPC碼來編碼的數 據進行解碼的典型的現有技術的解碼設備的框圖。
圖10的框圖所示的典型的解碼設備的結構包括接收值緩沖器200、 接收值存儲器201、節點處理部202、移位部203、消息存儲器204和解 碼結果存儲器205。
接收值緩沖器200是這樣的緩沖器其用于在數據D200被作為數據 D201轉移到接收值存儲器201之前,將從通信線路接收的數據D200作 為具有一個碼的尺寸的數據存儲起來。根據將數據D200傳輸至接收值緩 沖器200的傳輸方法, 一些情況下可執行對存儲在接收值緩沖器200中的 數據D200的碼位(code bit)進行重排序的處理。
才艮據圖9所示的奇偶校驗矩陣H的列的順序、同時以6個為單位(其 中每個由6位組成)從接收值存儲器201讀出數據D201。即,以每個都是 由6行和6列組成的矩陣的單位從接收值存儲器201讀出數據D201,并 將其作為接收數據D202而提供給節點處理部202。
節點處理部202分別采用由附圖標記210-1至210-6標示的6個節點 處理器。這6個節點處理器210-1至210-6的每一個根據由圖10的框圖 中未示出的控制部發出的命令,對從接收值存儲器201讀出的6個數據 D202中的預定的一個和同時從消息存儲器204接收的6個消息D205中 的預定的一個執行校驗節點處理或可變節點處理,并將消息D203作為處 理結果輸出至移位部203。即,節點處理器210—1至210-6將6個消息 D203作為同時執行的處理的結果分別提供給移位部203。此外,節點處 理器210-1至210-6此時還分別將節點處理器210-1至210-6同時執行 的可變節點處理的6個解碼結果D206分別同時輸出至解碼結果存儲器 205。當在節點處理部202中采用的節點處理器210-1至210-6將6個消息 D203分別提供給移位部203時,圖10的框圖中未示出的控制部向移位部 203提供如下信息,該信息指示對應于6個消息D203的邊各自是如下邊: 其中已在配置矩陣上對該邊執行了一些循環移位運算,配置矩陣如用作圖 9所示的奇偶校驗矩陣H的元素矩陣的單位矩陣。基于這一信息,移位部 203執行對6個消息D203進行重排序的循環移位運算,并將6個消息D204 作為運算結果而輸出至消息存儲器204。
在消息存儲器204中,將從移位部203接收到的6個消息D204存儲 在由圖10的框圖中未示出的控制部所指定的地址處。消息存儲器204將 從由圖10的框圖中未示出的控制部所指定的地址讀出的6個數據作為6 個消息D205而輸出至節點處理部202。
解碼結果存儲器205用于同時存儲由節點處理部202的節點處理器 210 -1至210-6執行的可變節點處理的6個解碼結果D206。這6個解碼 結果D206實際上是6位的數據。在完成解碼處理后,作為解碼結果D207 而輸出該6位的數據。
注意,通過適當地控制將數據寫入各存儲器的順序、從各存儲器讀出 數據的順序以及移位量,圖10的框圖所示的典型的解碼i殳備不僅能夠對 單個碼進行解碼,也能夠對具有相同結構的其它碼進行解碼。
圖11是示出了在節點處理部202中采用的6個節點處理器210-1至 210-6中的每一個的典型配置的框圖。以下,如果不必彼此區分這6個節 點處理器210-1至210-6,則僅由通用的附圖標記210來標示這6個節點 處理器210-1至210-6中的每一個。
具有圖11的框圖所示的典型配置的節點處理器210能夠通it^一個 處理切換倒另一個處理來交替地執行才艮據式(l)的可變節點處理和才艮據式 (7)的^1驗節點處理。
節點處理器210具有每個用于從外部源接收消息或數據的兩個輸入 端口 P301和P302。更具體地,在圖lO的框圖所示的典型的解碼i史備中, 輸入端口 P301是用于從接收值存儲器201接收數據D202的端口 ,而輸 入端口 P302是用于從消息存儲器204接收消息D205的端口 。
此夕卜,節點處理器210還具有每個用于輸出消息或處理結果的兩個輸 出端口 P303和P304。更具體地,在圖10的框圖所示的典型的解碼i更備 中,輸出端口 P303是用于向移位部203輸出消息D203的端口,而輸出端口 P304是用于向解碼結果存儲器205提供解碼結果D206的端口 。
除此之外,節點處理器210還采用各自具有V和C輸入端子的選擇 器301、 316和318。在各選擇器301、 316和318選擇V輸入端子的情況 下,節點處理器210執行可變節點處理。另一方面,在各選擇器301、 316 和318選擇C輸入端子的情況下,節點處理器210執行校驗節點處理。
首先,解釋由用作可變節點的節點處理器210執行的可變節點處理。
節點處理器210通過輸入端口 P302接收來自圖10的框圖所示的典 型的解碼設備的消息存儲器204的、源自校驗節點的一列消息D205。將 該消息D205作為消息D301(或消息Uj)而依次逐個地提供^^擇器301。 選擇器301將消息D301作為消息D306而4^供給加法器302。加法器302 還接收選擇器317輸出的數據D323。加法器302將由選擇器317輸出的 數據D323加到由選擇器301輸出的消息D306以產生和,然后該和被存 儲在寄存器303中。
如果選擇器317選擇了其自身的輸入端子連接到輸出數據D307的寄 存器303,則加法器302將寄存器303經由選擇器317而提供給加法器302 的數據D307加到由選擇器301輸出的消息D306,以產生和,該和然后 被存儲在寄存器303中。
另一方面,如果選擇器317選擇了其自身的輸入端子連接到輸出數據 D322的選擇器318,則加法器302將選擇器318經由選擇器317而提供 給加法器302的數據D322加到由選擇器301輸出的消息D306,以產生 和。順便提一下,由選擇器318輸出的數據D322是由輸入端口 P301作 為數據D300而接收的數據D202(或uQi)。因而,加法器302將接收數據 D202(或u。i)加至由選擇器301輸出的消息D306,以產生和,該和被存儲 在寄存器303中。
當對一列重復進行上述操作時,在寄存器303中積累總值等于1^+ uoi的數據D307,其中求和Suj覆蓋了 j=l - dv的范圍。接著將總值等于Suj +u0i的數據D307經由選擇器304轉移到寄存器305。
與此同時,延遲FIFO 310用于通過將消息D306保持在延遲FIFO 310中,直到由寄存器305輸出了總值等于i:iij+u。i的新數據D308為止, 其中求和Suj覆蓋了 j=l-dv的范圍,從而使由選擇器301輸出的、作為 源自校驗節點的消息的消息D306延遲。接著,延遲FIFO 310將延遲的 消息D306作為延遲的輸入消息D315而輸出至減法器312。減法器312從由寄存器305輸出的新數據D308中減去由延遲FIFO 310輸出的延遲的輸入消息D315,以產生大小等于i:Uj+u。i的差D316,其 中求和Eiij覆蓋了 j-l-(dv-l)的范圍。減法器312將差D316輸出至選擇 器316。接4選擇器316將差D316作為消息D321而輸出至輸出端口 P303。 最后,輸出端口 P303將消息D321作為輸出消息D203而傳遞到在圖10 的框圖所示的典型的解碼i殳備中采用的移位部203。
換言之,當執行根據式(l)的可變節點的處理時,用作可變節點的節 點處理器210從連接至用作可變節點的節點處理器210的4^P校驗節點而 接收的消息與接收數據之和中,減去由特定的校驗節點提供的消息,從而 計M通過邊輸出到特定的校驗節點的消息。
接下來解釋由用作校驗節點的節點處理器210執行的校驗節點處理。
節點處理器210通過輸入端口 P302接收來自圖10的框圖所示的典 型的解碼設備的消息存儲器204、源自可變節點的一行消息D205。將該 消息D205作為消息D301(或消息vO而依次逐個消息地由輸入端口 P302 傳遞,并作為絕對值D303(或IVil)而提供給LUT300。
LUT 300是這樣的LUT:其用于存儲在表示校驗節點處理的式(7)中 使用的非線性函數(Kx)的值,作為各自與自變量x相關聯的值,該自變量 x是絕對值D303(或lvil)。也就是說,LUT 300用于存儲值0305(或(|)(|"|))。 當將絕對值D303(或lvil)提供給LUT 300時,LUT 300輸出值D305(或
WVil))。
從LUT 300讀出的值D305(或(j)(lvil))經由選擇器301作為消息D306 而提供給加法器302。加法器302將由選擇器301輸出的消息D306加到 由選擇器317輸出的數據D323,以產生和,然后該和被存儲在寄存器303 中。在這種情況下,選擇器317選擇了其輸入端子連接到輸出數據D307 的寄存器303。因而,加法器302將寄存器303經由選擇器317提供給加 法器302的數據D307加至由選擇器301輸出的消息D306,以產生和, 該和然后再次被存儲在寄存器303中。因而,數據D307是值D305的累 積和(或(Khl))。
當對于一行的消息D301(或消息Vi)從LUT 300讀出的值D305(或 小(lvil))被累加以產生一行累加和D307時,在i-l - dc的范圍上計算的大小 4于2(KlVil)的和D307經由選擇器304而被提供給寄存器305。
與此同時,延遲FIFO 310用于通過將消息D306保持在延遲FIFO310中,直到由寄存器305輸出了在i-l-dc的范圍上計算的總值等于 2(KlVil)的新數據D308為止,從而延遲由選擇器301輸出的消息D306。 即,延遲FIFO 310用于使從LUT 300讀出的值D305(或(j)(lvil))延遲。接 著,延遲FIFO 310將延遲的值D305作為延遲的輸入消息D315而輸出至 減法器312。
減法器312從由寄存器305輸出的新數據D308中減去延遲的輸入消 息D315,以產生在i=l - (de-l)的范圍上計算的大小等于S(j)(lvil)的差D316。 接著減法器312將差D316輸出至LUT 314。
LUT 314是如下工作的LUT。在LUT 314中,將差D316視為自變 量x。對于自變量x,從LUT314讀出在根據式(7)的校驗節點處理中作為
非線性函數(J)(X)的反函數(l)"(X)而使用的反函數(j)"(X)的值。具體地,當減法
器312向LUT 314提供^ i=l - (de-l)的范圍上計i的大小等于S(KIVil)的 差D316時,LUT 314輸出值0318(=小_1(5:(()(|^|))),該值^1^函數(()"(2:(|)(|^|)) 的值。
與上述操作同時,EXOR電路306對各消息D301的符號位D304(或 sign(Vi))和存儲在寄存器307中的值D310執行異或邏輯和處理,以產生邏 輯和D309并再將該和D309存儲在寄存器307中。消息D301的符號位 D304是表示消息D301是正消息還是負消息的位。
當一行的消息D301(或消息vO的符號位被EXOR電路306累加求和 并存儲在寄存器307中時,寄存器307將由在i-l-de的范圍上計算的 nsign(vO代表的累加值D310經由選擇器308而提供給^存器309。
與此同時,延遲FIFO 310用于通過將符號位D304(或sign(Vi))保持在 延遲FIFO 310中,直到由寄存器309輸出了由在從i=l到dc的范圍上計 算的nsign(Vi)代表的新數據D311為止,而將用于乘法運算的符號位 D304(或sign(Vi))延遲。接著,延遲FIFO 310將延遲的符號位D304作為 延遲的符號位D313而輸出至EXOR電路315。
EXOR電路315對從延遲FIFO 310接收的延遲的符號位D313和存 儲在寄存器309中的累加值D311執行異或邏輯和處理,以產生由在從i=l 到(de-l)的范圍上計算的IIsign(Vi)表達的符號位D319并將該符號位D319 提供給選擇器316。
最終,選擇器316將從EXOR電路315接收的符號位D319附加至由 LUT 314輸出的值D318(—"(i:(t)(lvil)))以產生消息D321 ,并將該消息D321輸出至輸出端口 P303,該輸出端口 P303接著將消息D321傳遞到圖10 的框圖所示的典型的解碼i殳備的移位部203。
換言之,當執行根據式(7)的校驗節點的處理時,節點處理器210從 連接至用作校驗節點的節點處理器210的全部校驗節點而接收的消息之 和中,減去由特定的可變節點供給的消息,從而計算要通過邊輸出至特定 的可變節點的消息。
在解碼的最后階段,節點處理器210不執行根據式(l)的可變節點處 理,而^l^戈之以扭i行才艮據式(5)的處理,并將該處理結果所得的數據D308 作為解碼結果D206,經由輸出端口 P304而輸出至圖10的框圖所示的典 型的解碼設備的解碼結果存儲器205。解碼的最后階段一M在重復進行 了 N次(其中N是預先確定的整lt)可變節點處理和核J瞼節點處理后執行的 最后的可變節點處理。
要注意,盡管圖10的框圖所示的典型的解碼設備是對P-6的碼進行 解碼的解碼i殳備,但對P為6以外的P碼進行解碼的解碼設備可基本地 被設計成具有與圖10的框圖所示的典型的解碼該:^^目同的配置。
發明內容
然而,如果將用于解碼P碼的解碼^殳備實施成利用相關技術并具有 與圖10的框圖所示的典型的解碼設備相同的配置,則不是僅需要并行連 接的6個節點處理器,而是需要并行連接的P個節點處理器。此外,移位 部不是僅執行6x6循環移位運算,而是需JNMt PxP循環移位運算。除 此之外,各存儲器不是僅需要同時寫入和讀出6個數據、而是必須能夠同 時寫入和讀出P個數據。
因此,對于較大的P值,產生了整個解碼設備的電路尺寸不被希望 地增大的這一問題。
此外,現有技術的解碼i殳備不能對P碼以外的碼進行解碼。例如, 現有技術的解碼設備不能對Q碼進行解碼。因此,在一個傳輸系統中使 用的碼必須全部是P碼。結果,產生了以下不希望出現的另一問題在通 常使用了針對面向各具有高傳輸率的固定接收機的服務的P碼和針對面 向各具有低傳輸率但是具有較大的功耗限制的便攜式接收機的服務的Q 碼的傳輸系統中,為了配置對P碼和Q碼共用的接收機,必須相互分離 地設計對P碼進行解碼專用的解碼設備和對Q碼進行解碼專用的解碼設備。
有鑒于上述問題,本發明的發明人提議了 一種能夠對以不同結構提供
并使用LDPC碼來編碼的多個碼進行解碼的解碼設備,并有可能減小其 電路尺寸。
為了解決上述問題,根據本發明的實施例,提供了一種對LDPC(低 密度奇偶校驗)碼進行解碼的解碼設備。在該解碼設備中,LDPC碼由具 有第一結構的原奇偶校驗矩陣表示,該第一結構是通iti且合多個第 一配置 矩陣而得到的,該多個第一配置矩陣包括PxP單位矩陣、將PxP單位矩 陣的一個或多個矩陣元素各自的值從1置為0而得到的PxP準單位矩陣、 作為對PxP單位矩陣或PxP準單位矩陣執行循環移位運算的結果而得到 的PxP移位矩陣、通過對PxP單位矩陣、PxP準單位矩陣和PxP移位矩 陣中的至少兩個執行矩陣加法運算而得到的PxP和矩陣、以及PxP零矩
陣,或者所述低密度奇偶校驗碼由通過重排序所述原奇偶校驗矩陣中的至 少一行和一列而得到的、作為具有所述第一結構的矩陣的矩陣i^示,其
中記號P表示整數。解碼設備包括
消息計算裝置,用于通過同時進行F個校驗節點處理或F個可變節
接收值進行解碼的處理,并輸出作為所述F個校驗節點處理或所述F個 可變節點處理的結果而得到的F個消息,其中記號F表示整數P的非1 約數;
移位裝置,用于對由消息計算裝置生成的F個消息執行FxF循環移 位運算,并輸出作為FxF循環移位運算的結果的F個消息;
存儲裝置,用于存儲由移位裝置生成的F個消息并允許所存儲的F 個消息被讀出,或用于存儲上述F個接收值并允許所存儲的F個接收值 被讀出。
該解碼設備進一步包括控制裝置,用于通過對由具有第一結構的奇偶
校驗矩陣表示的接收值至少執行列重排序處理或與列重排序處理等同的
處理,來控制向消息計算裝置提供由對應于第二配置矩陣的F個接收值組
成的單位這一操作,作為向消息計算裝置提供接收值的操作,第二配置矩 陣作為從第一配置矩陣而得的第二配置矩陣包含在具有第二結構的矩陣
中,其中第二結構是通過組合多個第二配置矩陣而得到的結構,多個第二
配置矩陣包括FxF單位矩陣、將FxF單位矩陣的一個或多個矩陣元素各自的值從1置為0而得到的FxF準單位矩陣、作為對FxF單位矩陣或 FxF準單位矩陣執行循環移位運算的結果而得到的FxF移位矩陣、對FxF 單位矩陣、FxF準單位矩陣和FxF移位矩陣中的至少兩個執行矩陣加法 運算而得到的FxF和矩陣、以及FxF零矩陣。
為了解決上述問題,根據本發明的另一實施例,提供了一種程序以實 施在解碼設備中采用的解碼方法,該解碼設備是+艮據本發明的前述實施
例、作為對LDPC(低密度奇偶校驗)碼進行解碼的解碼設備而提供的。 LDPC碼由具有第一結構的原奇偶校驗矩陣表示,該第一結構是通iti且合 多個第一配置矩陣而得到的,該多個第一配置矩陣包括PxP單位矩陣、 將PxP單位矩陣的一個或多個矩陣元素各自的值從l置為0而得到的PxP 準單位矩陣、作為對pxp單位矩陣或PxP準單位矩陣執行循環移位運算
的結果而得到的PxP移位矩陣、通過對PxP單位矩陣、PxP準單位矩陣 和PxP移位矩陣中的至少兩個執行矩陣加法運算而得到的PxP和矩陣、 以及PxP零矩陣,或者所述低密度奇偶校驗碼由通過重排序所述原奇偶 校驗矩陣中的至少一行和一列而得到的、作為具有所述第一結構的矩陣的 矩陣來表示,其中記號P表示整數。該程序實施包括以下步驟的處理
通過同時進行F個校驗節點處理或F個可變節點處理,從而執行對 每個作為接收低密度奇偶校驗碼的結果而得到的接收值進行解碼的處理, 并輸出作為F個校驗節點處理或F個可變節點處理的結果而得到的F個 消息,其中記號F表示整數P的非1約數;
對在消息運算處理中生成的F個消息執行FxF循環移位運算,并輸 出作為FxF循環移位運算的結果的F個消息;以及
存儲在移位處理中生成的F個消息并允許所存儲的F個消息被讀出, 或用于存儲上述F個接收值并允許所存儲的F個接收值被讀出。
該程序所實施的處理進一步包括以下步驟通過對由具有第一結構的 奇偶校驗矩陣表示的接收值至少執行列重排序處理或與列重排序處理等 同的處理,來控制向消息計算裝置提供由對應于第二配置矩陣的F個接收 值組成的單位這一操作,作為向消息計算裝置提供接收值的操作,第二配 置矩陣作為從第一配置矩陣而得的第二配置矩陣包含在具有第二結構的 矩陣中,其中第二結構是通過組合多個第二配置矩陣而得到的結構,多個
第二配置矩陣包括FxF單位矩陣、將FxF單位矩陣的一個或多個矩陣 元素各自的值從1置為0而得到的FxF準單位矩陣、作為對FxF單位矩 陣或FxF準單位矩陣執行循環移位運算的結果而得到的FxF移位矩陣、對FxF單位矩陣、FxF準單位矩陣和FxF移位矩陣中的至少兩個執行矩 陣加法運算而得到的FxF和矩陣、以及FxF零矩陣。
根據本發明,有可能提供能夠對LDPC(低密度奇偶校驗)碼進行解碼 的解碼設備。特別地,根據本發明的解碼設備能夠對彼此結構不同的 LDPC碼進行解碼。
圖1是示出了定義LDPC碼的典型的稀疏的奇偶校驗矩陣的圖2是示出了定義LDPC碼的包含下三角矩陣作為奇偶校驗矩陣的 典型的奇偶校驗矩陣的圖3示出了為了對LDPC碼進行解碼而執行的一系列處理的說明性 流程圖4是示出了消息的流的i兌明圖5是示出了定義(3, 6)碼的LDPC碼的典型的奇偶校驗矩陣的圖6是示出了代表圖5所示的典型的奇偶校驗矩陣的Tanner圖的圖7是當說明在可變節點處執行處理以計算消息時所參考的說明圖8是當說明在校驗節點處執行處理以計算消息時所參考的說明圖9是示出了由各具有6x6結構的配置矩陣組成的典型的奇偶校驗矩 陣的圖10是示出了對使用上述LDPC碼即P=6的LDPC碼來編碼的數據 進行解碼的典型的現有技術的解碼設備的框圖ll是示出了在圖IO所示的解碼設備中包含的節點處理部中采用的 節點處理器的典型配置的框圖12是示出了作為對使用上述LDPC碼即P=6的LDPC碼來編碼的 數據進行解碼的設備而由本發明的實施例提供的典型的解碼設備的框圖13是示出了用作奇偶校驗矩陣的配置矩陣的典型的6x6移位矩陣 的圖14是在說明對圖13所示的6x6移位矩陣中的行和列進行重排序以 生成3x3配置矩陣所執行的處理的步驟時所參考的說明圖;圖15示出了作為對圖9所示的典型的6x6奇偶校驗矩陣執行圖14 的i兌明圖所示的步驟的結果所得的重排序后的矩陣、即由各具有3x3配置 的配置矩陣組成的重排序后的矩陣的圖16是在說明對圖13所示的6x6移位矩陣中的行和列進行重排序、 以生成2x2配置矩陣所執行的處理的步驟時所參考的說明圖;以及
圖17是示出了根據本發明的另一實施例的用作解碼設備的計算機的 典型配置的框圖。
具體實施例方式
在說明本發明的優選實施例前,先在以下的有關說明中解釋所公開的 發明和實施例之間的關系。要注意,即使有這樣的實施例其雖記載于本 說明書中但卻未被作為對應于本發明的實施例而包含在以下的有關說明 中,這樣的實施例也不應解釋為不對應于本發明的實施例。反過來說,作 為對應于特定發明的實施例而包含在以下的有關說明中的實施例不應解 釋為不對應于除特定發明以外的發明的實施例。
此外,以下的有關說明不應解釋為涵蓋本說明書所公開的所有發明的 綜合性說明。換言之,以下的有關說明絕非否定存在有雖記載于本說明書 但卻未包括在對其提交專利申請的權利要求書中的發明。也就是說,以下 的有關說明絕非否定存在有將來要包含在不同的專利申請中的發明、包含 在對本說明書的補正中的發明或要添加的發明。
根據本發明的一個實施例,提供一種對LDPC(低密度奇偶校驗)碼進 行解碼的解碼設備(如圖12的框圖所示的解碼設備)。LDPC碼是使用 LDPC碼來編碼的數據。LDPC碼由具有第一結構的原奇偶校驗矩陣(如 作為P = 6的矩陣圖9所示的奇偶校驗矩陣)表示,該第一結構是通過組 合多個第一配置矩陣而得到的,該多個第一配置矩陣包括PxP單位矩陣、 將PxP單位矩陣的一個或多個矩陣元素各自的值從l置為0而得到的PxP 準單位矩陣、作為對PxP單位矩陣或PxP準單位矩陣執行循環移位運算 的結果而得到的PxP移位矩陣、通過對PxP單位矩陣、PxP準單位矩陣 和PxP移位矩陣中的至少兩個執行矩陣加法運算而得到的PxP和矩陣、 以及PxP零矩陣,或LDPC碼由通過重排序原奇偶校驗矩陣中的至少一 行和一列而得到的矩陣表示,其中原奇偶校驗矩陣是具有第一結構的矩 陣,其中記號P表示整數。該解碼設備采用以下裝置消息計算裝置(如在圖12的框圖所示的解碼設備中采用的節點處理部 502,即,對于F=3的包括3個節點處理器510-1至510-3的節點處理部 502),用于通過同時進行F個校驗節點處理或F個可變節點處理,并輸出 作為F個校驗節點處理或F個可變節點處理的結果而得到的F個消息, 從而對每個作為接收LDPC碼的結果而得到的接收值進行解碼,其中記 號F表示整數P的非1約數;
移位裝置(如在圖12的框圖所示的解碼設備中采用的移位部503),用 于對由消息計算裝置生成的F個消息執行FxF循環移位運算,并輸出作 為FxF循環移位運算的結果的F個消息;
存儲裝置(如在圖12的框圖所示的解碼設備中采用的消息存儲器504 和接收值存儲器501),用于存儲由移位裝置生成的F個消息并允許所存 儲的F個消息被讀出,或用于存儲上述F個接收值并允許所存儲的F個 接收值被讀出;以及
控制裝置(如在圖12的框圖所示的解碼設備中采用的控制部506),用 于通過對由具有第一結構的奇偶校驗矩陣表示的接收值至少執行列重排 序處理或與列重排序處理等同的處理,來控制向消息計算裝置提供由對應 于第二配置矩陣的F個接收值組成的單位這一^Mt,作為向消息計算裝置 提供接收值的操作,第二配置矩陣包含在作為從第一配置矩陣而得的第二 配置矩陣(如作為對圖13所示的6x6移位矩陣中的行和列進行重排序而執 行的處理的結果所得到的配置矩陣之一的每個都包圍在圖14中的虛線框 中的3x3配置矩陣)的具有第二結構的矩陣中,其中第二結構是通itla合 多個上述第二配置矩陣而得到的結構,多個第二配置矩陣包括FxF單位 矩陣、將FxF單位矩陣的一個或多個矩陣元素各自的值從1置為0而得 到的FxF準單位矩陣、作為對FxF單位矩陣或FxF準單位矩陣執行循環 移位運算的結果而得到的FxF移位矩陣、對FxF單位矩陣、FxF準單位 矩陣和FxF移位矩陣中的至少兩個執行矩陣加法運算而得到的FxF和矩 陣、以及FxF零矩陣。
該解碼設備進一步采用緩沖裝置(如在圖12的框圖所示的解碼i殳備中 采用的接收值緩沖器500),用于對每個作為接收LDPC碼的結果而得到 的接收值進行緩沖。控制裝置執行緩沖控制,以在緩沖裝置中,對以遵循 具有第 一結構的奇偶校驗矩陣的到來形態而接收的接收值進行重排序,從 而將到來形態轉換成遵循具有第二結構的矩陣的另 一形態。然后控制裝置 執行控制,以將以遵循具有第二結構的矩陣的另一形態而緩沖在緩沖裝置中的接收值以與具有第二結構的矩陣的第二配置矩陣對應的f個接收值 組成的單位、經由存儲裝置而提供給消息計算裝置。
接著,以下對本發明的技術進行解釋。
在本專利說明書中使用的技術術語"p碼"是ldpc碼的一種。該p 碼具有QC(quasi cyclic,準循環)碼的性質。
QC碼是這樣的碼其編碼字是對任意的原編碼字進行N個周期(N
是自然數)的循環移位運算而得到的一系列位,以產生與原編碼字不同的 另一編碼字。
定義QC碼的奇偶校驗矩陣可以使用典型的循環矩陣來表示。該循環 矩陣在本專利說明書中稱作移位矩陣。也稱作移位矩陣的循環矩陣被定義 為通過對從另一矩陣的所有列中選出的特定列執行循環移位運算而得到 的矩陣。特定列的一例是第一列。
如上所述,包含在定義P碼的奇偶校驗矩陣中的移位矩陣是通it^ PxP單位矩陣或準單位矩陣執行循環移位運算而得到的矩陣。具體地說, 通過依次逐列地對PxP單位矩陣或PxP準單位矩陣的特定列執行循環移 位運算,可依次逐個矩陣地生成種類相互不同的移位矩陣。當完成對PxP 單位矩陣或PxP準單位矩陣的P列所執行的循環移位運算時,再度生成 原PxP單位矩陣或原PxP準單位矩陣。也就是說,循環移位運算的單位 是P列。
需要注意的情況是嚴格地說,用于定義P碼的PxP準單位矩陣和 該準單位矩陣的PxP移位矩陣不包含在定義qc碼的矩陣中。也就^I3兌, 只在對含p碼的dvb-S2 ldpc碼進行定義的奇偶校驗矩陣的右上角位 置處,才出現準單位矩陣。因而,按這一觀點,嚴格地說,DVB-S2LDPC 碼不是qc碼。不過,在對dvb-S2 ldpc碼進行解碼的解碼設備中, 對該缺欠部分僅執行簡單的例外處理。因此對于對DVB-S2 LDPC碼進 行解碼的解碼設備和對qc碼進行解碼的解碼設備,其解碼設備的架構之
間沒什么區別。由于上述理由,不將P碼說成是qc碼之一。而是如上述 聲明p碼是具有qc(準循環)碼的性質的ldpc碼。
換言之,由各具有PxP結構的配置矩陣組成的奇偶校驗矩陣是通過 規則地布置其配置矩陣而得到的矩陣,其配置矩陣包含PxP單位矩陣、 將PxP單位矩陣的一個或多個矩陣元素各自的值從l置為0而得到的PxP 準單位矩陣、作為對PxP單位矩陣或PxP準單位矩陣執行循環移位運算的結果而得到的PxP移位矩陣、通過對PxP單位矩陣、PxP準單位矩陣 和PxP移位矩陣中的至少兩個執行矩陣加法運算而得到的PxP和矩陣、
以及PxP零矩陣。由于P碼可表示為具有這種規則結構的奇偶校驗矩陣,
故將P碼i兌成是具有QC(準循環)碼的性質的LDPC碼。
也就是說,P碼具有規則性質,這意味著p碼可由具有通im則地排
列如下單元而配置的結構的奇偶校驗矩陣來表示,該單元是P x P配置矩 陣,如PxP單位矩陣、PxP準單位矩陣、PxP移位矩陣、PxP和矩陣、 以及PxP零矩陣。如果采用現有技術實施用于解碼P碼的解碼設備,以 與圖10的框圖所示的典型的解碼設備具有相同的配置,則不是僅需要并 行連接的6個節點處理器、而是需要并行連接的P個節點處理器。此夕卜, 移位部不是僅執行6x6循環移位運算、而是需^L行PxP循環移位運算。 除此之外,各存儲器不是僅需要同時寫入和讀出6個數據、而是必須能夠 同時寫入和讀出P個lt據。
為了解決上述問題,本發明的發明人創新了 一種技術。根據這種技術, 通過對由各具有PxP結構的配置矩陣組成的奇偶校驗矩陣的行和列進行 重排序,從而執行重排序處理,以生成使FxF配置矩陣規則地布置的矩 陣,或執行與該排序處理等同的處理,并在最后對作為根據具有FxF配 置矩陣的排序后矩陣的數據的、作為重排序處理或與該排序處理等同的處 理結果所得的數據執行解碼處理。在這種情況下,記號F表示整數P的 約數。在以下說明中,重排序處理和與該排序處理等同的處理這兩者皆簡 稱為重排序處理。FxF配置矩陣分為與PxP配置矩陣相同的種類,也就 是說,FxF配置矩陣分為以下種類即,FxF單位矩陣、將該FxF單位 矩陣的一個或多個矩陣元素各自的值從1置為0而得的FxF準單位矩陣、 作為對FxF單位矩陣或FxF準單位矩陣執行循環移位運算的結果而得到 的FxF移位矩陣、對FxF單位矩陣、FxF準單位矩陣和FxF移位矩陣中 的至少2個執行矩陣加法運算而得的FxF和矩陣、以及FxF零矩陣。
注意,重排序處理和與該排序處理等同的處理這兩者皆簡稱重排序處 理,原因如下在對數據進行解碼的處理(或將數據提供給節點處理器的 處理)前,以下不是必須的在經過緊挨在節點處理器之前的一級設置的 存儲器而將排序后矩陣提供給節點處理器之前,通it^存儲在緩沖器中的 奇偶校驗矩陣即由各具有PxP結構的配置矩陣組成的原矩陣中的行和/或 列實際地進行重排序來執行重排序處理,以生成由各具有FxF結構的配 置矩陣組成的排序后矩陣并再度將排序后矩陣存儲在緩沖器中。也就是說,根據為與該排序處理等同的處理提供的等同的技術,也可執行等同的 處理以將數據原樣地、以遵循由各具有PxP結構的配置矩陣組成的奇偶 校驗矩陣的到來形態而存儲在緩沖器中,接著再將數據從緩沖器轉移至存 儲器,然后對存儲器中的由各具有PxP結構的配置矩陣組成的奇偶校驗
矩陣中的行和/或列進行重排序,以生成由各具有FxF結構的配置矩陣組 成的排序后矩陣,然后執行將該數據提供給節點處理器的操作。也就是說, 從節點處理器來看,重排序處理和等同處理會導致相同的狀態,其中由各 具有PxP結構的配置矩陣組成的奇偶校驗矩陣中的行和/或列已被重排 序,以生成由各具有FxF結構的配置矩陣組成的矩陣。這種狀態對于節 點處理器的處理需求來說^L夠的。
換言之,本發明提供的技術是用于執行重排序處理的技術,該重排序 處理包含對作為由各具有PxP結構的配置矩陣組成的奇偶校驗矩陣所表 示的值、存儲在緩沖器中的接收值的至少列進行重排序的處理,或包含與 該處理等同的處理。因此,本發明提供的技術也可說成是實施這樣的操作 的技術以各由對應于FxF配置矩陣的F個接收值組成的單位而將接收 值提供給節點處理器,作為對將接收值提供給節點處理器這一操作的控 制。
于是,通過采用本發明提供的技術,即使在對P碼進行解碼的處理 中,也可將P個節點處理器同時執行的P個并行處理削減至僅由F個節 點處理器同時執行的F個并行處理。此外,移位部不需J^L行PxP循環 移位運算,而是僅需J^L行FxF循環移位運算。除此之外,各存儲器不 需要同時寫入和讀出P個數據,而是僅需同時寫入和讀出F個數據。
如上所述,通過采用本發明提供的技術,才艮據本發明的實施例的整個 解碼設備的電路尺寸可以比現有技術的解碼設備小得多。不過,如后面要 詳細說明的,存在整數P存在多個約數的情況。在這種情況下,不必取最 小約數作為約數F。而是,恰當的做法是選擇對傳輸速率和工作頻率最佳 的約數作為約數F。
此外,如后面要詳細說明的,存在與整數P不同的非1整數Q同樣 具有約數F的情況。也就是說,約數F是整數P和Q共同的約數。在這 種情況下,根據本發明提供的技術的、采用F個并行節點處理器的解碼設 備不僅能夠對P碼進行解碼,而且還能夠選擇性地對P碼或Q碼進行解 碼。
接著,對根據本發明的實施例的解碼設4^t出如下具體說明。設整數P為6(P-6)且該整數P的約數F是3(F=3)。在這種情況下,通過采用本 發明提供的技術,有可能構造具有如圖12的框圖所示的配置的解碼設備。 也就是說,圖12是示出了應用本發明的實施例的解碼設備的典型配置的 框圖。
圖12的框圖所示的典型的解碼設備具有這樣的配置包括接收值緩 沖器500、接收值存儲器501、節點處理部502、移位部503、消息存儲器 504、解碼結果存儲器505和控制部506。
圖12的框圖所示的典型的解碼設備的整體配置除了控制部506外、 與圖10的框圖所示的典型的解碼設備基^目同。也就是說,在圖12的框 圖所示的典型的解碼設備中,各自代表功能配置要素的方框的相互聯系、 以及各個功能配置要素所充當的角色即各功能配置要素的功能除了控制 部506外、與圖10的框圖所示的典型的解碼設^^基4^目同。然而,從各 功能配置要素的觀點來看,圖12的框圖所示的典型的解碼設備和圖10 的框圖所示的典型的解碼該:備有以下不同。
在圖10的框圖所示的典型的解碼i殳備中采用的接收值緩沖器200、 接收值存儲器201 、消息存儲器204和解碼結果存儲器205各自具有允許 同時讀取P-6的6個數據(或6位)的配置。另一方面,在圖12的框圖所 示的典型的解碼設備中采用的接收值緩沖器500、接收值存儲器501、消 息存儲器504和解碼結果存儲器505各自具有僅允許同時讀取F=3的3 個l^據(或3位)的配置。
此外,在圖10的框圖所示的典型的解碼設備中采用的移位部203具 有能夠執行PxP循環移位運算的配置,其中P-6。另一方面,在圖12的 框圖所示的典型的解碼設備中采用的移位部503具有僅能執行FxF循環 移位運算的配置,其中F-3。
除此之外,在圖10的框圖所示的典型的解碼i殳備中采用的節點處理 部202具有6(-P)個節點處理器210-1至210-6。另一方面,在圖12的框 圖所示的典型的解碼設備中采用的節點處理部502僅具有3^F)個節點處 理器510-1至510-3。
因而,由于圖12的框圖所示的典型的解碼i殳備和圖10的框圖所示的 典型的解碼設備具有如上i^各功能配置要素的觀點來看的不同之處,因 此圖12的框圖所示的典型的整個解碼i殳備與圖IO的框圖所示的典型的解 碼設備相比,可被配置成電路尺寸較小的設備。注意,作為各節點處理器510-1至510-3,可原樣使用具有圖11的 框圖所示的配置的節點處理器210。即使節點處理器510-1至510-3自身 各自具有不同于圖ll的框圖所示的配置,不用說、本發明仍可應用于圖 12的框圖所示的解碼設備。
此外,不用說、本發明還可應用于具有如下配置的解碼設備該配置 包括3個可變節點處理器作為與3個校驗節點處理器的電路分離的電路, 以取代各自既用作可變節點處理器、又用作校驗節點處理器的節點處理器 510-1至510-3。
除此之外,不用說,本發明也可應用于不使用節點處理器510-1至 510-3而執行可變節點處理的情況。
接著解釋圖12的框圖所示的典型的解碼設備所執行的操作。
注意,如后面將要說明的,如圖12的框圖所示的典型的解碼設備能 夠對P碼進行解碼,其中P是具有約數F的任意整數值。不過,為了在 以下說明由圖12的框圖所示的典型的解碼設備所執行的操作時,使圖12 的框圖所示的典型的解碼i殳備容易與圖10的框圖所示的典型的解碼設備 做比較,設解碼對象是由圖9所示的、各具有6x6結構的配置矩陣組成的 奇偶校驗矩陣所定義的P^6)碼。
接收值緩沖器500是這樣的緩沖器其用于在數據D500被作為數據 D501轉移到接收值存儲器501之前,將^Jt信線絲收到的數據D500 存儲為尺寸為1個碼的數據。
對奇偶校驗矩陣的列進行重排序的重排序處理對應于對碼位序列的 碼位進行重排序的處理。因而,根據由控制部506執行的控制,如下執行 對存儲在接收值緩沖器500中的數據D500的重排序處理。
圖9所示的奇偶校驗矩陣被視為6x6配置矩陣的集合體,將各6x6 配置矩陣作為重排序的單位。對各6x6配置矩陣進行如下重排序處理基 于圖13和14所示的預先確定的規則而將該6x6配置矩陣重排序為成為 3x3配置矩陣的集合體的重排序后的矩陣。根據預先確定的規則,圖14 所示的各3x3配置矩陣是由特定行和特定列組成的矩陣,其中特定行具有 提供作為各行序號除以2的結果而獲得的相同的余數的行序號,且特定列 具有拔JHt為各列序號除以2的結果而獲得的相同的余數的列序號。因而 如圖14所示,3x3配置矩陣是由各具有偶數或奇數行序號的行和各具有 偶數或奇數列序號的列組成的矩陣。換句話說,圖13所示的6x6配置矩陣可說成是被區分成了 4個圖14所示的3x3配置矩陣。
具體地,請讀者參照圖13,圖13是示出了圖9所示的由各具有6x6 結構的配置矩陣組成的奇偶核^驗矩陣的典型的6x6移位矩陣的圖。在圖 13中,圓團(O)所圍的各數字是列序號,而方框(口)所圍的各數字是行序號。
例如,對圖13所示的6x6移位矩陣進行根據上述規則的重排序處理, 從而將該6x6移位矩陣轉換成如圖14所示的由4個3x3配置矩陣組成的 重排序后的矩陣。顯然,圖14所示的重排序后的矩陣使用虛線被區分成 如圖14所示的2個3x3零矩陣、1個3x3準單位矩陣和1個3x3移位矩 陣這4個3x3配置矩陣。
組成圖9所示的由各具有6x6結構的配置矩陣組成的奇偶核_驗矩陣的 其它各6x6配置矩陣也進行上述重排序處理。結果,將圖9所示的由各具 有6x6結構的配置矩陣組成的奇偶校驗矩陣重排序為具有圖15所示結構 的重排序后的矩陣。注意,為了容易識別對圖9所示的由各具有6x6結構 的配置矩陣組成的奇偶校驗矩陣進行重排序的處理所得的各配置矩陣、即 各具有3x3結構的配置矩陣,在圖15所示的奇偶校驗矩陣中,在3x3配 置矩陣之間設有間隔。圖15所示的典型的排序后的矩陣包括3x3單位矩 陣、3x3準單位矩陣、3x3移位矩陣、3x3和矩陣以及3x3零矩陣。
因而,除了在圖IO的框圖所示的典型的解碼設備中采用的接收值存 儲器201的后續級處執行的操作是對于P=6的操作,而在圖12的框圖所 示的典型的解碼設備中采用的接收值存儲器501的后續級處執行的操作 是對于F-3的操作這一情況以外,在圖12的框圖所示的典型的解碼i殳備 中采用的接收值存儲器501的后續級處執行的^Mt與在圖10的框圖所示 的典型的解碼設備中采用的接收值存儲器201的后續級處執行的操作是 相似的。換言之,在圖12的框圖所示的典型的解碼設備中采用的接收值 存儲器501的后續級處執行的操作與仿佛圖12的框圖所示的解碼設備是 對P-3的P碼進行解碼的設備而執行的操作完全相同。
如果首先將以下方法實施為傳輸方法在將重排序后的碼位通過通信 線路而輸出至在圖12的框圖所示的解碼設備中采用的接收值緩沖器500 前,對接收的碼位進行重排序,則與上述重排序處理同時地以相反的方式 在接收值緩沖器500中對碼位進行重排序。對碼位進行重排序也可以不是 與上述重排序處理同時地以相反的方式來進行,而是在重排序處理之前或 之后在接收值緩沖器500中對碼位進行重排序。在以上說明中,取約數F為3(F-3)作為整數P即6(P-6)的約數。當 然,因為如上述約數必須為非1約數,所以除約數F為1以外,還可以取 整數Pe6)的另一約數(即約數F為2)。然而在這種情況下,如下所述根據 預先確定的規則對圖9所示的由各具有6x6結構的配置矩陣組成的奇偶校 驗矩陣執行重排序處理。對各6x6配置矩陣進行重排序處理,以將該6x6 配置矩陣重排序為圖16所示的重排序后的矩陣。如圖16所示,重排序后 的矩陣是2x2配置矩陣的集合體,該2x2配置矩陣每個都是由特定行和特 定列組成的矩陣,其中特定行具有提供作為^ff序號除以3的結果而獲得 的相同的余數的行序號,特定列具有提供作為各列序號除以3的結果而獲 得的相同的余數的列序號。
具體地,例如,對圖13所示的6x6移位矩陣進行根據上g則的重 排序處理,從而將該6x6移位矩陣轉換成如圖16所示的由9個2x2配置 矩陣組成的重排序后的矩陣。顯然,圖16所示的重朝夂序后的矩陣^^吏用虛 線而區分成2x2零矩陣、2x2準單位矩陣以及2x2移位矩陣這9個2x2配 置矩陣。
因而,在約數F為2的情況下,同樣地,除了在圖10的框圖所示的 典型的解碼設備中采用的接收值存儲器201的后續級處執行的操作是對 于P-6的操作,而在圖12的框圖所示的典型的解碼設備中采用的接收值 存儲器501的后續級處執行的操作是對于F=2的^Mt這一情況以外,在 圖12的框圖所示的典型的解碼設備中采用的接收值存儲器501的后續級 處執行的操作與在圖10的框圖所示的典型的解碼設備中采用的接收值存 儲器201的后續級處執行的操作相似。換言之,在圖12的框圖所示的典 型的解碼設備中采用的接收值存儲器501的后續級處執行的操作與仿佛 圖12的框圖所示的解碼設備是對P=2的LDPC碼進行解碼的設備而執行 的^^作完全相同。
也就是說,對于F-2,解碼i殳備不必采用圖12的框圖所示的配置。 換句話說,采取如下配置就足夠了該配置包含兩個并行的節點處理器、 執行2x2循環移位運算的移位部以及各自使得可同時寫入或讀出2個數據 (或2位)的存儲器。
此外,以上說明的實施例是對于P=6的實施例。不過當然本發明也 可應用于整數P為除6以外的整數的情況。例如本發明可應用于由各具有 PxP結構的配置矩陣組成的奇偶校驗矩陣,其中P-360。這樣,對于任何 P值的情況可采^f艮據本發明的技術。此外,根據本發明提供的技術,在確定整數P的值后,可取除1以外的任何約數F。
也就是說,在確定了整數P的值和該整數P的非1約數F后,對由 各具有PxP結構的配置矩陣組成的奇偶校驗矩陣,即定義與LDPC碼相 關的P碼的奇偶校驗矩陣,執行根據以下描述的規則的重排序處理,以構 造包括F個并行的節點處理器、執行FxF循環移位運算的移位部、以及 各自使得可同時寫入或讀出F個數據(或F位)的存儲器的配置。
根據上面提到的規則, 一般來說,各具有PxP結構的配置矩陣的每 一個被區分成FxF配置矩陣,該FxF配置矩陣各由以下行和列組成,其 中^ft具有提供作為行序號除以J(-P/F)的結果而得到的相同余數的行序 號,各列具有提供作為列序號除以J的結果而得到的相同的余數的列序 號,其中從等式p-FxJ得出J(=P/F),其中行序號作為分配給組成奇偶校 驗矩陣的各PxP配置矩陣中所含的P行的每一行的序號,是包括在范圍 0至(P-1)中的數字,且列序號作為分配給組成奇偶校驗矩陣的各PxP配 置矩陣中所含的P列的每一列的序號,是包括在范圍0至(P-1)中的數字。
注意,如上所述,重排序處理不限于這一處理在經由存儲器將排序 后的矩陣提供給節點處理器之前,對存儲在緩沖器中的奇偶校驗矩陣即由 各具有PxP結構的配置矩陣組成的矩陣進行重排序,以生成由各具有FxF 結構的配置矩陣組成的排序后矩陣并再度將排序后矩陣存儲在緩沖器中。 也就是說,在上述實施例的情況下,在經由接收值存儲器501而將排序后 矩陣提供給節點處理部502之前,執行重排序處理以對存儲在接收值緩沖 器500中的奇偶校驗矩陣即由各具有PxP結構的配置矩陣組成的矩陣進 行重排序,以生成由各具有FxF結構的配置矩陣組成的排序后矩陣并再 度將排序后矩陣存儲在接收值緩沖器500中。然而根據為與排序處理等同 的處理提供的等同的技術,還可執行該等同的處理以將數據原樣地、以遵 循由各具有PxP結構的配置矩陣組成的奇偶校驗矩陣的到來形態而存儲 在接收值緩沖器500中,然后根據上述預定的規則對接收值存儲器501 中由各具有PxP結構的配置矩陣組成的奇偶校驗矩陣中的行和/或列進行 重排序,以生成由各具有FxF結構的配置矩陣組成的排序后矩陣,然后 執行將該數據提供給節點處理部502的操作。也就是說,根據預先確定的 規則有選擇ilk^接收值存儲器501讀出數據,并將該數據提供給節點處理 部502。也就是說,重排序處理是包括根據等同技術的等同處理在內的廣 義概念的處理。注意,通過將控制部指定為控制根據上述預定的規則而從 接收值存儲器501讀出數據這一操作的部件,從而可容易地執行控制。在圖12的框圖所示的解碼i殳備的情況下,控制部506用作該控制部。
此外,上述實施例是為編碼率為2/3且碼長度為108而提供的實施例, 當然這些值僅是典型的值。也就是說,例如對于P=6 W目同或更少的邊 總數,即使采取任意的碼長度和任意的編碼率,也可使用同一解碼設備來 通過僅改變控制信號對數據進行解碼。除此之外,^Li殳計為滿足4吏用相同 P值、碼長度不超過預先確定的值并且總邊數不大于預先確定的整數這一 條件、對數據進行解碼的設備的解碼設備也能夠對碼長度滿足該條件但編 碼率不同的數據進行解碼。
以上內容總結如下。通過應用本發明,從而可不受整數P自身的值 所強加的約束,根據傳輸速率和工作頻率來從整數P的約數范圍內任意選 擇代表解碼處理的并行程度的約數F的值。結果,可使解碼設備的電路尺 寸變得更小。
例如,對于P-360,可從包括值360、 180和120在內的范圍中任意 選擇其約數F。從如上所述該約數F是并行節點處理器的數量這一情況顯 然可看到采用本發明意味著該約數F的值可被說成是代表解碼處理的并 行程度的值。因此,解碼設備的設計者可以在考慮解碼處理的并行程度的 情況下,選擇對于傳輸速率和工作頻率最佳的約數F。
也就是說,如果對于所需的傳輸速率選擇了整數P的較大約數F,則 解碼處理的并行程度會高于實際需要的值。因而,數據以比執行解碼處理 所需的時間長度更長的間隔到達,這是由于執行解碼處理所需的時間因解 碼處理中的并行程度高而較短。因此,從整數P的約數的范圍中選擇最佳 的約數F,使得各間隔大致等于執行解碼處理所需的時間長度。在這種情 況下,減小約數F以使解碼處理的并行程度也降低。結果,解碼設備的電 路尺寸會更小。此外,如果將來解碼設備的電路在更高速度操作,則可選 擇更小的約數F以提供較低的解碼處理的并行程度。即使在這種情況下, 也有可能達到與現有解碼i更^^目同的性能。
此外,如果整數P和小于整數P的整數Q(PXJ)具有公約數,則將該 公約數視為代表解碼處理的并朽難度的約數F的解碼設備能夠對P和Q 碼二者進行解碼。
因而,即使對于需要高傳輸速率的業務而選擇P較大的碼,而對于 不需要高傳輸速率的便攜型接收機的業務而選擇Q較小的碼,也可使用 同一解碼設備來實現如下接收機設備,該接收機設備設有能夠對需要高傳為兩種業務共用的接收機設備。 ' ' '
也就是說,共用的接收機設備的實現使得P碼和Q碼二者可在傳輸 系統中共存。
例如,如果例如以8PSK(相移鍵控)和30Msym/s來發送DVB-S.2 LDPC碼,則碼位的比特率是卯Mbps。由于奇偶校驗矩陣中的列權重的 平均值是約3.5,假設解碼處理重復進行50次,則每一碼位所需的處理量 約是3.5x50x2=350。因而,需將時鐘頻率設為作為該處理量乘以反映電 路效率的值1.5的結果所得的乘積。因而,解碼設備需要工作在 131.25MHz(=^Mbps x 350 x 1.5/360)的工作頻率處,其中值卯Mbps是碼 位的比特率,值350是各碼所需的處理量,值1.5反映電路的效率,而值 360代表解碼處理的并行程度'
在這種情況下,對于代表解碼處理的并#^度的P=360的現有技術 的解碼設備需要一些RAM作為允許同時寫入和讀出360個數據的存儲 器。這種RAM由于代表存儲大的位數的數據所需的各RAM的存儲容量 的字數小,因而導致較差的面積效率。此外,現有技術的解碼i殳備還需要 360個并行的節點處理器。結果,現有技術的解碼設備的電路尺寸非常大。
因而,假設將DVB-S.2 LDPC碼應用于傳輸速率低于90Mbps的傳 輸系統,則即使將代表解碼處理的并行程度的約數F設為60(F=60),也 有可能實現相同的工作頻率和相同的解碼處理被重復的次數,從而有可能 實現相同的解碼性能。低于卯Mbps的傳輸速率的一例是15Mbps的傳輸 速率。
如果將代表解碼處理的并行程度的約數F設為60(F=60),則允許同 時僅寫入和讀出60個數據的存儲器就足夠了。因此,當配置存儲器時, 由于所存儲的數據的位數更小,因此可以采擬目同總數的新RAM,該新 RAM各自具有是以往使用的RAM的6倍的字數。與以往使用的RAM 即上述導致較差的面積效率的RAM相比,各新RAM應具有顯著改進了 面積效率的較小的物理尺寸。作為替代,也可使用各與以往使用的RAM 具有相同字數但數量更少的新RAM。在任一情況中,都實質上改進了用 于存儲相同位數的面積效率。此外,由于所需的并行節點處理器的數量僅 為60,因此可進一步減小現有技術的解碼設備的電路尺寸。
也就是說,如果將DVB-S.2 LDPC碼用于例如地面波的傳播,則因功率消耗問題而難以使用便攜型移動接^來接收地面波。為了解決這一
困難,可以設想這種情況其中使用碼長度短于0=60的碼的碼來提供業 務以作為面向便攜型移動接收機的業務。即使在這種情況下,通過將本發 明應用于這種情況,也有可能容易地實施作為代表解碼處理的并行程度的 值而將約數F設為60(F-60)的解碼設備。該解碼設備能夠對碼長度達 64800的碼進行解碼,還能夠對P^360)碼和Q(-60)碼二者進行解碼。因 而,采用該解碼設備的接收機能夠接收供固定接收機用的業務和供便攜型 接收機用的業務。供固定接收機用的業務是使用P(-360)碼的業務,而供 便攜型接收機用的業務是使用Q(-60)碼的業務。
以上內容總結如下。通過應用本發明,有可能實施基于整數P的約 數F而對具有大的P值的LDPC碼進行解碼的解碼設備。也就是說,有 可能實施這樣的解碼設備,該解碼設備用于具有低比特率的傳輸系統和將 來的采用更高處理速度的電路的系統。與現有技術的解碼設備相比,根據 本發明的實施例的解碼i更備具有較小的電路尺寸。
此外,通過應用本發明,基于具有多個約數F的整數P的碼可由基 于所有約數F而設計的解碼設備來解碼。于是,具有根據不同傳輸速率和 供不同業務接收者用的不同業務而適當調整的尺寸的LDPC碼可共存于 一個傳輸系統中。
也就是說,盡管在上述典型的傳輸系統中僅使用兩個不同類型的P 碼和Q碼,但一般地,可使用K個不同類型的a碼(如P和Q碼),其中 記號a表示所使用的碼的類型,而記號K表示所使用的碼的不同的類型 的數量。該不同的類型的數量等于或大于2(K^2)。記號K還表示系統的 設計者等從各作為非1約數F的倍數的多個不同整數中選擇的整數的個 數。也就是說,可使用的不同的a碼的數量也是K。
順便提及,前述一系列處理可由硬件和/或軟件的執行來執行。
如果上述一系列處理由軟件的執行來執行,則由計算機來執行組成軟 件的程序,該計算機實施根據本發明的實施例的解碼設備。該計算機具有 如圖17的框圖所示的配置。
在圖17的框圖所示的解碼i更備中,CPU(中央處理單元)1001通過執 行存儲在ROM(只讀存儲器)1002中的程序或從存儲部1008載入RAM(隨 ^"W!"儲器)1003的程序,從而執行各種處理。RAM 1003還用于適當 地存儲如在執行處理時所需的數據的各種信息。CPU 1001、 ROM 1002和RAM 1003由總線1004相互連接,該總線 1004還連接至輸川輸出接口 1005。
輸V輸出接口 1005連接至輸入部1006、輸出部1007、上述存儲部 1008、以及通信部1009。輸入部1006包括鍵盤和鼠標,而輸出部1007 包括顯示單元。存儲部1008包括硬盤。通信部1009具有調制解調器或終 端適配器。通信部1009是經過附圖的框圖中未示出的網絡(如因特網)而 執行與其它設備的通信處理的單元。
輸A/輸出接口 1005還根據需要而連接至驅動器1110,在該驅動器 1110中裝配有記錄介質。記錄介質是可移動介質1111,可以是磁盤、光 盤、磁光盤或半導*儲器。如上所述,將CPU 1001所執行的計算* 序從可移動介質1111安裝到存儲部1008中。
如前述,前述一系列處理可由硬件和/或軟件的執行來執行。如果上
述一系列處理由軟件的執行來執行,則可通常從網絡或可移動介質1111
將組成軟件的程序安*^嵌入專用硬件的計算機、通用個人計算機等中。
在這種情況下,該計算機或個人計算機是上述計算機,即用作解碼設備的
計算機。通用個人計算機是能夠通過將各種程序安裝在該個人計算機上從 而執行各種功能的個人計算機。
如圖17所示,用于對要^A計算機或通用個人計算機的程序、即要 由計算機或通用個人計算機分別執行的程序進行記錄的上述可移動介質 1111是從解碼設備的主體單元分離地提供給用戶的可移動記錄介質。該可 移動記錄介質也稱作封裝介質,其例子包括如軟盤的磁盤、如 CD-ROM(光盤只讀存儲器)或DVD(數字多功能光盤)的光盤、如MD(小 型盤)的磁光盤、以及半導體存儲器。也可不從可移動記錄介質上安裝程 序,而是將程序預先存儲在解碼設備的主體單元所含的嵌入式記錄介質 中。嵌入式記錄介質的例子是存儲部1008所含的硬盤、以及ROM 1002。
需要注意的是,在本專利說明書中,上述流程圖的步驟不僅可按預定 順序沿時間軸來執行,也可同時或單個地執行。
此外,本領域的普通人員應當理解根據設計需求和其它因素,可出 現各種修改、組合、子組合和變化,只要它們落入所附權利要求書或其等 同物的范圍內即可。
還要注意,在本說明書中使用的技術術語"系統"指的是包含多個設 備的總體的配置。
權利要求
1. 一種對低密度奇偶校驗碼進行解碼的解碼設備,其中所述低密度奇偶校驗碼由具有第一結構的原奇偶校驗矩陣來表示,該第一結構是通過組合多個第一配置矩陣而得到的,該多個第一配置矩陣包括P×P單位矩陣、將所述P×P單位矩陣的一個或多個矩陣元素各自的值從1置為0而得到的P×P準單位矩陣、作為對所述P×P單位矩陣或所述P×P準單位矩陣執行循環移位運算的結果而得到的P×P移位矩陣、通過對所述P×P單位矩陣、所述P×P準單位矩陣和所述P×P移位矩陣中的至少兩個執行矩陣加法運算而得到的P×P和矩陣、以及P×P零矩陣,或者所述低密度奇偶校驗碼由通過重排序所述原奇偶校驗矩陣中的至少一行和一列而得到的、作為具有所述第一結構的矩陣的矩陣來表示,其中記號P表示整數,所述解碼設備包括消息計算裝置,用于通過同時進行F個校驗節點處理或F個可變節點處理,從而執行對每個作為接收所述低密度奇偶校驗碼的結果而得到的接收值進行解碼的處理,并輸出作為所述F個校驗節點處理或所述F個可變節點處理的結果而得到的F個消息,其中記號F表示整數P的非1約數;移位裝置,用于對由所述消息計算裝置生成的F個所述消息執行F×F循環移位運算,并輸出作為所述F×F循環移位運算的結果的F個消息;存儲裝置,用于存儲由所述移位裝置生成的F個所述消息并允許所存儲的F個消息被讀出,或用于存儲F個上述接收值并允許所存儲的F個接收值被讀出;以及控制裝置,用于通過對由具有所述第一結構的所述奇偶校驗矩陣表示的所述接收值至少執行列重排序處理或與所述列重排序處理等同的處理,來控制向所述消息計算裝置提供由對應于第二配置矩陣的F個所述接收值組成的單位這一操作,作為向所述消息計算裝置提供所述接收值的操作,所述第二配置矩陣作為從所述第一配置矩陣而得的第二配置矩陣包含在具有第二結構的矩陣中,其中所述第二結構是通過組合多個所述第二配置矩陣而得到的結構,所述多個第二配置矩陣包括F×F單位矩陣、將所述F×F單位矩陣的一個或多個矩陣元素各自的所述值從1置為0而得到的F×F準單位矩陣、作為對所述F×F單位矩陣或所述F×F準單位矩陣執行循環移位運算的結果而得到的F×F移位矩陣、對所述F×F單位矩陣、所述F×F準單位矩陣和所述F×F移位矩陣中的至少兩個執行矩陣加法運算而得到的F×F和矩陣、以及F×F零矩陣。
2. 根據權利要求1所述的解碼設備,其中所述列重排序處理包括 通過將每個所述第一配置矩陣視為處理單位,進行對每個用作處理對象的 所述第一配置矩陣的每一個中的列重排序的操作而執行的處理,以將每個 所述第一配置矩陣區分成所述第二配置矩陣,該第二配置矩陣的每一個由 以下列組成,所述列中的每一個具有提供相同的作為所述列序號除以J 的結果而獲得的余數的列序號,其中J是從等式P-FxJ而得的P/F,其中 所述列序號是包括在0到(P-1)的范圍內的數字,是分配給組成具有所述第 一結構的所述奇偶校驗矩陣的每個所述第一配置矩陣中包括的P列的每 一個的序號。
3. 根據權利要求1所述的解碼設備,其中所述解碼設備進一步包括緩沖裝置,用于對分別作為接收所述低密度奇偶校驗碼的結果而得到 的所述接收值進行緩沖,其中所述控制裝置執行緩沖控制,以在所述緩沖裝置中,對以遵循具有所 述第 一結構的所述矩陣的到來形態而接收的所述接收值進行重排序,從而 將所述到來形態轉換成遵循具有所述第二結構的所述矩陣的另 一形態;且 然后所述控制裝置執行控制,以將以遵循具有所述第二結構的所述矩陣的 所述另一形態而緩沖在所述緩沖裝置中的所述接收值以由與具有所述第 二結構的所述矩陣的所述第二配置矩陣對應的所述F個接收值組成的單 位、經由所述存儲裝置而提供給所述消息計算裝置。
4. 根據權利要求1所述的解碼設備,其中所述控制裝置從以遵循具有所述第 一結構的所述奇偶校驗矩陣的到來形態而接收的所述接收值中 選捧與具有所述第二結構的所述矩陣的所述第二配置矩陣相對應的f個所述接收值,并將F個所述接收值經由所述存儲裝置而提供給所述消息計 算裝置,其中所述接收值的重排序后形態遵循具有所述第二結構的所述矩 陣。
5. —種對低密度奇偶校驗碼進行解碼的解碼設備中采用的解碼方法,其中所述低密度奇偶校驗碼由具有第一結構的原奇偶校驗矩陣表示,該第 一結構是通過組合多個第一配置矩陣而得到的,該多個第一配置矩陣包括PxP單位矩陣、將所述PXP單位矩陣的一個或多個矩陣元素各自的值從1置為0而得到的PxP準單位矩陣、作為對所述PxP單位矩陣或所述PxP 準單位矩陣執行循環移位運算的結果而得到的PxP移位矩陣、通過對所 述PxP單位矩陣、所述PxP準單位矩陣和所述PxP移位矩陣中的至少兩 個執行矩陣加法運算而得到的PxP和矩陣、以及PxP零矩陣,或者所述低密度奇偶校驗碼由通過重排序所述原奇偶校驗矩陣中的至少 一行和一 列而得到的、作為具有所述第一結構的矩陣的矩陣來表示,其中記號p表示整數,所述解碼設備包括消息計算裝置,用于通過同時ii行F個校驗節點處理或F個可變節 點處理,從而執行對每個作為接收所述低密度奇偶校驗碼的結果而得到的 接收值進行解碼的處理,并輸出作為所述F個;^驗節點處理或所述F個 可變節點處理的結果而得到的F個消息,其中記號F表示整數P的非1 約數;移位裝置,用于對由所述消息計算裝置生成的F個所述消息執行FxF 循環移位運算,并輸出作為所述FxF循環移位運算的結果的F個消息; 以及存儲裝置,用于存儲由所述移位裝置生成的F個所述消息并允許所存 儲的F個消息被讀出,或用于存儲F個上述接收值并允許所存儲的F個 接收值被讀出;以及所述解碼i殳^L行以下步驟通過對由具有所述第 一結構的所述奇偶校驗矩陣表示的所述接收值 至少執行列重排序處理或與所述列重排序處理等同的處理,來控制向所述 消息計算裝置提供由對應于第二配置矩陣的所述F個接收值組成的單位 這一操作,作為向所述消息計算裝置提供所述接收值的操作,所述第二配置矩陣作為從所述第一配置矩陣而得的第二配置矩陣包含在具有第二結 構的矩陣中,其中所述第二結構是通過組合多個所述第二配置矩陣而得到 的結構,所述多個第二配置矩陣包括FxF單位矩陣、將所述FxF單位 矩陣的一個或多個矩陣元素各自的所述值從1置為0而得到的FxF準單 位矩陣、作為對所述FxF單位矩陣或所述FxF準單位矩陣執行循環移位 運算的結果而得到的FxF移位矩陣、對所述FxF單位矩陣、所述FxF準 單位矩陣和所述FxF移位矩陣中的至少兩個執行矩陣加法運算而得到的FxF和矩陣、以及FxF零矩陣。
6. —種由計算機執行的程序,該計算機用作對低密度奇偶校驗碼進 行解碼的解碼設備,其中所述低密度奇偶校驗碼由具有第一結構的原奇偶校驗矩陣表示,該第 一結構是通過組合多個第一配置矩陣而得到的,該多個第一配置矩陣包括 PxP單位矩陣、將所述PxP單位矩陣的一個或多個矩陣元素各自的值從1 置為0而得到的PxP準單位矩陣、作為對所述PxP單位矩陣或所述PxP 準單位矩陣執行循環移位運算的結果而得到的PxP移位矩陣、通過對所 述PxP單位矩陣、所述PxP準單位矩陣和所述PxP移位矩陣中的至少兩 個執行矩陣加法運算而得到的PxP和矩陣、以及PxP零矩陣,或者所述 低密度奇偶校驗碼由通過重排序所述原奇偶校驗矩陣中的至少 一行和一 列而得到的、作為具有所述第一結構的矩陣的矩陣來表示,其中記號P 表示整數,所述解碼設備包括消息計算裝置,用于通過同時進行F個校驗節點處理或F個可變節 點處理,從而執行對每個作為接收所述低密度奇偶校驗碼的結果而得到的 接收值進行解碼的處理,并輸出作為所述F個校驗節點處理或所述F個 可變節點處理的結果而得到的F個消息,其中記號F表示整數P的非1 約數;移位裝置,用于對由所述消息計算裝置生成的F個所述消息執行FxF 循環移位運算,并輸出作為所述FxF循環移位運算的結果的F個消息; 以及存儲裝置,用于存儲由所述移位裝置生成的F個所述消息并允許所存 儲的F個消息被讀出,或用于存儲F個上述接收值并允許所存儲的F個 接收值被讀出,以及所述程序包括以下步驟通過對由具有所述第 一結構的所述奇偶校驗矩陣表示的所述接收值 至少執行列重排序處理或與所述列重排序處理等同的處理,來控制向所述 消息計算裝置4^供由對應于笫二配置矩陣的所述F個接收值組成的單位 這一操作,作為向所述消息計算裝置提供所述接收值的操作,所述第二配置矩陣作為從所述第一配置矩陣而得的笫二配置矩陣包含在具有第二結 構的矩陣中,其中所述第二結構是通過組合多個所述第二配置矩陣而得到的結構,所述多個第二配置矩陣包括FxF單位矩陣、將所述FxF單位 矩陣的一個或多個矩陣元素各自的所述值從1置為0而得到的FxF準單 位矩陣、作為對所述FxF單位矩陣或所述FxF準單位矩陣執行循環移位 運算的結果而得到的FxF移位矩陣、對所述FxF單位矩陣、所述FxF準 單位矩陣和所述FxF移位矩陣中的至少兩個執行矩陣加法運算而得到的 FxF和矩陣、以及FxF零矩陣。
7. —種用于對低密度奇偶校驗碼進行解碼的解碼設備,其中所述低 密度奇偶校驗碼由具有第一結構的原奇偶校驗矩陣表示,該第一結構是通 過組合多個第一配置矩陣而得到的,該多個第一配置矩陣包括PxP單位 矩陣、將所述PxP單位矩陣的一個或多個矩陣元素各自的值從1置為0 而得到的PxP準單位矩陣、作為對所述PxP單位矩陣或所述PxP準單位 矩陣執行循環移位運算的結果而得到的pxp移位矩陣、通過對所述PxP單位矩陣、所述PxP準單位矩陣和所述PxP移位矩陣中的至少兩個執行 矩陣加法運算而得到的PxP和矩陣、以及PxP零矩陣,或者所述低密度 奇偶校驗碼由通過重排序所述原奇偶校驗矩陣中的至少 一行和一列而得 到的、作為具有所述第一結構的矩陣的矩陣來表示,其中記號P表示整數, 所述解碼i殳備包括消息計算部,被配置成通過同時進行F個校驗節點處理或F個可變 節點處理,從而執行對每個作為接收所述低密度奇偶校驗碼的結果而得到 的接收值進行解碼的處理,并輸出作為所述F個校驗節點處理或所述F 個可變節點處理的結果而得到的F個消息,其中記號F表示整數P的非1 約數;移位部,被配置成對由所述消息計算部生成的F個所述消息執行FxF 循環移位運算,并輸出作為所述FxF循環移位運算的結果的F個消息;存儲部,被配置成存儲由所述移位部生成的F個所述消息并允許所存 儲的F個消息被讀出,或用于存儲F個上述接收值并允許所存儲的F個 接收值被讀出;以及控制部,被配置成通過對由具有所述第一結構的所述奇偶校驗矩陣表 示的所述接收值至少執行列重排序處理或與所述列重排序處理等同的處 理,來控制向所述消息計算部提供由對應于第二配置矩陣的所述F個接收 值組成的單位這一操作,作為向所述消息計算部提供所述接收值的操作, 所述第二配置矩陣作為從所述第一配置矩陣而得的第二配置矩陣包含在 具有第二結構的矩陣中,其中所述第二結構是通it^合多個所述第二配置矩陣而得到的結構,所述多個第二配置矩陣包括FxF單位矩陣、將所述 FxF單位矩陣的一個或多個矩陣元素各自的所述值從1置為0而得到的 FxF準單位矩陣、作為對所述FxF單位矩陣或所述FxF準單位矩陣執行 循環移位運算的結果而得到的FxF移位矩陣、對所述FxF單位矩陣、所 述FxF準單位矩陣和所述FxF移位矩陣中的至少兩個執行矩陣加法運算 而得到的FxF和矩陣、以及FxF零矩陣。
全文摘要
本發明公開了一種對LDPC碼進行解碼的解碼設備,該解碼設備包括消息計算部,用于執行對接收值進行解碼的處理,其中記號F表示整數P的非1約數,并輸出F個消息;移位部,被配置成對該F個消息執行F×F循環移位運算、并輸出F個消息;存儲部,被配置成存儲F個消息并允許所存儲的該F個所述消息被讀出,或是存儲上述F個接收值并允許所存儲的該F個接收值被讀出;和控制部,被配置成通過對該接收值至少執行列重排序處理或與該列重排序處理等同的處理,從而控制向消息計算部提供由F個接收值組成的單位這一操作。
文檔編號H03M13/11GK101414834SQ20081017053
公開日2009年4月22日 申請日期2008年10月17日 優先權日2007年10月19日
發明者橫川峰志 申請人:索尼株式會社