WO2009150707A1 - 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法 - Google Patents
検査行列の生成方法及び検査行列、並びに復号装置及び復号方法 Download PDFInfo
- Publication number
- WO2009150707A1 WO2009150707A1 PCT/JP2008/060546 JP2008060546W WO2009150707A1 WO 2009150707 A1 WO2009150707 A1 WO 2009150707A1 JP 2008060546 W JP2008060546 W JP 2008060546W WO 2009150707 A1 WO2009150707 A1 WO 2009150707A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- check matrix
- parity check
- matrix
- data
- decoding
- Prior art date
Links
Images
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/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- 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/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/255—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] codes
Definitions
- the present invention relates to a method for generating a check matrix for decoding data encoded by a Low Density Parity Check (LDPC) code, a check matrix generated by the method for generating the check matrix, and the check matrix.
- LDPC Low Density Parity Check
- the present invention relates to a technical field of a decoding device and a decoding method to be used.
- the LDPC code is an error correction code defined by a sparse check matrix in which the number of elements “1” is very small with respect to the number of elements “0”, and element “1” in each column of the check matrix. It has a property that there is a difference in error correction capability for each codeword bit after encoding depending on the number of (ie, column weights).
- the above-described check matrix is used for decoding data encoded by the LDPC code (see, for example, Patent Document 1).
- Various techniques for calculating likelihood values have been proposed in order to increase error correction capability in decoding (see, for example, Patent Documents 2 and 3).
- the technique of performing decoding based on the above-described modulation scheme is intended for modulation schemes in communication (so-called multi-level modulation).
- multi-level modulation For example, when decoding data modulated by a modulation method other than multi-level modulation often used for recording on a recording medium, the relationship between the modulation method and the influence of noise in the technique described above does not hold. Therefore, when decoding data demodulated by a modulation method other than multi-level modulation, there is a technical problem that the error correction capability may not be improved appropriately.
- the present invention has been made in view of the above-described problems, for example, a parity check matrix generation method and a parity check matrix, and a decoding apparatus and decoding method capable of improving error correction capability in decoding accompanied by demodulation. It is an issue to provide.
- the parity check matrix generation method of the present invention encodes data of a (where a is a natural number) bits b (provided that the data is encoded by a low-density parity check code).
- B is a natural number
- a method of generating a parity check matrix for decoding encoded modulation data modulated by converting to bit data, and corresponding to the same modulation symbol data in each row constituting the parity check matrix A parity check matrix generating step of generating the parity check matrix by determining each of the a elements to be 1 so that the number of elements to be 1 is 1 or less.
- a parity check matrix is generated for decoding encoded coded modulation data that has been encoded by the LDPC code.
- the modulation is performed by converting a (where a is a natural number) bit data, which is a modulation symbol unit, into b (where b is a natural number) bit data.
- the “modulation symbol” refers to the number of bits serving as a reference when performing modulation, and takes a different value depending on the modulation method.
- the maximum number of bits in a variable length RLL (Run-Length Limited) code that is, the maximum number of bits in a conversion table indicating a modulation rule) is included (see, for example, Patent Document 5).
- JP, 7-240691 A The coded modulation data is recorded on a recording medium etc. after encoding and modulation, for example, and is decoded when reproduced. Typically, the coded modulated data is demodulated before being decoded. At the time of demodulation, contrary to the above-described modulation, b-bit data is converted to a-bit data.
- information called a message is exchanged in a Tanner graph which is a bipartite graph including a plurality of check nodes and a plurality of variable nodes based on a check matrix. The message is sent along a branch (edge) connecting the check node and the variable node.
- the parity check matrix used in the above-described decoding is not more than one element that is “1” among a elements corresponding to the data of the same modulation symbol in each row constituting the parity check matrix. Has been generated to be.
- the element corresponding to the data of the same modulation symbol does not include two or more “1” s.
- the element “1” here means the presence of a branch in the Tanner graph.
- noise generated when encoded modulation data is recorded or reproduced has a very high probability of occurring in modulation symbol units. That is, there is a high possibility that an error will occur in the data every a bits.
- the parity check matrix is generated as described above, even if an error occurs in a data of the same modulation symbol and a erroneous likelihood value is generated, the a data Each of the a variable nodes corresponding to the likelihood values is not connected to the same check node. Therefore, a plurality of likelihood values among a number of erroneous likelihood values are not sent to one check node. Therefore, the specific gravity of an erroneous message at one check node can be reduced, and the error probability in decoding can be reduced.
- a parity check matrix can be suitably generated based on the modulation scheme. Therefore, it is possible to improve the error correction capability at the time of decoding.
- the method further includes a basic matrix generation step of generating a basic matrix, wherein the parity check matrix generation step is an integer whose elements and sizes are the modulation symbol unit a.
- the parity check matrix is generated by replacing the doubled zero matrix and the cyclic permutation matrix so that the value of each element of the basic matrix corresponds to the cyclic shift amount of the cyclic permutation matrix.
- the basic matrix that is the basis of the parity check matrix is generated before generating the parity check matrix.
- the parity check matrix is generated by replacing each element of the basic matrix with a zero matrix and a cyclic permutation matrix.
- the “cyclic permutation matrix” is a square matrix in which there is only one “1” in each row and each column of a unit matrix, for example, and the “zero matrix” is the same size as the cyclic permutation matrix (ie, , The number of rows and the number of columns) is a square matrix whose elements are “0”.
- the parity check matrix here is a parity check matrix corresponding to a so-called QC (Quasi Cyclic) -LDPC code.
- the “cyclic shift amount” is a value indicating how many times the cyclic permutation matrix is cyclically shifted. For example, when the element in the basic matrix is “1”, the cyclic permutation matrix is once in the right direction. Replaced with a cyclically shifted matrix. For example, when the element is a negative value or the like and cannot correspond to the cyclic shift amount, the zero matrix is replaced.
- the size of the zero matrix to be replaced and the cyclic permutation matrix are integer multiples of the modulation symbol unit a. Therefore, among the a elements corresponding to the data of the same modulation symbol in each row constituting the check matrix, the number of elements that are “1” is 1 or less. Therefore, it is possible to improve the error correction capability at the time of decoding.
- the method further includes a base matrix generation step of generating a base matrix having the same number of rows and columns as the check matrix, and the check matrix generation step includes the base matrix generation step.
- the inspection is performed by exchanging the columns constituting each of the columns so that the number of elements that become 1 is 1 or less among the a elements corresponding to the data of the same modulation symbol in each row constituting the basic matrix. Generate a matrix.
- the basic matrix that is the basis of the parity check matrix is generated.
- the basic matrix has the same number of rows and columns as the parity check matrix, and includes elements “0” and “1”. Then, in this basic matrix, the columns are interchanged with each other so that the number of elements that become 1 among the a elements corresponding to the same modulation symbol data in each row constituting the basic matrix is 1 or less. Therefore, among the a elements corresponding to the data of the same modulation symbol in each row constituting the parity check matrix, the element that is “1” is surely set to one or less. Therefore, it is possible to improve the error correction capability at the time of decoding.
- the parity check matrix generation method of this aspect can be applied to, for example, a parity check matrix generation method proposed by Gallager (so-called a parity check matrix generation method corresponding to a Gallager code).
- the parity check matrix generation step includes: arrayLDPC by arranging a cyclic permutation matrix whose size is an integer multiple of the modulation symbol unit a based on a predetermined rule. A check matrix corresponding to the code is generated.
- a check matrix corresponding to the ArrayLDPC code is generated by arranging a plurality of cyclic permutation matrices based on a predetermined rule. Specifically, for example, if the size of the cyclic permutation matrix is p, a cyclic permutation matrix that is not cyclically shifted is arranged in p rows from the top of the check matrix.
- a cyclic permutation matrix that is not cyclically shifted is arranged on the leftmost side, and then a cyclic permutation matrix that is cyclically shifted once, a cyclic permutation matrix that is shifted twice, and a cyclic shift matrix that is shifted three times They are arranged in the order of the permutation matrix.
- a cyclic permutation matrix that is not cyclically shifted is arranged on the leftmost side, and then a cyclic permutation matrix that is cyclically shifted twice, a cyclic permutation matrix that is shifted three times, and a cyclic shift matrix that is shifted four times They are arranged in the order of the permutation matrix.
- the size of the cyclic permutation matrix to be replaced (that is, the number of rows and columns) is an integral multiple of the modulation symbol unit a. Therefore, among the a elements corresponding to the data of the same modulation symbol in each row constituting the check matrix, the number of elements that are “1” is 1 or less. Therefore, it is possible to improve the error correction capability at the time of decoding.
- the coded modulated data is interleaved (ie, rearranged) by the function f (x). Since the encoded modulation data is interleaved, for example, even when errors occur intensively at a specific portion of the data, it is possible to suitably correct the errors.
- a parity check matrix is generated so that one of the a elements corresponding to the data of the same modulation symbol in each row is 1 or less, and then the parity check matrix is configured.
- the columns are interchanged with each other based on the function f ⁇ 1 (x).
- the modulation symbol is the maximum number of bits in modulation using a variable length RLL code.
- variable length RLL code is generated so that the number of elements that are “1” among the a elements that are the maximum number of bits when the variable length RLL code is used as a modulation rule is 1 or less. For this reason, it is possible to improve error correction capability when a variable length RLL code is used as a modulation rule. That is, it is possible to effectively improve the error correction capability by utilizing the high possibility that an error will occur in the data for every a bits that is the maximum number of bits.
- the parity check matrix of the present invention is encoded by a low-density parity check code and a (where a is a natural number) bits of data b (where b is a natural number).
- the parity check matrix of the present invention is generated by determining each element so that the number of elements that become 1 is 1 or less among a elements corresponding to the same modulation symbol data in each row constituting the parity check matrix. Has been. Therefore, in the same way as the check matrix generation method of the present invention described above, the ease of occurrence of errors depending on the modulation method is considered. Therefore, it is possible to improve the error correction capability at the time of decoding.
- check matrix of the present invention can take the same various aspects as the check matrix generation method of the present invention described above.
- the decoding apparatus of the present invention is encoded by a low-density parity check code based on the above-described check matrix of the present invention (including various aspects thereof), And a decoding means for decoding the coded modulated data modulated by converting the data of a (where a is a natural number) bits into data of b (where b is a natural number) bits.
- the above-described parity check matrix of the present invention is used when decoding the encoded modulation data. Therefore, it is possible to improve the error correction capability at the time of decoding.
- a which is a modulation symbol unit may be the maximum number of bits.
- the decoding device of the present invention may be configured to include demodulation means for demodulating the modulated data.
- the decoding method of the present invention is encoded by a low-density parity check code based on the above-described check matrix of the present invention (including various aspects thereof),
- the above-described parity check matrix of the present invention is used when decoding encoded modulation data. Therefore, it is possible to improve the error correction capability at the time of decoding.
- a which is a modulation symbol unit may be the maximum number of bits.
- FIG. 4 is a conceptual diagram of input data before modulation and data after modulation. It is a flowchart which shows the flow of the production
- FIG. 7 is a Tanner graph corresponding to the parity check matrix shown in FIG. 6. It is FIG.
- (1) which shows an example of the check matrix produced
- FIG. 1 is a block diagram showing the flow of data encoding and decoding together with the device configuration
- FIG. 2 is a conceptual diagram showing input data before modulation and data after modulation.
- data decoded by the decoding apparatus is first encoded by the LDPC encoder 110. That is, an LDPC code to which the parity of the LDPC code is added is generated. Subsequently, the encoded data is modulated in the modulator 120. During modulation, a-bit data, which is a unit of a modulation symbol, is converted into b-bit data.
- the modulated data is provided with a marker for position correction at the time of detection, a sync pattern for synchronization detection, and the like in the marker adding unit 130. Thereafter, the data is recorded in the holographic memory 200.
- a reproduction signal reproduced from the holographic memory 200 is converted into a reproduction sample value series by an A / D (Analog-to-Digital) converter (not shown), for example.
- the reproduction sample value series is subjected to a geometric correction process by detecting a marker in the marker detection unit 140, or a process for obtaining synchronization by detecting a sync pattern. Is extracted.
- the modulated sample value series is demodulated by a demodulator 150 made up of a SISO (Soft-In-Soft-Out) demodulator, for example, and output as a demodulated sample value series.
- the SISO demodulator performs maximum likelihood decoding by, for example, Viterbi decoding, but the output is not binary data as in normal Viterbi decoding, but multilevel data.
- the SISO demodulator can be realized by a decoder using, for example, the BCJR algorithm.
- the LDPC decoder 160 is an example of the “decoding unit” of the present invention, and decodes the input demodulated sample value series (that is, likelihood information) based on the check matrix H that defines the LDPC code. Specifically, iterative decoding is performed by exchanging messages such as a priori value ratio and an external value on a Tanner graph that is a bipartite graph corresponding to a parity check matrix. Messages are exchanged between variable nodes and check nodes in the Tanner graph through branches provided corresponding to the element “1” in the check matrix H.
- the maximum posterior probability is obtained by, for example, Sum-Product decoding.
- the syndrome calculation of the temporary estimated word generated from the code bits obtained by the Sum-Product decoding becomes “0”
- LDPC correction data binary value
- iterative decoding is performed up to a predetermined maximum number of times, and the syndrome calculation is performed each time. When the number of iterations reaches the maximum predetermined number, error processing is performed and the process proceeds to the subsequent stage.
- FIG. 3 is a flowchart showing the flow of the check matrix generation method according to the first embodiment.
- FIG. 4 is a diagram illustrating a basic matrix that is a base of a parity check matrix
- FIG. 5 is a diagram illustrating an example of a parity check matrix configured by a cyclic permutation matrix. In the following, a case where a parity check matrix corresponding to a QC-LDPC code is generated will be described.
- the coding rate R, the code length N, and the number M of check bits are determined (step S11).
- the size of the base matrix H base number of rows m and columns n, and cyclic permutation matrix to be substituted for each element of the base matrix H base i.e., the number of rows and number of columns
- p the number of rows and number of columns
- the number of elements that are “1” is surely one or less.
- “a” may be the maximum number of bits in the variable length RLL code.
- step S13 elements of the basic matrix H base satisfying the column weight (that is, the number of “1” in each column constituting the parity check matrix) and the row weight (ie, the number of “1” in each row constituting the parity check matrix).
- step S14 cyclic shift amounts from "0" to "p-1" assigned to each of the selected elements are selected based on random numbers.
- the cyclic shift amount is selected so that the loop does not become “4” (that is, the branch is not moved back to the original node by moving four branches on the Tanner graph).
- check matrix H is generated by replacing the elements of the basic matrix H base with the zero matrix and the cyclic permutation matrix (step S15).
- the H base shown in FIG. 4 is replaced by a zero matrix and a cyclic permutation matrix in which each element has 4 rows and 4 columns (that is, the size p is 4).
- the zero matrix is indicated by “0”, and in other cyclic permutation matrices, the element “0” is omitted and only the element “1” is indicated.
- the modulation in the modulator 120 is (2, 4) modulation
- a plurality of “1” s are not included in the elements corresponding to the data of the same modulation symbol in each row (that is, two elements adjacent to each other).
- FIG. 6 is a diagram illustrating an example of the parity check matrix generated by the generation method according to the present embodiment
- FIG. 7 is a Tanner graph corresponding to the parity check matrix illustrated in FIG.
- FIG. 8 is a diagram illustrating an example of a parity check matrix generated by the generation method according to the comparative example
- FIG. 9 is a Tanner graph corresponding to the parity check matrix illustrated in FIG.
- FIG. 10 is a graph showing the relationship between the bit error rate and the signal-to-noise ratio in decoding.
- the modulator 120 see FIG. 1 performs (2, 4) modulation will be described as an example.
- a check matrix Ha as shown in FIG. 6 is generated by the check matrix generation method according to the present embodiment described above, for example. Then, the Tanner graph corresponding to the check matrix Ha is as shown in FIG. A check node in the Tanner graph corresponds to each row of the check matrix Ha, and a variable node corresponds to each column of the check matrix Ha. A branch exists only in a portion where the element is set to “1”.
- the check matrix Ha shown in FIG. 6 does not include a plurality of “1” s in elements corresponding to the data of the same modulation symbol in each row. Specifically, a plurality of “1” s are not included in the same row among elements surrounded by a broken line in the figure. Therefore, in the Tanner graph shown in FIG. 7, no edge is connected to the same check node from the variable node corresponding to the data of the same modulation symbol.
- a check matrix Hb as shown in FIG. 8 is generated by a generation method other than the check matrix according to the present embodiment described above, for example.
- the Tanner graph corresponding to the check matrix Hb is as shown in FIG.
- the check matrix Hb includes a plurality of “1” s in elements corresponding to data of the same modulation symbol in each row. Therefore, in the Tanner graph shown in FIG. 9, unlike the Tanner graph shown in FIG. 7, an edge may be connected from the variable node corresponding to the data of the same modulation symbol to the same check node.
- the weight of an erroneous message can be reduced.
- the bit error rate when the signal-to-noise ratio is the same is higher when decoding with the check matrix Ha than when decoding with the check matrix Hb. Things are always smaller.
- FIG. 11 is a diagram illustrating an example of the parity check matrix generated by the generation method according to the present embodiment
- FIG. 12 is a Tanner graph corresponding to the parity check matrix illustrated in FIG.
- FIG. 13 is a diagram illustrating an example of a parity check matrix generated by the generation method according to the comparative example
- FIG. 14 is a Tanner graph corresponding to the parity check matrix illustrated in FIG.
- FIG. 15 is a graph showing the relationship between the bit error rate and the signal-to-noise ratio in decoding.
- a check matrix Ha as shown in FIG. 11 is generated by the check matrix generation method according to the present embodiment described above, for example. Then, the Tanner graph corresponding to the check matrix Ha is as shown in FIG.
- Check matrix Ha shown in FIG. 11 does not include a plurality of “1” s in elements corresponding to data of the same modulation symbol in each row. Specifically, a plurality of “1” s are not included in the same row among elements surrounded by a broken line in the figure. Therefore, in the Tanner graph shown in FIG. 12, the edge is not connected to the same check node from the variable node corresponding to the data of the same modulation symbol.
- a check matrix Hb as shown in FIG. 13 is generated by a generation method other than the check matrix according to the present embodiment described above, for example.
- the Tanner graph corresponding to the check matrix Hb is as shown in FIG.
- the check matrix Hb includes a plurality of “1” s in elements corresponding to data of the same modulation symbol in each row. Therefore, in the Tanner graph shown in FIG. 14, unlike the Tanner graph shown in FIG. 12, an edge may be connected from the variable node corresponding to the data of the same modulation symbol to the same check node.
- an error has occurred in one modulation symbol in the data to be decoded, and six likelihood values ( ⁇ Er1 to ⁇ 1) generated from the erroneous modulation symbol are generated for the variable node.
- Er6 is input.
- an edge may be connected from the variable node corresponding to the data of the same modulation symbol to the same check node. Therefore, a plurality of six likelihood values ( ⁇ Er1 to ⁇ Er6 ) generated from an erroneous modulation symbol may be sent to the same check node.
- all the likelihood values ( ⁇ Er1 to ⁇ Er6 ) are included in messages exchanged at the edges indicated by arrows in FIG.
- two or more erroneous likelihood values may be included.
- the parity check matrix is suitably generated based on the modulation scheme, so that the error correction capability can be improved.
- FIG. 16 is a flowchart showing a flow of a parity check matrix generation method according to the second embodiment
- FIG. 17 is a diagram showing one block in the basic matrix H ′. Note that the second embodiment differs from the first embodiment described above in the generation method of the check matrix used for decoding, and the apparatus configuration and decoding method are generally the same. Therefore, a different part from 1st Embodiment is demonstrated in detail here, and description is abbreviate
- a check matrix corresponding to the Gallager code is used.
- the column weight W col the row weight W row , the coding rate R, the code length N, and the number of check bits M are first determined (step S21).
- the basic matrix H ′ having the same size as the parity check matrix H is divided into W col blocks (step S22).
- each block is "1" W row number sequence sequentially, a row are all the rest “0", the line W A row that is cyclically shifted by row, a row that is cyclically shifted by Wrow, and so on are configured (step S23).
- the basic matrix H ′ is column-replaced so that a plurality of “1” s are not included in the elements corresponding to the data of the same modulation symbol in each row (step S 24).
- the error rate can be reduced.
- the parity check matrix is suitably generated based on the modulation scheme as in the first embodiment described above, so that the error correction capability is improved. It is possible.
- FIG. 18 is a diagram illustrating an example of a parity check matrix generated by the parity check matrix generation method according to the third embodiment
- FIG. 19 is a diagram illustrating a cyclic permutation matrix constituting the parity check matrix.
- the third embodiment differs from the first and second embodiments described above in the method of generating a check matrix used for decoding, and the apparatus configuration and decoding method are generally the same. Therefore, a different part from embodiment mentioned above is demonstrated in detail here, and description is abbreviate
- the decoding apparatus uses a check matrix corresponding to the ArrayLDPC code.
- the parity check matrix H corresponding to the ArrayLDPC code is a matrix in which a unit matrix I and ⁇ x that is a cyclic permutation matrix of the unit matrix I are arranged as shown in FIG.
- the subscript x of the cyclic permutation matrix ⁇ x represents the cyclic shift amount. For example, ⁇ 1 is obtained by cyclically shifting the unit matrix to the right once as shown in FIG.
- the subscript j in FIG. 18 represents the column weight
- k represents the row weight.
- the size of the unit matrix I and the cyclic permutation matrix ⁇ x described above is an integral multiple of a which is a unit of the modulation symbol. Therefore, as in the first embodiment described above, it is possible to prevent a plurality of “1” s from being included in the elements corresponding to the data of the same modulation symbol in each row. Therefore, in decoding using the parity check matrix H generated by the parity check matrix generation method according to the present embodiment, the error rate can be reduced.
- the parity check matrix is suitably generated based on the modulation scheme, as in the first and second embodiments described above, and thus the error correction capability. It is possible to improve.
- FIG. 20 is a block diagram showing the flow of data encoding and decoding together with the device configuration
- FIG. 21 is a flowchart showing the flow of the check matrix generation method according to the fourth embodiment.
- the fourth embodiment differs from the above-described embodiments in the generation method of the check matrix used for decoding, and the decoding method and the like are substantially the same. Therefore, here, a different part from embodiment mentioned above is demonstrated in detail, and description is abbreviate
- data decoded by the decoding device is encoded by the LDPC encoder 110 at the time of recording and then interleaved by the interleaver 170.
- the interleaver 170 rearranges the arrangement of the input data based on the arrangement position function f (x).
- the data is demodulated by the demodulator 150 and then deinterleaved by the deinterleaver 180.
- the deinterleaver 180 rearranges the arrangement of the input data based on the arrangement position function f ⁇ 1 (x).
- step S11 to step S15 the processing from step S11 to step S15 is performed to generate the parity check matrix H as in the first embodiment, and then the arrangement in the deinterleaver 180 is performed. Based on the position function f ⁇ 1 (x), the columns are exchanged with each other (step S16). As a result, even when data is interleaved and recorded, the error rate can be suitably reduced during decoding. That is, even when data is rearranged, an appropriate parity check matrix H can be generated if the data is rearranged.
- the parity check matrix is suitably generated based on the modulation scheme as in the first to third embodiments described above. It is possible to improve.
- the present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the gist or concept of the invention that can be read from the claims and the entire specification, and generation of a check matrix with such a change
- a method and a check matrix, and a decoding apparatus and method are also included in the technical scope of the present invention.
- parity check matrix generation method and parity check matrix, decoding apparatus, and decoding method according to the present invention are used for recording and reproduction on recording media such as next-generation optical discs, holographic memories, ferroelectric probe memories, and HDDs (Hard Disc Drives) Is available. It can also be used in fields where LDPC and BCH are standardized in communications, broadcasting, and the like.
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
120 モジュレータ
130 マーカ付与部
140 マーカ検出部
150 デモジュレータ
160 LDPCデコーダ
170 インターリーバ
180 デインターリーバ
200 ホログラフィックメモリ
先ず、第1実施形態に係る復号装置の構成及びデータの符号化から復号までの流れについて、図1及び図2を参照して説明する。ここに図1は、データの符号化及び復号の流れを装置構成と共に示すブロック図であり、図2は、変調前の入力データ及び変調後のデータを概念図である。
次に、第2実施形態に係る復号装置について、図16及び図17を参照して説明する。ここに図16は、第2実施形態に係る検査行列の生成方法の流れを示すフローチャートであり、図17は、基礎行列H’における一のブロックを示す図である。尚、第2実施形態は、上述した第1実施形態と比べて、復号の際に用いる検査行列の生成方法が異なり、装置構成や復号方法等は概ね同じである。よって、ここでは第1実施形態と異なる部分について詳細に説明し、他の重複する部分については適宜説明を省略する。
次に、第3実施形態に係る復号装置について、図18及び図19を参照して説明する。ここに図18は、第3実施形態に係る検査行列の生成方法によって生成される検査行列の一例を示す図であり、図19は、検査行列を構成する巡回置換行列を示す図である。尚、第3実施形態は、上述した第1及び第2実施形態と比べて、復号の際に用いる検査行列の生成方法が異なり、装置構成や復号方法等は概ね同じである。よって、ここでは上述した実施形態と異なる部分について詳細に説明し、他の重複する部分については適宜説明を省略する。
次に、第4実施形態に係る復号装置について、図20及び図21を参照して説明する。ここに図20は、データの符号化及び復号の流れを装置構成と共に示すブロック図であり、図21は、第4実施形態に係る検査行列の生成方法の流れを示すフローチャートである。尚、第4実施形態は、上述した実施形態と比べて、復号の際に用いる検査行列の生成方法が異なり、復号方法等は概ね同じである。よって、ここでは上述した実施形態と異なる部分について詳細に説明し、他の重複する部分については適宜説明を省略する。また、図20及び図21では、図1及び図3で示した第1実施形態と同様の構成要素に同一の符号を付している。
Claims (9)
- 低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたa(但し、aは自然数)ビットのデータをb(但し、bは自然数)ビットのデータへと変換することで変調された符号化変調データを復号する検査行列の生成方法であって、
前記検査行列を構成する各行における同一の前記変調シンボルのデータに対応するa個の要素のうち、1となる要素が1個以下となるように各要素を決定することで前記検査行列を生成する検査行列生成工程
を含むことを特徴とする検査行列の生成方法。 - 基本行列を生成する基本行列生成工程を更に含み、
前記検査行列生成工程は、前記基本行列の各要素と大きさが前記変調シンボル単位aの整数倍であるゼロ行列及び巡回置換行列とを、前記基本行列の各要素の値と前記巡回置換行列の巡回シフト量とが対応するように置換することで前記検査行列を生成する
ことを特徴とする請求の範囲第1項に記載の検査行列の生成方法。 - 前記検査行列と行数及び列数が同じである基礎行列を生成する基礎行列生成工程を更に含み、
前記検査行列生成工程は、前記基礎行列を構成する各列を、前記基礎行列を構成する各行における同一の前記変調シンボルのデータに対応するa個の要素のうち、1となる要素が1個以下となるように互いに入れ替えることにより前記検査行列を生成する
ことを特徴とする請求の範囲第1項に記載の検査行列の生成方法。 - 前記検査行列生成工程は、大きさが前記変調シンボル単位aの整数倍である巡回置換行列を所定の法則に基づいて配列することによって、ArrayLDPC符号に対応する検査行列を生成することを特徴とする請求の範囲第1項に記載の検査行列の生成方法。
- 前記符号化変調データは、関数f(x)によってインターリーブされており、
前記検査行列生成工程の後に、前記検査行列を構成する各要素を、下記の式、
x=f{f-1(x)}=f-1{f(x)}
を満足するような関数f-1(x)に基づいて互いに入れ替える入替工程
を更に含むことを特徴とする請求の範囲第1項に記載の検査行列の生成方法。 - 前記変調シンボルは、可変長RLL符号を用いる変調における最大ビット数であることを特徴とする請求の範囲第1項に記載の検査行列の生成方法。
- 低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたa(但し、aは自然数)ビットのデータをb(但し、bは自然数)ビットのデータへと変換することで変調された符号化変調データを復号する検査行列であって、
当該検査行列を構成する各行における同一の前記変調シンボルのデータに対応するa個の要素のうち、1となる要素が1個以下となるように各要素を決定することで生成されていることを特徴とする検査行列。 - 請求の範囲第6項に記載の検査行列に基づいて、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたa(但し、aは自然数)ビットのデータをb(但し、bは自然数)ビットのデータへと変換することで変調された符号化変調データを復号する復号手段を備えることを特徴とする復号装置。
- 請求の範囲第6項に記載の検査行列に基づいて、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたa(但し、aは自然数)ビットのデータをb(但し、bは自然数)ビットのデータへと変換することで変調された符号化変調データを復号する復号工程を含むことを特徴とする復号方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010516669A JP5009418B2 (ja) | 2008-06-09 | 2008-06-09 | 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法 |
PCT/JP2008/060546 WO2009150707A1 (ja) | 2008-06-09 | 2008-06-09 | 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法 |
US12/996,682 US20110113312A1 (en) | 2008-06-09 | 2008-06-09 | Check matrix generating method, check matrix, decoding apparatus, and decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2008/060546 WO2009150707A1 (ja) | 2008-06-09 | 2008-06-09 | 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009150707A1 true WO2009150707A1 (ja) | 2009-12-17 |
Family
ID=41416432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2008/060546 WO2009150707A1 (ja) | 2008-06-09 | 2008-06-09 | 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110113312A1 (ja) |
JP (1) | JP5009418B2 (ja) |
WO (1) | WO2009150707A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015513866A (ja) * | 2012-03-08 | 2015-05-14 | マイクロン テクノロジー, インク. | エラーコード化スキームと変調スキームを組合せるための装置及び方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101948952B1 (ko) * | 2014-01-09 | 2019-02-15 | 에스케이하이닉스 주식회사 | 인코딩 장치 및 메시지 매트릭스 생성 방법 |
CN114244374B (zh) * | 2021-11-22 | 2022-08-05 | 成都博尔微晶科技有限公司 | 一种校验矩阵生成方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003115768A (ja) * | 2001-07-11 | 2003-04-18 | Internatl Business Mach Corp <Ibm> | データの低密度パリティ検査符号化方法および装置 |
JP2005302079A (ja) * | 2004-04-06 | 2005-10-27 | Samsung Electronics Co Ltd | ホログラム媒体記録再生装置およびホログラム媒体再生装置 |
JP2007166425A (ja) * | 2005-12-15 | 2007-06-28 | Fujitsu Ltd | 符号器および復号器 |
WO2007088870A1 (ja) * | 2006-02-02 | 2007-08-09 | Mitsubishi Electric Corporation | 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5969649A (en) * | 1998-02-17 | 1999-10-19 | International Business Machines Corporation | Run length limited encoding/decoding with robust resync |
US6662331B1 (en) * | 2000-10-27 | 2003-12-09 | Qualcomm Inc. | Space-efficient turbo decoder |
US6633856B2 (en) * | 2001-06-15 | 2003-10-14 | Flarion Technologies, Inc. | Methods and apparatus for decoding LDPC codes |
US6829308B2 (en) * | 2002-07-03 | 2004-12-07 | Hughes Electronics Corporation | Satellite communication system utilizing low density parity check codes |
US6961888B2 (en) * | 2002-08-20 | 2005-11-01 | Flarion Technologies, Inc. | Methods and apparatus for encoding LDPC codes |
US6957375B2 (en) * | 2003-02-26 | 2005-10-18 | Flarion Technologies, Inc. | Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation |
KR100955952B1 (ko) * | 2003-10-13 | 2010-05-19 | 삼성전자주식회사 | 무선 통신 시스템에서 리프팅 저밀도 패러티 검사 부호를이용한 시공간 부호화 방법 및 장치 |
KR100922956B1 (ko) * | 2003-10-14 | 2009-10-22 | 삼성전자주식회사 | 저밀도 패리티 검사 코드의 부호화 방법 |
KR101009785B1 (ko) * | 2003-12-10 | 2011-01-19 | 삼성전자주식회사 | 불균일 반복 축적 부호 부호화/복호화 장치 및 방법 |
KR100630177B1 (ko) * | 2004-02-06 | 2006-09-29 | 삼성전자주식회사 | 최대 다이버시티 이득을 가지는 시공간 저밀도 패리티검사 부호 부호화/복호화 장치 및 방법 |
CA2559818C (en) * | 2004-04-28 | 2011-11-29 | Samsung Electronics Co., Ltd. | Apparatus and method for coding/decoding block low density parity check code with variable block length |
KR20050118056A (ko) * | 2004-05-12 | 2005-12-15 | 삼성전자주식회사 | 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치 |
US7526717B2 (en) * | 2004-06-16 | 2009-04-28 | Samsung Electronics Co., Ltd. | Apparatus and method for coding and decoding semi-systematic block low density parity check codes |
US7581157B2 (en) * | 2004-06-24 | 2009-08-25 | Lg Electronics Inc. | Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system |
RU2348103C2 (ru) * | 2004-08-10 | 2009-02-27 | Самсунг Электроникс Ко., Лтд. | Устройство и способ кодирования и декодирования блочного кода разреженного контроля четности |
FI121431B (fi) * | 2004-09-13 | 2010-11-15 | Tamfelt Pmc Oy | Paperikoneessa käytettävä kudosrakenne ja menetelmä sen valmistamiseksi |
US7996746B2 (en) * | 2004-10-12 | 2011-08-09 | Nortel Networks Limited | Structured low-density parity-check (LDPC) code |
US7752521B2 (en) * | 2004-10-12 | 2010-07-06 | Nortel Networks Limited | Low density parity check (LDPC) code |
KR100913876B1 (ko) * | 2004-12-01 | 2009-08-26 | 삼성전자주식회사 | 저밀도 패리티 검사 부호의 생성 방법 및 장치 |
US7617439B2 (en) * | 2005-01-10 | 2009-11-10 | Broadcom Corporation | Algebraic construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices |
US7441178B2 (en) * | 2005-02-24 | 2008-10-21 | Keyeye Communications | Low complexity decoding of low density parity check codes |
JP2007087530A (ja) * | 2005-09-22 | 2007-04-05 | Rohm Co Ltd | 信号復号方法、信号復号装置および信号記憶システム |
US7668248B2 (en) * | 2005-10-19 | 2010-02-23 | Texas Instruments Incorporated | High-performance LDPC coding for digital communications in a multiple-input, multiple-output environment |
US8151161B2 (en) * | 2005-12-27 | 2012-04-03 | Lg Electronics Inc. | Apparatus and method for decoding using channel code |
US7530002B2 (en) * | 2006-01-03 | 2009-05-05 | Broadcom Corporation | Sub-matrix-based implementation of LDPC (Low Density Parity Check) decoder |
KR101191196B1 (ko) * | 2006-06-07 | 2012-10-15 | 엘지전자 주식회사 | 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법 |
KR100834650B1 (ko) * | 2006-09-04 | 2008-06-02 | 삼성전자주식회사 | 통신 시스템에서 신호 송수신 장치 및 방법 |
KR100808664B1 (ko) * | 2006-12-08 | 2008-03-07 | 한국전자통신연구원 | 패리티 검사행렬 저장 방법 및 이를 이용한 블록 저밀도패리티 검사 부호화 방법 및 장치 |
US8065598B1 (en) * | 2007-02-08 | 2011-11-22 | Marvell International Ltd. | Low latency programmable encoder with outer systematic code and low-density parity-check code |
-
2008
- 2008-06-09 JP JP2010516669A patent/JP5009418B2/ja not_active Expired - Fee Related
- 2008-06-09 US US12/996,682 patent/US20110113312A1/en not_active Abandoned
- 2008-06-09 WO PCT/JP2008/060546 patent/WO2009150707A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003115768A (ja) * | 2001-07-11 | 2003-04-18 | Internatl Business Mach Corp <Ibm> | データの低密度パリティ検査符号化方法および装置 |
JP2005302079A (ja) * | 2004-04-06 | 2005-10-27 | Samsung Electronics Co Ltd | ホログラム媒体記録再生装置およびホログラム媒体再生装置 |
JP2007166425A (ja) * | 2005-12-15 | 2007-06-28 | Fujitsu Ltd | 符号器および復号器 |
WO2007088870A1 (ja) * | 2006-02-02 | 2007-08-09 | Mitsubishi Electric Corporation | 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015513866A (ja) * | 2012-03-08 | 2015-05-14 | マイクロン テクノロジー, インク. | エラーコード化スキームと変調スキームを組合せるための装置及び方法 |
US9251000B2 (en) | 2012-03-08 | 2016-02-02 | Micron Technology, Inc. | Apparatuses and methods for combining error coding and modulation schemes |
Also Published As
Publication number | Publication date |
---|---|
US20110113312A1 (en) | 2011-05-12 |
JP5009418B2 (ja) | 2012-08-22 |
JPWO2009150707A1 (ja) | 2011-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4879323B2 (ja) | 誤り訂正復号装置および再生装置 | |
TWI604698B (zh) | 具有錯誤校正處置之低密度同位檢查解碼器 | |
US8929009B2 (en) | Irregular low density parity check decoder with low syndrome error handling | |
US7849388B2 (en) | Signal decoding method and device, and signal storage system | |
US20070011565A1 (en) | Method and apparatus for low-density parity check encoding | |
WO2014017102A1 (ja) | 送信方法、受信方法、送信機、及び受信機 | |
EP2343705B1 (en) | Data processing device, method, and program | |
KR20080048988A (ko) | 무-충돌 불규칙-반복-누산 코드 | |
US20110083058A1 (en) | Trapping set based ldpc code design and related circuits, systems, and methods | |
KR102567916B1 (ko) | 송신 장치 및 그의 신호 처리 방법 | |
JP5031100B2 (ja) | ビット・ストリームの変調コーディング及びデコーディング方法、装置、及びシステム(変調コーディング及びデコーディング) | |
JP5009418B2 (ja) | 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法 | |
US20110080669A1 (en) | Constrained on-the-fly interleaver address generator circuits, systems, and methods | |
KR20150134505A (ko) | 송신 장치 및 그의 신호 처리 방법 | |
JP4645645B2 (ja) | 復号装置及び検査行列生成方法 | |
US9419653B1 (en) | Systems and methods for combining constrained codes and error correcting codes | |
Han et al. | Concatenating a structured LDPC code and a constrained code to preserve soft-decoding, structure, and burst correction | |
WO2010043569A2 (en) | Method for generating a code and method for encoding | |
JP4618293B2 (ja) | 復号装置及び検査行列生成方法 | |
JP2016149703A (ja) | 符号化装置、復号化装置、符号化方法、及び復号化方法 | |
KR101234373B1 (ko) | 다차원 격자-rs 연접 부호의 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치를 위한 오류 정정 회로, 및 플래쉬 메모리 장치 | |
JP2004040701A (ja) | トレリス構造を有する符号化方式とパリティ検査符号による連接符号化方式の復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08765337 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010516669 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12996682 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 08765337 Country of ref document: EP Kind code of ref document: A1 |