TWI674766B - 低密度奇偶檢查碼之編碼及解碼方法 - Google Patents
低密度奇偶檢查碼之編碼及解碼方法 Download PDFInfo
- Publication number
- TWI674766B TWI674766B TW107113816A TW107113816A TWI674766B TW I674766 B TWI674766 B TW I674766B TW 107113816 A TW107113816 A TW 107113816A TW 107113816 A TW107113816 A TW 107113816A TW I674766 B TWI674766 B TW I674766B
- Authority
- TW
- Taiwan
- Prior art keywords
- density parity
- parity check
- low
- check matrix
- matrix
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/1137—Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1171—Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1174—Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1191—Codes on graphs other than LDPC codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
Abstract
一種低密度奇偶檢查碼之解碼方法,適用於一根據一主低密度奇偶檢查矩陣進行編碼的編碼資料,該主低密度奇偶檢查矩陣包括多個區域低密度奇偶檢查矩陣及一全域低密度奇偶檢查矩陣,該低密度奇偶檢查矩陣的解碼方法包含以下步驟:(A)一編碼裝置根據一主低密度奇偶檢查矩陣所包括的該等區域低密度奇偶檢查矩陣,對該編碼資料進行解碼;(B)該編碼裝置判定是否能完整地將該編碼資料解碼;及(C)當該編碼裝置判定出無法完整地將該編碼資料解碼時,根據該主低密度奇偶檢查矩陣的該全域低密度奇偶檢查矩陣,對該編碼資料進行解碼。
Description
本發明是有關於一種編碼及解碼方法,特別是指一種低密度奇偶檢查碼之編碼及解碼方法。
在無線通訊的應用中,低密度奇偶檢查碼(Low-density parity-check code, LDPC code)是一種常被用來更正傳輸過程中發生錯誤的線性區塊碼(linear block code),其是基於具有稀疏矩陣性質的奇偶檢查矩陣(parity-check matrix)建構而成。在符合特定設計規範下,區塊碼的碼字長度越長通常具備較佳的錯誤更正能力。
然而,碼字長度越長表示冗餘(redundancy)越多,浪費的位元越多,在利用低密度奇偶檢查碼編碼及解碼的過程中,必須付出較大的軟硬體設備與運算成本。此外,在例如移動式無線通訊系統中,通道環境的變化速率限制了傳輸資料區塊大小,而限制了區塊碼的碼字長度的選擇。
因此,如何設計同時兼備短碼字長度運算上的效能成本優勢,與長碼字長度優異錯誤更正能力的區塊碼,遂成為亟待解決的問題。
因此,本發明的目的,即在提供一種低成本及高錯誤更正能力的低密度奇偶檢查碼編碼方法。
於是,本發明低密度奇偶檢查碼編碼方法,由一編碼裝置來實施,適用於傳輸資料,該低密度奇偶檢查碼編碼方法包含以下步驟:
(A)產生至少一區域低密度奇偶檢查矩陣及一全域低密度奇偶檢查矩陣,該全域低密度奇偶檢查矩陣與該至少一區域低密度奇偶檢查矩陣的每一者相關;
(B)從該至少一區域低密度奇偶檢查矩陣中選取一標的區域低密度奇偶檢查矩陣;
(C)重複步驟(B)直到選取出t個標的區域低密度奇偶檢查矩陣,t>1;
(D)根據該等t個標的區域低密度奇偶檢查矩陣,產生一包括該等t個標的區域低密度奇偶檢查矩陣的第一分塊矩陣;
(E)至少根據該第一分塊矩陣及該全域低密度奇偶檢查矩陣產生一包括該第一分塊矩陣及該全域低密度奇偶檢查矩陣的主低密度奇偶檢查矩陣;及
(F)根據該主低密度奇偶檢查矩陣對該傳輸資料進行編碼。
本發明的另一目的,即在提供一種低成本及高錯誤更正能力的低密度奇偶檢查碼解碼方法。
於是,本發明低密度奇偶檢查碼解碼方法,由一解碼裝置來實施,適用於一根據一主低密度奇偶檢查矩陣進行編碼的編碼資料,該主低密度奇偶檢查矩陣包括多個區域低密度奇偶檢查矩陣及一全域低密度奇偶檢查矩陣,該低密度奇偶檢查矩陣的解碼方法包含以下步驟:
(A)根據該主低密度奇偶檢查矩陣的該等區域低密度奇偶檢查矩陣,對該編碼資料進行解碼;
(B)判定是否能完整地將該編碼資料解碼;及
(C)當判定出無法完整地將該編碼資料解碼時,根據該主低密度奇偶檢查矩陣的該全域低密度奇偶檢查矩陣,對該編碼資料進行解碼。
本發明之功效在於:藉由該編碼裝置產生包括該等t個標的低密度奇偶檢查矩陣的該主低密度奇偶檢查矩陣,該主低密度奇偶檢查矩陣的每一標的低密度奇偶檢查矩陣保有短碼字長度的運算效能,且該主低密度奇偶檢查矩陣同時兼備長碼字長度的優異錯誤更正能力。
在本發明被詳細描述前,應當注意在以下的說明內容中,類似的元件是以相同的編號來表示。
參閱圖1,說明用來實施本發明低密度奇偶檢查碼之編碼及解碼方法的一傳送端11及一接收端12。
該傳送端11包括一具有一低密度奇偶檢查碼的編碼裝置111,該傳送端11的該編碼裝置111將傳輸資料編碼成編碼資料後,該傳送端11經由一傳輸通道13傳送該編碼資料至該接收端12。
該接收端12包括一具有一低密度奇偶檢查碼的解碼裝置121,該解碼裝置121儲存有一區域解碼計數值及一全域解碼計數值。該接收端12從該傳輸通道13接收對應該編碼資料的通道資料後,該接收端12的該解碼裝置121將該通道資料解碼並產生對應該傳輸資料的解碼資料。
參閱圖1、圖2及圖3,示例說明了該編碼裝置111如何實施本發明低密度奇偶檢查碼之編碼方法之一第一實施例,並包含以下步驟。
在步驟201中,該編碼裝置111產生至少一區域低密度奇偶檢查矩陣
H
Li 及一全域低密度奇偶檢查矩陣
H
G ,其中i=1,2,
,n,n≧1。
值得注意的是,在本實施例中,該至少一區域低密度奇偶檢查矩陣
H
Li 及該全域低密度奇偶檢查矩陣
H
G 是由有限場
q中的元素組成,
q為任意質數的冪,該至少一區域低密度奇偶檢查矩陣
H
Li 以下式表示:
, 其中,
,
=
,
屬於有限場
GF(
q),
p
i 及
為
q-1的因數且為質數,
,i=1,2,
,n,
,
為下取整函數(floor function),該全域低密度奇偶檢查矩陣
H
G 以下式表示:
, 其中,
d 2<min(
p
i )。
舉例來說,當q=5
6,n=2,p
1=3,p
2=2,
=31時,q-1=2
3*3
2*7*31=(2*3*31)84,
84,
,
,
,
, 其中,
,
,
, 其中,
。
在步驟202中,該編碼裝置111從該至少一區域低密度奇偶檢查矩陣
H
Li 中選取一標的區域低密度奇偶檢查矩陣
H
L 。
在步驟203中,該編碼裝置111判定是否已選取t個標的區域低密度奇偶檢查矩陣
H
L ,在該編碼裝置111判定出已選取t個標的區域低密度奇偶檢查矩陣
H
L 後,進行步驟204。在該編碼裝置111判定出未選取t個標的區域低密度奇偶檢查矩陣
H
L 後,重複進行步驟202。
在步驟204中,該編碼裝置111根據該等t個標的區域低密度奇偶檢查矩陣
H
L ,產生一包括該等t個標的區域低密度奇偶檢查矩陣
H
L 的第一分塊矩陣
H
B1 。在本實施例中,該第一分塊矩陣
H
B1 為對角矩陣,且該等t個標的區域低密度奇偶檢查矩陣
H
L 為該第一分塊矩陣
H
B1 主對角線上依序排列的子矩陣。該第一分塊矩陣
H
B1 以下式表示:
, 其中,其他矩陣元素皆為0。值得注意的是,在其他實施例中,該第一分塊矩陣
H
B1 亦可以下式表示:
。 要再注意的是,在其他實施例中,該編碼裝置111還有調整該第一分塊矩陣
H
B1 的步驟,該編碼裝置111調整該第一分塊矩陣
H
B1 中的該等t個標的區域低密度奇偶檢查矩陣
H
L ,以致除了第1個標的區域低密度奇偶檢查矩陣
外,每一標的區域低密度奇偶檢查矩陣
H
L 的最前p行(column)與前一標的區域低密度奇偶檢查矩陣
H
L 的最後p行重疊,其中p≧1,且p小於標的區域低密度奇偶檢查矩陣
H
L 的行數。
在步驟205中,該編碼裝置111判定該第一分塊矩陣
H
B1 的行數是否等於該全域低密度奇偶檢查矩陣
H
G 的行數。在該編碼裝置111判定出該第一分塊矩陣
H
B1 的行數不等於該全域低密度奇偶檢查矩陣
H
G 的行數後,進行步驟206。在該編碼裝置111判定出該第一分塊矩陣
H
B1 的行數等於該全域低密度奇偶檢查矩陣
H
G 的行數後,進行步驟207。
在步驟206中,該編碼裝置111判定該第一分塊矩陣
H
B1 的行數是否小於該全域低密度奇偶檢查矩陣
H
G 的行數。在該編碼裝置111判定出該第一分塊矩陣
H
B1 的行數小於該全域低密度奇偶檢查矩陣
H
G 的行數後,進行步驟208。在該編碼裝置111判定出該第一分塊矩陣
H
B1 的行數不小於該全域低密度奇偶檢查矩陣
H
G 的行數後,進行步驟209。
在步驟207中,該編碼裝置111根據該第一分塊矩陣
H
B1 及該全域低密度奇偶檢查矩陣
H
G 產生一包括該第一分塊矩陣
H
B1 及該全域低密度奇偶檢查矩陣
H
G 的主低密度奇偶檢查矩陣
H
P ,該主低密度奇偶檢查矩陣
H
P 的行數與該第一分塊矩陣
H
B1 的行數相等。
在步驟208中,該編碼裝置111刪除該全域低密度奇偶檢查矩陣
H
G 的至少一行,以致該第一分塊矩陣
H
B1 的行數與刪除後的該全域低密度奇偶檢查矩陣
H
G 的行數相等。
在步驟209中,該編碼裝置111刪除該第一分塊矩陣
H
B1 的至少一行,以致刪除後的該第一分塊矩陣
H
B1 的行數與該全域低密度奇偶檢查矩陣
H
G 的行數相等。
在步驟208之後的步驟210中,該編碼裝置111根據該第一分塊矩陣
H
B1 及刪除行後的該全域低密度奇偶檢查矩陣
H
G 產生一包括該第一分塊矩陣
H
B1 及刪除行後的該全域低密度奇偶檢查矩陣
H
G 的主低密度奇偶檢查矩陣
H
P ,該主低密度奇偶檢查矩陣
H
P 的行數與該第一分塊矩陣
H
B1 的行數相等。
在步驟209之後的步驟211中,該編碼裝置111根據刪除行後的該第一分塊矩陣
H
B1 及該全域低密度奇偶檢查矩陣
H
G 產生一包括刪除行後的該第一分塊矩陣
H
B1 及該全域低密度奇偶檢查矩陣
H
G 的主低密度奇偶檢查矩陣
H
P ,該主低密度奇偶檢查矩陣
H
P 的行數與刪除行後的該第一分塊矩陣
H
B1 的行數相等。
值得注意的是,在本實施例中,該主低密度奇偶檢查矩陣
H
P 的結構例如為圖4所示,該主低密度奇偶檢查矩陣
H
P 的泰納圖(Tanner graph)例如為圖5所示。此外,在本實施例中,在該主低密度奇偶檢查矩陣
H
P 中,該第一分塊矩陣
H
B1 的最後一列(row)的下一列為該全域低密度奇偶檢查矩陣的第一列,但並不以此為限,在其他實施例中,在該主低密度奇偶檢查矩陣
H
P 中,亦可為該全域低密度奇偶檢查矩陣
H
G 的最後一列的下一列為該第一分塊矩陣
H
B1 的第一列。要再注意的是,在其他實施例中,該主低密度奇偶檢查矩陣
H
P 的結構例如為圖6所示。
在步驟207、210或211之後的步驟212中,該編碼裝置111根據該主低密度奇偶檢查矩陣
H
P 對該傳輸資料進行編碼,以產生編碼資料,該編碼資料包括t個分別對應該等t個標的區域低密度奇偶檢查矩陣
H
L 的區域碼。
參閱圖1、圖7及圖8,本發明低密度奇偶檢查碼之編碼方法之一第二實施例包含以下步驟。本發明低密度奇偶檢查碼之編碼方法之該第二實施例實質上是該第一實施例的變化,並包含步驟301至步驟313,其中步驟301~303、305,分別相似於該第一實施例的步驟201~203、208 (圖2及圖3)。以下說明本實施例異於該第一實施例之處。
在步驟304中,該編碼裝置111根據該等t個標的區域低密度奇偶檢查矩陣
H
L ,產生一包括該等t個標的區域低密度奇偶檢查矩陣
H
L 的第一分塊矩陣
H
B1 ,其中該第一分塊矩陣
H
B1 的行數小於該全域低密度奇偶檢查矩陣
H
G 的行數。
在步驟306中,該編碼裝置111根據該第一分塊矩陣
H
B1 及刪除行後的該全域低密度奇偶檢查矩陣
H
G 產生一包括該第一分塊矩陣
H
B1 及刪除行後的該全域低密度奇偶檢查矩陣
H
G 的副低密度奇偶檢查矩陣
H
S ,該副低密度奇偶檢查矩陣
H
S 的行數與該第一分塊矩陣
H
B1 的行數相等。
在步驟307中,從該至少一區域低密度奇偶檢查矩陣
H
Li 中選取一目標區域低密度奇偶檢查矩陣。
在步驟308中,該編碼裝置111根據該副低密度奇偶檢查矩陣
H
S 及該目標區域低密度奇偶檢查矩陣產生一包括該副低密度奇偶檢查矩陣
H
S 及該目標區域低密度奇偶檢查矩陣的第二分塊矩陣
H
B2 ,其中該第二分塊矩陣
H
B2 的行數小於等於該全域低密度奇偶檢查矩陣
H
G 的行數。
在步驟309中,該編碼裝置111判定該第二分塊矩陣
H
B2 的行數是否等於該全域低密度奇偶檢查矩陣
H
G 的行數。在該編碼裝置111判定出該第二分塊矩陣
H
B2 的行數不等於該全域低密度奇偶檢查矩陣
H
G 的行數後,進行步驟310。在該編碼裝置111判定出該第二分塊矩陣
H
B2 的行數等於該全域低密度奇偶檢查矩陣
H
G 的行數後,進行步驟312。
在步驟310中,該編碼裝置111該編碼裝置111刪除該全域低密度奇偶檢查矩陣
H
G 的至少一行,以致該第二分塊矩陣
H
B2 的行數與刪除後的該全域低密度奇偶檢查矩陣
H
G 的行數相等。
在步驟310之後的311中,該編碼裝置111根據該第二分塊矩陣
H
B2 及刪除行後的該全域低密度奇偶檢查矩陣
H
G 產生一包括該第二分塊矩陣
H
B2 及刪除行後的該全域低密度奇偶檢查矩陣
H
G 的主低密度奇偶檢查矩陣
H
P ,該主低密度奇偶檢查矩陣
H
P 的行數與該第二分塊矩陣
H
B2 的行數相等。
在步驟312中,該編碼裝置111根據該第二分塊矩陣
H
B2 及該全域低密度奇偶檢查矩陣
H
G 產生一包括該第二分塊矩陣
H
B2 及該全域低密度奇偶檢查矩陣
H
G 的主低密度奇偶檢查矩陣
H
P 。
在步驟311或312之後的步驟313中,該編碼裝置111根據該主低密度奇偶檢查矩陣
H
P 對該傳輸資料進行編碼,以產生編碼資料,該編碼資料包括該編碼資料包括二區域碼,該等區域碼分別對應該副低密度奇偶檢查矩陣
H
S 及該目標區域低密度奇偶檢查矩陣。
值得注意的是,在本實施例中,該主低密度奇偶檢查矩陣
H
P 的結構例如為圖9所示。
參閱圖1、圖10,示例說明了該解碼裝置121如何實施本發明低密度奇偶檢查碼之解碼方法之一實施例,並包含以下步驟。當該接收端12接收到來對應該編碼資料的該通道資料時,該接收端12的該解碼裝置121將該通道資料進行解碼,在本實施例中,該編碼資料例如為本發明低密度奇偶檢查碼之編碼方法之該第一實施例的該編碼資料。
在步驟401中,該解碼裝置121根據該主低密度奇偶檢查矩陣
H
P 中的該等t個標的區域低密度奇偶檢查矩陣
H
L ,對該通道資料進行解碼。在本實施例中,該解碼裝置121係根據該主低密度奇偶檢查矩陣
H
P 的該等t個標的區域低密度奇偶檢查矩陣
H
L ,獨立平行解碼(如圖11所示)。
在步驟402中,該解碼裝置121將該區域解碼計數值加一。
在步驟403中,該解碼裝置121判定是否能完整地將該通道資料解碼。當判定出無法完整地將該通道資料解碼時,進行步驟404。當判定出能完整地將該通道資料解碼時,進行步驟410。
在步驟404中,該解碼裝置121判定該區域解碼計數值是否大於一第一預定值。當判定出該區域解碼計數值大於該第一預定值時,執行步驟405。當判定出該區域解碼計數值不大於該第一預定值時,重複步驟401。
在步驟405中,該解碼裝置121根據該主低密度奇偶檢查矩陣
H
P 中的該全域低密度奇偶檢查矩陣
H
G ,對該通道資料進行解碼。
在步驟406中,該解碼裝置121將該全域解碼計數值加一。
在步驟407中,該解碼裝置121判定是否能完整地將該通道資料解碼。當判定出無法完整地將該通道資料解碼時,進行步驟408。當判定出完整地將該通道資料解碼時,進行步驟410。
在步驟408中,該解碼裝置121判定該全域解碼計數值是否大於一第二預定值。當判定出該全域解碼計數值不大於該第二預定值時,進行步驟409。當判定出該全域解碼計數值大於該第二預定值時,進行步驟411。
在步驟409中,該解碼裝置121清除該區域解碼計數值,並重複步驟401。
在步驟410中,該解碼裝置121產生該解碼資料。
在步驟411中,該解碼裝置121產生一相關於解碼失敗的錯誤訊息。
本發明低密度奇偶檢查碼之編碼及解碼方法可應用於各領域中,且針對不同領域所提供的效果可歸納如下:
一、可應用於分散式儲存系統,以海杜普(Hadoop)分散式檔案管理系統架構為例,名字節點(name node)會將檔案分割至合適大小,並以該主低密度奇偶檢查矩陣
H
P 對分割檔案進行編碼,每一檔案對應該主低密度奇偶檢查矩陣
H
P 的該等t個標的區域低密度奇偶檢查矩陣
H
L 之一者,由於每一標的區域低密度奇偶檢查矩陣
H
L 為獨立的,因此可對資料進行額外的保護,再將編碼後的分割檔案複製至其他節點,例如資料節點(data nodes)儲存。各資料節點先根據該等t個標的區域低密度奇偶檢查矩陣
H
L 各自進行解碼,最後回傳解碼結果與對應信度資訊至一叢集管理節點。若回傳資料仍有錯誤,由該叢集管理節點將根據該主低密度奇偶檢查矩陣
H
P 的該全域低密度奇偶檢查矩陣
H
G 更正資料錯誤部份。
二、可將快閃記憶體(flash memory)的資料局部解碼,以三階儲存單元(Triple-Level Cell, TLC)為例,一個細胞儲存電荷可表示三位元資料,該三位元資料分別有不同的位元錯誤率。在寫入資料時,以該主低密度奇偶檢查矩陣
H
P 編碼,該三位元資料分別對應至三個不同的標的區域低密度奇偶檢查矩陣
H
L ,每一標的區域低密度奇偶檢查矩陣
H
L 可根據其不同位元錯誤率需要設計。讀取資料時,若所有標的區域低密度奇偶檢查矩陣
H
L 都完成解碼,則不需要根據該全域低密度奇偶檢查矩陣
H
G 進行解碼。而當根據該全域低密度奇偶檢查矩陣
H
G 進行解碼時,位元錯誤率較低之位元資料可提早完成解碼,並可將其可靠度傳播給尚未完成解碼之位元資料以幫助其解碼收斂。
三、可動態調整低密度奇偶檢查碼之碼長與碼率,在編碼時,藉由改變選取標的區域低密度奇偶檢查矩陣
H
L 的數量,或改變每一標的區域低密度奇偶檢查矩陣
H
L 之矩陣大小,即可動態調整低密度奇偶檢查碼的碼長與碼率。舉例來說,快閃記憶體位元錯誤率往往隨著使用時間與讀寫次數增加而增加,若能隨之調整碼長或碼率,可在效能與可靠度之間取得最佳效益。
四、提升傳輸速率與網路使用效能,以封包聚合(packet aggregation)為例,在進行資料編碼時,每一封包對應該等t個標的區域低密度奇偶檢查矩陣
H
L 之一者,該接收端12先根據該等t個標的區域低密度奇偶檢查矩陣
H
L 對每一封包進行解碼,若無法無整地解碼每一封包,則該接收端12根據該主低密度奇偶檢查矩陣
H
P 的該全域低密度奇偶檢查矩陣
H
G 更正封包錯誤部份,使得封包與封包之間多了該全域低密度奇偶檢查矩陣提供的額外錯誤更正能力,因此可以減少因部份封包錯誤而需要重傳的次數,進而提升傳輸速率與網路使用效能。
五、可應用於無線多輸入輸出(Multi-input Multi-output, MIMO)多工系統。該傳送端11先根據該主低密度奇偶檢查矩陣
H
P 將傳輸資料編碼後,再進行無線多輸入輸出多工運算(spatial multiplexing),其中每一個空間資料流(spatial stream)皆對應該等t個標的區域低密度奇偶檢查矩陣
H
L 之一者,每一標的區域低密度奇偶檢查矩陣
H
L 之低密度奇偶檢查碼可根據事先得知的該傳輸通道13狀況給定不同的碼長與碼率。該接收端12可先針對每個空間資料流進行平行獨立解碼。若無法無整地解碼,則該接收端12根據該主低密度奇偶檢查矩陣
H
P 的該全域低密度奇偶檢查矩陣
H
G 更正錯誤位元。
六、可用於碼率匹配與資料打洞(data puncture),在該傳送端11產生該編碼資料後,在該編碼資料的該等區域碼中挑選數個位置不傳送,每個區域碼可挑選相同或相異不傳送的位置與數量。該接收端12根據解碼結果,回傳解碼結果與建議之不傳送位元比例(puncture ratio)至該傳送端11。不傳送位元比例可由每一區域解碼器的解碼狀況推論得知。若資料在該接收端12根據該全域低密度奇偶檢查矩陣
H
G 解碼後無法完全修正錯誤,則該傳送端11根據該接收端12回報之數值再傳出部分未傳送之位元(punctured bits)。
七、可擴充該主低密度奇偶檢查矩陣
H
P 直到該傳送端11定義次數上限或資料完全解出為止。當該接收端12回報無法解出所有錯誤時,該傳送端11則將該主低密度奇偶檢查矩陣
H
P 擴充,即本發明低密度奇偶檢查碼之編碼方法之該第二實施例。
綜上所述,本發明低密度奇偶檢查碼之編碼及解碼方法,藉由該編碼裝置111產生包括該等t個標的低密度奇偶檢查矩陣
H
L 的該主低密度奇偶檢查矩陣
H
S 。該主低密度奇偶檢查矩陣
H
S 的每一標的低密度奇偶檢查矩陣
H
L 保有短碼字長度的運算效能,且該主低密度奇偶檢查矩陣
H
L 同時兼備長碼字長度的優異錯誤更正能力。此外,該主低密度奇偶檢查矩陣
H
S 的該全域低密度奇偶檢查矩陣
H
G 更提供額外的錯誤更正能力,故確實能達成本發明的目的。
惟以上所述者,僅為本發明的實施例而已,當不能以此限定本發明實施的範圍,凡是依本發明申請專利範圍及專利說明書內容所作的簡單的等效變化與修飾,皆仍屬本發明專利涵蓋的範圍內。
11‧‧‧傳送端
111‧‧‧編碼裝置
12‧‧‧接收端
121‧‧‧解碼裝置
13‧‧‧傳輸通道
201~212‧‧‧步驟
301~313‧‧‧步驟
401~411‧‧‧步驟
本發明的其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中: 圖1是一方塊圖,示例地繪示一用來實施本發明低密度奇偶檢查碼之編碼及解碼方法的一傳送端及一接收端; 圖2是一流程圖,說明本發明低密度奇偶檢查碼之編碼方法的一第一實施例; 圖3是一流程圖,輔助圖2說明該第一實施例; 圖4是一示意圖,說明該第一實施例的一主低密度奇偶檢查矩陣; 圖5是一示意圖,說明該第一實施例的該主低密度奇偶檢查矩陣; 圖6是一示意圖,說明其他實施例的一主低密度奇偶檢查矩陣; 圖7是一流程圖,說明本發明低密度奇偶檢查碼之編碼方法的一第二實施例; 圖8是一流程圖,輔助圖7說明該第二實施例; 圖9是一示意圖,說明該第二實施例的一主低密度奇偶檢查矩陣; 圖10是一流程圖,說明本發明低密度奇偶檢查碼之解碼方法的一實施例;及 圖11是一示意圖,說明該第二實施例的一步驟401。
Claims (11)
- 一種低密度奇偶檢查碼編碼方法,由一編碼裝置來實施,適用於傳輸資料,該低密度奇偶檢查碼編碼方法包含以下步驟:(A)產生至少一區域低密度奇偶檢查矩陣及一全域低密度奇偶檢查矩陣,該全域低密度奇偶檢查矩陣與該至少一區域低密度奇偶檢查矩陣的每一者相關;(B)從該至少一區域低密度奇偶檢查矩陣中選取一標的區域低密度奇偶檢查矩陣;(C)重複步驟(B)直到選取出t個標的區域低密度奇偶檢查矩陣,t>1;(D)根據該等t個標的區域低密度奇偶檢查矩陣,產生一包括該等t個標的區域低密度奇偶檢查矩陣的第一分塊矩陣;(E)至少根據該第一分塊矩陣及該全域低密度奇偶檢查矩陣產生一包括該第一分塊矩陣及該全域低密度奇偶檢查矩陣的主低密度奇偶檢查矩陣;及(F)根據該主低密度奇偶檢查矩陣對該傳輸資料進行編碼。
- 如請求項1所述的低密度奇偶檢查碼編碼方法,其中,在步驟(E)中,在該主低密度奇偶檢查矩陣中,該第一分塊矩陣的最後一列的下一列為該全域低密度奇偶檢查矩陣的第一列。
- 如請求項1所述的低密度奇偶檢查碼編碼方法,其中,在 步驟(D)中,該第一分塊矩陣為對角矩陣,該等t個標的區域低密度奇偶檢查矩陣為該第一分塊矩陣主對角線上的子矩陣。
- 如請求項1所述的低密度奇偶檢查碼編碼方法,其中,步驟(E)包含以下子步驟:(E-1)判定該第一分塊矩陣的行數是否等於該全域低密度奇偶檢查矩陣的行數;(E-2)當判定出該第一分塊矩陣的行數不等於該全域低密度奇偶檢查矩陣的行數時,判定該第一分塊矩陣的行數是否小於該全域低密度奇偶檢查矩陣的行數;(E-3)當判定出該第一分塊矩陣的行數小於該全域低密度奇偶檢查矩陣的行數時,刪除該全域低密度奇偶檢查矩陣的至少一行,以致該第一分塊矩陣的行數與刪除後的該全域低密度奇偶檢查矩陣的行數相等,並根據該第一分塊矩陣及刪除行後的該全域低密度奇偶檢查矩陣產生該主低密度奇偶檢查矩陣,該主低密度奇偶檢查矩陣的行數與該第一分塊矩陣的行數相等;及(E-4)當判定出該第一分塊矩陣的行數不小於該全域低密度奇偶檢查矩陣的行數時,刪除該第一分塊矩陣的至少一行,以致刪除後的該第一分塊矩陣的行數與該全域低密度奇偶檢查矩陣的行數相等,並根據刪除行後的該第一分塊矩陣及該全域低密度奇偶檢查矩陣產生該主低密度奇偶檢查矩陣,該主低密度奇偶檢查矩陣的行數與刪除行後的該第一分塊矩陣的行數相等。
- 如請求項1所述的低密度奇偶檢查碼編碼方法,在步驟(A)中,步驟(E)還包含以下子步驟:(E-1)根據該第一分塊矩陣及該全域低密度奇偶檢查矩陣產生一包括該第一分塊矩陣及該全域低密度奇偶檢查矩陣的副低密度奇偶檢查矩陣,該副低密度奇偶檢查矩陣的行數與該第一分塊矩陣的行數相等;(E-2)從該至少一區域低密度奇偶檢查矩陣中選取一目標區域低密度奇偶檢查矩陣;(E-3)根據該副低密度奇偶檢查矩陣及該目標區域低密度奇偶檢查矩陣產生一包括該副低密度奇偶檢查矩陣及該目標區域低密度奇偶檢查矩陣的第二分塊矩陣;及(E-4)根據該第二分塊矩陣及該全域低密度奇偶檢查矩陣產生該主低密度奇偶檢查矩陣,該主低密度奇偶檢查矩陣的行數與該第二分塊矩陣的行數相等。
- 如請求項1所述的低密度奇偶檢查碼編碼方法,其中在步驟(D)中,依序排列該等t個標的區域低密度奇偶檢查矩陣,以產生該第一分塊矩陣,在步驟(D)及(E)之間,還包含以下步驟:(G)調整該第一分塊矩陣中的該等t個標的區域低密度奇偶檢查矩陣,以致除第1個標的區域低密度奇偶檢查矩陣外,每一標的區域低密度奇偶檢查矩陣的最前p行與前一標的區域低密度奇偶檢查矩陣的最後p行重疊,其中p≧1。
- 如請求項1所述的低密度奇偶檢查碼編碼方法,其中,在 步驟(A)中,該至少一區域低密度奇偶檢查矩陣H Li,i=1,2,…,n,n≧1,及該全域低密度奇偶檢查矩陣H G 是由有限場q中的元素組成,q為任意質數的冪,該至少一區域低密度奇偶檢查矩陣H Li以下式表示,
- 一種低密度奇偶檢查矩陣的解碼方法,由一解碼裝置來實施,適用於一根據一主低密度奇偶檢查矩陣進行編碼的編碼資料,該主低密度奇偶檢查矩陣包括多個區域低密度奇偶檢查矩陣及一全域低密度奇偶檢查矩陣,該全域低密度奇偶檢查矩陣與該等區域低密度奇偶檢查矩陣的每一者相關,該低密度奇偶檢查矩陣的解碼方法包含以下步驟:(A)根據該主低密度奇偶檢查矩陣的該等區域低密度奇偶檢查矩陣,對該編碼資料進行解碼; (B)判定是否能完整地將該編碼資料解碼;及(C)當判定出無法完整地將該編碼資料解碼時,根據該主低密度奇偶檢查矩陣的該全域低密度奇偶檢查矩陣,對該編碼資料進行解碼。
- 如請求項8所述的低密度奇偶檢查矩陣的解碼方法,其中,在步驟(A)中,根據該主低密度奇偶檢查矩陣的該等區域低密度奇偶檢查矩陣,並行地對該編碼資料進行解碼。
- 如請求項8所述的低密度奇偶檢查矩陣的解碼方法,該解碼裝置儲存有一區域解碼計數值,在步驟(A)後還包含以下步驟:(D)將該區域解碼計數值加一;在步驟(B)及步驟(C)之間還包含以下步驟:及(E)當判定出無法完整地將該編碼資料解碼時,判定該區域解碼計數值是否大於一第一預定值,當判定出該區域解碼計數值大於該第一預定值時,執行步驟(C),當判定出該區域解碼計數值不大於該第一預定值時,重複步驟(A)到(B)。
- 如請求項10所述的低密度奇偶檢查矩陣的解碼方法,其中,該解碼裝置還儲存有一全域解碼計數值,在步驟(C)後還包含以下步驟:(F)將該全域解碼計數值加一;(G)判定是否能完整地將該編碼資料解碼;(H)當判定出不能完整地將該編碼資料解碼時,判定 該全域解碼計數值是否大於一第二預定值;及(1)當判定出該全域解碼計數值不大於該第二預定值時,清除該區域解碼計數值,並重複步驟(A)到(G)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/951587 | 2018-04-12 | ||
US15/951,587 US20190319638A1 (en) | 2018-04-12 | 2018-04-12 | Method for generating encoded data that is encoded based on low-density parity-check codes, and method for decoding the encoded data |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI674766B true TWI674766B (zh) | 2019-10-11 |
TW201944739A TW201944739A (zh) | 2019-11-16 |
Family
ID=68162069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107113816A TWI674766B (zh) | 2018-04-12 | 2018-04-24 | 低密度奇偶檢查碼之編碼及解碼方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190319638A1 (zh) |
CN (1) | CN110380734B (zh) |
TW (1) | TWI674766B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9722634B2 (en) * | 2013-10-14 | 2017-08-01 | Nec Corporation | Multiple component codes based generalized low-density parity-check codes for high-speed optical transport |
US20180076923A1 (en) * | 2016-09-12 | 2018-03-15 | Mediatek Inc. | Combined Coding Design For Efficient Codeblock Extension |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1902828B (zh) * | 2003-08-08 | 2012-02-29 | 英特尔公司 | 用于改变低密度奇偶校验码字长度的方法和装置 |
US7500172B2 (en) * | 2005-02-26 | 2009-03-03 | Broadcom Corporation | AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes |
KR20060135451A (ko) * | 2005-06-25 | 2006-12-29 | 삼성전자주식회사 | 저밀도 패리티 검사 행렬 부호화 방법 및 장치 |
US8418023B2 (en) * | 2007-05-01 | 2013-04-09 | The Texas A&M University System | Low density parity check decoder for irregular LDPC codes |
US8392787B2 (en) * | 2008-10-31 | 2013-03-05 | Broadcom Corporation | Selective merge and partial reuse LDPC (Low Density Parity Check) code construction for limited number of layers Belief Propagation (BP) decoding |
CN101789794A (zh) * | 2009-01-23 | 2010-07-28 | 雷凌科技股份有限公司 | 低密度奇偶校验码的解码方法及其电路 |
CN102195740B (zh) * | 2010-03-05 | 2013-06-19 | 华东师范大学 | 低密度奇偶校验码的简化译码校验方法及装置 |
CN103137213B (zh) * | 2011-12-01 | 2015-07-15 | 慧荣科技股份有限公司 | 具有低密度奇偶校验码译码能力的存储器控制装置及方法 |
KR101685010B1 (ko) * | 2012-06-01 | 2016-12-13 | 한국전자통신연구원 | 지상파 클라우드 방송을 위한 ldpc 부호 |
BR112015027153B1 (pt) * | 2013-05-02 | 2021-12-14 | Sony Corp | Dispositivo e método de processamento de dados |
RU2013128346A (ru) * | 2013-06-20 | 2014-12-27 | ИЭмСи КОРПОРЕЙШН | Кодирование данных для системы хранения данных на основе обобщенных каскадных кодов |
TWI530959B (zh) * | 2014-06-17 | 2016-04-21 | 慧榮科技股份有限公司 | 用來控制一記憶裝置之方法以及記憶裝置與控制器 |
US10033407B2 (en) * | 2016-04-08 | 2018-07-24 | SK Hynix Inc. | Optimization of low density parity-check code encoder based on a search for an independent set of nodes |
CN107317587B (zh) * | 2016-04-27 | 2020-08-28 | 王晋良 | 低密度奇偶检查码的编解码方法 |
-
2018
- 2018-04-12 US US15/951,587 patent/US20190319638A1/en not_active Abandoned
- 2018-04-24 TW TW107113816A patent/TWI674766B/zh active
- 2018-08-15 CN CN201810928627.1A patent/CN110380734B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9722634B2 (en) * | 2013-10-14 | 2017-08-01 | Nec Corporation | Multiple component codes based generalized low-density parity-check codes for high-speed optical transport |
US20180076923A1 (en) * | 2016-09-12 | 2018-03-15 | Mediatek Inc. | Combined Coding Design For Efficient Codeblock Extension |
Also Published As
Publication number | Publication date |
---|---|
TW201944739A (zh) | 2019-11-16 |
CN110380734B (zh) | 2023-05-23 |
US20190319638A1 (en) | 2019-10-17 |
CN110380734A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103444087B (zh) | 使用弹性代码与柔性源块映射进行编码和解码 | |
JP4602418B2 (ja) | 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器 | |
US20160294419A1 (en) | Coding and decoding methods and apparatus | |
US20100218066A1 (en) | Encoding device and decoding device | |
CN108988869B (zh) | 一种确定校验矩阵的方法及装置、计算机存储介质 | |
WO2017194013A1 (zh) | 纠错编码方法及装置 | |
WO2018059548A1 (zh) | 数据发送方法、装置及信源 | |
CN105490771B (zh) | 一种lt喷泉码编码度分布的构造方法 | |
CN108282259B (zh) | 一种编码方法及装置 | |
WO2008086735A1 (fr) | Procédé de génération d'un paquet de demande de retransmission automatique hybride d'un code de vérification de parité faible densité | |
TWI580197B (zh) | 低密度奇偶檢查碼之編解碼方法 | |
JPWO2007080827A1 (ja) | 検査行列生成方法 | |
CN109478894B (zh) | 一种ldpc码的基矩阵生成方法、编译码方法及设备 | |
WO2018149411A1 (zh) | 数据处理方法及装置 | |
US20160105202A1 (en) | Coding and decoding methods and apparatus | |
CN107733440B (zh) | 多边类型结构化ldpc处理方法及装置 | |
CN108206722B (zh) | 高码率数据发送方法和装置 | |
US11303305B2 (en) | Sparse graph creation device and sparse graph creation method | |
WO2018161847A1 (zh) | 数据处理方法、数据处理装置和通信设备 | |
WO2018103638A1 (zh) | 数据传输的方法、发送设备、接收设备和通信系统 | |
CN107733439B (zh) | 一种ldpc编码方法、编码装置及通信设备 | |
TWI674766B (zh) | 低密度奇偶檢查碼之編碼及解碼方法 | |
WO2014005279A1 (zh) | 一种可精确再生的分布式存储码的构建方法及装置 | |
WO2017214851A1 (zh) | 一种信号传输的方法、发射端及接收端 | |
US10523239B2 (en) | Method for generating encoded data that is encoded based on low-density parity-check codes, and method for decoding the encoded data |