WO2018128435A2 - 다중 ldpc 코드에서 ldpc 베이스 코드를 선택하는 방법 및 이를 위한 장치 - Google Patents
다중 ldpc 코드에서 ldpc 베이스 코드를 선택하는 방법 및 이를 위한 장치 Download PDFInfo
- Publication number
- WO2018128435A2 WO2018128435A2 PCT/KR2018/000214 KR2018000214W WO2018128435A2 WO 2018128435 A2 WO2018128435 A2 WO 2018128435A2 KR 2018000214 W KR2018000214 W KR 2018000214W WO 2018128435 A2 WO2018128435 A2 WO 2018128435A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code
- base
- base code
- block size
- ldpc
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1151—Algebraically constructed LDPC codes, e.g. LDPC codes derived from Euclidean geometries [EG-LDPC codes]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
- H03M13/1185—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
- H03M13/1185—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
- H03M13/1188—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/618—Shortening and extension of codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
- H04L1/0043—Realisations of complexity reduction techniques, e.g. use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Definitions
- the present invention relates to a wireless LAN system, and more particularly, to a method for selecting a base code (Base Code) in a system supporting multiple Low-Density Parity-Check (LDPC) code and an apparatus supporting the same.
- Base Code Base Code
- LDPC Low-Density Parity-Check
- Wireless access systems are widely deployed to provide various kinds of communication services such as voice and data.
- a wireless access system is a multiple access system capable of supporting communication with multiple users by sharing available system resources (bandwidth, transmission power, etc.).
- multiple access systems include code division multiple access (CDMA) systems, frequency division multiple access (FDMA) systems, time division multiple access (TDMA) systems, orthogonal frequency division multiple access (OFDMA) systems, and single carrier frequency (SC-FDMA). division multiple access) system.
- CDMA code division multiple access
- FDMA frequency division multiple access
- TDMA time division multiple access
- OFDMA orthogonal frequency division multiple access
- SC-FDMA single carrier frequency division multiple access
- channel codes are essentially used in broadcast systems.
- a transmitter may perform encoding on an input symbol by using an encoder and transmit an encoded symbol.
- the receiving end may restore the input symbol by receiving the encoded symbol and performing decoding on the received symbol.
- the size of the input symbol and the size of the encoded symbol may be defined differently according to the communication system.
- LTE Long Term Evolution
- 3GPP 3rd Generation Partnership Project
- an input symbol has a maximum size of 6144 bits and an encoded symbol has a size of 18432. (6144 * 3) bits.
- Turbo coding in an LTE communication system may be referred to by 3GPP Technical Specification 36.212.
- the LTE turbo code has a slight improvement in performance even if the signal to noise ratio (SNR) increases due to the structure of the code.
- SNR signal to noise ratio
- it may be considered to use a code having a lower error rate, but in this case, there is a problem that the complexity increases.
- Ultra Reliable and Low-Latency Communication URLLC
- an error floor is required to occur at a Block Error Rate (BLER) of 10-5 or less.
- BLER Block Error Rate
- the error floor refers to a point where the error rate decreases in spite of an increase in information size.
- LTE turbo code as the information size increases, an error floor occurs in a BLER of 10-4 or less.
- LDPC codes can be used as an alternative to turbo codes. LDPC can achieve low error rates with relatively low complexity. In order to efficiently use the LDPC code, a base code selection method or the like in the multiple LDPC code needs to be determined.
- An object of the present invention is to provide a method of selecting an LDPC code suitable for a given communication environment in a WLAN system using multiple LDPC codes.
- Another object of the present invention is to provide a method of selecting a lifting value in consideration of a base code and a shortening amount that can be utilized in a WLAN system using multiple LDPC codes.
- the present invention is not limited to the above-described technical problem and other technical problems can be inferred from the embodiments of the present invention.
- the encoding method of the Quasi-Cyclic Low-Density Parity-Check (LDPC) code that supports multiple base codes is a base code for generating a parity check matrix. Selecting from among a first base code and a second base code; Selecting a lifting value for generating the parity check matrix from a plurality of lifting values; And generating the parity check matrix using the selected base code and the lifting value, wherein the base code is determined based on a code block size and a code rate.
- the lifting value may be determined based on the parameter of the base code and the code block size.
- the base code is selected as the first base code, and when the code block size is smaller than the preset code block size, the base code is the second base. Can be selected by code.
- the code block size is larger than a preset code block size, or the code rate is a preset code rate. If greater than the base code is selected as the first base code, if the code block size is smaller than the predetermined code block size, and the code rate is less than the predetermined code rate, the base code is the second code Can be chosen as the base code.
- the predetermined code block size may be a maximum code block of the second base code.
- the predetermined code block size may be a maximum code block size of the second base code
- the preset code rate may be a maximum code rate of the second base code
- the parameter of the base code and the plurality of lifting values may be determined in consideration of a maximum shortening value of the base code.
- the maximum shortening value may be set not to exceed eight or four times the lifting value.
- the lifting value is expressed as Is determined as a minimum Z value, where K is the code block size, Kb, max is the size of the maximum information bit sequence of the base code, and Kb, min is the size of the minimum information bit sequence of the base code. Can be.
- the encoding method of the LDPC code may further include transmitting information on a base code selected as the base code among the first base code or the second base code to the terminal.
- the base code When the second base code supports a code rate larger than the preset code rate, the code block size is smaller than the preset code block size, and the code rate is smaller than the code rate greater than the preset code rate.
- the base code may be selected as the second base code.
- An apparatus for encoding a quasi-cyclic low-density parity-check (LDPC) code supporting multiple base codes is a transceiver; And a processor, wherein the processor selects a base code for generating a parity check matrix from a first base code and a second base code, and selects a lifting value for generating the parity check matrix from a plurality of lifting values. Select from the; and generate the parity check matrix using the selected base code and the lifting value, wherein the base code is selected based on a code block size and a code rate; The value may be selected based on the parameter of the base code and the code block size.
- LDPC quasi-cyclic low-density parity-check
- an LDPC code when a code block overlaps in multiple LDPC codes, an LDPC code may be generated by selecting an appropriate base code for the overlapping region.
- FIG. 1 is a flowchart illustrating an encoding process according to an example.
- FIG. 2 is a diagram illustrating an encoding process of a transport block according to an example.
- FIG. 3 is a diagram illustrating a Recursive Systematic Convolutional (RSC) encoder according to an example.
- FIG. 3 is a diagram illustrating a Recursive Systematic Convolutional (RSC) encoder according to an example.
- FIG. 4 is a diagram illustrating an LTE turbo encoder.
- FIG. 5 is a diagram illustrating an example of a trellis according to an RSC encoder.
- FIG. 6 is a diagram illustrating an example of a trellis structure.
- FIG. 7 illustrates a structured parity check matrix, according to an example.
- FIG. 8 illustrates a model matrix according to an example.
- 9 is a diagram for explaining transformation of a matrix according to the number of shifts.
- FIG. 10 is a flowchart illustrating an LDPC code decoding method according to an example.
- FIG. 11 illustrates a bipartite graph according to an example.
- FIG. 12 is a diagram illustrating a structure of an LDPC code according to an embodiment of the present invention.
- FIG. 13 is a diagram illustrating a rate matching process according to an example.
- FIG. 14 is a diagram for describing a base code selection method according to an embodiment of the present invention.
- 15 is a view for explaining an apparatus according to an embodiment of the present invention.
- CDMA code division multiple access
- FDMA frequency division multiple access
- TDMA time division multiple access
- OFDMA orthogonal frequency division multiple access
- SC-FDMA single carrier frequency division multiple access
- CDMA may be implemented with a radio technology such as Universal Terrestrial Radio Access (UTRA) or CDMA2000.
- TDMA may be implemented with wireless technologies such as Global System for Mobile communications (GSM) / General Packet Radio Service (GPRS) / Enhanced Data Rates for GSM Evolution (EDGE).
- GSM Global System for Mobile communications
- GPRS General Packet Radio Service
- EDGE Enhanced Data Rates for GSM Evolution
- OFDMA may be implemented in a wireless technology such as IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802-20, Evolved UTRA (E-UTRA), or the like.
- UTRA is part of the Universal Mobile Telecommunications System (UMTS).
- 3rd Generation Partnership Project (3GPP) long term evolution (LTE) employs OFDMA in downlink and SC-FDMA in uplink as part of Evolved UMTS (E-UMTS) using E-UTRA.
- LTE-A Advanced is an evolution of 3GPP LTE.
- FIG. 1 is a flowchart illustrating an encoding process according to an example.
- the encoding process of FIG. 1 may be applied to many channel codes including a turbo code used in an LTE communication system.
- a turbo code used in an LTE communication system.
- the encoding process will be described based on terms according to standard documents of the LTE communication system.
- the transmitting end may generate a transport block (TB) (S101).
- the transmitting end adds a CRC bit for the transport block to the transport block (S102).
- the transmitter may generate a code block from the transport block to which the CRC bit is added (S103).
- the transmitting end may segment the transport block into code blocks based on the input size of the encoder.
- the transmitter may add a CRC bit to each divided code block (S104). In this case, for example, the size of the code block and the code block CRC bits may consist of 6144 bits.
- the transmitter may perform encoding and modulation (S105) on each block composed of a code block and CRC bits. For example, as described above, turbo coding may be applied.
- the decoding process may be performed in the reverse order of the encoding process of FIG. 1.
- the receiver may decode each code block by using a decoder corresponding to each encoder, and finally configure one transport block to check whether the CRC passes through the transport block.
- the size of the input symbol may be different from the size of a transport block (TB) from the Media Access Control (MAC) layer. If the size of the transport block is larger than the maximum input symbol size of the turbo code, the transport block may be divided into a plurality of code blocks (CBs). According to the standard of the LTE communication system, the size of the code block may be the same as subtracting the Cyclic Redundancy Check (CRC) bit from 6144 bits.
- An input symbol of a turbo code may be defined as data comprising a code block and a CRC or data including a transport block (eg, a transport block is less than 6144 bits) and a CRC. The CRC bit is a very small value (e.g.
- a code block may refer to a code block itself or a CRC bit corresponding to a code block
- a transport block refers to a transport block itself or a CRC bit corresponding to a transport block. can do.
- FIG. 2 is a diagram illustrating an encoding process of a transport block according to an example.
- FIG. 2 illustrates an encoding process of the transport block 201 corresponding to the encoding process described above with reference to FIG. 1.
- a transport block CRC 202 is added to the transport block 201.
- the transport block CRC 202 may be used for identification of the transport block 201 in the decoding process.
- the transport block 201 and transport block CRC 202 are then divided into three code blocks 203.
- the code block 203 is divided into three code blocks, but the transport block 201 may be divided into a plurality of code blocks based on an input size of the encoder 205.
- Code block CRC 204 is added to each code block 203.
- the code block CRC 204 may be used for identification of the code block 203 at the receiving end.
- Code block 203 and code block CRC 204 may be encoded via encoder 205 and modulator 206.
- FIG. 3 is a diagram illustrating a Recursive Systematic Convolutional (RSC) encoder according to an example.
- FIG. 3 is a diagram illustrating a Recursive Systematic Convolutional (RSC) encoder according to an example.
- the RSC encoder 300 of FIG. 3 may be used for turbo coding.
- m denotes input data
- C1 denotes a systematic bit string
- C2 denotes a coded bit string.
- the RSC encoder 300 has a 1/2 code rate.
- RSC encoder 300 may be configured by feeding back the encoded output to the input of a nonrecursive-non-systematic convoluational encoder.
- the encoder 300 includes two delayers 301 and 302.
- the values D of the delayers 301 and 302 may be determined according to a coding scheme.
- Delays 301 and 302 may be configured as memory or shift registers.
- FIG. 4 is a diagram illustrating an LTE turbo encoder.
- the coding scheme of the LTE turbo encoder 400 is a parallel concatenation with two eight-state element encoders 410 and 420 and one turbo code internal interleaver 430.
- Parallel Concatenated Convolutional Code (PCCC) is a parallel concatenation with two eight-state element encoders 410 and 420 and one turbo code internal interleaver 430.
- Parallel Concatenated Convolutional Code (PCCC) is a parallel concatenation with two eight-state element encoders 410 and 420 and one turbo code internal interleaver 430.
- PCCC Parallel Concatenated Convolutional Code
- the turbo encoder 400 is composed of a first constituent encoder 410, a second element encoder 420, and a turbo code internal interleaver 430.
- the first element encoder 410 and the second element encoder 420 are eight-state element encoders.
- Each of the first element encoder 410 and the second element encoder 420 has a structure similar to that of the RSC encoder of FIG. 3.
- the first element encoder 410 and the second element encoder 420 each include three delayers 411, 412, 413, 421, 422, and 423.
- D is a value determined according to a coding scheme.
- c k is the input to the turbo encoder 400.
- the outputs from the first element encoder 410 and the second element encoder 420 are denoted as z k and z ' k , respectively.
- the value output from the turbo code internal interleaver 430 is denoted by c ' k .
- the delays 411, 412, 413, 421, 42, and 423 may delay the input value by one clock.
- the delays 411, 412, 413, 421, 42, 423 may be configured to delay the input value for more than one clock according to the internal setting.
- the delays 411, 412, 413, 421, 42, and 423 may be configured as shift registers, and may be configured to delay the input bits by a predetermined clock and then output the input bits to the next delays 411, 412, 413, 421, 42, 423. .
- the turbo code internal interleaver 430 may reduce the effects of burst errors that may occur when transmitting signals over a wireless channel.
- the turbo code internal interleaver 430 may be a Quadratic Polynomial Permutation (QPP) interleaver.
- QPP Quadratic Polynomial Permutation
- Turbo codes are high performance forward error correction (FEC) codes and are used in LTE communication systems.
- a data block coded by turbo code may consist of three subblocks.
- One subblock may correspond to m-bit payload data.
- Another subblock may consist of n / 2 bits of parity bits for the payload, calculated using a recursive systematic convolution (RSC) code.
- the remaining sub-blocks may be composed of n / 2 bits of parity bits for permutation of payload data, calculated using an RSC code.
- the above-described permutation may be performed by an interleaver.
- two subblocks of parity bits different from each other with the payload may be configured as one block. For example, if m is equal to n / 2, one block has a code rate of 1/3.
- a process of reaching the input bit z k by the input c k may be divided into two paths.
- the two paths are a first path connected without input feedback from the input to the output and a second path fed back from the input to the input.
- c k is input, input via a delay unit 411, a rough input c k, and the retarder (411, 412, and 413), c k is applied to the output stage.
- the relationship between the input end and the output end of the first path may be expressed by a polynomial.
- the polynomial for the first path is called a forward generator polynomial and may be expressed as g1 of the following equation.
- a rough input c k is fed back to the input end.
- the polynomial for the second path is called a recursive generator polynomial and can be expressed as g0 in the following equation.
- Equations 1 and 2 "+” means exclusive OR (XOR), and 1 means that the input goes through 0 delays.
- D n means that the input goes through n delays.
- FIG. 5 is a diagram illustrating an example of a trellis according to an RSC encoder.
- FIG. 5 shows the configuration of the trellis of the RSC encoder shown in FIG.
- S i represents a state of the i th input data.
- each circle represents each node.
- the line between each node means a branch.
- the solid line refers to the branch for input value 1
- the dotted line refers to the branch for input value 0.
- the value on the branch is expressed as m / C1C2 (input value / systematic bit, coded bit). It may also have a state that is exponentially proportional to the number of memories of the encoder. For example, if the encoder includes a memory, 2 a states can be included in the trellis.
- Trellis is a state machine that shows the possible state transitions of an encoder between two states.
- a convolutional encoder such as an RSC encoder, may perform encoding according to a trellis diagram. Codewords encoded by the RSC encoder may be decoded according to an algorithm based on the trellis structure. For example, Viterbi or BCJR (Bahl, Cocke, Jelinek and Raviv) algorithms can be used.
- FIG. 6 is a diagram illustrating an example of a trellis structure.
- n represents the length of a codeword.
- trellis can be terminated by adding additional bits after the input sequence.
- a sequence consisting of a sequence of zeros is called a tail bit. The tail bit terminates the trellis so that nodes in one state of the trellis have a value of zero.
- the length of a codeword may be determined in consideration of the length k of input data and the length t of tail bits.
- the length n of the codeword may have a value of (k + t) / R.
- the length t of the tail bits can be determined as the length by which all delays (eg, memories) of the encoder can be reset.
- the RSC encoder of FIG. 3 may use a total of 2 bits of tail bits.
- the turbo encoder of the LTE communication as shown in FIG. 4 may use 3 bits of tail bits.
- the tail bit has a relatively short length compared to the length of the input data.
- code rate loss due to the tail bits may occur when the length of the codeword is limited.
- trellis termination using tail bits is widely used. This is because the computational complexity is low and the error correction performance is excellent.
- a puncturing code is a method of puncturing some of codewords.
- some codewords are not transmitted because some of the codewords are punctured.
- puncturing codes may be used to reduce code rate loss due to the addition of tail bits.
- the receiving end may decode by using the trellis corresponding to the sum of the length k of the input data and the length t of the tail bit. That is, the receiver may perform decoding on the assumption that it has received a non-punctured codeword. In this case, the receiving end may assume that there is no input value for the branch from the node corresponding to the punctured bit (ie, the bit not transmitted at the transmitting end). That is, input data is assumed to be 0 or 1 with equal probability for branches of the node.
- the CRC for the code block is added to the code block.
- the CRC may be determined as the remainder derived after dividing the data to be transmitted using a preset check value as a divisor.
- the CRC can generally be added at the end of the transmission data.
- the receiving end may compare the remainder obtained by dividing the received data by a predetermined check value with the CRC or determine whether the remainder obtained by dividing the received data by the check value for the entire received data including the CRC is 0.
- the size of the transport block is 6144 bits
- the size of the CRC may be configured up to 24 bits. Therefore, the remaining bits except the CRC bit are determined as the size of the code block.
- the receiving end may perform decoding in units of code blocks. Thereafter, the receiving end may configure the transport block from the code block, and determine success of decoding by checking the CRC for the transport block.
- codeblock CRC is used for early decoding termination. For example, when a CRC check for one code block fails, the receiving end may transmit a negative acknowledgment (NACK) to the transmitting end without decoding the remaining code blocks.
- NACK negative acknowledgment
- the transmitting end may retransmit at least part of the transmission data. For example, the transmitting end may retransmit a transport block or one or more code blocks. For example, when retransmitting the entire transport block, excessive radio resources may be consumed for retransmission. Also, for example, when a NACK occurs due to a code block CRC failure at the receiver, the receiver may transmit information (eg, an index of a code block) of the code block at which the CRC failure occurs to the transmitter. In addition, the transmitting end may increase the radio resource efficiency by transmitting only the code block in which the CRC failure occurs using the information of the code block. However, when the number of code blocks is increased, the amount of data for feeding back the information of the code blocks (for example, the indexes of the code blocks) is increased.
- the receiving end may inform the transmitting end of whether data reception was successful by using an ACK / NACK signal.
- ACK / NACK for data received in the i-th subframe is transmitted in the i + 4th subframe.
- retransmission may be performed in the i + 8th subframe. This takes into account the time for processing the transport block and the time for ACK / NACK generation. This is because the channel code processing for the processing of the transport block takes a lot of time.
- the ACK / NACK and retransmission subframes are based on the processing of the transport block and the time for uplink ACK / NACK generation and uplink subframe allocation (for example, TDD uplink / downlink configuration). This can be determined.
- ACK / NACK bundling and multiplexing may be used.
- the turbo code has no further error rate improvement over a certain SNR.
- a low-density parity-check (LDPC) code has been proposed.
- the LDPC code is a linear block code, which is used in IEEE 802.11n, 802.11ac and Digital Video Broadcasting (DVB).
- the LDPC code may be composed of a generation matrix and a parity check matrix.
- data may be encoded through a product operation on message bits and a generation matrix.
- a parity check matrix may be used instead of a generation matrix. For example, encoding of data may be performed using a parity check matrix.
- the linear block code may be generated based on the generation matrix G or the parity check matrix H.
- the linear block code is coded so that for every codeword c, Hc t has a value of zero.
- the LDPC code may also be performed by checking whether the product of the parity check matrix H and the codeword c becomes '0' like other linear block codes. For example, the decoding of the LDPC code may be performed by determining whether the product (ie, Hc t ) of the transpose matrix and the parity check matrix of the codeword c is 0.
- the parity check matrix is defined in a non-systematic form, and a uniform weight is applied to the rows and columns of the parity check matrix. The weight may mean the number of 1s included in a row or column.
- the density of nonzero elements on the parity check matrix H of the LDPC code is low.
- the LDPC code has a low decoding complexity and performance close to Shannon's theoretical limit. Due to the high error correction performance and low decoding complexity of the LDPC code, the LDPC code has characteristics suitable for high speed wireless communication.
- the parity check matrix H may be used to generate the LDPC code.
- the H matrix contains many zeros and one less.
- the size of the H matrix may be 10 5 bits or more, and a lot of memory may be consumed to represent the H matrix.
- FIG. 7 illustrates a structured parity check matrix, according to an example.
- the elements of the H matrix may be represented as sub-blocks of constant size, as shown in FIG. In FIG. 7, each element of the matrix H represents one subblock.
- the size of the memory for representing the H matrix can be reduced by marking the subblocks with one integer index.
- Each subblock may be, for example, a constant size permutation matrix.
- FIG. 8 illustrates a model matrix according to an example.
- the model matrix used for LDPC code encoding / decoding is shown in FIG. 8.
- the model matrix may mean a parity check matrix composed of at least one subblock described below.
- a sub block may be referred to as a shift number in the following description.
- the model matrix may be extended to a parity check matrix based on the method described below. Therefore, encoding and decoding based on a specific model matrix means encoding and decoding based on a parity check matrix generated from an extension of the corresponding model matrix.
- an index '-1' represents a zero matrix of a predetermined size.
- the index '0' represents an identity matrix of a predetermined size.
- Positive integer indices except '-1' and '0' represent the number of shifts.
- the sub block represented by the index of '1' may mean a matrix shifted once in a specific direction from the unit matrix.
- 9 is a diagram for explaining transformation of a matrix according to the number of shifts.
- FIG. 9 illustrates a case in which the size of the sub block has four rows and four columns.
- the subblock is shifted three times to the right from the unit matrix.
- the parity check matrix of the code of the structured LDPC may indicate a sub block using an integer index of '3'.
- encoding of the LDPC code may be performed by generating a generation matrix G from the parity check matrix H and encoding the information bits using the generation matrix.
- Gaussian reduction is performed on the parity check matrix H to form a matrix of the form [P T : I].
- the matrix P is a matrix in which the number of rows is k and the number of columns is nk
- I is an identity matrix of size k.
- the generation matrix G has the form [I: P T ].
- the encoded information bits may be represented by a matrix x of one row k columns.
- codeword c is xG
- xG has the form [x: xP].
- x represents an information part (or a systematic part)
- xP represents a parity part.
- the H matrix into a special structure without using Gaussian elimination, it is also possible to code information bits directly from the H matrix without inducing the matrix G. From the structures of the H matrix and the G matrix described above, the product of the transpose matrix of the matrix G and the matrix H has a value of zero. Using this feature and the relationship between the information bits and codewords described above, a codeword can be obtained by adding a parity bit after the information bits.
- FIG. 10 is a flowchart illustrating an LDPC code decoding method according to an example.
- codeword c is represented by codeword c 'which includes noise at the receiving end.
- the receiver performs demultiplexing and demodulation on the received signal (S1000) and initializes decoding parameters (S1005).
- the receiver updates check nodes and variable nodes (S1010 and S1015) and performs syndrome checks (S1020). That is, by checking whether c'H T is 0, the decoding procedure may be terminated.
- the first k bits in c ' may be determined as information bits x. If c'H T is not 0, the information bit x may be recovered by finding c 'where c'H T satisfies 0 based on a decoding technique such as a sum-product algorithm.
- FIG. 11 illustrates a bipartite graph according to an example.
- nodes on the left represent variable nodes
- nodes on the right represent check nodes.
- a binary graph is shown around the variable node v 0 and the check node c 1 for illustrative purposes.
- the connecting line of the binary graph of FIG. 11 may be referred to as an edge.
- the binary graph of FIG. 11 can be generated from Hc t .
- the edge from variable node v 0 corresponds to one column of parity check matrix H and the edge from check node c 1 corresponds to one row of matrix H.
- the product of the parity check matrix H and the transpose matrix of the codeword matrix c must have a value of '0'. Therefore, the value of variable nodes connected to one check node should be zero. Therefore, in FIG. 11, the exclusive OR (XOR) of the values of the variable nodes (v 0 , v 1 , v 4 , v 6 , v 9 , v 11 ) connected to the check node c 1 is' It must be 0 '.
- Syndrome check means to check whether the value of the variable nodes connected to each check node is exclusive OR.
- a parity check matrix (or generation matrix) can be arbitrarily constructed.
- the performance of the LDPC code can be improved as the length of the block increases.
- the performance of the LDPC code may be improved through an optimal decoding method.
- a trust propagation algorithm is used for decoding the LDPC code.
- the parity check matrix of the randomly generated LDPC code has excellent performance, but its implementation and representation are very complicated. Therefore, structured LDPC codes as described above are widely used. As such structured LDPC codes, QC LDPC codes are widely used.
- the QC-LDPC code is composed of a zero matrix having a Q ⁇ Q size and a cyclic permutation matrix (CPM) having a Q ⁇ Q size.
- the cyclic permutation matrix P has a form in which an identity matrix of size Q ⁇ Q is cyclically shifted by a cyclic shift value a (see FIG. 9).
- the parity check matrix H may be composed of (mb + 1) ⁇ (nb + 1) cyclic permutation matrices.
- cyclic shift value 0 indicates an identity matrix and -1 indicates a zero matrix.
- the parity check matrix may be represented by a matrix of circular shift values, as shown in FIG. 8.
- the value of each cyclic shift may be set to have a value of -1 or more and Q-1 or less.
- a matrix composed of circular shift values may be referred to as a circular shift matrix or a characteristic matrix.
- FIG. 12 is a diagram illustrating a structure of an LDPC code according to an embodiment of the present invention.
- a multi-edge QC LDPC code may be used.
- the multi-edge QC LDPC code may have a structure in which a high parity code and a single parity check code are concatenated similar to the Irregular Repeat Accumulation (QC-IRS).
- the parity check matrix H of the multi-edge QC-LDPC code may be defined as follows.
- A represents a high rate code having a structure similar to QC-IRA.
- 0 represents a zero matrix.
- C and I represent information and parity of a single parity check code, respectively.
- 0 represents an identity matrix and -1 represents a zero matrix.
- K represents the size of information to be encoded.
- M1 represents the parity of the high rate code portion and M2 represents the parity size of the single parity check code portion.
- P represents the size of puncturing applied to the LDPC code.
- the size of P may be determined in consideration of the maximum iteration that the LDPC decoder can perform.
- the maximum number of iterations of the decoder may be 50, and thus the size of P may be 2Z.
- the present invention is not limited to this configuration.
- the parity structure of the high rate code portion A on FIG. 12 may be determined as a dual-diagonal structure in consideration of an encoding scheme.
- a lifting operation may be performed. Lifting is used to obtain a parity check matrix of a desired size from a predetermined parity check matrix.
- Various code lengths can be supported by changing the lifting size. For example, floor lifting or modulo lifting can be used.
- the parity check matrix according to the modulo lifting may be obtained by the following equation.
- Q represents the lifting size.
- a ij represents the shift value of the i row j column of the preset parity check matrix (refer FIG. 8).
- MOD Q represents a modulo operation based on the Q value. That is, in the cyclic shift matrix of the preset parity check matrix, values corresponding to the zero matrix are maintained, and a modulo operation based on the lifting size Q is performed on the remaining cyclic shift values. Therefore, the shift value of the cyclic shift matrix is converted into values of -1 to Q-1.
- FIG. 13 is a diagram illustrating a rate matching process according to an example.
- the length of data bits that can be transmitted substantially may be determined based on the size of available physical resources. Accordingly, a codeword having a code rate corresponding to the size of physical resources available through rate matching may be generated.
- a shortening technique or a puncturing technique may be used for rate matching.
- the shortening technique may be performed, for example, by removing a portion of the information portion of the codeword. Since some of the information bits are reduced, the code rate can be reduced by the shortening technique.
- the puncturing technique may be performed, for example, by puncturing at least a portion of the parity of the codeword. In the case of puncturing, the code rate can be increased because the rate of information bits is increased.
- a codeword corresponding to any code rate can be generated through a combination of shortening and puncturing.
- the performance of shortening and puncturing may be determined according to the order of the bits being shortened or punctured.
- the order of bit puncturing within a Q ⁇ Q unit block does not affect performance. Therefore, after interleaving in units of lifting size (Q) for the parity block is performed, puncturing may be performed from the last part of the parity bit. Shortening may also be performed from the last portion of the information bit.
- rate matching may be performed through an iterative technique.
- an information block including information bits to be transmitted is generated (S1301). If the size of the code block is smaller than the length of the LDPC information portion, zero bit information may be added after the information block before encoding. In the example of FIG. 13, a 0 bit block is inserted after the information block (S1302) for later shortening. Thereafter, a codeword including a parity block may be generated by performing encoding on the information block and the 0 bit block based on the LDPC code (S1303). In step S1303, the information block and the 0 bit block may correspond to the information portion of the LDPC code, and the parity block may correspond to the parity portion of the LDPC code.
- the shortening technique may be applied for rate matching.
- the pre-inserted 0-bit block may be removed (S1304).
- puncturing which will be described later, interleaving (or permutation) of a lifting size unit may be performed on the parity block.
- the last part of the parity block may be punctured (S1305).
- 5G WLAN systems offer data rates from up to 20Gbps up to a few tens of bps (for LTE, up to 40 bps).
- the transmission environment supported by the 5G WLAN system is diverse.
- the LDPC code used for encoding must support various code rates.
- the LDPC code uses multiple base codes.
- Some base codes proposed in the present invention may be base codes that are advantageous for large blocks and large amounts of throughput, or may be base codes that are advantageous for small blocks and short latency. have.
- LDPC codes have a problem in that rows of an H matrix to be processed increase as the code rate decreases. For example, if the code rate of the LDPC code is 8/9, and the number of rows to be processed by the encoder is 6, if the code rate is reduced to 2/3 under the same condition, the rows to be processed by the encoder are It will increase to 18. As the number of rows that need to be processed increases three times, the latency also increases three times.
- the present invention proposes to introduce a separate short code for encoding a small transport block.
- the data packet transmitted between the base station and the terminal has different characteristics depending on whether the data packet is transmitted through uplink or downlink.
- a large sized transport block occupies most of the traffic since it has a relatively higher code rate than uplink transmission.
- uplink transmission a relatively small transport block occupies most of the traffic.
- the first base code proposed by the present invention may be proposed for a large code block and a high throughput, and the second base code may include a small code block and a short delay time. low latency).
- Table 1 below proposes some parameters of the first base code and the second base code. However, the features of the present invention are not limited by the parameters suggested in the above table.
- Mb represents the parity size of each base code
- Nb represents the size of the codeword of each base code.
- Pb also represents the puncturing size of each base code.
- Kb, max represents the maximum value of the number of columns of each base code
- Kb, min represents the minimum value of the number of columns of each base code, respectively.
- the kind of lifting value can be determined in consideration of the maximum information shortening. At this time, the amount of shortening can be determined as (Kb, max-Kb, min) * Z.
- the size of the shortening is reduced to ensure stable performance, but there is a disadvantage in that the implementation complexity is increased. That is, the two may be said to be in a trade-off relationship with each other.
- a lifting value may be set so that the shortening does not exceed 8Z, and in the case of the second base code, the shortening may be set so that it does not exceed 4Z.
- the performance deviation can be minimized for various code block sizes.
- Table 2 below shows some lifting values for the first base code in accordance with one embodiment of the present invention.
- the size of the code block is given by 6140
- the 2052 shortening value may cause performance degradation due to shortening.
- Table 3 below shows some lifting values for the second base code according to another embodiment of the present invention. However, the features of the present invention are not limited by the lifting values disclosed in Tables 2 and 3.
- the first base code and the second base code may be proposed for a case where a code block size input as an LDPC code overlaps.
- Tables 4 and 5 below show some parameters of the first base code and the second base code according to another embodiment of the present invention.
- Tables 6 and 7 below show some lifting values for the first base code and the second base code in accordance with another embodiment of the present invention.
- both the first base code and the second base code can be applied to the case where the code blocks have sizes of 504 to 2560.
- an LDPC code proposes a method of selecting a base code. How to choose a base code is described in detail below. Apart from this, it is also possible to selectively select the base code according to the situation or capacity of the terminal.
- the method of selecting a plurality of lifting values that can be used in each base code will be described in more detail. First, select the largest lifting value Zmax that can be supported by the base code, and then sequentially select smaller lifting values. After that, Kb and min can be selected in consideration of the maximum amount of shortening that the base code can support.
- the i-th Z value corresponding to the following formula can be selected as the lifting value of the corresponding base code.
- n means i value increased up to the minimum lifting value to be supported.
- the plurality of lifting values supported by the base code may be determined according to the following equation.
- ceil (a) represents the expression of raising a.
- Multiple lifting values available in the base code can be chosen to be in the form of A * 2 ⁇ B.
- Table 7 below shows a plurality of lifting values that can be used by the base code of the LDPC code, according to another embodiment of the present invention.
- Table 8 below shows some parameters of the first base code and the second base code according to another embodiment of the present invention.
- the transmitting end may divide the transport block into code blocks based on an input size of the encoder.
- the above-described H matrix must be determined.
- the transmitter To determine the H matrix, the transmitter must set the base code and the lifting value.
- the transmitter is preset.
- the base code can be selected based on the size of the code block. Referring to Tables 2 and 3, when the size of the code block exceeds 2040, the transmitting end selects the first base code, otherwise (if the size of the code block is 2040 or less), the transmitting end selects the second base code. You can choose. However, the features of the present invention are not limited to these numerical values.
- FIG. 14 is a diagram for describing a base code selection method according to an embodiment of the present invention.
- FIG. 14 shows that when the size of a code block generated by a transmitter is overlapped over a code block size that can be supported by the first base code and a code block size that can be supported by the second base code, as in the embodiment 1-2, FIG. A method of selecting a base code according to the code rate and the size of a code block is shown.
- r1max and r1 min represent the highest code rate and the minimum code rate that the first base code can provide, respectively.
- r2max and r2min represent the highest code rate and the minimum code rate that the second base code can provide, respectively.
- L1max and L1min represent the maximum code block size and the minimum code block size that the first base code can provide, respectively.
- L2max and L2min represent the maximum code block size and the minimum code block size that the second base code can provide.
- the transmitter may select and encode the first base code. Similarly, when the code block generated by the transmitter is located in the horizontal dotted line region, the transmitter may select the second base code to perform encoding.
- the transmitter selects the base code. How can this be a problem?
- the present invention proposes a method of selecting a second base code by a transmitting end.
- the transmitting end may determine the transport block size (TBS) from the given Modulation and Coding Scheme (MCS) and resource block (RB) with respect to the encoding target information. Thereafter, the transmitting end can obtain the size (k) and the code rate (r) of the code block through code block segmentation. The transmitter can then select the final base code by interpreting the conditional clause or code given in Table 9 below.
- TBS transport block size
- MCS Modulation and Coding Scheme
- RB resource block
- the transmitter can then select the final base code by interpreting the conditional clause or code given in Table 9 below.
- the transmitting end is a base code of the LDPC code. 1 ⁇ base code can be selected; otherwise, the second base code can be selected.
- the transmitting end may select the base code by giving priority to the second base code rather than the first base code.
- the features of the present invention are not limited to this configuration.
- the base code used by the LDPC code may be set through separate signaling for the terminal, and the base code may be selected according to the capability of the terminal.
- the transmitting end may select the lifting value Z according to the following equation.
- the equal sign is not included in the right term of Equation (7). If the equal sign is included, there may be a problem that two selectable lifting values occur.
- the transmitting end when selecting a base code, may be configured to select the second base code even for a code block having a code rate larger than the reference code rate of the second base code.
- the second base code may support a code rate higher than the reference code rate (0.71 according to embodiments 1-2) through parity puncturing. For example, if up to five columns of parity can be used, the code rate may be about 10/15 (0.77).
- the transmitter selects the second base code when the size of the code block is smaller than L2max and the code rate is smaller than rp (where rp> r2max), which is larger than the existing reference code rate.
- the transmitter when the size of the code block is smaller than 2560 and the code rate is smaller than 0.77, the transmitter may be configured to select the second base code to perform LDPC coding. In this case, since the transmitting end may use a larger lifting value than the existing code rate, it may gain in terms of delay time. In this case, M1 parity conversion permutation may be required to improve performance.
- 15 is a view for explaining an apparatus according to an embodiment of the present invention.
- the base station apparatus 10 may include a receiving module 11, a transmitting module 12, a processor 13, a memory 14, and a plurality of antennas 15. .
- the transmission module 12 may transmit various signals, data, and information to an external device (eg, a terminal).
- the reception module 11 may receive various signals, data, and information from an external device (eg, a terminal).
- the receiving module 11 and the transmitting module 12 may be referred to as transceivers.
- the processor 13 may control the overall operation of the base station apparatus 10.
- the plurality of antennas 15 may be configured according to, for example, a two-dimensional antenna arrangement.
- the processor 13 of the base station apparatus 10 may be configured to receive channel state information according to examples proposed by the present invention.
- the processor 13 of the base station apparatus 10 performs a function of processing information received by the base station apparatus 10, information to be transmitted to the outside, and the like. And may be replaced by a component such as a buffer (not shown).
- the terminal device 20 may include a receiving module 21, a transmitting module 22, a processor 23, a memory 24, and a plurality of antennas 25.
- the plurality of antennas 25 refers to a terminal device that supports MIMO transmission and reception.
- the transmission module 22 may transmit various signals, data, and information to an external device (eg, a base station).
- the reception module 21 may receive various signals, data, and information from an external device (eg, a base station).
- the receiving module 21 and the transmitting module 22 may be referred to as transceivers.
- the processor 23 may control operations of the entire terminal device 20.
- the processor 23 of the terminal device 20 may be configured to transmit channel state information according to examples proposed by the present invention.
- the processor 23 of the terminal device 20 performs a function of processing the information received by the terminal device 20, information to be transmitted to the outside, etc., and the memory 24 stores the calculated information and the like for a predetermined time. And may be replaced by a component such as a buffer (not shown).
- terminal device 10 may be implemented so that the above-described matters described in various embodiments of the present invention can be applied independently or two or more embodiments are applied at the same time, overlapping description will be described for clarity Omit.
- a downlink transmission entity or an uplink reception entity is mainly described using a base station
- a downlink reception entity or uplink transmission entity is mainly described using a terminal as an example.
- the scope of the present invention is not limited thereto.
- the description of the base station is a cell, an antenna port, an antenna port group, an RRH, a transmission point, a reception point, an access point, a repeater, or the like as a downlink transmission entity to a terminal or an uplink reception entity from a terminal.
- the repeater becomes a downlink transmission entity to the terminal or an uplink reception entity from the terminal, or when the repeater becomes an uplink transmission entity to the base station or a downlink reception entity from the base station,
- the principles of the present invention described through various embodiments may be equally applied.
- Embodiments of the present invention described above may be implemented through various means.
- embodiments of the present invention may be implemented by hardware, firmware, software, or a combination thereof.
- a method according to embodiments of the present invention may include one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), and Programmable Logic Devices (PLDs). It may be implemented by field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, and the like.
- ASICs Application Specific Integrated Circuits
- DSPs Digital Signal Processors
- DSPDs Digital Signal Processing Devices
- PLDs Programmable Logic Devices
- FPGAs field programmable gate arrays
- processors controllers, microcontrollers, microprocessors, and the like.
- the method according to the embodiments of the present invention may be implemented in the form of a module, a procedure, or a function that performs the functions or operations described above.
- the software code may be stored in a memory unit and driven by a processor.
- the memory unit may be located inside or outside the processor, and may exchange data with the processor by various known means.
- each component or feature is to be considered optional unless stated otherwise.
- Each component or feature may be embodied in a form that is not combined with other components or features. It is also possible to combine some of the components and / or features to form an embodiment of the invention.
- the order of the operations described in the embodiments of the present invention may be changed. Some components or features of one embodiment may be included in another embodiment or may be replaced with corresponding components or features of another embodiment. It is obvious that the claims may be combined to form an embodiment by combining claims that do not have an explicit citation relationship in the claims or as new claims by post-application correction.
- Embodiments of the present invention can be applied to various wireless access systems and broadcast communication systems.
- various radio access systems include 3rd Generation Partnership Project (3GPP), 3GPP2 and / or IEEE 802.xx (Institute of Electrical and Electronic Engineers 802) systems.
- Embodiments of the present invention can be applied not only to the various radio access systems, but also to all technical fields to which the various radio access systems are applied.
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
Claims (11)
- 다중 베이스 코드(Base code)를 지원하는 LDPC (Quasi-Cyclic Low-Density Parity-Check) 코드의 인코딩 방법에 있어서,패리티 체크 행렬 생성을 위한 베이스 코드를 제 1 베이스 코드와 제 2 베이스 코드 중에서 선택하는 단계;상기 패리티 체크 행렬 생성을 위한 리프팅 값(lifting value)을 복수의 리프팅 값으로부터 선택하는 단계; 및상기 선택된 베이스 코드와 상기 리프팅 값을 이용하여 상기 패리티 체크 행렬을 생성하는 단계를 포함하되,상기 베이스 코드는 코드 블록 사이즈(Code block size) 및 부호율(Code rate)에 기반하여 결정되고,상기 리프팅 값은 상기 베이스 코드의 파라미터와 상기 코드 블록 사이즈에 기반하여 결정되는,LDPC 코드의 인코딩 방법.
- 제 1항에 있어서,상기 코드 블록 사이즈가 기 설정된 코드 블록 사이즈보다 큰 경우, 상기 베이스 코드는 상기 제 1 베이스 코드로 선택되고,상기 코드 블록 사이즈가 상기 기 설정된 코드 블록 사이즈 보다 작은 경우, 상기 베이스 코드는 상기 제 2 베이스 코드로 선택되는,LDPC 코드의 인코딩 방법.
- 제 1항에 있어서,상기 제 1 베이스 코드가 지원하는 코드 블록 사이즈와 상기 제 2 베이스 코드가 지원하는 코드 블록 사이즈가 중첩되는 경우,상기 코드 블록 사이즈가 기 설정된 코드 블록 사이즈보다 크거나, 상기 부호율이 기 설정된 부호율 보다 큰 경우 상기 베이스 코드는 상기 제 1 베이스 코드로 선택되고,상기 코드 블록 사이즈가 상기 기 설정된 코드 블록 사이즈 보다 작고, 상기 부호율이 상기 기 설정된 부호율 보다 작은 경우, 상기 베이스 코드는 상기 제 2 베이스 코드로 선택되는,LDPC 코드의 인코딩 방법.
- 제 2항에 있어서,상기 기설정된 코드 블록 사이즈는 상기제 2 베이스 코드의 최대 코드 블록 인,LDPC 코드의 인코딩 방법.
- 제 3항에 있어서,상기 기설정된 코드 블록 사이즈는 상기제 2 베이스 코드의 최대 코드 블록 이즈이고,상기 기 설정된 부호율은 상기 제 2 베이스 코드의 최대 부호율인,LDPC 코드의 인코딩 방법.
- 제 1항에 있어서,상기 베이스 코드의 파라미터와 상기 복수의 리프팅 값은 상기 베이스 코드의 최대 쇼트닝(shortening) 값을 고려하여 결정되는,LDPC 코드의 인코딩 방법.
- 제 6항에 있어서,상기 최대 쇼트닝 값은 상기 리프팅 값의 8배 또는 4배를 넘지 않도록 설정되는LDPC 코드의 인코딩 방법.
- 제 1항에 있어서,상기 제 1 베이스 코드 또는 상기 제 2 베이스 코드 중 상기 베이스 코드로 선택된 베이스 코드에 대한 정보를 단말로 전송하는 단계를 더 포함하는,LDPC 코드의 인코딩 방법.
- 제 3항에 있어서,상기 제 2 베이스 코드가 상기 기 설정된 부호율 보다 더 큰 부호율을 지원하는 경우,상기 코드 블록 사이즈가 상기 기 설정된 코드 블록 사이즈 보다 작고, 상기 부호율이 상기 기 설정된 부호율 보다 큰 부호율 보다 작은 경우, 상기 베이스 코드는 상기 제 2 베이스 코드로 선택되는,LDPC 코드의 인코딩 방법.
- 다중 베이스 코드(Base code)를 지원하는 LDPC (Quasi-Cyclic Low-Density Parity-Check) 코드를 인코딩하는 장치에 있어서,송수신기; 및프로세서를 포함하고,상기 프로세서는,패리티 체크 행렬 생성을 위한 베이스 코드를 제 1 베이스 코드와 제 2 베이스 코드 중에서 선택하고,상기 패리티 체크 행렬 생성을 위한 리프팅 값(lifting value)을 복수의 리프팅 값으로부터 선택하고,상기 선택된 베이스 코드와 상기 리프팅 값을 이용하여 상기 패리티 체크 행렬을 생성하되,상기 베이스 코드는 코드 블록 사이즈(Code block size) 및 부호율(Code rate)에 기반하여 선택되고,상기 리프팅 값은 상기 베이스 코드의 파라미터와 상기 코드 블록 사이즈에 기반하여 선택되는,LDPC 인코딩 장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18736522.6A EP3567730A4 (en) | 2017-01-06 | 2018-01-05 | PROCEDURE FOR SELECTING A LDPC BASIC CODE WITH A MULTI-LPDC CODE AND DEVICE FOR IT |
JP2019528707A JP2020501429A (ja) | 2017-01-06 | 2018-01-05 | 多重ldpcコードからldpcベースコードを選択する方法及びそのための装置 |
CN201880004171.8A CN109891755A (zh) | 2017-01-06 | 2018-01-05 | 多lpdc 码中选择ldpc 基本码的方法及其设备 |
KR1020187025831A KR101998199B1 (ko) | 2017-01-06 | 2018-01-05 | 다중 ldpc 코드에서 ldpc 베이스 코드를 선택하는 방법 및 이를 위한 장치 |
US16/065,548 US20210167800A1 (en) | 2017-01-06 | 2018-01-05 | Method for selecting ldpc base code in multiple ldpc codes and apparatus therefor |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762442997P | 2017-01-06 | 2017-01-06 | |
US62/442,997 | 2017-01-06 | ||
US201762522051P | 2017-06-19 | 2017-06-19 | |
US62/522,051 | 2017-06-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2018128435A2 true WO2018128435A2 (ko) | 2018-07-12 |
WO2018128435A3 WO2018128435A3 (ko) | 2018-08-30 |
Family
ID=62791029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2018/000214 WO2018128435A2 (ko) | 2017-01-06 | 2018-01-05 | 다중 ldpc 코드에서 ldpc 베이스 코드를 선택하는 방법 및 이를 위한 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20210167800A1 (ko) |
EP (1) | EP3567730A4 (ko) |
JP (1) | JP2020501429A (ko) |
KR (1) | KR101998199B1 (ko) |
CN (1) | CN109891755A (ko) |
WO (1) | WO2018128435A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116827358A (zh) * | 2023-07-13 | 2023-09-29 | 白盒子(上海)微电子科技有限公司 | 一种5g ldpc编码实现方法和装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102395537B1 (ko) * | 2017-08-18 | 2022-05-10 | 에스케이하이닉스 주식회사 | H 행렬 생성 회로, 그것의 동작 방법 및 그것에 의해 생성된 h 행렬을 사용하는 에러 정정 회로 |
US11728918B2 (en) * | 2020-04-10 | 2023-08-15 | Qualcomm Incorporated | Multi-bit payload transmission with orthogonal sequences |
KR20230107872A (ko) * | 2020-10-15 | 2023-07-18 | 삼성전자주식회사 | 통신 또는 방송 시스템에서 데이터 복호화 방법 및 장치 |
CN115811379A (zh) * | 2021-09-15 | 2023-03-17 | 华为技术有限公司 | 编码方法、译码方法以及相关装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7188297B2 (en) * | 2004-08-12 | 2007-03-06 | Motorola, Inc. | Method and apparatus for encoding and decoding data |
US7562280B2 (en) * | 2004-09-10 | 2009-07-14 | The Directv Group, Inc. | Code design and implementation improvements for low density parity check codes for wireless routers using 802.11N protocol |
US7996746B2 (en) * | 2004-10-12 | 2011-08-09 | Nortel Networks Limited | Structured low-density parity-check (LDPC) code |
CN101601187B (zh) * | 2007-01-24 | 2014-08-20 | 高通股份有限公司 | 对可变大小分组进行ldpc编码和译码 |
US8433971B2 (en) * | 2009-04-29 | 2013-04-30 | Broadcom Corporation | Communication device architecture for in-place constructed LDPC (low density parity check) code |
US8572463B2 (en) * | 2010-02-01 | 2013-10-29 | Sk Hynix Memory Solutions Inc. | Quasi-cyclic LDPC encoding and decoding for non-integer multiples of circulant size |
KR101922990B1 (ko) * | 2011-11-11 | 2018-11-28 | 삼성전자주식회사 | 멀티미디어 통신 시스템에서 준순환 저밀도 패리티 검사 부호 송/수신 장치 및 방법 |
JP6542132B2 (ja) * | 2013-02-13 | 2019-07-10 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 高レート、高並列性、および低エラーフロアのために、疑似巡回構成を使用し、パンクチャするldpc設計 |
KR101783619B1 (ko) * | 2013-11-29 | 2017-10-10 | 엘지전자 주식회사 | 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법 및 방송 신호 수신 방법 |
-
2018
- 2018-01-05 US US16/065,548 patent/US20210167800A1/en not_active Abandoned
- 2018-01-05 EP EP18736522.6A patent/EP3567730A4/en not_active Withdrawn
- 2018-01-05 WO PCT/KR2018/000214 patent/WO2018128435A2/ko active Application Filing
- 2018-01-05 JP JP2019528707A patent/JP2020501429A/ja active Pending
- 2018-01-05 CN CN201880004171.8A patent/CN109891755A/zh active Pending
- 2018-01-05 KR KR1020187025831A patent/KR101998199B1/ko active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116827358A (zh) * | 2023-07-13 | 2023-09-29 | 白盒子(上海)微电子科技有限公司 | 一种5g ldpc编码实现方法和装置 |
CN116827358B (zh) * | 2023-07-13 | 2024-04-02 | 白盒子(上海)微电子科技有限公司 | 一种5g ldpc编码实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20210167800A1 (en) | 2021-06-03 |
WO2018128435A3 (ko) | 2018-08-30 |
EP3567730A4 (en) | 2020-09-02 |
KR20180104759A (ko) | 2018-09-21 |
EP3567730A2 (en) | 2019-11-13 |
JP2020501429A (ja) | 2020-01-16 |
CN109891755A (zh) | 2019-06-14 |
KR101998199B1 (ko) | 2019-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018062660A1 (ko) | Qc ldpc 코드의 레이트 매칭 방법 및 이를 위한 장치 | |
WO2017217711A1 (ko) | 폴라 코드를 위한 데이터 재송신 방법 및 이를 위한 장치 | |
WO2018128435A2 (ko) | 다중 ldpc 코드에서 ldpc 베이스 코드를 선택하는 방법 및 이를 위한 장치 | |
AU2018288906B2 (en) | Method and apparatus of rate-matching for communication and broadcasting systems | |
WO2018143743A1 (ko) | 행-직교 구조(row-orthogonal)를 이용한 LDPC 코드 전송 방법 및 이를 위한 장치 | |
WO2016089157A1 (en) | Sc-ldpc codes for wireless communication systems | |
WO2018236114A1 (en) | METHOD AND APPARATUS FOR FLOW ADAPTATION FOR COMMUNICATION AND BROADCASTING SYSTEMS | |
WO2016093568A1 (en) | Method and apparatus for parallel concatenated ldpc convolutional codes enabling power-efficient decoders | |
WO2018225885A1 (ko) | Sc-ldpc 코드 부호화 방법 및 이를 위한 장치 | |
WO2017217715A1 (ko) | 폴라 코드를 위한 프로즌 비트 결정 방법 및 이를 위한 장치 | |
WO2018164297A1 (ko) | Ldpc 코드의 계층적 복호화 방법 및 이를 위한 장치 | |
WO2018226019A1 (ko) | 행-직교 구조를 이용한 ldpc 코드 전송 방법 및 이를 위한 장치 | |
WO2019031841A1 (ko) | 정보 전송 방법 및 전송 장치 및 정보 수신 방법 및 수신 장치 | |
WO2019093855A1 (ko) | Harq를 지원하기 위해 폴라 코드를 기반으로 부호화하는 방법 및 이를 이용한 무선 장치 | |
WO2018079987A1 (ko) | Ldpc 코드의 운송블록 분할 방법 및 이를 위한 장치 | |
WO2018084617A1 (ko) | Ldpc 코드의 운송블록 분할 방법 및 이를 위한 장치 | |
WO2018169339A1 (ko) | 채널 코딩을 수행하는 방법 및 이를 위한 장치 | |
WO2017213329A1 (ko) | 우도비를 갖는 이진소거채널 기반 오류 정정 코드 복호화 방법 및 이를 위한 장치 | |
WO2018143489A1 (ko) | 오류 정정 효율 개선을 위한 터보 코드 부호화기 및 부호화 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 20187025831 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020187025831 Country of ref document: KR |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18736522 Country of ref document: EP Kind code of ref document: A2 |
|
ENP | Entry into the national phase |
Ref document number: 2019528707 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018736522 Country of ref document: EP Effective date: 20190806 |