WO2014021559A1 - 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
WO2014021559A1
WO2014021559A1 PCT/KR2013/005664 KR2013005664W WO2014021559A1 WO 2014021559 A1 WO2014021559 A1 WO 2014021559A1 KR 2013005664 W KR2013005664 W KR 2013005664W WO 2014021559 A1 WO2014021559 A1 WO 2014021559A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
matrix
column
generated
length
Prior art date
Application number
PCT/KR2013/005664
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 WO2014021559A1 publication Critical patent/WO2014021559A1/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
    • 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

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 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 inverse code that can 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
  • 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 of each column 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 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 k-column in which n bits of input data received from the outside is arranged in n rows, Generating a first matrix having an nxn size consisting of each row except for the first '1' in k-th column and the remaining columns 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 kth column, except that the first '1' appears in the kth column.
  • Each row and column may have one '1' in the order of or 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. At this time, 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.
  • n 2 lengths are formed by concatenating the first to nth columns 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 relatively densest column among the n columns of the generated third matrix; Generating partial decoded message data based on the selected column; 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.
  • the number of '1' is relatively the highest among the n columns.
  • Select a column when there are two or more columns including '1' relatively most among the n columns, the first column is selected based on the first column.
  • a column including '1' in the kth row is selected.
  • the step of generating partial decoded message data based on the selected column when the selected column is a d-th column, (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-column in which n bits are arranged in n rows 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 row having '1' in k-th column and the remaining columns 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 column having the highest density among the n columns of the generated third matrix; A partial decrypted message data generation unit generating partial decrypted message data based on the selected column; 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 has a kth column in which the n-bit input data received from the input data output unit 140 is arranged in n rows, and '1' is first present in the kth column.
  • a first matrix of size nxn is formed of each row except for a row, and remaining columns configured to have only one '1' in each column.
  • '1' existing in the remaining columns except for the kth column is in each row and each column in the order of the rows or the columns except for the first '1' in the kth column.
  • '1' is configured to exist one by one.
  • the k-th column including the input data may be a first column, and the remaining columns may be second to nth columns.
  • the first matrix generation unit 150 has k rows in which '1' exists first in the column in which the input data exists, '1' in the columns in which the input data does not exist is in the order of the rows. Accordingly, a first matrix is generated to exist in the first through (k-1) th rows and the (k + 1) through nth rows, 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 column of the matrix and the remaining columns are represented by Equation 1 below. Generate a first matrix constructed as follows.
  • 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 column of the matrix and generates a matrix including the remaining columns as shown in Equation 2 below. do.
  • 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 column of the matrix and generates a matrix having the remaining columns as shown in Equation 3 below. do.
  • 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 column of the matrix and generates a matrix having the remaining columns as shown in Equation 4 below. do.
  • 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 160 generates a codeword of length n 2 by using a second matrix of 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 column to the n-th column 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 160 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 column consisting of a low density columns containing only one '1', the first matrix to the inverse matrix calculation method and the second inverse matrix through the arithmetic operation
  • the computational burden can be reduced as compared to the encoding method.
  • 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 column having the highest density among the n columns of the generated third matrix. That is, the selector 250 selects a column having the highest density, and selects the highest density column that appears first when there are several columns having the same maximum density. In the embodiments of the present invention, the selector 250 selects a column that includes the largest number of '1' among the n columns. For example, when the third matrix is the matrix of Equation 5, the selector 250 selects the fourth column including '1' the most.
  • the selector 250 selects the fastest column when there are two or more columns including '1' relatively most among the n columns. That is, the selector 250 selects the first column based on the first column. For example, when the density of the second row and the fifth row is the same, the selector 250 may select the second row.
  • the selector 250 selects a column including '1' in the kth row. That is, in the decoding apparatus 200 that receives the information of inserting the input data into the k-th column by the encoding apparatus 100, the selector 250 selects each of the n columns of the third matrix, each of which has only one '1'. If so, select the column containing '1' in the kth row.
  • the selector 250 includes the first row among the first column and the second column. Is to select the second column in which '1' is located.
  • the partial decoded message data generator 260 generates partial decoded message data based on the column selected by the selector 250. In the embodiments of the present invention, when the column selected by the selector 250 is the d-th column, 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 may Obtain '0001' having the fourth bit '1' as the first partial decoded message data. Subsequently, when the generated third matrix is the matrix of Equation 6 and the selector 250 selects the second column including 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 column in the matrix, and restores the original message data or the partial decoded message data constituting the original message data using the order of the selected columns. can do. 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 only of '0'
  • the input data is received, and the k-th column is formed by arranging the n-bit input data into n rows in each of the n-bit input data.
  • the first matrix is configured such that one '1' exists in the remaining columns except the column. In this case, the remaining columns are configured such that only one '1' exists in each row and each column except the row in which '1' exists first in the k-th column.
  • the first matrix may have a size of n ⁇ n.
  • the first matrix has '1' present in the remaining columns except for the kth column, except that the first '1' appears in the kth column, in each row and each column in the order of the rows or the columns.
  • '1' is configured to exist one by one. That is, the column in which '1' exists in the rows in which the input data does not exist is determined according to the order of the rows, and the first matrix in which the column in which '1' exists first is skipped in the row in which the input data exists. Can be configured.
  • a column in which '1' exists for the first time in the column in which the input data exists is k columns
  • '1' in rows where the input data does not exist may correspond to the first column through k ⁇ according to the order of the rows.
  • the first matrix may be configured to exist in the column and the (k + 1) th to n th columns, respectively.
  • the input data may be arranged in the first column, and the remaining columns may be configured as the second to nth columns.
  • the second column is '1' in the first row except for the first '1' in the first column
  • the nth column is the first column in the first column.
  • the row where '1' exists in the last row except for and '1' exists in the third to (n-1) th columns may be formed in the order of the columns.
  • Equation 1 when the input data is '0001010101', when the input data is arranged in the first column and the remaining columns are arranged in accordance with the embodiments of the present invention, a matrix such as Equation 1 may be generated as the first matrix. Can be.
  • Equation 2 may be generated as the first matrix.
  • Equation 3 when the input data is '0101', when the input data is arranged in the first column and the remaining columns are arranged in accordance with the embodiments of the present invention, a matrix such as Equation 3 may be generated as the first matrix.
  • Equation 4 a matrix such as 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 columns in one 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), a column having the highest density in the third matrix (S250), and the selected column
  • 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 columns of the generated third matrix in the generated third matrix.
  • the third matrix is composed of n columns
  • a column including relatively most '1' among the n columns is selected.
  • the second column is selected as the column containing '1' the most.
  • the highest density column appears first.
  • the first column may be selected based on the first column. For example, when the density of the second column and the fifth column is equally high, the second column may be selected.
  • the column including '1' in the kth row is selected. That is, when the encoding step receives the information of inserting the input data into the k-th column, and when the n columns of the third matrix each include only one '1', the k-th row includes '1'. Select a column For example, when the third matrix is the matrix of Equation 8 (when input data is inserted into the first column by the encoding apparatus 100), '1' is positioned in the first row among the first and second columns. To select the second column.
  • a message is generated as partially decoded message data based on the column selected in the third matrix. For example, when the selected column is a d-th column, data consisting of (d-1) '0' 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 column including '1' most 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 column 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 colonne dans laquelle chaque bit issu des données entrées provenant de l'extérieur, comprenant un nombre n de bits est aligné dans un nombre n de rangées, chaque colonne excluant la première colonne dans laquelle « 1 » de la kième colonne, et les colonnes restantes étant configurées de telle manière qu'un seul « 1 » existe dans chacune des colonnes ; 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 ; 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 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 colonne relativement la plus dense parmi un nombre n de colonnes de la troisième matrice générées ; la génération des données de message partiellement décodées sur la base de la rangée sélectionnée ; et le décodage au moyen des données de message partiellement décodées qui sont générées.
PCT/KR2013/005664 2012-07-31 2013-06-26 Procédé et appareil de codage/décodage utilisant un code inversé rare WO2014021559A1 (fr)

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=50028192

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/005664 WO2014021559A1 (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) KR101391859B1 (fr)
WO (1) WO2014021559A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220090908A (ko) 2020-12-23 2022-06-30 이재연 사회적 거리두기를 위한 실시간 실내 인구 밀도 안내 솔루션

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
KR20140016775A (ko) 2014-02-10
KR101391859B1 (ko) 2014-05-07

Similar Documents

Publication Publication Date Title
CN109196800B (zh) 一般化极化码构建
CA2299947A1 (fr) Utilisation du codage a correction d'erreurs pour la protection du materiel de transmission
CN112398484B (zh) 一种编码方法及相关设备
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é
KR100617769B1 (ko) 채널 부호화 장치 및 방법
Chen et al. Area efficient parallel decoder architecture for long BCH codes
US8375269B2 (en) Data transmission system and method of correcting an error in parallel data paths of a data transmission system
US20030188248A1 (en) Apparatus for iterative hard-decision forward error correction decoding
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) 符号化方法及び符号化装置
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
KR101856417B1 (ko) 극 부호­crc 연접 부호를 이용한 병렬 연속 제거 극 부호화-복호화 방법 및 장치
WO2014046395A1 (fr) Procédé et appareil de codage/décodage utilisant un code inverse creux complémentaire
WO2014021558A1 (fr) Procédé et appareil de codage/décodage utilisant un code inversé rare
KR100731985B1 (ko) 파이프라인 구조 병렬 순환 중복 검사 장치 및 방법
KR20230033623A (ko) 데이터 부호화 방법 및 부호기와 데이터 복호화 방법
KR20050010918A (ko) 가변길이 복호화를 위한 방법 및 시스템, 및 코드워드들의지역화를 위한 장치
KR100528139B1 (ko) 코드워드를 생성하는 방법 및 장치
WO2014123351A1 (fr) Procédé et appareil de codage/décodage utilisant un code inverse creux basé sur la densité spécifique
JP2003078421A (ja) 符号系列の先頭位置検出方法とその装置、それを用いた復号方法とその装置
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
Cao High-speed parallel VLSI-architecture for the (24, 12) Golay decoder with optimized permutation decoding
EP2285003B1 (fr) Correction d'erreurs dans un mot de code

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

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

Country of ref document: EP

Kind code of ref document: A1