TWI669916B - 低密度奇偶校驗碼延伸方法 - Google Patents

低密度奇偶校驗碼延伸方法 Download PDF

Info

Publication number
TWI669916B
TWI669916B TW107145415A TW107145415A TWI669916B TW I669916 B TWI669916 B TW I669916B TW 107145415 A TW107145415 A TW 107145415A TW 107145415 A TW107145415 A TW 107145415A TW I669916 B TWI669916 B TW I669916B
Authority
TW
Taiwan
Prior art keywords
matrix
density parity
low
parity check
check matrix
Prior art date
Application number
TW107145415A
Other languages
English (en)
Other versions
TW202013903A (zh
Inventor
張錫嘉
廖彥欽
舒 林
Original Assignee
國立交通大學
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 國立交通大學 filed Critical 國立交通大學
Application granted granted Critical
Publication of TWI669916B publication Critical patent/TWI669916B/zh
Publication of TW202013903A publication Critical patent/TW202013903A/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/112Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/155Shortening or extension of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

本揭露是一種低密度奇偶校驗碼的延伸方法,其包含以下步驟:取得初始低密度奇偶校驗矩陣;藉由對單位矩陣進行隨機列位移或隨機行位移處形成置換矩陣;藉由置換矩陣及全零矩陣替換元素碼以形成延伸低密度奇偶校驗矩陣;調整碼長及碼率形成總體耦合低密度奇偶校驗矩陣;以及輸出總體耦合低密度奇偶校驗矩陣。

Description

低密度奇偶校驗碼延伸方法
相關申請案的交互參照 本申請案主張於2018年9月24日在美國專利商標局提交的美國專利申請No.16/139,471的優先權和權益,其全部內容於此併入作為參考。
本發明是關於一種低密度奇偶校驗碼(low-density parity-check code, LDPC code)之延伸方法,特別是關於一種由小區塊長度之元素碼來建構大區塊長度之低密度奇偶校驗碼之延伸方法,進而設計一種低密度奇偶校驗矩陣之結構性的區塊碼。
低密度奇偶校驗碼(low-density parity-check code, 簡稱LDPC code)由於其優越錯誤更正能力與其具備平行解碼的特性,已被廣泛討論、研究,並納入多個系統規格中。設計低密度奇偶校驗碼的趨勢是提供具有大區塊碼的編碼,亦即增加區塊碼的長度。舉例來說,通訊系統已使用大區塊LDPC碼來對傳送資料進行編碼及解碼;記憶體製造商也使用大區塊LDPC碼來保護非揮發性記憶體,如NAND型快閃記憶體的資料,其設計的區塊碼長度可提高到4K byte或者更長。根據編碼理論,區塊碼的錯誤更正能力隨著區塊大小而增加。然而,編碼與解碼器硬體複雜度也隨之增加。
為了解決提供所需區塊碼長度的問題,調整碼長或碼率的現有方法包含縮短(Shortening)、穿刺(Puncturing)及延展 (Extension)原始的LDPC碼。雖然母碼的碼長或碼率能調整,但上述方法並無法增加區塊碼長度。不論是用在通訊系統或資料儲存系統,區塊碼長度常被加入以定義新的系統規格,提昇資訊傳遞的效能與品質。然而,設計一個新的母碼需要時間,可能延遲系統開發時間。此外,新設計的區塊碼可能無法與先前的系統相容。
綜觀前所述,習知技術於延伸低密度奇偶校驗碼的區塊碼長度上確實具有限制及缺陷。因此,本發明之發明人提供一種低密度奇偶校驗矩陣及基底矩陣之延伸方法,以針對現有技術之缺失加以改善,進而增進產業上之實施利用。
有鑑於上述習知技藝之問題,本發明之目的就是在提供一種低密度奇偶校驗碼之延伸方法,其能解決調整低密度奇偶校驗矩陣之碼長,以及具有大區塊碼長之低密度奇偶校驗矩陣之相容性的技術問題。
根據本發明之一目的,提出一種低密度奇偶校驗碼延伸方法。此延伸方法包含以下步驟:藉由輸入裝置取得初始低密度奇偶校驗矩陣,初始低密度奇偶校驗矩陣包含由複數個壹和複數個零組成的複數個元素碼;藉由處理器形成複數個置換矩陣,是將單位矩陣進行隨機列位移或隨機行位移而取得複數個置換矩陣;藉由處理器替換複數個元素碼以形成延伸低密度奇偶校驗矩陣,複數個壹以複數個置換矩陣替換,複數個零以全零矩陣替換;藉由處理器調整延伸低密度奇偶校驗矩陣之碼長及碼率,形成總體耦合低密度奇偶校驗矩陣;以及藉由輸出裝置輸出總體耦合低密度奇偶校驗矩陣。
較佳地,隨機列位移可包含對每列進行預設列數之循環位移,或隨機行位移包可含對每行進行預設行數之循環位移。
較佳地,複數個置換矩陣可包含固定置換矩陣,是對單位矩陣進行預設列數位移或預設行數位移而取得,且位於初始低密度奇偶校驗矩陣之預定區塊中的複數個壹以固定置換矩陣替換。
較佳地,碼長及碼率可藉由縮短延伸低密度奇偶校驗矩陣或穿刺延伸低密度奇偶校驗矩陣來調整。
較佳地,低密度奇偶校驗碼延伸方法可進一步包含以下步驟:藉由將複數個壹的一部分設定為零來遮蔽延伸低密度奇偶校驗矩陣。
根據本發明之另一目的,提出一種低密度奇偶校驗碼延伸方法。此延伸方法包含以下步驟:藉由輸入裝置取得初始基底矩陣,初始基底矩陣包含由複數個非零元素碼和複數個零元素碼形成的複數個元素碼;藉由處理器形成複數個替代矩陣,係將非零元素對角矩陣進行隨機列位移或隨機行位移而取得複數個替代矩陣;藉由處理器替換初始基底矩陣內之複數個元素碼以形成延伸基底矩陣,複數個非零元素碼以複數個替代矩陣替換,複數個零元素碼以全零矩陣替換;藉由處理器形成複數個置換矩陣,係將單位矩陣進行隨機列位移或隨機行位移而取得複數個置換矩陣;藉由處理器替換延伸基底矩陣內之複數個元素碼以形成延伸低密度奇偶校驗矩陣,複數個非零元素碼以複數個置換矩陣替換,複數個零元素碼以全零矩陣替換;藉由處理器調整延伸低密度奇偶校驗矩陣之碼長及碼率,形成調整低密度奇偶校驗矩陣;以及藉由輸出裝置輸出調整低密度奇偶校驗矩陣。
較佳地,隨機列位移可包含對每列進行預設列數之循環位移,或隨機行位移可包含每行進行預設行數之循環位移。
較佳地,複數個替代矩陣可包含固定替代矩陣,是對非零元素對角矩陣進行預設列數位移或預設行數位移而取得,而位於初始基底矩陣之預定區塊中的複數個非零元素碼以固定替代矩陣替換。
較佳地,碼長及碼率可藉由縮短延伸基底矩陣或穿刺延伸基底矩陣來調整。
較佳地,低密度奇偶校驗碼延伸方法可進一步包含以下步驟:藉由將複數個非零元素碼的一部分設定為零來遮蔽延伸基底矩陣。
承上所述,依本發明之低密度奇偶校驗碼之延伸方法,其可具有一或多個下述優點:
(1)此低密度奇偶校驗碼延伸方法可提供高結構性的低密度奇偶檢查矩陣設計,其可藉由使用矩陣擴展方法來實現從小區塊碼建構大區塊碼。
(2) 此低密度奇偶校驗碼延伸方法能結合多個獨立及較小區塊碼來取得較大區塊碼,使得解碼能分散於較小區塊碼或完整區塊碼來執行。
(3) 此低密度奇偶校驗碼延伸方法能解決新舊系統間相容性的問題,且新系統開發的時程可被縮短以提昇開發效率。
為利貴審查委員瞭解本揭露之技術特徵、內容與優點及其所能達成之功效,茲將本發明配合附圖,並以實施例之表達形式詳細說明如下。另一方面,其中所使用之圖式,其主旨僅為示意及輔助說明書之用,未必為本揭露實施後之真實比例與精準配置。因此,不應就所附之圖式的比例與配置關係解讀、侷限本揭露於實際實施上的權利範圍。
依據本發明的實施例,其中所描述之元件、流程步驟及/或資料結構可使用各種形式的作業系統、運算平台、電腦程式及/或一般用途的機器來實現。此外,所屬技術領域中通常知識者將理解的是,那些較不具通用性質的裝置,例如固線式裝置、現場可程式邏輯閘陣列(FPGAs)、特定應用積體電路(ASICs)等,也可在不背離本文中所揭露之發明概念的範圍及精神下使用。當一個方法包含一系列的流程步驟,可藉由電腦、機器來實現,並且這些流程步驟可儲存在一系列機器可讀取的指令當中,可儲存於有形的媒體當中,例如電腦記憶體裝置(如唯讀記憶體(ROM)、可程式唯讀記憶體(PROM)、電子可抹除可程式唯讀記憶體(EEPROM)、快閃記憶體、Jump Drive等)、磁性儲存媒體(如磁帶、磁碟機等)、光學儲存媒體(如CD-ROM、DVD-ROM、紙卡及紙帶等)及其他已知類型之程式記憶體。
第1圖係為依據本揭露之低密度奇偶校驗碼延伸方法之流程圖。如圖所示,此方法包含以下步驟(S01-S05)。這些步驟可藉由執行多個儲存在記憶體裝置內的指令來執行。
步驟S01:藉由輸入裝置取得初始低密度奇偶校驗矩陣。低密度奇偶校驗矩陣是由稀疏奇偶校驗矩陣製成,且屬於一種區塊碼。區塊碼包括複數個具有低密度特性的元素碼,其包含大部分為零及少部分的壹。
請參閱第2A圖及第2B圖,其係為依據本揭露說明初始低密度奇偶校驗矩陣及其泰納圖(Tanner graph)之示意圖。如第2A圖所示,初始低密度奇偶校驗矩陣H 0顯示一個具有M列及N行的M x N矩陣。列(rows)的數量代表檢查節點(check nodes)的數量而行(columns)的數量代表變數節點(variable nodes)的數量。在本實施例中,初始低密度奇偶校驗矩陣H 0具有3個檢查節點。元素碼「壹」意味著該檢查節點連接至該變數節點。檢查節點與變數節點之間的連接關係可藉由泰納圖來表示。如第2B圖所示,泰納圖示出3個檢查節點(C 1-C 3)與N個變數節點(V 1-V n)之間的關係。
初始低密度奇偶校驗矩陣的元素碼可隨機選擇。然而,本揭露不侷限於這樣的方法,其他用來產生低密度奇偶校驗矩陣的方法也應包括在本揭露當中。此外,初始低密度奇偶校驗矩陣可藉由輸入裝置取得。也就是說,這些輸入裝置包括輸入界面,例如鍵盤、滑鼠、觸控裝置等,且使用者可操作上述裝置來存取儲存在記憶體中或在軟體程式中的矩陣檔案。
步驟S02:藉由處理器形成複數個置換矩陣。複數個置換矩陣是藉由對單位矩陣進行隨機列位移或隨機行位移而取得。換句話說,單位矩陣的每列(或每行)能隨機移動,且上述移動仍維持此正方形二元矩陣在每一列與每一行當中僅有一個壹的元素碼出現而其他均為零的元素碼。單位矩陣 是具有L列及L行的L x L正方形矩陣,其方程式表示如下:
單位矩陣 (1)
基於上述單位矩陣,L列及L行可隨機的位移,而複數個置換矩陣可因此而取得。置換矩陣在每列及每行中僅會有一個壹。列位移或行位移的步驟可藉由處理器來執行。處理器包括中央處理器、微處理器、圖形處理器等。電腦系統的指令可提供對於單位矩陣的位移步驟,使其形成不同的置換矩陣。
在其他實施例當中,隨機列位移或隨機行位移可以特定的方法來執行。也就是說,單位矩陣的每列是依序地移至下一列。同樣地,此方法也可將每行移至下一行。複數個置換矩陣可藉由對每列之循環位移或對每行的循環位移來取得。循環位移不侷限於單一列或單一行,移動列數或移動行數可為固定值或隨機產生的數目。置換矩陣 藉由對L x L的單位矩陣 循環位移 l列或 l行而形成,其關係式可表示如下:
(2)
置換矩陣 (3)
步驟S03:藉由處理器替換複數個元素碼以形成延伸低密度奇偶校驗矩陣。由於已取得複數個置換矩陣,初始低密度奇偶校驗矩陣可藉由替換初始低密度奇偶校驗矩陣之元素碼來延伸。其中,元素碼的壹以複數個置換矩陣替換而零以全零矩陣替換。在本實施例當中,初始低密度奇偶校驗矩陣為M x N的矩陣而複數個置換矩陣為L x L的正方形矩陣,當元素碼被置換後,延伸低密度奇偶校驗矩陣放大為ML x NL的矩陣。置換矩陣的維度大小可調整以達到低密度奇偶校驗矩陣的預期大小。
請參閱第3圖,其係為依據本揭露之替換初始低密度奇偶校驗矩陣之元素碼之示意圖。如圖所示,初始低密度奇偶校驗矩陣H 0提供了3列及N行,且包括須許多壹元素碼11及零元素碼13。置換矩陣的維度L設為2,藉由隨機位移2 x 2正方形矩陣的列或行形成兩個置換矩陣12a、12b。在初始低密度奇偶校驗矩陣H 0當中的壹元素碼11以置換矩陣12a、12b替換,而在初始低密度奇偶校驗矩陣H 0當中的零元素碼13以全零矩陣14替換。對壹元素碼的替換可隨機從兩個置換矩陣12a、12b當中選擇。在其他情況下,預設的區塊,例如初始低密度奇偶校驗矩陣H 0當中的第三列,可藉由相同的置換矩陣12a來替換。固定的置換矩陣可提供低密度奇偶校驗矩陣的特定結構。因此,取得延伸低密度奇偶校驗矩陣H 1且新矩陣的維度擴大了。在本實施例中,延伸低密度奇偶校驗矩陣H 1擴大至6列及2N行。然而,延伸的維度不侷限於2,其他維度大小也可被使用來達到延伸低密度奇偶校驗矩陣的需求列及行。
步驟S04:藉由處理器調整延伸低密度奇偶校驗矩陣之碼長及碼率並且形成總體耦合低密度奇偶校驗矩陣。在前述步驟當中,初始低密度奇偶校驗矩陣藉由將元素碼替換為置換矩陣及全零矩陣而延伸。由於用來替換原始碼的上述矩陣是L x L正方形矩陣,延伸低密度奇偶校驗矩陣的維度可形成為ML x NL矩陣。然而,低密度奇偶校驗矩陣的需求長度可能不完全一樣。因此,延伸低密度奇偶校驗矩陣之碼長及碼率可進一步調整以符合最終需求。
在本實施例當中,調整可藉由縮短(Shortening)延伸低密度奇偶校驗矩陣或穿刺(Puncturing)延伸低密度奇偶校驗矩陣來執行。縮短方法意指將延伸低密度奇偶校驗矩陣中的部分行刪除,行的數量減少,使得延伸低密度奇偶校驗矩陣的碼長下降。由於碼長下降,其碼率也會改變。另一方面,穿刺方法意指將延伸低密度奇偶校驗矩陣中的部分列刪除,穿刺方法可能不會改變碼長。然而,資料長度在穿刺期間會改變。因此,碼率能隨之調整。基於上述調整,可取得具有特殊設計之碼長及碼率的總體耦合(global coupled)的低密度奇偶校驗矩陣。
另外,調整步驟可進一步包含遮蔽(Masking)延伸低密度奇偶校驗矩陣的程序。遮蔽步驟意指在延伸低密度奇偶校驗矩陣當中的部分壹元素碼可設定為零。做這樣的調整原因是防止在檢查節點與變數節點產生短循環(short cycle)。因此,能提昇區塊碼的錯誤更正能力以及運算效率。遮蔽步驟可在上述調整步驟之前或之後執行。換句話說,遮蔽步驟可對延伸低密度奇偶校驗矩陣或者總體耦合低密度奇偶校驗矩陣進行調整。
步驟S05:藉由輸出裝置輸出總體耦合低密度奇偶校驗矩陣。前述的步驟提供了對初始低密度奇偶校驗矩陣的延伸方法,且形成了具有需求碼長及碼率的總體耦合低密度奇偶校驗矩陣。該程序及運算是藉由處理器以一系列的指令來執行。當取得總體耦合低密度奇偶校驗矩陣,最終結果藉由輸出裝置輸出。輸出裝置包含輸出界面,例如顯示面板、發射器等。輸出裝置可進一步連接至編碼機及解碼機,而具有較大區塊碼的延伸矩陣也能傳送至該裝置。
較大區塊碼可提供較佳的錯誤更正能力。基於本揭露所揭露的延伸方法,設計大區塊碼及對應的編碼或解碼硬體的複雜度變得較簡單。使用大區塊碼來傳送資料的通訊系統,以及非揮發性記憶體,例如NAND型快閃記憶體,利用大區塊碼來保護資料。此外,衛星傳輸、網際網路或電纜系統、電視廣播系統也可使用低密度奇偶校驗碼來做為傳輸標準。基於上述步驟藉由矩陣擴展來得到低密度奇偶校驗矩陣的較大區塊碼,舊碼設計能被保留使得新碼能與舊系統相容。因此,新產品開發與驗證的時程能被縮短。
請參閱第4A圖及第4B圖,其係為依據本揭露說明特定區塊設計來替換元素碼及其泰納圖(Tanner graph)之示意圖。如第4A圖所示,初始低密度奇偶校驗矩陣H 0示出一個具有M列及N行的M x N矩陣。在矩陣當中的元素碼(h 11至 h MN)包含了壹與零。在本實施例當中,預定區塊21意指前 列,其是由M列中選出。在預定區塊21中的元素碼由固定置換矩陣來替換,亦即置換矩陣可為沒有移動列與行的3 x 3單位矩陣 。因此,預定區塊21擴展成如圖中所示的 x 3N區塊22。此外,初始低密度奇偶校驗矩陣H 0的其他列,也藉由將元素碼替換為置換矩陣來擴展,而置換矩陣是藉由單位矩陣 的隨機列或行位移來形成。
基於前述實施例所述的相似步驟S02至S04,取得延伸低密度奇偶校驗矩陣H 1。對於延伸矩陣的特定順序可以轉換成泰納圖。如第4B圖所示,區塊22被視為三個局部區塊碼23、24、25的組合。三個局部區塊碼23、24、25當中的每一個可獨立解碼及並聯解碼。其他列則示出為具有總體連接檢查節點的總體連接碼26。本實施例示出前 列被選出來形成預定區塊。然而,本揭露並不局限於這樣的列。選擇列的數量能修改以達到不同的碼結構。因此,不同的區結構也應包括在本揭露當中。
下列段落將說明依據另一實施例之低密度奇偶校驗碼延伸方法的流程。
第5圖係為依據本揭露之另一低密度奇偶校驗碼延伸方法之流程圖。如圖所示,此方法包含以下步驟(S11-S17)。這些步驟可藉由執行多個儲存在記憶體裝置內的指令來執行。
步驟S11:藉由輸入裝置取得初始基底矩陣。初始基底矩陣是由屬於有限場(finite field)的元素組成。初始基底矩陣可藉由許多方法形成。然而,本申請並不限定於特定的方法。輸入裝置則類似於前一實施例,因此本文中不再提供重複的詳細內容。
請參閱第6圖,其係為依據本揭露之替換初始基底矩陣之元素碼之示意圖。如第6圖所示,揭露一種基底矩陣B 0,其列的數量代表檢查節點的數量,行的數量代表變數節點的數量。元素碼區分為非零元素碼及零元素碼,非零元素碼意指該元素是在有限場內的數字。在本實施例當中,有限場的數字為13。由於大小設為13,初始基底矩陣的元素可表示成非零元素 。基底矩陣B 0可由第6圖所示的矩陣來表示。
步驟S12:藉由處理器形成複數個替代矩陣。複數個替代矩陣是藉由對非零元素的對角矩陣進行隨機列位移或隨機行位移來取得。換句話說,正方形對角矩陣的每列(或每行)可隨機的移動,且上述移動仍維持此正方形二元矩陣在每一列與每一行當中僅有一個非零元素碼出現而其他均為零元素碼。單位矩陣 是具有L列及L行的L x L正方形矩陣,其方程式表示如下:
單位矩陣 (4)
基於上述單位矩陣,L列及L行可隨機的位移,而複數個替代矩陣可因此而取得。替代矩陣在每列及每行中僅會有一個非零元素。列位移或行位移的步驟可藉由處理器來執行。處理器包括中央處理器、微處理器、圖形處理器等。電腦系統的指令可提供對於單位矩陣的位移步驟,使其形成不同的置換矩陣。
在其他實施例當中,隨機列位移或隨機行位移可以特定的方法來執行。也就是說,單位矩陣的每列是依序地移至下一列。同樣地,此方法也可將每行移至下一行。複數個替代矩陣可藉由對每列之循環位移或對每行的循環位移來取得。循環位移不侷限於單一列或單一行,移動列數或移動行數可為固定值或隨機產生的數目。替代矩陣 藉由對L x L的單位矩陣 循環位移 l列或 l行而形成,其關係式可表示如下:
(5)
替代矩陣 (6)
步驟S13:藉由處理器替換初始基底矩陣內之複數個元素碼以形成延伸基底矩陣。由於已取得複數個替代矩陣,初始基底矩陣之元素碼能被替換。其中,非零元素碼以複數個替代矩陣替換而零元素碼以全零矩陣替換。當初始基底矩陣為r x s的矩陣而複數個替代換矩陣為L x L的正方形矩陣,延伸基底矩陣放大為rL x sL的矩陣。置換矩陣的維度大小可調整以達到低密度奇偶校驗矩陣的預期大小。
再次參閱第6圖,初始基底矩陣B 0提供了3列及s行,且包括須許多元素碼 。置換矩陣的維度L設為2,藉由隨機位移2 x 2正方形矩陣的列或行形成兩個替代矩陣。舉例來說,在初始基底矩陣當中的非零元素碼31、33分別以替代矩陣32、34替換。因此,取得延伸基底矩陣A 0且新矩陣的維度擴大了。在本實施例中,延伸基底矩陣A 0擴大至6列及2s行。然而,延伸的維度不侷限於2,其他維度大小也可被使用來達到延伸基底矩陣的需求列及行。
步驟S14:藉由處理器形成複數個置換矩陣。複數個置換矩陣是藉由對單位矩陣進行隨機列位移或隨機行位移而取得。置換矩陣的產生方法相似於替代矩陣的產生,因此,省略重複的細節內容。
步驟S15:藉由處理器替換延伸基底矩陣內之複數個元素碼以形成延伸低密度奇偶校驗矩陣。相似於步驟S13,非零元素碼由複數個置換矩陣替換,且零元素碼由複數個全零矩陣替換。當置換矩陣為Z x Z的矩陣,延伸低密度奇偶校驗矩陣擴大為rZL x sZL的矩陣。
步驟S16:藉由處理器調整延伸低密度奇偶校驗矩陣之碼長及碼率並且形成調整低密度奇偶校驗矩陣。在前述步驟當中,初始基底矩陣藉由將元素碼替換成替代矩陣及全零矩陣而延伸,並且延伸基底矩陣藉由將元素碼替換成置換矩陣及全零矩陣而進一步延伸。由於替代矩陣及置換矩陣均為正方形矩陣,延伸低密度奇偶校驗矩陣的維度可形成為rZL x sZL的矩陣。然而,低密度奇偶校驗矩陣的需求長度可能不完全一樣。因此,延伸低密度奇偶校驗矩陣之碼長及碼率可進一步調整以符合最終需求。
在本實施例當中,調整可藉由縮短延伸低密度奇偶校驗矩陣或穿刺延伸低密度奇偶校驗矩陣來執行。縮短方法意指將延伸低密度奇偶校驗矩陣中的部分行刪除。穿刺方法意指將延伸低密度奇偶校驗矩陣中的部分列刪除。基於上述調整,可取得具有特殊設計之碼長及碼率的調整低密度奇偶校驗矩陣。
另外,調整步驟可進一步包含遮蔽延伸基底矩陣的程序。遮蔽步驟意指在延伸基底矩陣當中的部分壹元素碼可設定為零。做這樣的調整原因是防止在延伸的檢查節點與變數節點產生短循環。因此,能提昇區塊碼的錯誤更正能力以及運算效率。遮蔽步驟可在執行於延伸低密度奇偶校驗矩陣。換句話說,遮蔽步驟可對延伸基底矩陣及延伸低密度奇偶校驗矩陣進行調整。
步驟S17:藉由輸出裝置輸出調整低密度奇偶校驗矩陣。前述的步驟提供了對初始基底矩陣的延伸方法,且形成了具有需求碼長及碼率的調整低密度奇偶校驗矩陣。該程序及運算是藉由處理器以一系列的指令來執行。當取得調整低密度奇偶校驗矩陣,最終結果藉由輸出裝置輸出。輸出裝置包含輸出界面,例如顯示面板、發射器等。輸出裝置可進一步連接至編碼機及解碼機,而具有較大區塊碼的延伸矩陣也能傳送至該裝置。
較大區塊碼可提供較佳的錯誤更正能力。基於本揭露所揭露的延伸方法,設計大區塊碼及對應的編碼或解碼硬體的複雜度變得較簡單。使用大區塊碼來傳送資料的通訊系統,以及非揮發性記憶體,例如NAND型快閃記憶體,利用大區塊碼來保護資料。基於上述步驟藉由矩陣擴展來得到低密度奇偶校驗矩陣的較大區塊碼,舊碼設計能被保留使得新碼能與舊系統相容。此外,新產品開發與驗證的時程能被縮短。
相似於第4A圖及第4B圖所述的實施例,初始基底矩陣B 0也可選擇具有前 列的預定區塊,在預定區塊內的元素碼由固定替代矩陣替換。舉例來說,固定替代矩陣可為沒有移動列與行的3 x 3單位矩陣 。因此,預定區塊擴展為類似於第4A圖的 列。此外,初始基底矩陣B 0內的其他列也藉由將元素碼替換為替代矩陣來擴展,而替代矩陣是藉由單位矩陣 的隨機列或行位移來形成。
在經過如前一實施例所述的類似步驟S12至S15,取得延伸低密度奇偶校驗矩陣。對於延伸矩陣的特定結構可藉由選擇不同種類的預定區塊來修改。此外,這些特定結構的矩陣可藉由縮短及穿刺來調整。調整矩陣也可執行遮蔽程序來防止短循環。接著,調整低密度奇偶校驗矩陣及需要的低密度奇偶校驗碼能被輸出及傳送至編碼器及解碼器。
雖然在本揭露當中是藉由參考附圖描述特定實施例的方法,對於所屬技術領域中具有通常知識者而言,在未脫離本案在申請專利範圍中所揭露的範圍及精神下,可作各種修改及變更。這些修改及變更應藉由本揭露之說明書限制在一定範圍內。
11‧‧‧壹元素碼
12a、12b‧‧‧置換矩陣
13‧‧‧零元素碼
14‧‧‧全零矩陣
21‧‧‧預定區塊
22‧‧‧區塊
23、24、25‧‧‧局部區塊碼
26‧‧‧總體連接碼
31、33‧‧‧非零元素碼
32、34‧‧‧替代矩陣
A0‧‧‧延伸基底矩陣
B0‧‧‧初始基底矩陣
C1-C3‧‧‧檢查節點
H0‧‧‧初始低密度奇偶校驗矩陣
H1‧‧‧延伸低密度奇偶校驗矩陣
L‧‧‧維度
S01-S05、S11-S17‧‧‧步驟
V1-Vn‧‧‧變數節點
第1圖係為依據本揭露之低密度奇偶校驗碼延伸方法之流程圖。
第2A圖及第2B圖係為依據本揭露說明初始低密度奇偶校驗矩陣及其泰納圖(Tanner graph)之示意圖。
第3圖係為依據本揭露之替換初始低密度奇偶校驗矩陣之元素碼之示意圖。
第4A圖及第4B圖係為依據本揭露說明特定區塊設計來替換元素碼及其泰納圖(Tanner graph)之示意圖。
第5圖係為依據本揭露之另一低密度奇偶校驗碼延伸方法之流程圖。
第6圖係為依據本揭露之替換初始基底矩陣之元素碼之示意圖。

Claims (10)

  1. 一種低密度奇偶校驗碼延伸方法,其包含以下步驟: 藉由一輸入裝置取得一初始低密度奇偶校驗矩陣,該初始低密度奇偶校驗矩陣包含由複數個壹和複數個零組成的複數個元素碼; 藉由一處理器形成複數個置換矩陣,係將一單位矩陣進行一隨機列位移或一隨機行位移而取得該複數個置換矩陣; 藉由該處理器替換該複數個元素碼以形成一延伸低密度奇偶校驗矩陣,該複數個壹以該複數個置換矩陣替換,該複數個零以一全零矩陣替換; 藉由該處理器調整該延伸低密度奇偶校驗矩陣之一碼長及一碼率,形成一總體耦合低密度奇偶校驗矩陣;以及 藉由一輸出裝置輸出該總體耦合低密度奇偶校驗矩陣。
  2. 如申請專利範圍第1項所述之低密度奇偶校驗碼延伸方法,其中該隨機列位移包含對每列進行一預設列數之一循環位移,或該隨機行位移包含對每行進行一預設行數之一循環位移。
  3. 如申請專利範圍第1項所述之低密度奇偶校驗碼延伸方法,其中該複數個置換矩陣包含一固定置換矩陣,係對該單位矩陣進行一預設列數位移或一預設行數位移而取得,且位於該初始低密度奇偶校驗矩陣之一預定區塊中的該複數個壹以該固定置換矩陣替換。
  4. 如申請專利範圍第1項所述之低密度奇偶校驗碼延伸方法,其中該碼長及該碼率係藉由縮短該延伸低密度奇偶校驗矩陣或穿刺該延伸低密度奇偶校驗矩陣來調整。
  5. 如申請專利範圍第1項所述之低密度奇偶校驗碼延伸方法,進一步包含以下步驟: 藉由將該複數個壹的一部分設定為零來遮蔽該延伸低密度奇偶校驗矩陣。
  6. 一種低密度奇偶校驗碼延伸方法,其包含以下步驟: 藉由一輸入裝置取得一初始基底矩陣,該初始基底矩陣包含由複數個非零元素碼和複數個零元素碼形成的複數個元素碼; 藉由該處理器形成複數個替代矩陣,係將一非零元素對角矩陣進行一隨機列位移或一隨機行位移而取得該複數個替代矩陣; 藉由該處理器替換該初始基底矩陣內之該複數個元素碼以形成一延伸基底矩陣,該複數個非零元素碼以該複數個替代矩陣替換,該複數個零元素碼以一全零矩陣替換; 藉由該處理器形成複數個置換矩陣,係將一單位矩陣進行該隨機列位移或該隨機行位移而取得該複數個置換矩陣; 藉由該處理器替換該延伸基底矩陣內之該複數個元素碼以形成一延伸低密度奇偶校驗矩陣,該複數個非零元素碼以該複數個置換矩陣替換,該複數個零元素碼以該全零矩陣替換; 藉由該處理器調整該延伸低密度奇偶校驗矩陣之一碼長及一碼率,形成一調整低密度奇偶校驗矩陣;以及 藉由一輸出裝置輸出該調整低密度奇偶校驗矩陣。
  7. 如申請專利範圍第6項所述之低密度奇偶校驗碼延伸方法,其中該隨機列位移包含對每列進行一預設列數之一循環位移,或該隨機行位移包含對每行進行一預設行數之一循環位移。
  8. 如申請專利範圍第6項所述之低密度奇偶校驗碼延伸方法,其中該複數個替代矩陣包含一固定替代矩陣,係對該非零元素對角矩陣進行一預設列數位移或一預設行數位移而取得,而位於該初始基底矩陣之一預定區塊中的該複數個非零元素碼以該固定替代矩陣替換。
  9. 如申請專利範圍第6項所述之低密度奇偶校驗碼延伸方法,其中該碼長及該碼率係藉由縮短該延伸基底矩陣或穿刺該延伸基底矩陣來調整。
  10. 如申請專利範圍第6項所述之低密度奇偶校驗碼延伸方法,進一步包含以下步驟: 藉由將該複數個非零元素碼的一部分設定為零來遮蔽該延伸基底矩陣。
TW107145415A 2018-09-24 2018-12-17 低密度奇偶校驗碼延伸方法 TWI669916B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/139,471 2018-09-24
US16/139,471 US10886944B2 (en) 2018-09-24 2018-09-24 Low-density parity-check code scaling method

Publications (2)

Publication Number Publication Date
TWI669916B true TWI669916B (zh) 2019-08-21
TW202013903A TW202013903A (zh) 2020-04-01

Family

ID=68316349

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107145415A TWI669916B (zh) 2018-09-24 2018-12-17 低密度奇偶校驗碼延伸方法

Country Status (2)

Country Link
US (1) US10886944B2 (zh)
TW (1) TWI669916B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200111943A (ko) * 2019-03-20 2020-10-05 에스케이하이닉스 주식회사 패리티 검사 행렬 관리 장치 및 방법
US11777527B1 (en) * 2020-06-25 2023-10-03 Mahesh Rameshbhai Patel Dynamic permutation based coding for generating permuted bits and parity equations thereof
WO2024005845A1 (en) * 2022-07-01 2024-01-04 Intel Corporation Enhanced design and use of longer low-density parity-check wi-fi codewords
TWI819876B (zh) * 2022-11-02 2023-10-21 群聯電子股份有限公司 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2722993A1 (en) * 2012-10-17 2014-04-23 Samsung Electronics Co., Ltd Coding with punctured polar codes for nonvolatile memories
US9130589B2 (en) * 2012-12-19 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Low density parity check decoder with dynamic scaling
US20150280743A1 (en) * 2011-11-11 2015-10-01 Samsung Electronics Co., Ltd. Apparatus and method for transmitting and receiving a quasi-cyclic low density parity check code in a multimedia communication system
US9628114B2 (en) * 2015-03-31 2017-04-18 Macronix International Co., Ltd. Length-compatible extended polar codes
US20170149445A1 (en) * 2015-11-23 2017-05-25 Avago Technologies General Ip (Singapore) Pte. Ltd Irregular Low Density Parity Check Processing System With Non-Uniform Scaling
WO2018083647A1 (en) * 2016-11-03 2018-05-11 Telefonaktiebolaget Lm Ericsson (Publ) Systems and methods for rate-compatible polar codes for general channels

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
WO2008034285A1 (en) * 2006-09-18 2008-03-27 Fengwen Sun A family of ldpc codes for video broadcasting applications
US10594339B2 (en) * 2017-02-03 2020-03-17 Huawei Technologies Co., Ltd. Method for generating parity check matrix for low density parity check coding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150280743A1 (en) * 2011-11-11 2015-10-01 Samsung Electronics Co., Ltd. Apparatus and method for transmitting and receiving a quasi-cyclic low density parity check code in a multimedia communication system
EP2722993A1 (en) * 2012-10-17 2014-04-23 Samsung Electronics Co., Ltd Coding with punctured polar codes for nonvolatile memories
US9130589B2 (en) * 2012-12-19 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Low density parity check decoder with dynamic scaling
US9628114B2 (en) * 2015-03-31 2017-04-18 Macronix International Co., Ltd. Length-compatible extended polar codes
US20170149445A1 (en) * 2015-11-23 2017-05-25 Avago Technologies General Ip (Singapore) Pte. Ltd Irregular Low Density Parity Check Processing System With Non-Uniform Scaling
WO2018083647A1 (en) * 2016-11-03 2018-05-11 Telefonaktiebolaget Lm Ericsson (Publ) Systems and methods for rate-compatible polar codes for general channels

Also Published As

Publication number Publication date
TW202013903A (zh) 2020-04-01
US20200099394A1 (en) 2020-03-26
US10886944B2 (en) 2021-01-05

Similar Documents

Publication Publication Date Title
TWI669916B (zh) 低密度奇偶校驗碼延伸方法
JP5112468B2 (ja) 誤り検出訂正回路、メモリコントローラ、および半導体メモリ装置
JP4602406B2 (ja) データをエンコード及びデコードするための方法並びに装置
US8443257B1 (en) Rate-scalable, multistage quasi-cyclic LDPC coding
WO2017080249A1 (zh) 生成用于在信道中传输的低密度奇偶校验码的方法及设备
JP2010532129A (ja) パリティ検査行列の生成
WO2011136089A1 (ja) 符号化装置、誤り訂正符号構成方法およびそのプログラム
TW201320621A (zh) 用以解碼之方法、設備及裝置、以及具體實現有機器可讀取指令程式之非暫時性電腦可讀取媒體
KR102098202B1 (ko) 부호화 장치 및 그의 부호화 방법
KR100894234B1 (ko) 선형 블록 코드의 인코딩 방법 및 장치
US8448041B1 (en) Multistage LDPC encoding
CN109120275B (zh) 一种编码方法及装置、计算机存储介质
JP5488472B2 (ja) 復号装置、この復号装置を有するデータ通信装置およびデータ記憶装置
EP3889791B1 (en) Efficient encoding methods
JP5413701B2 (ja) 誤り訂正符号化装置、誤り訂正符号化方法および誤り訂正符号化プログラム
US11316534B2 (en) Encoding method and device, decoding method and device, and storage medium
WO2019114992A1 (en) Design of base parity-check matrices for ldpc codes that have subsets of orthogonal rows
KR101436973B1 (ko) 슈퍼차지드 코드들
JP5510447B2 (ja) 復号装置および復号方法
US11190220B2 (en) Apparatus and method for managing parity check matrix
CN107592958B (zh) 不同码长下使用一个多比率指数表和一个扩展因子的多比率的ldpc编码和解码
CN118093257B (zh) 一种级联编码方法、装置、系统及介质
Johnson et al. Practical Interleavers for Repeat--Accumulate Codes
US20210351786A1 (en) Efficient Encoding Methods
TWI517595B (zh) 用於資料傳輸過程中動態解碼之具有ecc資訊的資料結構及用於形成該資料結構的方法