The present invention relates to a radio communication apparatus and puncturing method.
In recent years, multimedia communication such as data communication and video streaming has continued to increase in popularity. Therefore, data sizes are expected to increase even more in the future, and growing demands for higher data rates for mobile communication services are also anticipated.
Thus, a fourth-generation mobile communication system called IMT-Advanced has been studied by the ITU-R (International Telecommunication Union Radio Communication Sector), and an LDPC (Low-Density Parity-Check) code is one of the error correcting codes for implementing a downlink speed of up to 1 Gbps. Use of an LDPC code as an error correcting code enables decoding processing to be parallelized, allowing decoding processing to be speeded up compared with the use of a turbo code that requires repeated serial execution of decoding processing.
LDPC encoding is performed using a parity check matrix containing a large number of 0s and a small number of 1s. A transmitting-side radio communication apparatus encodes a transmission bit sequence using a generation matrix or a parity check matrix having an LDGM (Low-Density Generation Matrix) structure, and obtains an LDPC codeword comprising systematic bits and parity bits. A receiving-side radio communication apparatus decodes received data by iteratively executing passing of the likelihood of individual bits in the parity check matrix row direction and the parity check matrix column direction, and obtains a received bit sequence. Here, the number of 1s contained in each column in a parity check matrix is called the column degree, and the number of 1s contained in each row in a parity check matrix is called the row degree. A parity check matrix can be represented by a Tanner graph, which is a two-part graph comprising rows and columns. In a Tanner graph, each row of a parity check matrix is called a check node, and each column of a parity check matrix is called a variable node. Variable nodes and check nodes of a Tanner graph are connected in accordance with the arrangement of 1s in the parity check matrix, and a receiving-side radio communication apparatus decodes received data by iteratively executing passing of likelihoods between connected, nodes, and obtains a received bit sequence.
There is a technology whereby, when the number of bits of a transmission bit sequence is smaller than the number of systematic bits in an LDPC codeword, encoding is performed with padding bits, which are known to both the transmitting-side radio communication apparatus and receiving-side radio communication apparatus, inserted in the transmission bit sequence, and the padding bits are eliminated from an obtained codeword.
A method of setting a coding rate higher than the LDPC code coding rate (hereinafter referred to as “mother coding rate”) is “puncturing.” Puncturing is a technology whereby specific bits of a codeword are thinned out. This enables a coding rate higher than the mother coding rate to be set.
Puncturing parity bits from a parity bit in ascending order of the column degree has been investigated as a conventional puncturing technology for LDPC codewords (see Patent Document 1).
As padding bits are known to both the transmitting-side radio communication apparatus and receiving-side radio communication apparatus, the likelihood of padding bit is larger than the likelihood of other bits, being the maximum likelihood. Therefore, the effect on decoding performance—that is, error rate performance—due to a variable node corresponding to a padding bit passing a likelihood to another variable node is larger than the effect on error rate performance due to a variable node corresponding to another bit passing a likelihood to another variable node. Thus, error rate performance may degrade when puncturing is performed concentrating only on the column degree, as with the above-described conventional technology.
It is an object of the present invention to provide a radio communication apparatus and puncturing method that enable degradation of error rate performance due to puncturing to be minimized when an LDPC code is used as an error correcting code.
A radio communication apparatus of the present invention employs a configuration that includes an insertion section that inserts a padding bit in a first bit sequence to generate a second bit sequence, an encoding section that performs LDPC encoding using a parity check matrix on the second bit sequence to obtain a codeword comprising a systematic bit and a parity bits, and a puncturing section that, in the codeword, punctures parity bits from a parity bit corresponding to a variable node in descending order of total number of connections to the padding bit via a check node.
The present invention enables degradation of error rate performance due to puncturing to be minimized when an LDPC code is used as an error correcting code.
Embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
In the following description, among columns of a parity check matrix or variable nodes of a Tanner graph, a part corresponding to a systematic bit is referred to as a systematic bit position, and a part corresponding to a parity bit is referred to as a parity bit position.
In this embodiment, in an LDPC codeword, parity bits are punctured from a parity bit corresponding to a variable node in descending order of total number of connections to padding bits via check nodes.
The configuration of a transmitting-side radio communication apparatus 100 according to this embodiment is shown in
In transmitting-side radio communication apparatus 100, a transmission bit sequence is input to a padding bit insertion section 101. In addition, a parity check matrix is input to padding bit insertion section 101 from an LDPC encoding section 102. Padding bit insertion section 101 inserts padding bits in the transmission bit sequence based on the parity check matrix, and outputs the generated bit sequence to LDPC encoding section 102. The number of padding bits inserted is determined based on the difference between the number of systematic bits in an LDPC codeword and the number of bits in the transmission bit sequence. Specifically, the number of padding bits inserted is given by Nsys−Nd, where Nsys is the number of systematic bits in an LDPC codeword and Nd is the number of bits in the transmission bit sequence. Therefore, when Nd<Nsys, padding bit insertion section 101 inserts padding bits equivalent to the deficient number of bits, (Nsys−Nd), before outputting the transmission bit sequence to LDPC encoding section 102, whereas when Nd=Nsys, padding bit insertion section 101 outputs the transmission bit sequence as-is to LDPC encoding section 102.
Using the parity check matrix, LDPC encoding section 102 performs LDPC encoding on the bit sequence input from padding bit insertion section 101, to obtain an LDPC codeword comprising systematic bits and parity bits. This LDPC codeword is output to a puncturing section 103. LDPC encoding section 102 also outputs the parity check matrix to padding bit insertion section 101 and puncturing section 103.
Puncturing section 103 eliminates padding bits from the LDPC codeword input from LDPC encoding section 102, and also punctures parity bits of LDPC codeword in accordance with the parity check matrix input from LDPC encoding section 102. Then puncturing section 103 outputs the punctured LDPC codeword to a modulation section 104. The number of punctured parity bits is determined based on the difference between the LDPC codeword length and the transmit block size set by a control section 111. Details of puncturing processing by puncturing section 103 will be given later herein.
Modulation section 104 modulates the punctured LDPC codeword to generate data symbols, and outputs them to a multiplexing section 105.
Multiplexing section 105 multiplexes a data symbol, a pilot signal, and a control signal input from control section 111, and outputs a generated multiplex signal to a radio transmitting section 106.
Radio transmitting section 106 performs transmission processing such as D/A conversion, amplification, and up-conversion on the multiplex signal, and transmits the resulting signal to the receiving-side radio communication apparatus from an antenna 107.
Meanwhile, a radio receiving section 108 receives a control signal transmitted from the receiving-side radio communication apparatus via antenna 107, performs reception processing such as down-conversion and A/D conversion on the control signal, and outputs the resulting signal to a demodulation section 109. A CQI (Channel Quality Indicator) generated by the receiving-side radio communication apparatus is included in this control signal.
Demodulation section 109 demodulates the control signal and outputs the demodulated signal to a decoding section 110.
Decoding section 110 decodes the control signal and outputs the CQI contained in the control signal to control section 111.
Control section 111 controls LDPC codeword length after puncturing—that is, the transmit block size—according to the CQI, and also controls the coding rate of LDPC codeword after puncturing according to the CQI. Then control section 111 determines the transmit block size and coding rate according to the input CQI, and outputs the determined transmit block size and coding rate to puncturing section 103 and multiplexing section 105. The lower the channel quality to which the input CQI corresponds, the larger transmit block size and the lower the coding rate determined by control section 111.
Puncturing processing by puncturing section 103 will now be described in detail.
Each column of a parity check matrix corresponds to a bit of an LDPC codeword. That is to say, when LDPC encoding is performed using the parity check matrix shown in
In the parity check matrix shown in
Thus, in the 12-bit LDPC codeword, the column degree of the 1st bit is three, and the column degree of the 2nd bit is three. The same kind of rationale also applies to the 3rd through 12th bits.
Similarly, in the parity check matrix shown in
The parity check matrix shown in
Each variable node of a Tanner graph corresponds to a bit of the LDPC codeword.
Variable nodes and check nodes of a Tanner graph are connected in accordance with the arrangement of 1s in the parity check matrix.
A concrete description will be now given based on variable nodes. The 1st Variable node of the Tanner graph shown in.
Similarly, to give a concrete description based on check nodes, the 1st check node of the Tanner graph shown in
Thus, in a Tanner graph, variable nodes and check nodes are connected in accordance with the arrangement of 1s in a parity check matrix. That is to say, the number of check nodes connected to each variable node in a Tanner graph is equal to the column degree of each column in a parity check matrix. Also, check nodes to which each variable node is connected in a Tanner graph are check nodes corresponding to rows in which a 1 is located in each column of a parity check matrix. Similarly, the number of variable nodes connected to each check node in a Tanner graph is equal to the row degree of each row in a parity check matrix, and variable nodes to which each check node is connected in a Tanner graph are variable nodes corresponding to columns in which a 1 is located in each row of a parity check matrix.
The receiving-side radio communication apparatus decodes received data by performing mutual passing of likelihoods between variable nodes via check nodes, and iteratively performing updating of the likelihood of each variable node. Also, the larger the likelihood of a variable node, the larger is the effect of likelihood updating of connected check nodes. Therefore, when parity bits are punctured, a check node with more connections to variable nodes corresponding to padding bits can pass a higher likelihood to variable nodes connected to that check node, with the result that degradation of an effect of likelihood updating due to puncturing is smaller.
Thus, puncturing section 103 punctures parity bits in an LDPC codeword from a parity bit corresponding to a variable node in descending order of total number of connections to the padding bit via a check node.
A description will be now given in concrete terms. In the following description, it is assumed that transmission bit sequence length Nd is 4 bits, LDPC codeword length N is 12 bits, mother coding rate Rm is ½, and the transmit block size determined by control section 111 is 8 bits. Also, padding bit insertion section 101 finds the number of padding bits inserted from Nsys−Nd, and two padding bits are inserted at the start of a transmission bit sequence. Here, Nsys is given by N*Rm. Therefore, when LDPC encoding is performed on a 6-bit sequence resulting from inserting two padding bits in a 4-bit transmission bit sequence using the parity check matrix shown in
First, puncturing section 103 compares the number of connections to 1st variable node (the 1st column) and 2nd variable node (the 2nd column) corresponding to padding bits among 1st check node through 6th check node of the Tanner graph shown in
Next, puncturing section 103 compares the total number of connections to variable nodes corresponding to padding bits via check nodes among 7th variable node through 12th variable node corresponding to parity bits of the Tanner graph shown in
Then parity bits as puncturing candidates are extracted from a parity bit corresponding to a variable node in descending order of number of total connections to variable nodes corresponding to padding bits. That is to say, from 7th variable node through 12th variable node of the Tanner graph shown in
Furthermore, since the number of parity bits to be punctured is two, puncturing section 103 extracts 7th variable node, 9th variable node, and 11th variable node, having the second-largest total number of connections to variable nodes corresponding to padding bits (namely, two connections), as puncturing candidates.
For puncturing section 103, the remaining number of parity bits to be punctured, apart from 8th variable node (the 8th column) having the largest total number of connections to variable nodes corresponding to padding bits, is one, but the number of parity bits corresponding to variable nodes having the same total number of connections to variable nodes corresponding to padding bits (namely, two connections)—that is, the number of extracted columns—is three, as shown in
Thus, for this plurality of parity bits, puncturing section 103 further punctures parity bits from a parity bit corresponding to a variable node connected to a check node in descending order of the number of connections to variable nodes corresponding to padding bits.
That is to say, for 7th variable node, 9th variable node, and 11th variable node of the Tanner graph shown in
Therefore, as shown in
Then, since the number of parity bits to be punctured is two, in a 12-bit LDPC codeword comprising six systematic bits Pd1, Pd2, S1, S2, S3, and S4 resulting from the insertion of two padding bits in a 4-bit transmission bit sequence, and six parity bits P1 through P6, as shown in
Thus, according to this embodiment, parity bits in an LDPC codeword are punctured from a parity bit corresponding to a variable node in descending order of total number of connections to padding bits via check nodes. Consequently, a high likelihood held by a padding bit that is known by both the transmitting-side radio communication apparatus and the receiving-side radio communication apparatus can be passed to a punctured variable node via a check node. Therefore, LDPC encoding can be performed in which degradation of error rate performance due to puncturing is minimized.
Next, a receiving-side radio communication apparatus according to this embodiment will be described. The configuration of a receiving-side radio communication apparatus 200 according to this embodiment is shown in
In receiving-side radio communication apparatus 200, a radio receiving section 202 receives a multiplex signal transmitted from transmitting-side radio communication apparatus 100 (
Separation section 203 separates the received signal into a data symbol, pilot signal, and control signal. Then separation section 203 outputs the data symbol to a demodulation section 204, outputs the pilot signal to a channel quality estimation section 207, and outputs the control signal to a bit adjustment section 205.
Demodulation section 204 demodulates the data symbol and obtains received data, and outputs the received data to bit adjustment section 205.
Bit adjustment section 205 pads the received data with padding bits known by both the transmitting-side radio communication apparatus and receiving-side radio communication apparatus at systematic bit positions inserted by padding bit insertion section 101 (
Also, the number of logarithmic likelihood ratio 0 bits used for padding is determined based on the difference between LDPC decoding section 206 coding rate Rm and coding rate R indicated by the control signal input from separation section 203. Specifically, the number of logarithmic likelihood ratio 0 bits used for padding is given by (1−Rm)N−(1−R)Nr. That is to say, the number of logarithmic likelihood ratio 0 bits used for padding is equal to the number of punctured parity bits in transmitting-side radio communication apparatus 100 (
Using a parity check matrix identical to the parity check matrix used by LDPC encoding section 102 (
Meanwhile, channel quality estimation section 207 estimates the channel quality using the pilot signal input from separation section 203. Here, channel quality estimation section 207 estimates the SINR (Signal to Interference and Noise Ratio) of the pilot signal as channel quality, and outputs the estimated SINR to a CQI generation section 208.
CQI generation section 208 generates a CQI corresponding to the input SINR, and outputs this to an encoding section 209.
Encoding section 209 encodes the CQI and outputs the encoded CQI to a modulation section 210.
Modulation section 210 modulates the CQI to generate a control signal, and outputs this control signal to a radio transmitting section 211.
Radio transmitting section 211 performs transmission processing such as D/A conversion, amplification, and up-conversion on the control signal, and transmits the resulting signal to transmitting-side radio communication apparatus 100 (
The bit adjustment processing performed by bit adjustment section 205 will now be described in detail.
In a similar way to puncturing section 103 of transmitting-side radio communication apparatus 100 (
Here, since received data length Nr is 8 bits and coding rate R is ½, bit adjustment section 205 finds the number of padding bits used for padding from N*Rm−Nr*R, and pads with two padding bits at the start of the received data. Also, bit adjustment section 205 finds the number of logarithmic likelihood ratio 0 bits used for padding from (1−Rm)N−(1−R)Nr,and pads with two logarithmic likelihood ratio 0 bits.
In the same way as puncturing section 103 (
For bit adjustment section 205, the remaining number of logarithmic likelihood ratio 0 bits to be used for padding, apart from 8th variable node (the 8th column) having the largest total number of connections to variable nodes corresponding to padding bits, is one, but the number of variable nodes having the same total number of connections to variable nodes corresponding to padding bits (namely, two connections)—that is, the number of extracted columns—is three, as shown in
Thus, for each variable node of this plurality of variable nodes, bit adjustment section 205 further extracts parity bit positions as padding candidates from a parity bit position corresponding to a variable node connected to a check node in descending order of number of connections to variable nodes corresponding to padding bits.
That is to say, in a similar way to puncturing section 103 (
Therefore, as shown in
Then, as shown in
In this way, bit adjustment section 205 identifies parity bit positions at which logarithmic likelihood ratio 0 bit padding is performed based on a parity check matrix identical to the parity check matrix used by puncturing section 103 of transmitting-side radio communication apparatus 100. By this means, 12-bit data (received data after padding) with the same data length as an LDPC codeword generated by transmitting-side radio communication apparatus 100 can be obtained without the parity bit positions at which puncturing is performed by transmitting-side radio communication apparatus 100 being reported by transmitting-side radio communication apparatus 100.
Thus, according to this embodiment, received data is padded with logarithmic likelihood ratio 0 bits at parity bit positions from a parity bit position corresponding to variable nodes in descending order of total number of connections to variable nodes corresponding to padding bits via check nodes. Therefore, more high likelihoods of padding bits are provided preferentially via check nodes to variable nodes for which logarithmic likelihood ratio 0 bit padding is performed, and LDPC encoding can be performed in which degradation of the effect of likelihood updating is minimized. Consequently, degradation of error rate performance due to puncturing can be minimized.
Furthermore, according to this embodiment, a receiving-side radio communication apparatus can identify parity bit positions at which logarithmic likelihood ratio 0 bit padding is performed without the parity bit positions at which puncturing is performed being reported by the transmitting-side radio communication apparatus, enabling LDPC decoding to be performed that enables optimal error rate performance to be obtained at all times without increasing overhead due to reported information.
Whereas in Embodiment 1 a case has been described in which padding bits are inserted at positions set beforehand between the transmitting-side radio communication apparatus and receiving-side radio communication apparatus, in this embodiment a case will be described in which the positions at which padding bits are inserted are determined based on a parity check matrix.
The operation of a padding bit insertion section 101 according to this embodiment will now be described. A case is here described in which two padding bits are inserted in a transmission bit sequence, and one parity bit is punctured.
The receiving-side radio communication apparatus performs mutual likelihood passing between variable nodes via check nodes. Therefore, the larger the number of check node connections of a variable node (the larger the column degree of a variable node), the greater is the number of times likelihood passing is performed to other variable nodes.
Also, the more variable nodes having a higher likelihood that are connected to a check node, the higher the likelihoods that can be passed to other variable nodes connected via that check node, and the greater is the effect of likelihood updating.
Thus, padding bit insertion section 101 according to this embodiment inserts padding bits in a transmission bit sequence at a plurality of systematic bit positions corresponding to variable nodes belonging to a combination for which the total number of connections to check nodes of each variable node is larger, and the total number of connections to an identical check node of each variable node is larger, among a plurality of combinations of variable nodes.
A concrete example will now be given of padding bit insertion processing by padding bit insertion section 101. In the following description, LDPC encoding is performed using the parity check matrix shown in
First, padding bit insertion section 101 calculates the total number of connections to check nodes of each variable node belonging to each combination among all combinations when two variable nodes are extracted from the six variable nodes (1st variable node through 6th variable node) corresponding to the systematic bits in the Tanner graph shown in
Next, padding bit insertion section 101 finds the number duplicately connected to the same check node between variable nodes in each combination (hereinafter referred to as the correlation value). The correlation value is equal to the number of rows in which a 1 is located in the same row between variable nodes in the parity check matrix shown in
Furthermore, padding bit insertion section 101 finds the total. of the column degree total and correlation value for each combination (hereinafter referred to as the judgment value). Here, a combination for which a number of connections to check nodes is larger and a number of connections to an identical check node is larger, has a larger judgment value. As shown in
Then padding bit insertion section 101 selects a combination with the largest judgment value, and inserts padding bits in the transmission bit sequence at a plurality of systematic bit positions corresponding to each variable node belonging to that combination. Thus, as shown in
Also, using the same method as in Embodiment 1, puncturing section 103 identifies parity bit positions to be punctured and the number of parity bits to be punctured. Specifically, puncturing section 103 compares the total number of connections to variable nodes corresponding to padding bits connected via check nodes among 7th variable node through 12th variable node corresponding to parity bits of the Tanner graph shown in
Then, since the number of parity bits to be punctured is one, in a 12-bit LDPC codeword comprising six systematic hits S1, S2, S3, S4, Pd1, Pd2 and six parity bits P1 through P6, as shown in
Also, bit adjustment section 205 of receiving-side radio communication apparatus 200 (
Thus, according to this embodiment, padding bits are inserted in a transmission bit sequence at systematic bit positions corresponding to each variable nodes belonging to a combination for which the total number of connections to check nodes is larger and the total number of connections to an identical check node is larger. By this means, high likelihoods of padding bits can be passed to many check nodes, enabling the effect of likelihood updating at each variable node to be improved. Furthermore, high likelihoods of a plurality of padding bits connected via an identical check node can be passed preferentially to a punctured parity bit position, enabling degradation of error rate performance due to puncturing to be minimized.
The combination selection method according to this embodiment is only an example, and a different combination selection method may also be used as long as it enables the selection of a combination for which the number of connections to check nodes is larger and the number of connections to an identical check node is larger from among a plurality of combinations of variable nodes.
This completes the description of embodiments of the present invention.
In the above embodiments, the number of punctured parity bits is determined based on the difference between the LDPC codeword length and the transmit block size set by control section 111. However, the number of punctured parity bits may also be determined based on the difference between the mother coding rate and coding rate R of an LDDC codeword after puncturing set by control section 111. For example, the number of punctured parity bits can be found from N(1−(Rm/R))−Npad(1−(1/R)), where Npad denotes the number of padding bits used for padding.
A padding bit used in the above embodiments may be either a 1 or a 0, as long as this is known (common) to both the transmitting-side radio communication apparatus and receiving-side radio communication apparatus. For example, a padding bit sequence may be a sequence of all 0s, a sequence of all 1s, or a common sequence comprising 0s and 1s.
In the above embodiments, a case in which the present invention is implemented in an FDD (Frequency Division Duplex) system has been taken as an example, but it is also possible for the present invention to be implemented in a TDD (Time Division Duplex) system. In the case of a TDD system, correlativity between uplink propagation path characteristics and downlink propagation path characteristics is extremely high, and therefore transmitting-side radio communication apparatus 100 can estimate reception quality in receiving-side radio communication apparatus 200 using a signal from receiving-side radio communication apparatus 200. Therefore, in the case of a TDD system, channel quality may be estimated by transmitting-side radio communication apparatus 100 without having receiving-side radio communication apparatus 200 issue a channel quality notification by means of a CQI.
The parity check matrixes shown in
The transmit block size and coding rate set by control section 111 of transmitting-side radio communication apparatus 100 are not limited to those determined according to channel quality, and may also be fixed.
In the above embodiments, SINR is estimated as channel quality, but SNR, SIR, CINR, received power, interference power, bit error rate, throughput, an MCS (Modulation and Coding Scheme) that enables a predetermined error rate to be achieved, or the like, may be estimated as channel quality instead. Furthermore, CQI may also be expressed as CSI (Channel State Information).
In a mobile communication system, transmitting-side radio communication apparatus 100 can be provided in a radio communication base station apparatus, and receiving-side radio communication apparatus 200 can be provided in a radio communication mobile station apparatus. Also, transmitting-side radio communication apparatus 100 can be provided in a radio communication mobile station apparatus, and receiving-side radio communication apparatus 200 can be provided in a radio communication base station apparatus. By this means, a radio communication base station apparatus and radio communication mobile station apparatus can be implemented that offer the same kind of operation and effects as described above.
A radio communication mobile station apparatus may be referred to as “UE”, and a radio communication base station apparatus as “Node B”.
In the above embodiments, a case has been described by way of example in which the present invention is configured as hardware, but it is also possible for the present invention to be implemented by software.
The function blocks used in the descriptions of the above embodiments are typically implemented as LSIs, which are integrated circuits. These may be implemented individually as single chips, or a single chip may incorporate some or all of them. Here, the term LSI has been used, but the terms IC, system LSI, super LSI, and ultra LSI may also be used according to differences in the degree of integration.
The method of implementing integrated circuitry is not limited to LSI, and implementation by means of dedicated circuitry or a general-purpose processor may also be used. An FPGA (Field Programmable Gate Array) for which programming is possible after LSI fabrication, or a reconfigurable processor allowing reconfiguration of circuit cell connections and settings within an LSI, may also be used.
In the event of the introduction of an integrated circuit implementation technology whereby LSI is replaced by a different technology as an advance in, or derivation from, semiconductor technology, integration of the function blocks may of course be performed using that technology. The adaptation of biotechnology or the like is also a possibility.
The present invention can be applied to a mobile communication system or the like.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/CN07/03601 | 12/14/2007 | WO | 00 | 6/10/2010 |