WO2011105834A2 - 부호어의 생성 방법 - Google Patents

부호어의 생성 방법 Download PDF

Info

Publication number
WO2011105834A2
WO2011105834A2 PCT/KR2011/001302 KR2011001302W WO2011105834A2 WO 2011105834 A2 WO2011105834 A2 WO 2011105834A2 KR 2011001302 W KR2011001302 W KR 2011001302W WO 2011105834 A2 WO2011105834 A2 WO 2011105834A2
Authority
WO
WIPO (PCT)
Prior art keywords
generation matrix
matrix
group
symbols
codeword
Prior art date
Application number
PCT/KR2011/001302
Other languages
English (en)
French (fr)
Other versions
WO2011105834A3 (ko
Inventor
장지웅
한승희
조한규
Original Assignee
엘지전자 주식회사
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 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to US13/581,197 priority Critical patent/US8713415B2/en
Publication of WO2011105834A2 publication Critical patent/WO2011105834A2/ko
Publication of WO2011105834A3 publication Critical patent/WO2011105834A3/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/0001Arrangements for dividing the transmission path
    • H04L5/0014Three-dimensional division
    • H04L5/0016Time-frequency-code
    • H04L5/0019Time-frequency-code in which one code is applied, as a temporal sequence, to all frequencies
    • 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/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • 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/13Linear codes
    • H03M13/136Reed-Muller [RM] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/65253GPP LTE including E-UTRA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data

Definitions

  • the present invention relates to encoding of information bits in a wireless communication system, and more particularly, to a method of generating codewords based on block encoding.
  • IMT-Advanced aims to support IP (Internet Protocol) -based multimedia services at data rates of 1 Gbps in stationary and slow motions and 500 Mbps in high speeds.
  • IP Internet Protocol
  • 3rd Generation Partnership Project is a system standard that meets the requirements of IMT-Advanced.
  • Long Term Evolution is based on Orthogonal Frequency Division Multiple Access (OFDMA) / Single Carrier-Frequency Division Multiple Access (SC-FDMA) transmission.
  • OFDMA Orthogonal Frequency Division Multiple Access
  • SC-FDMA Single Carrier-Frequency Division Multiple Access
  • LTE-A LTE-Advanced
  • LTE-A is one of the potential candidates for IMT-Advanced.
  • the next generation wireless communication system requires a high speed communication system capable of processing and transmitting various information such as video and wireless data.
  • One of the most fundamental problems in achieving high speed communication is how efficiently and reliably data can be transmitted through a channel. Is it? Unlike the wired channel environment, the wireless channel environment inherent in the wireless communication system is inevitable due to various factors such as multipath interference, shadowing, propagation attenuation, time-varying noise, interference, and fading. Errors occur and loss of information.
  • Channel coding is a process of generating codewords by encoding information bits to prevent loss of such information.
  • a codeword refers to a bit string made by performing specific processing on information bits in order to improve detection performance when transmitting information bits.
  • Channel coding includes block coding (block coding) and trellis (channel coding).
  • Block coding includes channel coding using BCH (Bose-Chadhuri-Hocquenghem) code or Reed-Muller (RM) code. Codewords in block coding may be generated using a matrix block called a generating matrix. Unlike channel coding in trellis type, block coding has no relationship between the front and rear blocks because there is no memory between successive blocks.
  • the trellis type channel coding includes channel coding using a convolution code or a turbo code. Codewords in trellis-type channel coding can be made using polynomials such as generating polynomials.
  • a TFCI (Transmit Format Combination Indicator) code is used as a channel code for encoding channel information of an uplink control channel.
  • the TFCI code is designed by punturing the lead-muller (RM) code, and can be regarded as a modified lead-muller code. Therefore, the TFCI code is similar to the fast Hamadard transform. Decoding can be simplified or speeded up.
  • the TFCI code supports various information bit and codeword bit sizes, which is suitable for the requirements of channel information encoding.
  • a decoder of 3GPP standard can be used, it can be used in hardware of a dual mode system of wide band code division multiple access (WCDMA) and LTE.
  • WCDMA wide band code division multiple access
  • a generation matrix of (20,10) TFCI codes and a generation matrix of (18,10) codes generated by puncturing a (32,10) TFCI code generation matrix are used.
  • the first digit in parentheses is an index indicating the length of the codeword
  • the second digit is an information bit size.
  • a channel code having an information bit of 24 has been required, and a generation matrix supporting this is required.
  • An object of the present invention is to generate codewords when extended information bits are input.
  • it is necessary to generate a generation matrix by performing puncturing with a smaller amount of computation.
  • a method of generating a codeword includes receiving an information bit, and the size of a column is the same as the length of the information bit, the size of a row is 24 rows, and the value of a symbol that is an element of the matrix is 0. Or generating a generation matrix of 1, dividing the generated generation matrix into the same size as an upper group and a lower group, wherein the number of symbols having a value of 1 belonging to the upper group and a symbol belonging to the lower group is 1 Changing the generation matrix by replacing rows so that the number is the same, and generating a codeword from the remainder of the information bits and each row of the changed generation matrix after dividing by two.
  • the generation matrix of the symbol having a value belonging to the upper group is 1;
  • the row may be replaced by changing the number so that the difference between the number and the number of symbols belonging to the subgroup is 1 is minimum.
  • the generation matrix may be changed by replacing rows so that a symbol having a value of zero does not occur continuously in each column of the upper group and the lower group.
  • a method for generating a codeword from an original generation matrix of a read-muller code having a length of 2 n codewords includes receiving an information bit, and optimally generating a column whose size is equal to the length of the information bit. And generating a codeword using the optimal generation matrix, wherein the optimal generation matrix obtains a partition coefficient, wherein the partition coefficient is a difference between a length of the information bits of two and a difference of one. Obtain a puncturing coefficient that is a square, and is a ratio of the difference between the division coefficient and the length of the codeword of the read-muller code and the length (a) of the codeword, and the row of the original generation matrix of the read-muller code. When divided into a uniform set of partition coefficients, a random column of each of the divided sets is generated by puncturing by the puncturing coefficient.
  • the generated matrix is divided into three sets of rows of the same size of the first group and the second group, and the number of symbols having a value of 1 belonging to the first group and the number of symbols having a value belonging to the second group are 1
  • the method may further include changing the generation matrix by replacing columns to be identical.
  • the generation matrix cannot replace a column such that the number of symbols having a value of 1 belonging to the first group and the number of symbols belonging to the second group are equal to 1, the value belonging to the first group is 1
  • the column may be replaced by changing the column so that the difference between the number of symbols and the number of symbols belonging to the second group is 1 is minimized.
  • the generation matrix may be changed by replacing a column so that a symbol having a value of 0 does not occur continuously in each column of the first group and the second group.
  • the generation matrix may be changed by substituting columns so that the symbols belonging to different symbols are transmitted when the symbols having the value of zero occur consecutively in each column of the first group and the second group. Can be.
  • LTE-A Long Term Evolution-Advanced
  • a generation matrix for generating codewords can be generated with a smaller amount of computation.
  • 1 shows a wireless communication system.
  • FIG. 2 shows a structure for transmitting information using channel coding in a 3GPP (LTE / LTE-A) uplink control channel system.
  • 3GPP LTE / LTE-A
  • FIG. 3 is a flowchart illustrating a method of generating a codeword according to the present invention.
  • FIG. 5 is a flowchart illustrating a codeword generation method according to the present invention.
  • FIG. 6 is a block diagram illustrating a transmitter and a receiver according to an embodiment of the present invention.
  • the wireless communication system can provide various communication services such as voice, packet data, and the like.
  • the wireless communication system 10 includes at least one base station (BS) 11.
  • the base station 11 generally refers to a fixed station communicating with the terminal 12, and may be referred to as other terms such as an evolved-NodeB (eNB), a base transceiver system (BTS), an access point, and the like.
  • eNB evolved-NodeB
  • BTS base transceiver system
  • Each base station 11 provides a communication service for a specific geographic area (generally called a cell) 15a, 15b, 15c.
  • the cell can in turn be divided into a number of regions (called sectors).
  • the UE 12 may be fixed or mobile, and may include a mobile station (MS), a mobile terminal (MT), a user terminal (UT), a subscriber station (SS), a wireless device, and a PDA. (Personal Digital Assistant), a wireless modem (wireless modem), a handheld device (handheld device) may be called other terms.
  • MS mobile station
  • MT mobile terminal
  • UT user terminal
  • Downlink means communication from a base station (BS) to a user equipment (UE), and uplink means communication from a terminal to a base station.
  • BS base station
  • UE user equipment
  • uplink means communication from a terminal to a base station.
  • the transmitter may be part of the base station, and the receiver may be part of the terminal.
  • a transmitter is part of a terminal and a receiver may be part of a base station.
  • a process of generating a codeword based on a Reed-Muller (RM) code will be described.
  • RM Reed-Muller
  • communication systems based on RM codes are widely used. It will now be described using the RM code.
  • the present invention is not limited to the RM code, but a tail biting convolutional code (TBCC) or a turbo code may be used.
  • TBCC tail biting convolutional code
  • turbo code may be used.
  • the generation matrix G is a basis sequence (or vector) having 0 or 1 as an element as shown in Equation 1 below.
  • Equation 1 may be represented by 1, v 5 , v 4 , v 3 , v 2 , and v 1 in reverse order.
  • the generator matrix refers to a matrix on which the codeword is generated.
  • Each element of the generation matrix can be referred to as a symbol, and the value of each symbol is 0 or 1. That is, the generation matrix can be expressed as being composed of 0 symbols or 1 symbol, respectively.
  • the information bit m can be expressed as in Equation 2 below. Assuming that the size of G is 6x36, the length of the input information bit is six.
  • the codeword b which is a modulo operation result of the product of the information bit and the generation matrix G, may be expressed as in Equation 3 below.
  • a codeword generated in this way By decoding a specific transmission sequence called a codeword generated in this way, it is possible to determine what information bits are transmitted. In an unoccupied memory channel whose error probabilities from one symbol to the next are independent of each other, the sequence is compared with all possible codewords and the codeword closest to the sequence is selected in consideration of the reliability of the received symbol.
  • the number of different information bits between the received sequence and the codeword or the number of different information bits between the codewords is called distance, and the smallest distance between the codewords is important for determining the performance of the code. This is called the minimum distance. For example, suppose you have the code words 000, 010, and 110. The distance between 000 and 110 is 2, the distance between 000 and 010 is 1, and the distance between 010 and 110 is 1, so the minimum distance is 1. When the minimum distance of a block code is d min , the codewords of the block code have different values at least d min at each other.
  • the minimum distance can be increased as the number of bits (parity bits) added in the encoding process increases, excellent detection performance can be obtained.
  • transmission efficiency can be lowered.
  • the detection performance is reduced, and the detection performance is sensitive to the error difference due to channel compensation. Deterioration may occur.
  • the detection performance and the transmission efficiency are in a trade-off relationship with each other.
  • the generation matrix of the (32,10) RM code may use a matrix provided by the 3GPP standard (see 5.2.2.6.4 of 3GPP TS36.212 V8.6.0).
  • CQI channel quality indication
  • a (20,10) RM having punctured a generation matrix of a (32,10) RM code in order to generate channel quality indication (CQI) information of a physical uplink control channel (PDCCH), a (20,10) RM having punctured a generation matrix of a (32,10) RM code.
  • Generation matrices or (18,10) RM generation matrices may be used.
  • the (20,10) RM generation matrix and the (18,10) RM generation matrix may be generated by puncturing the (32,10) RM generation matrix.
  • puncturing the (18,10) RM generation matrix may be generated by puncturing two additional rows in the (20,10) RM generation matrix, wherein the (20,10) RM generation matrix is completely separate from the (20,10) RM generation matrix. It does not have a structure.
  • the (18,10) RM generation matrix may be generated from the (32,10) RM generation matrix.
  • perforation results can be obtained as shown in Table 1 below.
  • M i and n represent symbols constituting the generation matrix of the RM code in the nth column. As described above, each symbol refers to a component of a generation matrix and has a value of 1 or 0. i represents an information bit. As shown in Equation 3, the codeword can be obtained using the remainder (modulo operation) divided by 2 after the information bits are internalized in each row of the generation matrix.
  • Table 2 below shows the minimum distance performance of the generated matrix.
  • n the number of bits after performing channel coding
  • k the number of information bits
  • FIG. 2 shows a structure for transmitting information using channel coding in a 3GPP (LTE / LTE-A) uplink control channel system.
  • 3GPP LTE / LTE-A
  • an encoded bit is generated through channel coding.
  • a punctured lead-muller code, a tail biting convolutional code (TBCC) or a turbo code may be used.
  • the coded bit may be rate-match with the available subcarriers.
  • the coded bits are modulated such as binary phase-shift keying (BPSK), quadrature phase-shift keying (QPSK), 8 phase-shift keying (8PSK), 16 quadrature amplitude modulation (16QAM), or 64 quadrature amplitude modulatino (64QAM).
  • BPSK binary phase-shift keying
  • QPSK quadrature phase-shift keying
  • 8PSK 8 phase-shift keying
  • 16QAM 16 quadrature amplitude modulation
  • 64QAM 64 quadrature amplitude modulatino
  • Each slot uses 12 subcarriers to transmit information. Two slots may be used at the same time in one subframe, and 24 subcarriers are used when two slots are used at the same time. Therefore, when using BPSK modulation, a coded bit requires 24 bits, and when using QPSK modulation, a coded bit requires 48 bits. That is, a sign of at least 24 bits long is required.
  • consecutive zeros in the generation matrix may cause a problem that channel information is not contained in a symbol transmitted during QPSK transmission.
  • Table 3 shows an example of the (20, 13) RM generation matrix.
  • Table 3 shows the (20, 13) RM generation matrix, and deleting the last three columns results in the (20, 10) RM generation matrix.
  • FIG. 3 is a flowchart illustrating a method of generating a codeword according to the present invention.
  • an information bit is input (S310).
  • a generation matrix is generated based on the input length of the information bits (S320).
  • the size of the columns of the generation matrix is equal to the length of the information bits and the size of the rows is 24 rows.
  • the generated generation matrix is row-substituted so that consecutive zeros are placed in the generation matrix to prevent zero symbols from being generated and the transmission information has diversity (S330). Generating the generation matrix and changing the generation matrix by row substitution will be described later.
  • a codeword is generated from the remainders obtained by dividing the information bits and the generated columns of the generated matrix by dividing by two (S340). That is, a codeword is generated by listing the result of the modulo operation of the dot product.
  • b i is a codeword
  • O is the length of the information bit
  • o n is the input information bit
  • M i, n represents the nth column of the generation matrix
  • i represents 24 rows of the generation matrix.
  • B is 24, the size of the row.
  • the generation matrix used to generate the codeword is a (24, A) RM generation matrix in which four rows are added to the existing (20,10) RM generation matrix and columns are selected by the length A of the information bits.
  • the length A of the information bits may be one to six.
  • Four new rows are added to the (20,10) RM generation matrix from the (24, A) of 12 rows perforated to form the (20,10) RM generation matrix from the existing (32,10) RM generation matrix.
  • Four rows are selected that provide the best minimum distance performance of the RM generation matrix.
  • the size of the information bit is changed from 10 to A. Since A is a number less than or equal to 6, a maximum of 6 columns are selected from the existing 10 columns. At this time, the characteristics of the read-muller code are known to be better than the performance of the second-order (all-one sequence) and the first-order read-muller code.
  • the TFCI code is generated from the read-muller code.
  • a generation matrix may be generated by selecting and adding six columns among the columns constituting one original column and the primary lead-muller code.
  • TFCI decoder has the effect of using the existing TFCI decoder.
  • the present invention can be extended using columns 1 to 6 of the generation matrix used in the PUSCH (Physical Uplink Shared Channel) of the current LTE-A standard (Chapter 5.2.2.6.4 of 3GPP TS36.212 V8.6.0). You can create a generation matrix.
  • rows 0 through 19 of the (20,10) RM generation matrix may be used as is, and four new rows may be added to generate a new generation matrix.
  • the additional row is selected from the set of additional rows that makes the minimum distance performance and distance distribution of the codeword generated for an information bit length of 1 to 6 optimal, which can be obtained through computer simulation.
  • Tables 4 to 9 show examples of a row set having a minimum distance performance and an optimal distance distribution by computer simulation.
  • Table 4 compares an example of the newly generated (24,6) RM generation matrix with the (20,10) RM generation matrix and the (18,10) RM generation matrix.
  • the (24,6) RM generation matrix further includes the 14th, 20th, 21st and 24th rows of the (32,10) RM generation matrix compared to the (20,10) RM generation matrix.
  • Table 5 shows the generated (24,6) RM generation matrices.
  • Table 6 shows another example of comparing the newly generated (24,6) RM generation matrix with the (20,10) RM generation matrix and the (18,10) RM generation matrix.
  • the newly generated (24,6) RM generation matrix further includes 14th, 20th, 24th, and 29th rows of the (32,10) RM generation matrix compared to the (20,10) RM generation matrix.
  • Table 7 shows the generated (24,6) RM generation matrices.
  • Table 8 compares another example of the newly generated (24,6) RM generation matrix with the (20,10) RM generation matrix and the (18,10) RM generation matrix.
  • the newly generated (24,6) RM generation matrix further includes the 14th, 24th, 28th and 29th rows of the (32,10) RM generation matrix compared to the (20,10) RM generation matrix.
  • Table 9 shows the generated (24,6) RM generation matrices.
  • the (24, A) RM code was generated by puncturing eight rows in the (32,10) RM code generation matrix. It can be generated by adding four rows from the existing (20, A) RM code generation matrix, and four rows punctured in the (20, A) RM code but not perforated in the (24, A) RM code. You can create a new generation matrix by adding
  • a new generation matrix of (24, A) RM codes can be generated by adding six rows in the generation matrix of (18, A) RM codes.
  • the set of rows added to the generation matrix of the (20, A) RM code is ⁇ 1, 14, 20,29 ⁇ , ⁇ 1,14,21,28 ⁇ , ⁇ 1,14,28,29 ⁇ , ⁇ 1,21,28,29 ⁇ and ⁇ 20,21,24,29 ⁇ . These are the three that can be obtained through computer simulations. The same performance as Tables 4 to 6 is shown. Therefore, the invention using the generation matrices of the (24, 10) RM code to which these sets are added may be a new embodiment.
  • newly added rows may be inserted in an interleaved form into an existing table. It can also be added to the end of the generation matrix for implementations that are legacy compatible.
  • n the generation matrix by performing such a row replacement.
  • first divides all rows of the generation matrix of the (24,10) RM code into upper and lower n groups (where n may be 12). Let n be the same number of 1s in each n rows. If you can't equalize, divide the rows of the creation matrix into two groups so that the difference is minimal. Second, adjust the position or order of the rows so that zero does not occur twice in every column in each of the previously divided groups. Third, if it is not possible to prevent consecutive zeros, then adjust the position or order of the rows so that consecutive zeros belong to different symbols during transmission.
  • the modulated symbol is made up of a plurality of bits, and thus the position of "00" is adjusted so that the first 0 and the second 0 belong to different modulated symbols.
  • the rows are rearranged to minimize the number of consecutive zeros.
  • each slot may be mapped in an interleaved format. That is, odd-numbered symbols are mapped to the first slot and even-numbered symbols are mapped to the second slot, or conversely, even-numbered symbols are mapped to the first slot and odd-numbered symbols are mapped to the second slot.
  • the codeword is generated using the generation matrix of the code (24, A).
  • symbols for all subcarriers of all slots may be allocated in LTE-A Acknowledgment (ACK) / NACK (Negative Acknowledgement) feedback.
  • ACK LTE-A Acknowledgment
  • NACK Negative Acknowledgement
  • the decoder can be reused in the system when supporting WCDMA and LTE dual mode, thereby reducing the hardware.
  • performance through diversity may be improved through row reordering of generation matrices for eliminating zero symbols.
  • the Hamming distance is a number in which the values of corresponding bits do not coincide between binary codes having the same number of bits.
  • a punctured generation matrix is created using the original generation matrix (S410). If the hamming weight of each row is between the upper and lower boundary values (S420), a code set is generated using the punctured generation matrix (S430). If not, go back to the first step and create the perforated generation matrix again.
  • the first step is to create a perforated generation matrix.
  • this generation matrix is an optimized perforated generation matrix (S470). If not, the first step is to create the perforated generation matrix again.
  • the number of puncturing cases should be more efficient.
  • x rows are punctured in a generation matrix of a primary RM code having a parameter of (2 n , A), where x rows are punctured at least between codewords of the (a, A) RM code. Best distance performance.
  • a of the information bit becomes smaller than n + 1, A of n + 1 columns is selected. If A is 1, the matrix A ⁇ 1 with all elements 1 is the generation matrix, and for A, the other column is selected to give the best performance between minimum codewords.
  • a differential vector between codewords becomes another codeword. Therefore, the minimum distance between the codewords in the code set and the minimum value of the Hamming weight of the codewords in the codeset are the same. Hamming weights are the number of nonzero symbols in a string.
  • Equation 6 holds for.
  • the maximum value of the minimum distance between codewords of the read-muller code having the coded bit size of 2e is e.
  • the RM generation matrix G is made up of one all-one vector and one primary vector y as rows.
  • the primary vector is a vector having the same number of 1 symbols and 0 symbols.
  • Equation 7 the generation matrix G is expressed by Equation 7 below.
  • Such a generation matrix may be referred to as an original generation matrix, and a perforation may be performed from the generation matrix to generate a generation matrix of an RM code.
  • the matrix G has one all-one vector and three primary vectors.
  • G' denotes all binary y-tuple vectors. Each row has 2 ny times.
  • the y-tuple vector refers to a vector having y symbols.
  • Equation 8 G 'is a form having a 3-tuple vector 2 4 times, and G' is represented by Equation 8 below.
  • the row of the matrix G ', there 24-3 each have 23 kinds of the binary 3-tuple vectors.
  • the Hamming weight is 2 n-1 codewords having 0 and 1 2 n-1 times, respectively.
  • the characteristic of the lead-muller code as shown in the above-described generation matrix of the lead-muller code is that (2 n , y + 1) all y-tuple vectors are repeated the same number of times in the column of G 'which is a sub-matrix of the generation matrix G.
  • a codeword set with a Hamming weight of 2 n-1 comes out. That is, it is possible to know whether or not a set having the maximum minimum distance performance between codewords of the read-muller code can be obtained from the generation matrix.
  • FIG. 5 is a flowchart illustrating a codeword generation method according to the present invention.
  • an information bit is input (S510).
  • the size of the column generates an optimal generation matrix equal to the length of the information bits (S520). Details of generating the optimal generation matrix will be described later.
  • a codeword is generated using the optimal generation matrix (S530).
  • the generation matrix is generated by puncturing the generation matrix of the read-muller code.
  • the optimal generation matrix is generated by puncturing the (2 n , y + 1) generation matrix, which is the original generation matrix G.
  • x is the number of rows to be drilled and b is obtained from x and y.
  • the optimal algorithm is searched for puncturing and the corresponding puncturing is performed to generate the optimal generation matrix.
  • the (2 n , y + 1) matrix G is formed by arranging one all-one vector and one primary vector y as rows.
  • the column of the original generation matrix G is divided into 2 y portions.
  • 2 y is called a partition coefficient.
  • the generation matrix G may be divided into 2 2 , that is, quadranted by Equation 9 below.
  • the rows of each section are all the same symbol (all symbols or all 0 symbols). It can be seen that it is configured.
  • all codewords generated for codewords having 1 to y + 1 information bits have only three cases of 0, a / 2, and a (0, 10, 20 in the above case).
  • the hamming distance distribution between the stems is also optimal.
  • the generation matrix of the punctured read-muller code for which the length of the codeword is 48 and applies one of the information bits of 1 to 5 G 48 [(G 0 48 ) , (G 1 48 )] generates matrices such as the following Equations 10 and 11 below.
  • the linear operation may be applied to the linear matrix to remove zero symbols as much as possible to prevent performance degradation and to efficiently obtain diversity performance.
  • n rows where n may be 12
  • the rows of the creation matrix into two groups so that the difference is minimal.
  • the row position (or order) so that the consecutive zeros belong to different symbols during transmission.
  • thermal substitution is performed so that zeros do not appear consecutively in each sub-matrix having three sets of left and right halves.
  • Generating codewords using the punctured generation matrix according to the present invention has the following advantages.
  • a set of Read-Muller codewords with optimal Hamming weight distribution for information bit sizes of 1 to y + 1 of a Read-Muller code whose length is a ( 2 n -x) and x (2 y b)
  • performance improvement through diversity can be obtained through column permutation of a generation matrix to eliminate zero symbols.
  • FIG. 6 is a block diagram illustrating a transmitter and a receiver according to an embodiment of the present invention.
  • the transmitter 100 may include a codeword generator 110, a mapper 120, and an OFDM modulator 130.
  • the codeword generator 110 generates a codeword by the codeword generation method according to the present invention described with reference to FIGS. 2 to 5.
  • the mapper 120 modulates the codeword according to a predetermined modulation scheme and maps the codewords to symbols representing positions according to amplitude and phase constellation.
  • the OFDM modulator 130 converts the input symbols into OFDM symbols.
  • the OFDM modulator 130 may perform Inverse Fast Fourier Transform (IFFT) on the input symbols and convert them into time domain samples.
  • IFFT Inverse Fast Fourier Transform
  • CP cyclic prefix
  • the OFDM symbol output from the OFDM modulator 130 is transmitted through the transmit antenna 190.
  • the receiver 200 includes an OFDM demodulator 210, a demapper 220, and a codeword detector 230.
  • the signal received from the receive antenna 290 is converted by the OFDM demodulator 210 into symbols in the frequency domain.
  • the OFDM demodulator 210 may remove a CP from an input signal and perform a fast fourier transform (FFT).
  • Demapper 220 demaps input symbols.
  • the codeword detector 230 detects the estimated information bits through auto-correlation and cross-correlation of the codeword.
  • the transmitter 100 and the receiver 200 show a single-input single-output (SISO) scheme having one transmit antenna and one receive antenna
  • SISO single-input single-output
  • MIMO multiple-input multiple-output
  • the transmitter 100 and the receiver 200 show an orthogonal frequency division multiplexing (OFDM) / orthogonal frequency division multiple access (OFDMA) based system
  • OFDM orthogonal frequency division multiplexing
  • OFDMA orthogonal frequency division multiple access
  • the technical concept of the present invention is TDMA (Time Division Multiple Access) and CDMA (Code). Division Multiple Access) can be applied to other wireless access-based systems.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

부호어 생성 방법이 제공된다. 이 방법은 정보비트를 입력 받는 단계, 열의 크기는 상기 정보비트의 길이와 동일하고 행의 크기는 24행이며, 행렬의 요소(element)인 심볼의 값이 0 또는 1인 생성행렬을 생성하는 단계, 생성된 상기 생성행렬을 상위 그룹과 하위 그룹으로 동일한 크기로 나누고 상기 상위그룹에 속하는 값이 1인 심볼의 개수와 상기 하위그룹에 속하는 값이 1인 심볼의 개수가 동일하도록 행을 치환하여 상기 생성행렬을 변경하는 단계 및 상기 정보비트와 변경된 상기 생성행렬의 각각의 행을 내적한 후 2로 나눈 나머지로부터 부호어를 생성하는 단계를 포함한다.

Description

부호어의 생성 방법
본 발명은 무선 통신 시스템에서 정보비트의 부호화에 관한 것으로, 보다 상세하게는 블록 부호화에 기반한 부호어의 생성 방법에 관한 것이다.
최근 차세대 이동통신 시스템인 IMT(International Mobile Telecommunication)-Advanced의 표준화 작업이 진행되고 있다. IMT-Advanced는 정지 및 저속 이동 상태에서 1Gbps, 고속 이동 상태에서 500Mbps의 데이터 전송률로 IP(Internet Protocol)기반의 멀티미디어 서비스 지원을 목표로 한다.
3GPP(3rd Generation Partnership Project)는 IMT-Advanced의 요구 사항을 충족시키는 시스템 표준으로 OFDMA(Orthogonal Frequency Division Multiple Access)/SC-FDMA(Single Carrier-Frequency Division Multiple Access) 전송방식 기반인 LTE(Long Term Evolution)를 개선한 LTE-Advanced(LTE-A)를 준비하고 있다. LTE-A는 IMT-Advanced를 위한 유력한 후보 중의 하나이다.
차세대 무선 통신 시스템은 영상, 무선 데이터 등의 다양한 정보를 처리하여 전송할 수 있는 고속 통신 시스템이 요구되는데, 고속 통신을 달성하기 위한 가장 근본적인 문제 중 하나는 채널을 통하여 얼마나 효율적이고 신뢰성 있게 데이터를 전송할 수 있느냐 하는 것이다. 무선 통신 시스템에 존재하는 무선 채널 환경은 유선 채널 환경과는 달리 다중 경로 간섭(multipath interference), 쉐도잉(shadowing), 전파 감쇠, 시변 잡음, 간섭 및 페이딩(fading) 등과 같은 여러 요인들로 인해 불가피한 오류가 발생하여 정보의 손실이 생긴다.
채널코딩(channel coding)은 이러한 정보의 손실을 막기 위해 정보비트를 부호화하여 부호어를 생성하는 프로세스(process)이다. 여기서, 부호어(codeword)란 정보비트를 전송할 때 검출 성능을 향상시키기 위하여 정보비트에 특정한 처리를 함으로써 만들어진 비트열을 말한다.
채널코딩에는 블록형태의 채널코딩(이하 블록코딩)과 트렐리스(Trellis) 형태의 채널 코딩이 있다. 블록코딩에는 BCH(Bose-Chadhuri-Hocquenghem) 코드나 리드 뮬러(Reed-Muller:RM) 코드를 이용한 채널 코딩이 있다. 블록코딩에서의 부호어는 생성행렬(Generating Matrix)이라는 매트릭스 블록을 이용하여 만들어질 수 있다. 블록코딩은 트렐리스 형태의 채널 코딩과는 달리 연속적으로 발생되는 블록들 사이에 메모리가 없어서 앞 뒤 블록 간에는 아무런 관계가 없다. 트렐리스 형태의 채널 코딩에는 길쌈 코드(Convolution code)나 터보 코드(Turbo code)를 이용한 채널 코딩이 있다. 트렐리스 형태의 채널 코딩에서의 부호어는 생성 다항식(Generating polynomial)과 같은 다항식을 이용하여 만들어질 수 있다.
LTE-A에서 상향링크 제어채널의 채널정보를 부호화하기 위한 채널 부호로써 TFCI(Transmit Format Combination Indicator) 코드를 변형하여 사용하고 있다. TFCI 부호는 리드-뮬러(reed-muller:RM) 부호를 천공(punturing)하여 설계된 부호로서, 변형된 리드-뮬러 부호로 간주할 수 있으므로 리드-뮬러 부호와 마찬가지로 고속 하마다드 변환(Fast Hamadard Transform)을 통하여 복호를 단순화 또는 고속화 할 수 있다. 또한, TFCI 부호는 정보 비트와 부호어 비트의 크기를 다양하게 지원하므로 채널정보 부호화의 요구사항에 적합하다. 그리고, 3GPP 규격의 복호기를 사용할 수 있으므로 WCDMA(wideband code division multiple access) 및 LTE의 듀얼 모드 시스템의 하드웨어에서도 사용할 수 있다.
기존에는 (32,10) TFCI 부호 생성행렬을 천공하여 생성한 (20,10) TFCI 부호의 생성행렬 및 (18,10) 부호의 생성행렬이 사용되고 있다. 여기서 괄호안의 앞자리는 부호어의 길이를 나타내는 지표이고, 뒷 자리는 정보 비트의 크기를 나타낸다. 그러나, 최근에는 정보 비트가 24인 채널 부호가 요구되고 있는바 이를 지원하는 생성행렬이 요구된다.
또한, 이러한 생성행렬을 천공하는 과정에서, 천공한 후 부호어 간 최소거리 성능을 구하는 과정은 매우 복잡하다. 예를 들면, (a,A) RM 부호의 생성행렬을 만들기 위하여 임의의 A개의 열을 선택하여 (2n,A) RM 부호의 생성행렬을 만들고, 생성행렬에서 x개의 행을 천공한 후 부호어 간 최소거리 성능을 측정할 때, 2n개의 행 중 x 개의 행을 임의로 선택하는 경우의 수는 (ex> 2n=64, x=16인 경우 64C16=488,526,937,079,580) 천문학적인 수이다. 또한 각각의 경우마다 생성행렬에 따른 (a,A) RM 부호의 부호어 집합을 생성하고 집합 내의 모든 부호어 간에 거리를 측정하여 최소 거리를 구하는 과정의 계산량과 복잡도를 구하는 것은 매우 어렵다.
따라서, 천공을 보다 적은 계산량으로 효과적으로 탐색하여 생성행렬을 생성하는 방법이 요구된다.
본 발명의 기술적 과제는 확장된 정보 비트가 입력되었을 때 부호어를 생성하는 데에 있다. 또한, 부호어를 생성하는 생성행렬을 생성할 때 보다 적은 계산량의 천공을 수행하여 생성행렬을 생성하는 데에 있다.
본 발명의 일 양태에 따르면, 부호어 생성 방법은 정보비트를 입력 받는 단계, 열의 크기는 상기 정보비트의 길이와 동일하고 행의 크기는 24행이며 행렬의 요소(element)인 심볼의 값이 0 또는 1인 생성행렬을 생성하는 단계, 생성된 상기 생성행렬을 상위 그룹과 하위 그룹으로 동일한 크기로 나누고 상기 상위그룹에 속하는 값이 1인 심볼의 개수와 상기 하위그룹에 속하는 값이 1인 심볼의 개수가 동일하도록 행을 치환하여 상기 생성행렬을 변경하는 단계 및 상기 정보비트와 변경된 상기 생성행렬의 각각의 행을 내적한 후 2로 나눈 나머지로부터 부호어를 생성하는 단계를 포함한다.
상기 생성행렬은 상기 상위그룹에 속하는 값이 1인 심볼의 개수와 상기 하위그룹에 속하는 값이 1인 심볼의 개수가 동일하도록 행을 치환할 수 없다면, 상기 상위그룹에 속하는 값이 1인 심볼의 개수와 상기 하위그룹에 속하는 값이 1인 심볼의 개수의 차이가 최소가 되도록 행을 치환하여 변경할 수 있다.
상기 생성행렬은 상기 상위 그룹과 상기 하위 그룹의 각각의 열에 값이 0인 심볼이 연속적으로 생기지 않도록 행을 치환하여 변경할 수 있다.
본 발명의 다른 양태에 따르면 부호어의 길이가 2n인 리드-뮬러 부호의 오리지널 생성행렬로부터 부호어를 생성하는 방법은 정보비트를 입력 받는 단계, 열의 크기는 상기 정보비트의 길이와 동일한 최적 생성행렬을 생성하는 단계, 상기 최적 생성행렬을 이용하여 부호어를 생성하는 단계를 포함하되, 상기 최적 생성행렬은 분할계수를 구하되, 상기 분할 계수는 2의 상기 정보비트의 길이와 1의 차의 제곱이고, 상기 분할계수와 상기 리드-뮬러 부호의 부호어의 길이와 생성된 상기 부호어의 길이(a)의 차의 비인 천공계수를 구하고, 상기 리드-뮬러 부호의 오리지널 생성행렬의 행을 상기 분할계수 개의 균일한 셋으로 분할하였을 때, 분할된 각각의 상기 셋의 임의의 열을 상기 천공계수만큼 천공하여 생성된다.
생성한 상기 생성행렬을 제1 그룹과 제2 그룹의 동일한 크기의 행의 셋으로 나누고 상기 제1 그룹에 속하는 값이 1인 심볼의 개수와 상기 제2 그룹에 속하는 값이 1인 심볼의 개수가 동일하도록 열을 치환하여 상기 생성행렬을 변경하는 단계를 더 포함할 수 있다.
상기 생성행렬은 상기 제1 그룹에 속하는 값이 1인 심볼의 개수와 상기 제2 그룹에 속하는 값이 1인 심볼의 개수가 동일하도록 열을 치환할 수 없다면, 상기 제1 그룹에 속하는 값이 1인 심볼의 개수와 상기 제2 그룹에 속하는 값이 1인 심볼의 개수의 차이가 최소가 되도록 열을 치환하여 변경할 수 있다.
상기 생성행렬은 상기 제1 그룹과 상기 제2 그룹의 각각의 열에 값이 0인 심볼이 연속적으로 생기지 않도록 열을 치환하여 변경할 수 있다.
상기 생성행렬은 상기 제1 그룹과 상기 제2 그룹의 각각의 열에 값이 0인 심볼이 연속적으로 생긴다면, 연속적인 상기 값이 0인 심볼을 전송 시 서로 다른 심볼에 속하도록 열을 치환하여 변경할 수 있다.
본 발명에 따르면, 정보 비트의 길이가 24비트로 확장된 경우에도 좋은 최소거리 성능을 갖는 부호어를 생성할 수 있으며, 이를 통해, LTE-A(Long Term Evolution-Advanced)에서 슬롯의 모든 부반송파에 심볼을 할당할 수 있다.
또한, 부호어를 생성하는 생성행렬을 보다 적은 계산량으로 생성할 수 있다.
도 1은 무선통신 시스템을 나타낸다.
도 2는 3GPP(LTE/LTE-A) uplink control channel 시스템에서 채널 부호화를 이용하여 정보를 전송하는 구조를 나타난 것이다.
도 3은 본 발명에 따른 부호어의 생성 방법을 나타내는 순서도이다.
도 4는 일반적인 천공 패턴 탐색(puncturing pattern search) 방식을 나타낸 것이다.
도 5는 본 발명에 따른 부호어 생성방법을 나타낸 순서도이다.
도 6은 본 발명의 일 실시예에 따른 송신기와 수신기를 나타내는 블록도이다.

이하의 기술은 다양한 무선 통신 시스템에 사용될 수 있다. 무선 통신 시스템은 음성, 패킷 데이터 등과 같은 다양한 통신 서비스를 제공할 수 있다.
도 1은 무선통신 시스템을 나타낸다. 무선통신 시스템(10)은 적어도 하나의 기지국(11; Base Station, BS)을 포함한다. 기지국(11)은 일반적으로 단말(12)과 통신하는 고정된 지점(fixed station)을 말하며, eNB(evolved-NodeB), BTS(Base Transceiver System), 액세스 포인트(Access Point) 등 다른 용어로 불릴 수 있다.각 기지국(11)은 특정한 지리적 영역(일반적으로 셀이라고 함)(15a, 15b, 15c)에 대해 통신 서비스를 제공한다. 셀은 다시 다수의 영역(섹터라고 함)으로 나누어질 수 있다. 단말(12; User Equipment, UE)은 고정되거나 이동성을 가질 수 있으며, MS(Mobile Station), MT(Mobile Terminal), UT(User Terminal), SS(Subscriber Station), 무선기기(wireless device), PDA(Personal Digital Assistant), 무선 모뎀(wireless modem), 휴대기기(handheld device) 등 다른 용어로 불릴 수 있다.
하향링크는 기지국(base station; BS)에서 단말(user equipment; UE)로의 통신을 의미하며, 상향링크는 단말에서 기지국으로의 통신을 의미한다. 하향링크에서 송신기는 기지국의 일부분이고, 수신기는 단말의 일부분일 수 있다. 상향링크에서 송신기는 단말의 일부분이고, 수신기는 기지국의 일부분일 수 있다.
이하에서, 리드-뮬러(Reed-Muller:RM) 부호 기반의 부호어의 생성 과정을 설명한다. 무선 통신 시스템 중 RM 부호를 기반으로 하는 통신 시스템이 널리 사용되고 있다. 이제 RM 부호를 이용하여 설명한다. 다만, 본 발명이 RM 부호에 한정되는 것은 아니고, TBCC(Tail Biting Convolutional Code) 또는 터보 부호 등이 사용될 수 있다.
먼저, 생성행렬(Generator matrix) G의 크기를 6×36이라고 가정하면, 생성행렬 G는 다음의 수학식 1과 같이 0 또는 1을 요소로 하는 기저 시퀀스(basis sequence)(또는 벡터(vector)) v1,v2,v3,v4,v5,1로 표현될 수 있다. 또는, 수학식 1과 행의 순서가 뒤바뀐 1,v5,v4,v3,v2,v1으로 표현될 수도 있다. 여기서, 생성행렬(Generator matrix)은 부호어를 생성하는 기초가 되는 행렬을 말한다. 생성행렬의 각 요소(element)는 심볼이라고 할 수 있으며, 각 심볼의 값은 0 또는 1이다. 즉, 생성행렬은 각각 0심볼 또는 1심볼로 구성되어 있다고 표현할 수 있다.
[수학식 1]
Figure PCTKR2011001302-appb-I000001
정보비트 m은 다음 수학식 2와 같이 나타낼 수 있다. G의 크기를 6×36이라고 가정한바 입력되는 정보비트의 길이는 6이다.
[수학식 2]
Figure PCTKR2011001302-appb-I000002
따라서 정보비트와 생성행렬 G의 곱의 모듈로(modulo) 연산결과인 부호어 b는 다음 수학식 3과 같이 표현될 수 있다.
[수학식 3]
Figure PCTKR2011001302-appb-I000003
이와 같이 생성된 부호어라는 특정한 전송 시퀀스(sequence)를 복호화함으로써 전송된 정보비트가 무엇인지를 결정할 수 있다. 한 심벌에서 다음 심벌까지의 오류확률이 서로 독립적인 무기억 채널에서, 시퀀스를 가능한 모든 부호어와 비교하고, 수신된 심벌(symbol)의 신뢰성을 고려하여, 시퀀스와 가장 가까운 부호어를 선택한다.
이때, 수신된 시퀀스와 부호어간의 서로 다른 정보비트의 개수 또는 부호어간의 서로 다른 정보비트의 개수를 거리(distance)라고 하며, 부호어들간의 가장 작은 거리는 부호의 성능을 결정하는 중요한 것으로 이것을 최소거리(minimum distance)라 한다. 예를 들어, 부호어 000, 010, 110이 있다고 가정하자. 000과 110간의 거리는 2이고, 000과 010간의 거리는 1, 010과 110간의 거리는 1이므로, 이 중 최소거리는 1이다. 어떤 블록코드의 최소거리가 dmin일 때, 이 블록코드의 부호어들은 서로 적어도 dmin개의 위치에서 서로 다른 값을 갖는다. 이는 dmin-1개 혹은 그 이하의 에러가 발생하는 경우 수신기가 수신된 신호에 에러가 발생하였음을 알 수 있다는 것과 (dmin-1)/2 개 혹은 그 이하의 에러가 발생하여도 수신기가 다른 부호어로 오판하지 않고 원래의 부호로 복호할 수 있다는 것을 의미한다.
부호화 과정에서 추가되는 비트수(패리티 비트수)가 증가할수록 최소거리가 증가할 수 있으므로 탁월한 검출성능을 얻을 수 있는 반면, 부호화에 너무 많은 비트수가 사용되므로 전송효율이 낮아질 수 있다. 한편, 부호화 과정에서 추가되는 비트수가 적어질수록 전송효율은 증가하나 최소거리가 감소할 수 있으므로 검출성능은 떨어지며, 채널 보상에 따른 오류 차이에 민감하게 검출 성능이 결정되기 때문에 급격히 시변하는 채널에서는 성능 열화가 발생할 수 있다. 이와 같이 블록코딩에 있어서 검출성능과 전송효율은 서로 트레이드 오프(trade-off)관계에 있다.
이제, TFCI 부호 중 (32,10) RM 부호의 생성행렬을 천공(functuring)하여 다른 생성행렬을 생성하는 방법에 대해 설명한다. (32,10) RM 부호의 생성행렬은 3GPP 규격에서 제공되는 행렬을 사용할 수 있다(3GPP TS36.212 V8.6.0의 5.2.2.6.4참고). 특히, 물리 상향링크 제어 채널(Physical Uplink Control Channel:PDCCH)의 채널 상태 지시 (Channel Quality Indication:CQI) 정보를 생성하기 위하여 (32,10) RM 부호의 생성행렬을 천공한 (20,10) RM 생성행렬 또는 (18,10) RM 생성행렬이 사용될 수 있다.
(20,10) RM 생성행렬 및 (18,10) RM 생성행렬은 (32,10) RM 생성행렬을 천공하여 생성할 수 있다. 이 때, (18,10) RM 생성행렬을 천공하는 것은 (20,10) RM 생성행렬에서 추가적으로 2개의 행을 천공하여 생성될 수 있고, 이때, (20,10) RM 생성행렬과 완전히 별개의 구조를 갖는 것이 아니다.
이러한 특성을 이용하면 (18,10) RM 생성행렬은 (32,10) RM 생성행렬로부터 생성할 수도 있다. 컴퓨터 모의 실험을 통하여 전량 검색을 수행하면, 다음 표 1과 같이 천공 결과를 얻을 수 있다.
[표 1]
Figure PCTKR2011001302-appb-I000004

표 1을 참고하면, Mi,n은 n번째 열에서 RM 부호의 생성행렬을 구성하는 심볼을 나타낸다. 앞에서 설명한 바와 같이, 각 심볼은 생성행렬의 구성 요소를 말하며 1 또는 0 값을 갖는다. i는 정보 비트(information bit)를 나타낸다. 앞서 설명한 수학식 3과 같이 부호어는 정보 비트들을 생성행렬의 각 행에 내적한 후 2로 나눈 나머지(모듈로(modulo) 연산)를 이용하여 구할 수 있다.
이와 같은 (32,10) RM 생성행렬로부터 12개의 행을 천공하여 (20,10) RM 생성행렬을 구하고, (20,10) RM 생성행렬로부터 2개의 행을 추가적으로 천공하여 (18,10) RM 생성행렬을 구한다. 상기 표 1에서는 27번째 행 및 31번째 행을 추가로 천공하였다.
다음 표 2는 앞서 생성한 생성행렬의 최소거리 성능을 나타낸다.
[표 2]
Figure PCTKR2011001302-appb-I000005
여기서, n은 채널 부호화를 수행한 후의 비트 수를 나타내고, k는 정보 비트 수를 나타낸다.
도 2는 3GPP(LTE/LTE-A) uplink control channel 시스템에서 채널 부호화를 이용하여 정보를 전송하는 구조를 나타난 것이다.
도 2를 참고하면, 정보(information) 비트가 입력되면 채널 부호화(channel coding)를 통해 부호화된 비트(Encoded bit)가 생성된다. 천공된 리드-뮬러 부호, TBCC(Tail Biting Convolutional Code) 또는 터보 부호 등이 사용될 수 있다. 부호화된 비트는 사용 가능한 부반송파들과 레이트-매치(rate-match)가 될 수 있다.
부호화된 비트를 BPSK(binary phase-shift keying), QPSK(quadrature phase-shift keying), 8PSK(8 phase-shift keying), 16QAM(16 quadrature amplitude modulation) 또는 64QAM(64 quadrature amplitude modulatino)등의 변조기(modulator)로 변조(modulation)을 수행하면 변조 심볼이 생성되고, DFT(discrete fourier transform) 프리코더(precoder)를 거쳐서, 월쉬(Walsh) 또는 DFT로 스프래딩(spreading) 된다.
정보를 전송하기 위하여 각 슬롯(slot)은 12개의 부 반송파를 사용하고 있다. 하나의 서브프레임(subframe)에서 2 개의 슬롯이 동시에 사용될 수 있으며 2개의 슬롯을 동시에 사용할 경우 24개의 부 반송파를 사용한다. 따라서, BPSK 변조(modulation)을 사용할 경우 부호화된 비트(coded bit)는 24비트가 필요하고, QPSK 변조를 사용할 경우 부호화된 비트가 48비트가 필요하다. 즉, 최소한 24 비트 길이의 부호가 필요하다.
한편, 생성행렬에 있어서 연속적인 0은 QPSK 전송 시 전송되는 심볼에 채널 정보가 담기지 않는 문제를 발생시킬 수 있다.
다음 표 3은 (20,13) RM 생성행렬을 나타낸 일 예이다.
[표 3]
Figure PCTKR2011001302-appb-I000006
상기 표 3은 (20,13) RM 생성행렬을 나타낸 것이며, 마지막 3개의 열을 삭제하면 (20,10) RM 생성행렬이 된다.
여기서, 연속적인 0이 자주 나타나는 것을 알 수 있다. 특히, 6번째 열인 Mi,5의 경우, 생성행렬의 1번째 행부터 10번째 행까지 절반의 행이 모두 0으로서 1이 포함되어 있지 않으므로, 두개의 슬롯을 사용하여 전송함에도 불구하고 채널 상황에 따라서는 하나의 슬롯에만 정보가 전송되는 것과 같다. 이 슬롯에서 시퀀스(sequence) 비트 별로 시퀀스가 구분되지 않는다면 성능이 보장될 수 없다. 특히, 6 번째 입력 데이터 비트에 대해서는 수신 다이버시티를 얻지 못하여 성능의 열화가 발생한다. 따라서 행의 치환은 치환을 적절히 수행하여 이를 방지하는 부호어 생성 방법이 필요하다.

이하에서 본 발명에 따른 부호어의 생성 방법을 설명한다. 본 발명에 따른 부호어의 생성은 송신기 또는 수신기 어느 것에서든지 수행할 수 있다.
도 3은 본 발명에 따른 부호어의 생성 방법을 나타내는 순서도이다.
먼저 정보 비트를 입력 받는다(s310). 입력 받은 상기 정보비트의 길이를 기초로 생성행렬을 생성한다(s320). 생성행렬의 열의 크기는 정보비트의 길이와 동일하고 행의 크기는 24행이 되도록 생성한다. 생성한 생성행렬을 행치환을 하여 생성행렬에 연속적인 0이 위치하여 정보 전송 시 영심볼이 발생하는 것을 막고 전송 정보가 다이버시티를 가지도록 변경한다(S330). 생성행렬을 생성하는 것과 행 치환하여 생성행렬을 변경하는 것에 관하여는 후술한다.
상기 정보비트와 생성된 상기 생성행렬의 각각의 열을 내적한 후 2로 나눈 나머지들로부터 부호어를 생성한다(s340). 즉, 내적값의 모듈로 연산한 결과를 나열함으로서 부호어가 생성된다.
이를 수식으로 나타내면 다음 수학식 4와 같다
[수학식 4]
Figure PCTKR2011001302-appb-I000007
여기서, bi는 부호어 이고, O는 정보비트의 길이이고, on은 입력된 정보비트이고, Mi,n은 생성행렬의 n번째 열을 나타내고, i는 생성행렬의 24개의 행을 나타낸다. B는 행의 크기인 24이다.
부호어를 생성하기 위하여 사용되는 생성행렬은 기존의 (20,10) RM 생성행렬에 4개의 행을 추가하고 정보비트의 길이 A만큼 열을 선택한 (24,A) RM 생성행렬이다. 여기서, 정보비트의 길이 A는 1 내지 6중 하나일 수 있다. (20,10) RM 생성행렬에 비해서 새롭게 추가되는 4개의 행은 기존 (32,10) RM 생성행렬에서 (20,10) RM 생성행렬을 만들기 위해서 천공한 12개의 행 중, (24,A) RM 생성행렬의 최소 거리 성능을 가장 좋게 하는 4개의 행을 선택한다.
그리고, 정보 비트의 크기가 10에서 A로 변경되었는데, A는 6이하의 수이므로 기존의 10개의 열 중에서 최대 6개 열을 선택한다. 이때, 리드-뮬러 부호의 특성상 0차(올 원 열) 및 1차 리드-뮬러 부호의 성능이 2차 리드-뮬러 부호의 성능보다 좋다고 알려져 있는데, TFCI 부호는 리드-뮬러 부호로부터 생성된 것이므로 올 원 열 한 개와 1차 리드-뮬러 부호를 구성하는 열들 중 5개의 열을 선택하고 도합하여 6개의 열을 선택하여 생성행렬을 생성할 수 있다. 이는, 현재 사용되는 (32,10) TFCI 부호의 1 내지 6의 정보 비트 길이를 지원하는 것과 일치하므로, (32,10) 생성행렬 중 1 내지 6개의 열을 사용하여 (24,A) 생성행렬을 만들면 기존의 TFCI 복호기를 사용할 수 있는 효과가 있다. 특히, 현재 LTE-A 규격(3GPP TS36.212 V8.6.0의 Chapter 5.2.2.6.4)의 PUSCH(Physical Uplink Shared Channel)에서 사용되는 생성행렬의 1 내지 6 열을 이용하여 본 발명에 따른 확장된 생성행렬을 생성할 수 있다.
이와 같이, (20,10) RM 생성행렬의 0 내지 19 행은 그대로 사용하고, 4개의 행을 새롭게 추가하여서 새로운 생성행렬을 생성할 수 있다.
추가되는 행은 1 내지 6의 정보 비트 길이에 대해 생성된 부호어의 최소거리 성능 및 거리 분포를 최적으로 만들어 주는 추가되는 행의 집합 중에서 선택하는데, 이는, 컴퓨터 모의 실험을 통하여 구할 수 있다.
다음 표 4 내지 표 9는 컴퓨터 모의 실험으로 최소 거리 성능 및 최적의 거리 분포를 갖는 행 집합의 실시 예를 나타낸 것이다.
표 4는 새롭게 생성한 (24,6) RM 생성행렬의 일 예를 (20,10) RM 생성행렬 및 (18,10) RM 생성행렬과 비교한 것이다.
[표 4]
Figure PCTKR2011001302-appb-I000008
여기서, (24,6) RM 생성행렬은 (20,10) RM 생성행렬과 비교하여 (32,10) RM 생성행렬의 14, 20, 21 및 24 번째 행을 더 포함한다.
표 5는 생성된 (24,6) RM 생성 행렬을 나타낸 것이다.
[표 5]
Figure PCTKR2011001302-appb-I000009
표 6은 새롭게 생성한 (24,6) RM 생성행렬의 다른 예를 (20,10) RM 생성행렬 및 (18,10) RM 생성행렬과 비교한 다른 예이다.
[표 6]
Figure PCTKR2011001302-appb-I000010
여기서, 새롭게 생성한 (24,6) RM 생성행렬은 (20,10) RM 생성행렬과 비교하여 (32,10) RM 생성행렬의 14, 20, 24 및 29 번째 행을 더 포함한다.
표 7은 생성된 (24,6) RM 생성 행렬을 나타낸 것이다.
[표 7]
Figure PCTKR2011001302-appb-I000011
표 8은 새롭게 생성한 (24,6) RM 생성행렬의 다른 예를 (20,10) RM 생성행렬 및 (18,10) RM 생성행렬과 비교한 것이다.
[표 8]
Figure PCTKR2011001302-appb-I000012
여기서, 새롭게 생성한 (24,6) RM 생성행렬은 (20,10) RM 생성행렬과 비교하여 (32,10) RM 생성행렬의 14, 24, 28 및 29 번째 행을 더 포함한다.
표 9는 생성된 (24,6) RM 생성 행렬을 나타낸 것이다.
[표 9]
Figure PCTKR2011001302-appb-I000013
본 발명에 따른, (24,A) RM 부호는 (32,10) RM 부호 생성행렬에서 8개의 행을 천공 하는 방식으로 생성하였다. 기존의 (20,A) RM 부호 생성행렬에서 4개의 행을 추가하는 방식으로도 생성할 수 있고, (20,A) RM 부호에서는 천공 하였으나 (24,A) RM 부호에서는 천공 하지 않은 4 개의 행을 추가하는 것으로 새로운 생성행렬의 생성할 수 있다.
유사하게, (18,A) RM 부호의 생성행렬에서 6 개의 행을 추가하여 새로운 (24,A) RM 부호의 생성행렬을 생성할 수 있다.
앞서 설명한 (24,A) RM 부호의 최소거리 성능은 다음 표 10과 같다.
[표 10]
Figure PCTKR2011001302-appb-I000014
A의 범위를 1~5로 하는 경우 5개의 동일한 성능을 갖는 생성행렬이 더 발생한다. 이 때 (20,A) RM 부호의 생성행렬에 추가되는 행의 셋은 {1, 14, 20,29}, {1,14,21,28}, {1,14,28,29}, {1,21,28,29}, {20,21,24,29}이다. 이는 컴퓨터 모의실험을 통하여 구할 수 있는 셋들이다. 상기 표4 내지 표6과 동일한 성능을 보인다. 따라서, 이 셋들을 추가한 (24,10) RM 부호의 생성행렬들을 이용한 발명도 새로운 실시 예가 될 수 있다.
앞서 설명한 바 같이, 새롭게 추가되는 행들은 기존 테이블에 인터리브된(interleaved) 형태로 삽입될 수 있다. 또한, 구현상 레거시(legacy)와 호환되는 구조를 위해서 생성행렬의 마지막에 추가할 수 있다.
또한, 생성행렬의 행을 치환하는 변경을 수행하여 생성행렬에 연속적인 0이 위치하지 않도록 하여, 정보 전송 시 영심볼이 발생하는 것을 막고 전송 정보가 다이버시티를 가지도록 할 수 있다.
이러한 행치환을 수행하여 생성행렬을 변경하는 것은, 첫째, (24,10) RM 부호의 생성행렬의 행을 위 아래 n개씩(여기서 n은 12일 수 있다) 상위그룹과 하위그룹으로 나누어서 모든 열에서 각 n개의 행에 속하는 1의 개수가 같아지도록 한다. 만약 같아지도록 할 수 없다면 그 차이가 최소가 되도록 생성행렬의 행을 2개의 그룹으로 나눈다. 둘째, 앞서 나누어진 각각의 그룹에서 모든 열에 0이 두 번 연속으로 나오지 않도록 행의 위치 또는 순서를 조절한다. 셋째, 연속적인 0이 나오는 것을 막을 수 없다면 연속적인 0이 전송 시 서로 다른 심볼에 속하도록 행의 위치 또는 순서를 조절한다. 즉, 연속적인 0인 “00”이 발생하는 경우, 변조된 심볼은 다수의 비트로 만들어지므로 첫 번째 0과 두 번째 0이 각각 다른 변조된 심볼에 나누어져 속하도록 “00”의 위치를 조절한다. 넷째, 이 세가지 조건을 모두 만족시킬 수 없는 경우 연속적인 0의 개수가 최소가 되도록 행을 재정렬한다.
한편, 각 슬롯에 전송되는 심볼들이 반복되는 것이 가장 이상적이므로 12개 부 반송파에 QPSK 변조하여 전송한다면 24개의 부호화된 비트들이 모두 전송되므로 최대의 다이버시티를 얻을 수 있다. 그러나, 각 슬롯에서 전송되는 심볼이 각각 6개로 줄어드는 구조라면, 12 심볼의 맵핑(mapping) 순서를 조절하는 것이 바람직하다. 예를 들어, 부호화된 비트 0이 존재하는 심볼들이 연속으로 동일한 슬롯에 존재하는 것을 막기 위해서 인터리브된 형식으로 각 슬롯에 맵핑할 수 있다. 즉, 홀수 번째 심볼은 첫 번째 슬롯에 맵핑하고 짝수 번째 심볼은 두 번째 슬롯에 맵핑하거나, 반대로, 짝수 번째 심볼을 첫번째 슬롯에 맵핑하고 홀수 번째 심볼을 두 번째 슬롯에 맵핑한다.
본 발명에 따라서 (24,A) 부호의 생성행렬을 이용하여 부호어를 생성하는 다음과 같은 효과가 있다.
먼저, LTE-A ACK(Acknowledgement)/NACK(Negative Acknowledgement) 피드백에서 모든 슬롯의 모든 부반송파에 대한 심볼을 할당할 수 있다. 기존의 (32,10) TFCI 부호의 구조를 승계한 것이므로 고속 하다마드 변환을 통한 고속 복호가 가능하고 복호 연산량도 작은 상태로 유지가 가능하다. 기존의 (32,10) TFCI 부호의 구조를 승계한 것이므로 WCDMA 및 LTE 듀얼 모드의 지원 시 시스템에서 복호기의 재활용이 가능해지고, 이로 인한 하드웨어의 감소하는 효과도 있다. 그리고, 영심볼을 없애기 위한 생성행렬의 행 재정렬을 통하여 다이버시티를 통한 성능을 향상할 수 있다.

이제부터, 천공을 이용한 생성한 생성행렬에 있어서, 천공을 보다 효과적으로 탐색하여 생성행렬을 생성하고, 이 생성행렬을 이용해서 부호어를 생성하는 방법에 대해 설명한다. 앞서 설명한 부호어 생성 방법에도 이 천공 탐색 방법을 적용할 수 있다.
도 4는 일반적인 천공 패턴 탐색(puncturing pattern search) 방식을 나타낸 것이다. 이 방법은 부호어(codeword) 셋(set)의 해밍 거리 분배(Hamming distance distribution)를 구하는 회수를 줄이는 탐색 방식이다. 여기서 해밍 거리(Hamming distance)란 동일한 비트 수를 갖는 2진 부호 사이에서 대응되는 비트의 값이 일치하지 않는 개수를 말한다.
도 4를 참고하면, 오리지널 생성행렬을 이용하여 천공된 생성행렬을 만든다(S410). 각 행의 해밍 웨이트가 상한 경계값과 하한 경계값의 사이에 있다면(S420), 천공된 생성행렬을 이용하여 부호셋을 생성한다(S430). 그렇지 않다면, 처음 단계로 돌아가 다시 천공된 생성행렬을 만든다.
생성한 부호셋의 최소 거리가 원하는 기준값이라면(S440), 해밍 거리 분배를 계산한다(S450). 그렇지 않다면 처음 단계로 다시 천공된 생성행렬을 만든다.
해밍 거리 분배가 최적인지 판단하여(S460), 그렇다면 이 생성행렬이 최적화된 천공된 생성행렬이라고 판단하지만(S470). 그렇지 않다면, 처음 단계로 다시 천공된 생성행렬을 만든다.
그런데, 이 방법은 천공 대상이 되는 오리지널(original) RM 부호어의 길이가 짧거나 천공하는 생성행렬(generator matrix)의 행의 수가 작으면 효과가 있으나, 오리지널 부호어의 길이가 길고 천공하는 생성행렬의 행의 수가 큰 경우에는 천공하는 경우의 수가 너무 커져서 탐색의 효과가 없다. 예를 들어, 오리지널 부호어의 길이가 64이고 천공해야 하는 행의 개수가 16인 경우 가능한 천공의 경우의 수는 64C16=488,526,937,079,580으로 매우 크다.
보다 큰 부호어의 길이를 갖거나 보다 많은 생성행렬의 행을 천공 하기 위해서는 천공의 경우의 수를 더 효과적으로 탐색할 수 있어야 한다.
부호어의 길이가 2n이고 차수가 1인 RM 부호 RM(1,n)의 오리지널 생성행렬을 천공하여 부호어의 길이가 a(a=2n-x, x=2yb)이고 정보 비트의 길이 A가 1 내지 n+1 중 하나인 (a,A) RM 부호의 생성행렬을 생성한다. RM 부호의 특성상 2차 이상의 고차 벡터를 이용하여 발생시키는 부호 시퀀스(sequence)보다 1차 벡터를 이용하여 발생시킨 부호 시퀀스의 성능이 더 나으므로, 1차 벡터 만을 이용해서 생성된 부호 시퀀스 만을 이용할 수 있다. 그러나, 본 발명의 범위가 이에 제한되는 것은 아니고, 2차 이상의 고차 벡터를 이용할 수 있다.
따라서, (2n,A) 의 매개 변수를 갖는 1차 RM 부호의 생성행렬에서 x개의 행을 천공하여 생성하며, 이때, 천공하는 x개의 행은 (a,A) RM 부호의 부호어 간 최소거리 성능을 가장 좋게 한다. 또한, 정보 비트의 크기 A가 n+1보다 작아지는 경우 n+1개의 열 중 A개를 선택한다. A가 1인 경우는 모든 원소가 1인 A × 1 행렬이 생성행렬이 되며 그 이외의 A에 대해서는 부호어 간 최소거리 성능을 가장 좋게 만드는 열을 선택한다.
RM 부호는 블록 선형(linear) 부호이므로 부호 셋 내의 임의의 2개의 부호어를 선택하여 XOR(eXclusive OR) 연산을 수행한 결과 역시 부호어가 되는 특징이 있다. 따라서, 다음 수학식 5가 성립한다.
[수학식 5]
Figure PCTKR2011001302-appb-I000015
여기서,
Figure PCTKR2011001302-appb-I000016
는 XOR 연산을 의미한다.
즉, 부호어간의 차동 벡터(differential vector)가 또 다른 부호어가 된다. 그러므로, 부호 셋 내의 부호어 간의 최소 거리와 부호 셋 내 부호어의 해밍 웨이트(Hamming weight)의 최소 값은 동일한 같은 값이다. 해밍 웨이트란 문자열에서 0심볼이 아닌 심볼의 개수를 말한다.
또한, 생성행렬 내에 올 원 열(all one column)이 존재하므로, 항상 올 제로 벡터(all zero vector)와 올 원 벡터(all one vector)를 모두 부호어로 가지게 되어 부호 셋 내 임의의 2개의 부호어에 대해 다음 수학식 6이 성립한다.
[수학식 6]
Figure PCTKR2011001302-appb-I000017
위와 같은 리드-뮬러 부호의 두 가지 특성에 의해, 부호화된 비트 크기가 2e인 리드-뮬러 부호의 부호어 간의 최소 거리의 최대값은 e라는 특징이 있다.
부호어의 길이가 2n이고 차수가 1인 RM(1,n) 부호의 생성행렬을 천공하여 부호어의 길이가 a(a=2n-x, x=2yb, y=1,2,…,n)이고 정보 비트의 길이가 y+1인 (a,y+1) 부호를 만드는 경우, (2n, y+1) RM 생성행렬을 천공하여 생성을 하는데, 이때, (2n, y+1) RM 생성행렬 G는 올 원 벡터 1개와 1차 벡터 y개를 행으로 하여 만들어 진다. 1차 벡터란 1 심볼과 0 심볼의 개수가 동일한 벡터를 말한다.
간단한 예로 n=4이고 y=3인 경우 생성행렬 G는 다음 수학식 7과 같다.
[수학식 7]
Figure PCTKR2011001302-appb-I000018
이러한 생성행렬을 오리지널 생성행렬이라 할 수 있으며, 이 생성행렬로부터 천공을 수행하여 RM 부호의 생성행렬을 만들 수 있다. 여기서 행렬 G는 올 원 벡터 1개와 1차 벡터 3개를 갖는다.
상기 수학식 7과 같은 방식으로 생성한 행렬 G에서 첫 번째 행을 제거하여 생성한 (2n, y) 행렬을 G’라 하면 G’는 모든 2진(binary) y-투플(tuple) 벡터를 열로 각각 2n-y번 갖게 된다. y-투플 벡터란 y개의 심볼을 갖는 벡터를 말한다.
예를 들어 n=4이고 y=3인 경우 G’는 3-투플 벡터를 24번씩 갖는 형태가 되며, G’는 다음 수학식 8와 같다.
[수학식 8]
Figure PCTKR2011001302-appb-I000019
여기서, 행렬 G’의 행에는 23 가지의 이진 3-투플 벡터가 24-3개씩 존재한다.
올 제로 벡터(all zero vector)를 제외한 모든 y-투플 입력 m’에 대해 (2n, y) 행렬 G’을 통하여 생성된 2n-1투플 부호어 c’(즉 c’= m’G’)는 0과 1을 각각 2n-1번 가지는 부호어가 되고, 이때, 해밍 웨이트가 2n-1 이다.
G’에서 G로 확장되면서 추가되는 열은 올 원 행(all one row)이다. 그러므로 G’의 특성에 따라 올 제로 벡터를 제외한 모든 y+1-투플 입력 m에 대해 (2n, y+1) 행렬 G를 통하여 생성된 2n-투플 부호어 c(즉 c = mG) 역시 0과 1을 각각 2n-1번 가지는 해밍 웨이트가 2n-1인 부호어가 된다.
위와 같은 리드-뮬러 부호의 생성행렬에서 알 수 있는 리드-뮬러 부호의 특성은 (2n,y+1) 생성행렬 G의 서브 행렬 인 G’의 열에 모든 y-투플 벡터가 동일한 횟수로 반복될 경우 해밍 웨이트가 2n-1인 부호어 셋이 나온다는 것이다. 즉, 생성행렬로부터 리드-뮬러 부호의 부호어 간 최소 거리 성능이 최대인 셋이 나올 수 있는지 여부를 알 수 있다.

이제, 본 발명에 따른 부호어를 생성하는 방법에 대하여 설명한다. 특히, 부호어를 생성하는 생성행렬을 생성하기 위한 천공 탐색 방법을 설명한다.
도 5는 본 발명에 따른 부호어 생성방법을 나타낸 순서도이다.
먼저, 정보비트를 입력 받는다(S510). 열의 크기는 상기 정보비트의 길이와 동일한 최적 생성행렬을 생성한다(S520). 최적 생성행렬을 생성하는 구체적인 내용은 후술한다. 상기 최적 생성행렬을 이용하여 부호어를 생성한다(S530).
상기 생성행렬은 리드-뮬러 부호의 생성행렬을 천공하여 생성하는 것을 특징으로 한다. 특히, 앞서 설명한 바와 같이, 최적 생성행렬은 오리지널 생성행렬 G인 (2n, y+1) 생성행렬을 천공하여 생성을 하는데, 부호어의 길이가 a(a=2n-x, x=2yb, y=1,2,…,n)이고 입력받은 정보비트의 길이는 y+1이다. x는 천공하는 열의 개수이고, b는 x와 y로부터 구할 수 있다.
최적화된 알고리즘을 통해 천공을 탐색하고, 그에 해당하는 천공을 수행하여 최적 생성행렬을 생성한다. 이때, (2n, y+1) 행렬 G는 올 원 벡터 1개와 1차 벡터 y개를 행으로 하여 만들어 진다.
생성행렬의 천공을 탐색하기 위하여, 먼저, 오리지널 생성행렬 G의 열을 2y등분 한다. 이때, 2y 를 분할계수라고 한다. 일 실시예로 오리지널 생성행렬 G의 부호어의 길이 2n이 32(즉, n이 5)이고, a가 20인 경우를 들면, “x=2n-a=12=22*3”에서 x는 12이고, y는 2이고, b는 3이다. 생성행렬 G를 22, 즉, 4등분 할 수 있으며, 이는 다음 수학식 9과 같다.
[수학식 9]
Figure PCTKR2011001302-appb-I000020
상기 생성행렬 G의 올 원 행인 1번째 행을 제외한 2 내지 y+1(위의 경우 3)번째 행을 보면 각각의 섹션(section)의 행은 모두 동일한 심볼(모두 1심볼 또는 모두 0심볼)로 구성되어 있음을 알 수 있다. 따라서, 각 섹션의 2 내지 y+1(위의 경우 3)번째 행은 각각, 동일한 y-투플 벡터(위의 경우 2-투플 벡터)를 2n-y번(위의 경우 25-2=8번) 가지게 된다.
이제 각각의 나누어진 행렬의 셋에서 b개씩(위의 경우 3개씩) 열을 천공한다. 이 경우 나누어진 셋 내에서 임의의 열을 b개씩(위의 경우 3개씩) 천공시켜도 2 내지 y+1(위의 경우 3)번째 행은 동일하므로 2 내지 y+1(위의 경우 3)번째까지의 행은 모든 y-투플 벡터(위의 경우 2-투플 벡터)를 2n-y-b번(위의 경우 25-2-3=5) 가지게 되어 1 내지 y+1개(위의 경우 3개)의 정보 비트를 갖는 리드-뮬러 부호에 대해서는 최적의(optimal) 부호어를 생성하는 생성행렬이 된다.
또한, 1 내지 y+1개까지의 정보 비트를 갖는 부호어에 대해서 생성된 모든 부호어는 해밍 웨이트가 0,a/2, a의 3가지 경우(위의 경우 0, 10, 20)뿐이므로 부호어 간 해밍 거리 분포 역시 최적이다. 또한, 부호어 간 최적의 해밍 거리와 해밍 거리 분배를 갖는 경우는 이러한 경우 이외에는 존재하지 않는다. 그러므로 1 내지 A의 정보 비트를 지원하는 최적의 리드-뮬러 코드를 탐색하기 위해서는 생성행렬 G의 2n 개의 열 중 x개의 열을 천공하는 모든 경우를 탐색하는 것이 아닌, 나누어진 2y 개의 셋 각각에 대해 b개의 열을 천공하는 경우만 탐색하면 된다.
생성행렬 G의 64 개의 열 중 16개의 행을 천공하는 전체 경우의 수는 64C16=488,526,937,079,580 이지만, 본 발명에 따른 탐색 방법을 적용하면 232=4,294,967,296 가지의 경우에 대해서만 탐색하면 되므로 전체 계산량이 약 1/100,000로 줄어들게 된다.

본 발명에 따른 탐색 방법의 또 다른 실시예로서, 부호어의 길이가 48이고, 1 내지 5 중 하나의 정보 비트를 적용하는 천공된 리드-뮬러 부호의 생성행렬 G48=[(G0 48),(G1 48)] 를 생성하면 다음 수학식 10 및 수학식 11과 같은 행렬이 생성된다.
[수학식 10]
Figure PCTKR2011001302-appb-I000021
[수학식 11]
Figure PCTKR2011001302-appb-I000022
앞서 설명한 행치환을 열에서 적용하는 열치환을 상기 생성행렬에 적용하면 리니어 오퍼레이션(linear operation)을 적용하면 영 심볼을 최대한 제거하여 성능 열화를 막고 다이버시티 성능을 효율적으로 얻을 수 있다.
행치환을 수행하는 방법은, 첫째, (24,10) 부호의 생성행렬의 행을 위 아래 n개씩(여기서 n은 12일 수 있다) 상위그룹과 하위그룹으로 나누어서 모든 열에서 각 n개의 행에 속하는 1의 개수가 같아지도록 한다. 만약 같아지도록 할 수 없다면 그 차이가 최소가 되도록 생성행렬의 행을 2개의 그룹으로 나눈다. 둘째, 앞서 나누어진 각각의 그룹에서 모든 열에 0이 두 번 연속으로 나오지 않도록 행의 위치(또는 순서)를 조절한다. 셋째, 연속적인 0이 나오는 것을 막을 수 없다면 연속된 0이 전송 시 서로 다른 심볼에 속하도록 행의 위치(또는 순서)를 조절한다. 넷째, 이 세가지 조건을 모두 만족시킬 수 없는 경우 연속된 0의 개수가 최소가 되도록 행을 재정렬한다.
이를 열치환으로 변형하여 상기 생성행렬에 적용하면, 먼저, 전체 생성행렬의 행들을 4등분 하여 2번째 셋과 4번째 셋의 위치를 교환한다. 이를 통해 생성행렬의 왼쪽 반과 오른쪽 반에 분포하는 1의 개수가 동일해 진다.
이어서, 왼쪽과 오른쪽 절반의 셋을 갖는 각각의 서브-행렬 내에서 0이 연속으로 나타나지 않도록 열 치환을 한다.
그럼에도 불구하고 연속된 0이 남아 있는 경우 다른 심볼(0의 시작이 홀수 번째 열에 오도록)에 속하도록 열 치환을 한다.
그 결과, 다음 수학식 12 및 수학식 13와 같은 생성행렬 [G48]P=[(G0 48)P,(G1 48)P] 가 생성될 수 있다.
[수학식 12]
Figure PCTKR2011001302-appb-I000023
[수학식 13]
Figure PCTKR2011001302-appb-I000024
본 발명에 따른 천공된 생성행렬을 이용하여 부호어를 생성하면 다음과 같은 장점이 있다.
부호어의 길이가 a(=2n-x)이고 x(2yb)인 리드-뮬러 부호의 1 내지 y+1의 정보 비트 크기에 대해서는 최적의 해밍 웨이트 분배를 갖는 리드-뮬러 부호어 셋을 생성하기 위한 생성행렬을 특별한 연산 없이 만들 수 있다. 또한, 부호어의 길이가 a(=2n-x)이고 x(=2yb)인 리드-뮬러 부호의 y+1보다 큰 정보 비트 크기에 대해서는 최적의 해밍 웨이트 분배를 갖는 리드-뮬러 부호어 셋을 생성하는 생성행렬을 탐색하는 계산량을 크게 줄일 수 있다.
그리고, 영 심볼을 없애기 위한 생성행렬의 열 퍼뮤테이션을 통하여 다이버시티를 통한 성능 향상을 얻을 수 있다.

도 6은 본 발명의 일 실시예에 따른 송신기와 수신기를 나타내는 블록도이다.
도 6을 참조하면, 송신기(100)는 부호어 생성기(codeword genearator; 110), 맵퍼(mapper; 120) 및 OFDM 변조기(130)를 포함할 수 있다.
부호어 생성기(110)는 도 2 내지 도 5에서 설명한 본 발명에 따른 부호어 생성 방법으로 부호어를 생성한다.
맵퍼(120)는 부호어를 정해진 변조 방식에 따라 변조하여, 진폭과 위상 성상(constellation)에 따른 위치를 표현하는 심벌들로 맵핑한다. OFDM 변조기(130)는 입력되는 심벌들을 OFDM 심벌로 변환한다. OFDM 변조기(130)는 입력 심벌들에 대해 IFFT(Inverse Fast Fourier Transform)을 수행하여 시간 영역 샘플들로 변환할 수 있다. 변환된 시간영역 샘플들에는 CP(cyclic prefix)가 추가될 수 있다. OFDM 변조기(130)에서 출력되는 OFDM 심벌은 송신 안테나(190)를 통해 송신된다.
수신기(200)는 OFDM 복조기(210), 디맵퍼(220) 및 부호어 검출기(230)를 포함한다.
수신 안테나(290)로부터 수신된 신호는 OFDM 복조기(210)에 의해 주파수 영역의 심벌들로 변환된다. OFDM 복조기(210)는 입력 신호에서 CP를 제거하고, FFT(Fast Fourier Transform)을 수행할 수 있다. 디맵퍼(220)는 입력 심벌들을 디맵핑한다. 부호어 검출기(230)는 부호어의 자기 상관(auto-correlation)과 상호 상관(cross-correlation)을 통해 추정 정보비트를 검출한다.
송신기(100)와 수신기(200)는 하나의 송신 안테나와 하나의 수신 안테나를 갖는 싱글 입력 싱글 출력(single-input single-output; SISO) 방식을 보여주고 있으나, 본 발명의 기술적 사상은 다수의 송신 안테나와 다수의 수신 안테나를 갖는 다중 입력 다중 출력(multiple-input multiple-output; MIMO) 시스템에도 그대로 적용할 수 있다.
송신기(100)와 수신기(200)는 OFDM(Orthogonal Frequency Division Multiplexing)/OFDMA(Orthogonal Frequency Division Multiple Access) 기반 시스템을 보여주고 있으나, 본 발명의 기술적 사상은 TDMA(Time Division Multiple Access), CDMA(Code Division Multiple Access) 등 기타 다른 무선 접속 방식 기반의 시스템에 그대로 적용할 수 있다.

이상 본 발명에 대하여 실시예를 참조하여 설명하였지만, 해당 기술 분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다. 따라서 상술한 실시예에 한정되지 않고, 본 발명은 이하의 특허청구범위의 범위 내의 모든 실시예들을 포함한다고 할 것이다.

Claims (12)

  1. 부호어 생성 방법으로서,
    정보비트를 입력 받는 단계;
    열의 크기는 상기 정보비트의 길이와 동일하고 행의 크기는 24행이며, 행렬의 요소(element)인 심볼의 값이 0 또는 1인 생성행렬을 생성하는 단계;
    생성된 상기 생성행렬을 상위 그룹과 하위 그룹으로 동일한 크기로 나누고 상기 상위그룹에 속하는 값이 1인 심볼의 개수와 상기 하위그룹에 속하는 값이 1인 심볼의 개수가 동일하도록 행을 치환하여 상기 생성행렬을 변경하는 단계; 및
    상기 정보비트와 변경된 상기 생성행렬의 각각의 행을 내적한 후 2로 나눈 나머지로부터 부호어를 생성하는 단계를 포함하는 것을 특징으로 하는 부호어 생성 방법.
  2. 제 1 항에 있어서,
    상기 생성행렬은,
    상기 상위그룹에 속하는 값이 1인 심볼의 개수와 상기 하위그룹에 속하는 값이 1인 심볼의 개수가 동일하도록 행을 치환할 수 없다면, 상기 상위그룹에 속하는 값이 1인 심볼의 개수와 상기 하위그룹에 속하는 값이 1인 심볼의 개수의 차이가 최소가 되도록 행을 치환하여 변경하는 것을 특징으로 하는 부호어 생성 방법.
  3. 제 1 항에 있어서,
    상기 생성행렬은
    상기 상위 그룹과 상기 하위 그룹의 각각의 열에 값이 0인 심볼이 연속적으로 생기지 않도록 행을 치환하여 변경하는 것을 특징으로 하는 부호어 생성 방법.

  4. 제 1 항에 있어서,
    상기 생성행렬은 아래의 표의 32행 중에서 선택된 24개의 행을 조합하고, 상기 정보비트의 길이만큼 열을 조합하여 생성하는 것을 특징으로 하는 부호어 생성 방법.
    Figure PCTKR2011001302-appb-I000025


  5. 제 1 항에 있어서,
    상기 생성행렬은 아래 표에서 상기 정보비트의 길이만큼 열을 선택하여 생성하는 것을 특징으로 하는 부호어 생성 방법.
    Figure PCTKR2011001302-appb-I000026


  6. 제 1 항에 있어서,
    상기 생성행렬은 아래 표에서 상기 정보비트의 길이만큼 열을 선택하여 생성하는 것을 특징으로 하는 부호어 생성 방법.
    Figure PCTKR2011001302-appb-I000027


  7. 제 1 항에 있어서,
    상기 생성행렬은 아래 표에서 상기 정보비트의 길이만큼 열을 선택하여 생성하는 것을 특징으로 하는 부호어 생성 방법.
    Figure PCTKR2011001302-appb-I000028


  8. 부호어의 길이가 2n인 리드-뮬러 부호의 오리지널 생성행렬로부터 부호어를 생성하는 방법으로서,
    정보비트를 입력 받는 단계;
    열의 크기는 상기 정보비트의 길이(y)와 동일한 최적 생성행렬을 생성하는 단계;
    상기 최적 생성행렬을 이용하여 부호어를 생성하는 단계를 포함하되,
    상기 최적 생성행렬은
    분할계수를 구하되, 상기 분할 계수는 2의 상기 정보비트의 길이와 1의 차의 제곱(2y-1)이고,
    상기 분할계수와 상기 리드-뮬러 부호의 부호어의 길이와 생성된 상기 부호어의 길이(a)의 차의 비인 천공계수((2y-1)/(2n-a))를 구하고,
    상기 리드-뮬러 부호의 오리지널 생성행렬의 행을 상기 분할계수 개의 균일한 셋(set)으로 분할하였을 때, 분할된 각각의 상기 셋의 임의의 열을 상기 천공계수만큼 천공하여 생성되는 것을 특징으로 하는 부호어 생성 방법.



  9. 제 8항에 있어서,
    생성한 상기 생성행렬을 제1 그룹과 제2 그룹의 동일한 크기의 행의 셋으로 나누고 상기 제1 그룹에 속하는 값이 1인 심볼의 개수와 상기 제2 그룹에 속하는 값이 1인 심볼의 개수가 동일하도록 열을 치환하여 상기 생성행렬을 변경하는 단계를 더 포함하는 것을 특징으로 하는 부호어 생성 방법.

  10. 제 9 항에 있어서,
    상기 생성행렬은,
    상기 제1 그룹에 속하는 값이 1인 심볼의 개수와 상기 제2 그룹에 속하는 값이 1인 심볼의 개수가 동일하도록 열을 치환할 수 없다면, 상기 제1 그룹에 속하는 값이 1인 심볼의 개수와 상기 제2 그룹에 속하는 값이 1인 심볼의 개수의 차이가 최소가 되도록 열을 치환하여 변경하는 것을 특징으로 하는 부호어 생성 방법.

  11. 제 9 항에 있어서,
    상기 생성행렬은
    상기 제1 그룹과 상기 제2 그룹의 각각의 열에 값이 0인 심볼이 연속적으로 생기지 않도록 열을 치환하여 변경하는 것을 특징으로 하는 부호어 생성 방법.

  12. 제 11 항에 있어서,
    상기 생성행렬은
    상기 제1 그룹과 상기 제2 그룹의 각각의 열에 값이 0인 심볼이 연속적으로 생긴다면, 연속적인 상기 값이 0인 심볼을 전송 시 서로 다른 심볼에 속하도록 열을 치환하여 변경하는 것을 특징으로 하는 부호어 생성 방법.

PCT/KR2011/001302 2010-02-25 2011-02-24 부호어의 생성 방법 WO2011105834A2 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/581,197 US8713415B2 (en) 2010-02-25 2011-02-24 Method for generating codewords

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US30798710P 2010-02-25 2010-02-25
US61/307,987 2010-02-25
US31266410P 2010-03-10 2010-03-10
US61/312,664 2010-03-10

Publications (2)

Publication Number Publication Date
WO2011105834A2 true WO2011105834A2 (ko) 2011-09-01
WO2011105834A3 WO2011105834A3 (ko) 2012-01-12

Family

ID=44507446

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/001302 WO2011105834A2 (ko) 2010-02-25 2011-02-24 부호어의 생성 방법

Country Status (2)

Country Link
US (1) US8713415B2 (ko)
WO (1) WO2011105834A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2421187B1 (en) * 2010-08-20 2018-02-28 LG Electronics Inc. Method for transmitting control information in a wireless communication system and apparatus therefor
US9246725B2 (en) * 2011-09-06 2016-01-26 Electronics And Telecommunications Research Institute Method of generating and receiving packets in low energy critical infrastructure monitoring system
IN2013MU02217A (ko) * 2013-07-01 2015-06-12 Tata Consultancy Services Ltd
US20200351862A1 (en) * 2017-10-31 2020-11-05 Telefonaktiebolaget Lm Ericsson (Publ) Reed Muller Block Code for SPUCCH

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103361A1 (en) * 2002-11-21 2004-05-27 Lee Sang-Hyun Method and device for performing soft decision decoding on reed-muller codes using decision by majority
US20050265293A1 (en) * 2004-05-29 2005-12-01 Samsung Electronics Co., Ltd. Apparatus and method for transmitting and receiving a cell identification code in a mobile communication system
JP4350750B2 (ja) * 2004-04-28 2009-10-21 三菱電機株式会社 再送制御方法および通信装置
KR20090117580A (ko) * 2008-05-08 2009-11-12 엘지전자 주식회사 부호어의 생성 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002015409A1 (en) * 2000-08-18 2002-02-21 Samsung Electronics Co., Ltd Channel coding/decoding apparatus and method for a cdma mobile communication system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103361A1 (en) * 2002-11-21 2004-05-27 Lee Sang-Hyun Method and device for performing soft decision decoding on reed-muller codes using decision by majority
JP4350750B2 (ja) * 2004-04-28 2009-10-21 三菱電機株式会社 再送制御方法および通信装置
US20050265293A1 (en) * 2004-05-29 2005-12-01 Samsung Electronics Co., Ltd. Apparatus and method for transmitting and receiving a cell identification code in a mobile communication system
KR20090117580A (ko) * 2008-05-08 2009-11-12 엘지전자 주식회사 부호어의 생성 방법

Also Published As

Publication number Publication date
US20120319874A1 (en) 2012-12-20
WO2011105834A3 (ko) 2012-01-12
US8713415B2 (en) 2014-04-29

Similar Documents

Publication Publication Date Title
US10887139B2 (en) Methods for configurable non-orthogonal multiple access transmission
US10158404B2 (en) Data transmission method, transmit end device, and receive end device
KR101534349B1 (ko) Stbc 기법을 이용한 데이터 전송방법
US10432252B2 (en) Methods and apparatus for signal spreading and multiplexing
CA2749669C (en) Method of allocating resources for transmitting uplink signal in mimo wireless communication system and apparatus thereof
KR101407073B1 (ko) 다중입력 다중출력 시스템에서 상향링크 데이터용 물리 채널 영역으로 제어 정보를 전송하는 방법
JP5268201B2 (ja) 無線通信システムで制御情報を送信する方法及びそのための装置
JP2017528974A (ja) 複素次元あたりの投影が少ないコードブックを生成するためのシステムおよび方法ならびにその利用
KR101356532B1 (ko) 다중 안테나 무선 통신 시스템에서 채널 인터리빙 수행 방법 및 이를 위한 장치
CN108028820B (zh) 上行控制信息的传输方法、终端设备、基站和通信系统
US8184025B2 (en) Method and apparatus of generating codewords in wireless communication system
WO2011105834A2 (ko) 부호어의 생성 방법
CA2761103C (en) Method and apparatus for transmitting uplink data and control information in a wireless mobile communication system that supports mimo antennas
KR101311634B1 (ko) 무선 통신 시스템의 부호어 생성 방법
WO2021109469A1 (en) Mapping schemes for uplink control transmissions in wireless communication systems
JP2020501414A (ja) データ処理方法および送信デバイス
KR101651672B1 (ko) 부호어의 전송 방법
KR20230084997A (ko) 랜덤 부호를 이용한 통신 방법 및 장치

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

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 13581197

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11747724

Country of ref document: EP

Kind code of ref document: A2