WO2014021558A1 - Procédé et appareil de codage/décodage utilisant un code inversé rare - Google Patents

Procédé et appareil de codage/décodage utilisant un code inversé rare Download PDF

Info

Publication number
WO2014021558A1
WO2014021558A1 PCT/KR2013/005662 KR2013005662W WO2014021558A1 WO 2014021558 A1 WO2014021558 A1 WO 2014021558A1 KR 2013005662 W KR2013005662 W KR 2013005662W WO 2014021558 A1 WO2014021558 A1 WO 2014021558A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
matrix
row
generated
length
Prior art date
Application number
PCT/KR2013/005662
Other languages
English (en)
Korean (ko)
Inventor
최수정
Original Assignee
Choi Sujeong
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 Choi Sujeong filed Critical Choi Sujeong
Publication of WO2014021558A1 publication Critical patent/WO2014021558A1/fr

Links

Images

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
    • 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

Definitions

  • the present invention relates to a method and apparatus for encoding / decoding using a low density inverse code, wherein a matrix is generated using a message block using original message data, and an inverse matrix of the generated matrix and data density are used.
  • a method and apparatus for encoding / decoding using a low density inverse code that can easily encode and decode a message using
  • bit error rates (BERs) of digital transmission information are reduced by transmitting a code sequence encoding an input information sequence.
  • turbo coding As a coding method exhibiting performance near the Shannon limit, for example, a method called so-called turbo coding such as parallel concatenated convolutional codes or serial concatenated convolutional codes. Is being developed.
  • LDPC low-density parity-check code
  • the LDPC code is a coding method proposed in 1963 by R.G.Gallager and has been found to have a very good decoding performance.
  • recent studies have shown that LDPC codes have a performance close to Shannon's limit as the code length increases in codes having low code rates.
  • the need for a coding method in which the decoding process can be significantly reduced from the encoding stage and the data decoding performance is significantly improved in the decoding stage is also increasing.
  • the present invention is to solve such a problem, the present invention is to cut the original message data into a plurality of blocks by a predetermined rule, to generate a message block using the cut block, a low-density matrix using the message block Low density to significantly reduce the computation used for encoding by generating a matrix and obtaining an inverse matrix of the generated matrix, and then encoding using a low density inverse matrix by applying an operation of modulus 2 to 2
  • An object of the present invention is to provide a coding method using sparse inverse code.
  • the present invention generates a data encoded by the encoding method as a matrix, and by decoding the data based on the density (density) of each row in the generated matrix, a complex calculation process is omitted to improve the decoding performance
  • An object of the present invention is to provide a decoding method using a sparse inverse code that can be remarkably improved.
  • an object of the present invention is to provide an encoding / decoding apparatus using a low density inverse code for executing the encoding / decoding method.
  • a kth row in which n bits of input data received from the outside are arranged in n columns, Generating a first matrix of size nxn consisting of each row except for a column in which '1' exists for the first time in the k-th row, and the remaining rows configured to have only one '1' in each column; Obtaining an inverse matrix of the first matrix and generating a second matrix by applying a modulus operation of 2 to the inverse matrix; And generating and transmitting a codeword using the second matrix.
  • the first matrix generated in the step of generating the first matrix is '1' present in the remaining rows except for the k row, except that the first '1' appears in the kth row, It can be configured to have one '1' in each row and each column in the order or the order of the columns.
  • the method may further include outputting message blocks including at least one '1' among the generated message blocks as input data.
  • the step of chopping the received original message data into a plurality of blocks may be performed when a bit of '1' appears based on the first bit of the received original message data. Each time, a method of cutting between the bit in which the '1' exists and the next bit may be used.
  • the generating of the message block may include generating the message block by removing a truncated block one by one from the first message block including the truncated blocks as a whole. Second message blocks to n-th message blocks.
  • the n-th message block may be one of all blocks consisting of '0', blocks consisting of only one '1', and blocks consisting of at least one '0' and one '1'.
  • the outputting of the message block as input data may output the first to n-th message blocks as input data in order.
  • the original message data when the original message data consists only of '0', the original message data may be generated as the codeword.
  • generating the message block composed of at least one truncated block among the truncated blocks may generate a zero block consisting of only zeros among the truncated blocks as the codeword. can do.
  • the step of generating a codeword based on the zero block is performed after the step of generating a codeword based on the message blocks.
  • a codeword is generated, and a message block including b at least one '1' is generated among the generated message blocks.
  • b the input data, the first matrix, the second matrix and the codeword are generated.
  • length n 2 is formed by concatenating first to nth rows of the generated second matrix in order. Generate a codeword of. At this time, when the input data is composed of n bits, the codeword generated using the second matrix has a length of n 2 .
  • a method comprising: receiving a transmission message; Comparing the length of the received transmission message with the length of the original message data minus the length of the decoded message; Generating a third matrix of size n ⁇ n by dividing the transmission message into n blocks if the length of the measured transmission message and the remaining length are different from each other as a result of the comparison; Selecting a row having the highest density among the n rows of the generated third matrix; Generating partial decoded message data based on the selected row; And decoding using the generated partial decrypted message data.
  • the step of measuring the length of the received transmission message may be performed before comparing the length of the received transmission message with the remaining length.
  • '1' in selecting the row having the highest density among the n rows of the generated third matrix, '1' is relatively selected from the n rows. Select the row that contains the most. In this case, when there are two or more rows including '1' relatively most among the n rows, the first row is selected based on the first row. In addition, when each of the n rows includes only one '1', a row including '1' is selected in a k th column (cloumn).
  • the step of generating partial decrypted message data based on the selected row when the selected row is a d-th row, (d-1) '0' and one '1' The data constructed in the order is generated as partial decrypted message data.
  • the generated partial decoded message data is decoded by successively combining the generated partial decoded message data in order.
  • An encoding apparatus using a low density inverse code includes a k-th row in which n bits are arranged in n columns of input data consisting of n bits received from the outside, and a first matrix generator configured to generate a first matrix having an nxn size consisting of each row except for the first '1' in k rows and the remaining rows configured to have only one '1' in each column; A second matrix generator which obtains an inverse of the first matrix and generates a second matrix by applying a modulus operation of 2 to the inverse matrix; A codeword generator for generating a codeword using the second matrix; And a codeword transmitter for transmitting the generated codeword to the outside.
  • the original message data receiving unit for receiving the original message data from the outside;
  • a truncation unit chopping the received original message data based on '1' to generate a plurality of truncated blocks;
  • a block unit generating a message block composed of at least one truncated block among the truncated blocks;
  • an input data output unit configured to output message blocks including at least one '1' among the generated message blocks as input data.
  • Decoding apparatus using a low density inverse code (sparse inverse code) includes a transmission message receiving unit for receiving a transmission message; A transmission message length comparison unit for comparing the length of the received transmission message with the length of the original message data minus the length of the decoded message; A third matrix generator configured to generate a third matrix having a size of n ⁇ n by dividing the transmission message into n blocks when the measured length of the transmission message and the remaining length are different from each other; A selection unit for selecting a row having the highest density among the n rows of the generated third matrix; A partial decrypted message data generation unit generating partial decrypted message data based on the selected row; And a decoder which decodes the generated partial decoded message data.
  • the transmission message length measuring unit for measuring the length of the received transmission message, and providing the length of the measured transmission message to the transmission message length comparison unit may be further included.
  • the original message data is cut into a plurality of blocks, and the input data after the initial input data consists of some blocks of the truncated blocks, thereby reducing the computational burden.
  • the calculation process is reduced by receiving and decoding a codeword generated according to the law of the matrix in the encoding step.
  • the decoding process may be efficiently performed by selecting a row related to data by using a row having data having the highest density.
  • FIG. 1 is a block diagram illustrating an encoding apparatus using a low density inverse code according to embodiments of the present invention.
  • FIG. 2 is a block diagram illustrating a decoding apparatus using a low density inverse code according to embodiments of the present invention.
  • FIG. 3 is a flowchart illustrating a coding method using a low density inverse code according to embodiments of the present invention.
  • FIG. 4 is a flowchart illustrating a decoding method using a low density inverse code according to embodiments of the present invention.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • all terms used herein, including technical or scientific terms have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.
  • FIG. 1 is a block diagram illustrating an encoding apparatus using a low density inverse code according to embodiments of the present invention.
  • the encoding apparatus 100 using the low density inverse code may include an original message data receiver 110, a truncation unit 120, a block unit 130, and an input data output unit 140. ), A first matrix generator 150, a second matrix generator 160, a codeword generator 170, and a transmitter 180.
  • the original message data receiving unit 110 receives original message data from the outside.
  • the cutting unit 120 chops the received original message data based on '1' to generate a plurality of cut blocks. For example, the truncation unit 120 may determine that the received original message data has a bit between the first bit and the next bit whenever a bit with a '1' appears based on the first bit (from the first bit). Can be cut. For example, when the original message data is '0001010101', the cutting unit 120 cuts the original message data into '0001', '01', '01', and '01'.
  • the block unit 130 generates a message block composed of at least one cut block among the blocks cut by the cut unit 120.
  • the block unit 130 may include a first message block including all of the truncated blocks, and a second message block generated by removing the truncated blocks one by one from the first message block.
  • a message block can be generated with n-th message blocks. For example, when the cutting unit 120 cuts the original message data of '0001010101' into '0001', '01', '01', and '01', the block unit 130 is formed of the entire cut block.
  • '010101', '0101', and '01' may be generated from the first message block '0001010101' and the second to fourth message blocks. That is, the block unit 130 may generate a message block that is the same as the original message data cut by the cutting unit 120 or smaller in length (size) than the original message data. The block unit 130 continuously transfers the generated message blocks to the input data output unit 140.
  • the n-th message block generated by the block unit 130 is a block consisting entirely of '0', a block consisting of only one '1', and at least one '0' and one '1'. It can be one of the blocks consisting of '.
  • the original message data when the original message data consists only of '0', the original message data is directly generated as the codeword.
  • the original message data when the original message data is composed only of '0', the original message data may be generated as a message block through the cutting unit 120 and the block unit 130 as it is. In this case, the block unit 130 does not output the message block to the codeword generator 170 without outputting the input data output unit 140, the first matrix generator 150, and the second matrix generator 160.
  • the codeword generator 170 may directly generate the original message data as a codeword. That is, when the original message data consists only of '0', it may be directly transmitted to the codeword generation unit 170 only through the cutting unit 120 and the block unit 130.
  • the device may be configured to directly transfer the original message data to the codeword generator 170 without passing through the cutting unit 120 and the block unit 130. will be.
  • the zero block is transferred to the codeword generating unit 170 directly through the block unit 130 to be a codeword. Is generated.
  • the cutting unit 120 may be cut in order to generate a block in which '0001', '01', '01', and '00' are cut.
  • the last block is not transmitted to the input data output unit 140, the first matrix generator 150, and the second matrix generator 160, and the codeword generator ( 170 may be directly transmitted to generate a codeword.
  • the input data output unit 140 outputs the message blocks received from the block unit 130 as input data in order.
  • the input data output unit 140 outputs message blocks including at least one '1' among the generated message blocks as input data.
  • the input data output unit 140 transmits a message block including at least one '1' among the message blocks generated by the block unit 130 to the first matrix generator 150.
  • the block 130 may be configured to additionally perform the same function as that of the input data output unit 140. In this case, the block unit 130 and the input data output unit 140 are integrally formed.
  • the input data output unit 140 outputs the first message block, which is the original message data, as the first input data, and follows data composed of blocks other than one block among the divided blocks in the original message data. Output as input data.
  • the input data output unit 140 converts the data consisting of the remaining blocks except the block containing the first '1' from the first bit of the previously output input data into subsequent input data. Repeat the output steps.
  • the input data output unit 140 may repeat outputting the input message from the original message data to the nth message block received from the block unit 130.
  • the input data output unit 140 outputs the original message data '0001010101' as first input data, which is the first input data, and the first block, '0001'. '010101', the remaining data except for the block, is output as second input data, which is subsequent input data.
  • the input data output unit 140 outputs '0101', except for '01', the first block in the second input data, as the third input data, and '01', which is the first block in the third input data. Outputs '01' except for the fourth input data.
  • the cutting unit 120, the block unit 130, and the input data output unit 140 cut the original message data into blocks, and determine a block of the input data to be output. All methods that can reduce the computational burden through a so-called sub-routine method that cuts and blocks message data and outputs input data except for a specific block from previously output input data are within the scope of the present invention. It will be included.
  • the first matrix generator 150 is a k-th row in which each bit is arranged into n columns of n-bit input data received from the input data output unit 140 and '1' in the k-th row.
  • a first matrix of size nxn is formed of each row except for a column in which 'is present and remaining rows configured to have only one' 1 'in each column.
  • '1' existing in the remaining rows except for the k row is 'each' in each row and each column in the order of the rows or the columns except the column in which '1' first appears in the kth row. 1 'is configured to exist one by one.
  • a k-th row including the input data may be a first row, and the remaining rows may be second to nth rows.
  • the first matrix generation unit 150 has k columns in which the '1' exists for the first time in the row where the input data exists, '1' in the rows where the input data does not exist according to the order of the columns.
  • a first matrix is generated to exist in the first through (k-1) th columns and the (k + 1) through nth column, respectively.
  • the first matrix generator 150 when the first matrix generator 150 receives the original message data '0001010101' as the first input data, the first matrix generator 150 arranges the first input data in the first row of the matrix and the remaining rows are represented by the following equation. Generate a first matrix composed of ones.
  • the first matrix generator 150 when the first matrix generator 150 receives '010101' as the second input data, the first matrix generator 150 arranges the second input data in the first row of the matrix and arranges the remaining rows as shown in Equation 2 below. Create
  • the first matrix generator 150 when the first matrix generator 150 receives '0101' as the third input data, the first matrix generator 150 arranges the third input data in the first row of the matrix and arranges the remaining rows as shown in Equation 3 below. Create
  • the first matrix generator 150 when the first matrix generator 150 receives '01' as the fourth input data, the first matrix generator 150 arranges the fourth input data in the first row of the matrix and arranges the remaining rows as shown in Equation 4 below. Create
  • the first matrix generator 150 configures the first matrix according to a predetermined rule based on the input data, and the number (type) of the matrix generated by the first matrix generator 150 is the original message data. It is determined by the number of blocks separated. That is, when the original message data contains a message block containing at least one '1', the number of first matrices is also a.
  • the second matrix generator 160 After obtaining the inverse of the first matrix generated by the first matrix generator 150, the second matrix generator 160 generates a second matrix by applying a modulus operation of 2 to the law. In this case, when the first matrix generator 150 generates a first matrix, the second matrix generator 160 also generates a second matrix.
  • the second matrix generator 160 is the first matrix of Equations 1 to 4.
  • the codeword generator 170 generates a codeword of length n 2 by using a second matrix having an nxn size generated by the second matrix generator 160.
  • code word generator 170 generates a code word of n 2, the length of the first row to the n-th row of the second matrix, the generated in such a manner as to arrange them in a single line in order can do.
  • the codeword generator 170 may generate a codeword of '0100000000001000000000010000001000010101000010000000000100000000001000000000010000000000100000001' for the second matrix of Equation 5, and generate a codeword of '010000100101001000000100000010000001' for the second matrix of Equation 6. can do.
  • the codeword generator 170 When the codeword generator 170 generates a second matrix in the second matrix generator 160, the codeword generator 170 also generates a codeword.
  • the transmitter 180 transmits the codeword generated by the codeword generator 170 to the outside.
  • the encoding apparatus 100 using the low density inverse code cuts original message data and blocks the message message into blocks, outputs only some of the blocks as input data from the original message data, and outputs the input data.
  • the original message data using the feature of generating a matrix consisting of a row consisting of a low density row containing only one '1', and a second inverse matrix calculation method and a second inverse matrix method through arithmetic operations
  • the computational burden can be reduced compared to the coding method of.
  • FIG. 2 is a block diagram illustrating a decoding apparatus using a low density inverse code according to embodiments of the present invention.
  • the decoding apparatus 200 using the low density inverse code includes a transmission message receiver 210, a transmission message length measurement unit 220, a transmission message length comparison unit 230, A third matrix generator 240, a selector 250, a partial decoded message data generator 260, and a decoder 270 are included.
  • the decoding apparatus 200 using the low density inverse code receives predetermined information from the encoding apparatus 100 and performs a decoding process. At this time, the decoding apparatus 200 includes information on a row into which input data is inserted, information on a length of original message data, and a length of a decoded message (total length of a total decoded message up to a specific point in time). Information about at least one of the information about the information and the transmission message length may be received in advance or received from the encoding apparatus 100.
  • the transmission message receiving unit 210 receives a transmission message transmitted from the outside. At this time, the transmission message receiving unit 210 may receive a transmission message having a specific length. For example, the transmission message receiver 210 may receive a transmission message of length n 2 .
  • the transmission message length measurement unit 220 measures the length of the transmission message transmitted from the transmission message receiver 210 and provides the transmission message length comparison unit 230 with the measured length of the transmission message.
  • the decoding apparatus 200 knows the information on the length of the transmission message without measuring the transmission message length, the received message to the transmission message length comparison unit 230 without passing through the transmission message length measurement unit 220 The transmission message may be delivered.
  • the transmission message length comparison unit 230 compares the length of the received transmission message with the remaining length obtained by subtracting the length of the decoded message from the length of the original message data. That is, the transmission message length comparison unit 230 compares the length of the message which has not yet been decoded with respect to the specific time point and the length of the transmission message received at the time point.
  • the transmission message length comparison unit 230 converts the received transmission message into the partial decoded message data generation unit 260. ), And the partial decryption message data generation unit 260 immediately generates the transmission message as partial decryption message data composed of all zeros.
  • the third matrix generator 240 uses the received transmission message to generate a third message. Create a matrix.
  • the third matrix generator 240 divides the transmission message into n blocks to generate a third matrix of nxn size. For example, when the transmission message has n 2 length, the third matrix generator 240 generates a third matrix of nxn size.
  • the third matrix generator 240 when the third matrix generator 240 receives a transmission message of '01000000000010000000000100000010000101010000100000000001000000000010000000000100000000001', the third matrix generator 240 generates a matrix, such as Equation 5, as a third matrix.
  • the third matrix may be a matrix having the same size as the second matrix.
  • it is not affected by the channel noise, it is generated as the same third matrix as the second matrix, but when the channel noise is affected, the corrupted transmission message is received. have. Nevertheless, the third matrix will have the same magnitude as the second matrix regardless of the channel noise.
  • the selector 250 selects a row having the highest density among the n rows of the generated third matrix. That is, the selector 250 selects the row having the highest density, and if there are several rows having the same maximum density, the selector 250 selects the highest density row that appears first. In the embodiments of the present invention, the selector 250 selects a row that includes the largest number '1' among the n rows. For example, when the third matrix is the matrix of Equation 5, the selector 250 selects the fourth row including the most '1'.
  • the selector 250 selects the earliest row when there are two or more rows including '1' relatively largely among the n rows. That is, the selector 250 selects the first row based on the first row. For example, when the density of the second row and the fifth row is equally high, the selector 250 may select the second row.
  • the selector 250 selects a row including '1' in the k-th column (cloumn). That is, in the decoding apparatus 200 that receives the information of inserting the input data into the k-th row from the encoding apparatus 100, the selector 250 has n rows in the third matrix, each of which has one '1'. When it contains only, select the row that contains '1' in the k th column (cloumn). For example, when the third matrix is the matrix of Equation 8 (when input data is inserted into the first row by the encoding apparatus 100), the selector 250 includes the first of the first and second rows. Select the second row where '1' is located in the column.
  • the partial decoded message data generator 260 generates partial decoded message data based on the row selected by the selector 250. In the embodiments of the present invention, when the row selected by the selector 250 is the d-th row, the partial decoded message data generation unit 260 has (d-1) '0's and one' 1 'in order. The data constructed as described above is generated as partial decrypted message data.
  • the partial decryption message data generator 260 generates the transmission message as partial decryption message data composed of all zeros.
  • the decoder 270 decodes the partial decoded message data generated by the partial decoded message data generator 260. For example, the decoder 270 may decode the generated partial decoded message data by successively combining the generated partial decoded message data in order.
  • the partial decoded message data generator 260 Obtain '0001' having the fourth bit '1' as the first partial decoded message data.
  • the third matrix generated is the matrix of Equation 6, and the selector 250 selects the second row that includes the most '1', the partial decoding message data generation unit 260 has a second bit. '01', which is '1', is obtained as second partial decoded message data.
  • the decoder 270 may decode '0001010101' data.
  • the decoding apparatus 200 using the low density inverse code selects the most complex and highest density row in the matrix, and uses the order of the selected rows to decode the original message data or the partial decoded message data constituting the original message data. Can be restored Therefore, unlike the conventional decoding apparatus, not only can the performance of decoding the message by simple calculations and rules, but also the noise containing the highest density of the row containing the message data Since there is no significant effect, errors can be reduced.
  • FIG. 3 is a flowchart illustrating a coding method using a low density inverse code according to embodiments of the present invention.
  • original message data is received (S110), the original message data is cut into a plurality of blocks (S120), A message block composed of at least one truncated block among the truncated blocks is generated (S130), and the generated message block is output as input data (S140).
  • the received original message data is chopped based on '1' to generate a plurality of truncated blocks.
  • the data may be chopped into a plurality of blocks. That is, whenever a bit with '1' appears in the received original message data based on the first bit, the received original message data is truncated between the bit where the '1' exists and the next bit. For example, when the original message data is '0001010101', the original message data is cut into '0001', '01', '01', and '01'.
  • a message block composed of at least one truncated block among the truncated blocks is generated.
  • a message block may be generated from a first message block including all of the truncated blocks, and second to n th message blocks generated by removing the truncated blocks one by one from the first message block.
  • the n-th message block may be one of blocks consisting of all '0's, blocks consisting of only one' 1 'and blocks consisting of at least one' 0 'and one' 1 '.
  • the first message block, '0001010101' and the second, consisting of the truncated block as a whole '010101', '0101', and '01' may be generated as the message block to the fourth message block, respectively.
  • the original message data when the original message data is composed of only '0', the original message data is directly generated as a codeword through the steps of cutting and blocking the original message data.
  • the codeword is generated from the original message data without outputting as input data, generating a first matrix, and generating a second matrix.
  • the codewords are truncated and blocked.
  • the codeword generation step is performed on the zero block where the last block is '00'.
  • message blocks including at least one '1' among the generated message blocks are output as input data.
  • the first message block is output as first input data
  • the second to nth message blocks are sequentially output as subsequent input data.
  • the step of outputting the data consisting of the remaining blocks except for the block containing the first '1' from the first bit of the previously output input data as subsequent input data may be repeated until the last block including '1' is output from the original message data.
  • the original message data is '0001010101'
  • the original message data '0001010101' is output as the first input data, which is the first input data
  • the remaining data except for the '0001' block, which is the first block.
  • 010101 ' is output as second input data which is subsequent input data.
  • '0101' except for '01', which is the first block in the second input data is output as third input data
  • '01' except for '01', which is the first block, in the third input data, is fourth.
  • the input data is not composed of only '0'
  • the input data is received, and the n-bit input data is arranged in n columns to form a k-th row, and the input data is arranged.
  • the first matrix is configured such that one '1' exists in the remaining rows except for the k th row. At this time, the remaining rows are configured such that only one '1' exists in each row and each column except the column in which '1' exists first in the kth row.
  • the first matrix may have a size of n ⁇ n.
  • the first matrix has '1' present in the remaining rows except for the kth row, except that the first '1' appears in the kth row.
  • '1' is configured to exist one by one. That is, the row in which '1' exists in the columns where the input data does not exist is determined according to the order of the columns, and the first matrix is skipped so that the row in which '1' exists first in the column in which the input data exists. Can be configured.
  • the first matrix may be configured to exist in the) rows and the (k + 1) th through n th rows, respectively.
  • input data may be arranged in a first row, and the remaining rows may be configured as second to nth rows.
  • the second row has '1' in the first column except for the first '1' column in the first row
  • the n th row shows the first column in the first row.
  • Columns in which '1' exists in the last column except for '1' in the third to (n-1) th rows may be formed in the order of the rows.
  • Equation 1 a matrix such as Equation 1 is generated as the first matrix. can do.
  • Equation 2 may be generated as the first matrix.
  • Equation 3 a matrix such as Equation 3 may be generated as the first matrix.
  • Equation 4 may be generated as the first matrix.
  • a second matrix is generated by applying a modulus operation of 2 as a law. For example, if the first matrix is the matrix of Equation 1, the second matrix will be the matrix of Equation 5.
  • n 2 length codewords may be generated by arranging n rows in a line in order. For example, when the second matrix is the matrix of Equation 6, the generated codeword is '010000100101001000000100000010000001'.
  • the number of input data, first matrix, second matrix, and codeword is also a.
  • the original message data is '0001010101', it is divided into four blocks, '0001', '01', '01', and '01', and the first matrix, the second matrix, and the codeword are also Four kinds can be achieved.
  • FIG. 4 is a flowchart illustrating a decoding method using a low density inverse code according to embodiments of the present invention.
  • a transmission message is received (S210), a length of the transmission message is measured (S220), and a length and an original of the transmission message are provided.
  • the remaining length is obtained by subtracting the length of the decoded message from the length of the message data (S230).
  • a third matrix is generated based on the transmission message (S240), the row having the highest density in the third matrix is selected (S250), and the selected row
  • the generated partial decoded message data are combined and decoded (S270).
  • the original message data may be finally restored by repeating the steps by the number of the divided blocks.
  • a third matrix of size nxn can be generated.
  • a third matrix like Equation 6 may be generated.
  • a third matrix is not directly generated using the received transmission message, and the transmission message is directly generated as partial decoded message data composed of all zeros. This may occur when the codeword generated in the encoding step consists only of '0'.
  • a relatively dense row is selected from the n rows of the generated third matrix in the generated third matrix.
  • the third matrix is composed of n rows
  • a row including relatively most '1' among the n rows is selected.
  • the second row is selected as the row containing the most '1'.
  • the highest density row appears first.
  • the first row is selected based on the first row. For example, when the density of the second row and the fifth row is equally high, the second row may be selected.
  • the row including '1' in the k th column is selected. That is, when the information of inserting the input data into the k-th row is received in the encoding step, and the n rows of the third matrix each contain only one '1', '1' in the k th column (cloumn). Select a row containing '. For example, when the third matrix is the matrix of Equation 8 (when input data is inserted into the first row by the encoding apparatus 100), '1' is positioned in the first column among the first and second rows. To select the second row.
  • a message is generated as partial decoded message data based on the row selected in the third matrix. For example, when the selected row is a d-th row, data consisting of (d-1) '0's and one' 1 'in order is generated as partial decoded message data.
  • decoding is performed using the generated partial decoded message data.
  • the pre-generated partial decoded message data may be decoded by successively combining the previously generated partial decoded message data in order.
  • the first generated third matrix is the matrix of Equation 5, and the fourth row including the most '1' will be selected. Accordingly, '0001' having the fourth bit '1' is obtained as the first partial decoded message data. Subsequently, when the generated third matrix is the matrix of Equation 6 and the second row including the most '1' is selected, '01' having the second bit '1' is used as the second partial decoded message data. Obtained.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

La présente invention concerne un procédé et un appareil de codage/décodage utilisant un code inversé rare. Le procédé de codage comprend les étapes suivantes : la formation d'une première matrice ayant une taille de n x n, comprenant une kième rangée dans laquelle chaque bit issu des données entrées provenant de l'extérieur qui comprend un nombre n de bits, est aligné dans un nombre n de colonnes, chaque rangée excluant la première rangée dans laquelle « 1 » existe de la kième rangée, et les rangées restantes étant configurées de telle manière qu'un seul « 1 » existe dans chacune des rangées ; et la formation d'une deuxième matrice en recherchant une matrice inverse de la première matrice, et en appliquant à la matrice inverse une opération modulo dans laquelle 2 est le modulo ; et la génération et la transmission d'un mot codé au moyen de la deuxième matrice. De plus, le procédé de décodage comprend les étapes suivantes : la réception d'un message transmis ; la comparaison avec une longueur restante, qui est calculée en soustrayant la longueur d'un message pré-codé de la longueur du message transmis et de la longueur des données du message d'origine ; la différenciation du message transmis en tant que bloc n et la formation d'une troisième matrice ayant une taille de n x n, lorsque la longueur du message transmis et la longueur restante mesurées sont différentes en résultat de la comparaison, et la génération du message transmis sous forme de données de message partiellement décodées comprenant toutes des 0, lorsque la longueur du message transmis et la longueur restante mesurées sont identiques en résultat de la comparaison ; la sélection de la rangée relativement la plus dense parmi un nombre n de rangées de la troisième matrice générée ; la génération des données de message partiellement décodées sur la base de la rangée choisie ; et le décodage au moyen des données de message partiellement décodées qui sont générées.
PCT/KR2013/005662 2012-07-31 2013-06-26 Procédé et appareil de codage/décodage utilisant un code inversé rare WO2014021558A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0084175 2012-07-31
KR1020120084175A KR101391853B1 (ko) 2012-07-31 2012-07-31 저밀도 역 코드를 이용한 부호화/복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2014021558A1 true WO2014021558A1 (fr) 2014-02-06

Family

ID=50028191

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/005662 WO2014021558A1 (fr) 2012-07-31 2013-06-26 Procédé et appareil de codage/décodage utilisant un code inversé rare

Country Status (2)

Country Link
KR (1) KR101391853B1 (fr)
WO (1) WO2014021558A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251730A1 (en) * 2004-05-06 2005-11-10 Classon Brian K Method and apparatus for encoding and decoding data
KR100809616B1 (ko) * 2005-10-19 2008-03-05 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
JP2008258774A (ja) * 2007-04-02 2008-10-23 Sumitomo Electric Ind Ltd 符号化装置および符号化プログラム
JP2010136279A (ja) * 2008-12-08 2010-06-17 Sumitomo Electric Ind Ltd 符号化装置、復号装置、生成行列の作成方法及びコンピュータプログラム
JP2011146899A (ja) * 2010-01-14 2011-07-28 Panasonic Corp 符号化器、復号化器及び符号化方法、復号化方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251730A1 (en) * 2004-05-06 2005-11-10 Classon Brian K Method and apparatus for encoding and decoding data
KR100809616B1 (ko) * 2005-10-19 2008-03-05 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
JP2008258774A (ja) * 2007-04-02 2008-10-23 Sumitomo Electric Ind Ltd 符号化装置および符号化プログラム
JP2010136279A (ja) * 2008-12-08 2010-06-17 Sumitomo Electric Ind Ltd 符号化装置、復号装置、生成行列の作成方法及びコンピュータプログラム
JP2011146899A (ja) * 2010-01-14 2011-07-28 Panasonic Corp 符号化器、復号化器及び符号化方法、復号化方法

Also Published As

Publication number Publication date
KR20140016774A (ko) 2014-02-10
KR101391853B1 (ko) 2014-05-07

Similar Documents

Publication Publication Date Title
CN109196800B (zh) 一般化极化码构建
WO2015160205A1 (fr) Procédé et appareil de génération d'un mot de code, procédé et appareil de récupération d'un mot de code
KR950026293A (ko) 색채화상의 압축과 그것을 위한 엠(m)개 알파벳의 비트와이즈 코딩을 위한 이진화 장치 및 방법
CA2299947A1 (fr) Utilisation du codage a correction d'erreurs pour la protection du materiel de transmission
WO2015012572A1 (fr) Appareil et procédé permettant de recevoir un signal dans un système de communication supportant un code de contrôle de parité à faible densité
US8375269B2 (en) Data transmission system and method of correcting an error in parallel data paths of a data transmission system
KR20050094764A (ko) 채널 부호화 장치 및 방법
KR101874537B1 (ko) 극 부호의 병렬 복호화 방법 및 장치
WO2013015548A2 (fr) Procédé de codage / décodage ldpc et dispositif l'utilisant
WO2014021559A1 (fr) Procédé et appareil de codage/décodage utilisant un code inversé rare
JP7009717B2 (ja) 符号化方法及び符号化装置
WO2018143717A1 (fr) Procédé et appareil permettant d'émettre et de recevoir un signal au moyen d'un codage polaire
WO2012118327A2 (fr) Procédé et appareil pour réaliser des transmissions et des réceptions dans un système de télécommunication et de radiodiffusion
WO2014046395A1 (fr) Procédé et appareil de codage/décodage utilisant un code inverse creux complémentaire
KR101856417B1 (ko) 극 부호­crc 연접 부호를 이용한 병렬 연속 제거 극 부호화-복호화 방법 및 장치
WO2014021558A1 (fr) Procédé et appareil de codage/décodage utilisant un code inversé rare
KR100731985B1 (ko) 파이프라인 구조 병렬 순환 중복 검사 장치 및 방법
Betsumiya et al. Optimal self-dual codes over F/sub 2//spl times/F/sub 2/with respect to the Hamming weight
KR20050010918A (ko) 가변길이 복호화를 위한 방법 및 시스템, 및 코드워드들의지역화를 위한 장치
KR100528139B1 (ko) 코드워드를 생성하는 방법 및 장치
WO2020231020A1 (fr) Procédé et appareil de décodage rapide de code linéaire sur la base d'une décision pondérée
JP2003078421A (ja) 符号系列の先頭位置検出方法とその装置、それを用いた復号方法とその装置
WO2014123351A1 (fr) Procédé et appareil de codage/décodage utilisant un code inverse creux basé sur la densité spécifique
WO2020179966A1 (fr) Procédé et appareil de décodage rapide de code linéaire sur la base d'une décision souple
WO2013077498A1 (fr) Procédé permettant de coder et de décoder une source distribuée à l'aide de codes de contrôle de parité à faible densité et appareil permettant de coder et de décoder une source distribuée

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: 13825236

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13825236

Country of ref document: EP

Kind code of ref document: A1