Decoding apparatus and method for decoding the data encoded with an LDPC code

A channel condition detecting unit detects a condition of a channel between a transmitting apparatus and a receiving apparatus, in accordance with a pilot signal. A reference check matrix employed for LDPC coding in the transmitting apparatus is stored in the check matrix reconstructing unit. The check matrix reconstructing unit reconstructs the reference check matrix in accordance with a detection result of the channel condition detecting unit. An LDPC decoding unit obtains a probability value of each of bits in the receive data by executing the LDPC decoding operation based on a check matrix supplied from the check matrix reconstructing unit, for a likelihood value of each of the bits in an encoded bit sequence input from a detecting unit. A hard decision unit subjects a probability value of each of bits in the receive data to hard decision and obtains the receive data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority from prior Japanese Patent Application No. 2004-185390, filed Jun. 23, 2004, the entire contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a decoding apparatus and method using an LDPC (Low Density Parity Check) code employed in, for example, a communications system, information input/output system and the like.

2. Description of the Related Art

As is well known, an LDPC code is a block code defined by a sparse check matrix and is decoded by repetitive decoding. The LDPC code is created on a bipartite graph, and has a characteristic that a structure of the bipartite graph gives a great influence to a transmission error rate characteristic.

It is known that the LDPC code can form an efficient encoder by optimizing the structure of the bipartite graph. A method of forming a substantially optimum encoder is now introduced into a binary symmetric communication channel (transmission path between the transmitter and the receiver).

In addition, a method of obtaining an optimum encoder structure by executing feedback from a receiving side to a transmitting side, in a channel other than the binary symmetric channel or a channel changed in time or frequency, is conceived (for example, Jpn. PAT. Appln. KOKAI Publication No. 2003-198383).

Examples of the channel changed in time are CDMA (Code Division Multiple Access), OFDM (Orthogonal Frequency Division Multiplexing), and the like as employed in the mobile communications including fading and the indoor communications including many multi-paths.

Examples of the modulating method of the channel other than the binary symmetric channel are M-value PSK (Phase Shift Keying), M-value QAM (Quadrature Amplitude Modulation), M-value ASK (Amplitude Shift Keying), M-value AMPM (Amplitude Modulation-Phase Modulation), M-value PPM (Pulse Position Modulation), and the like.

In the above-explained method of executing feedback from the receiving side to the transmitting side, however, both the transmitting (encoding) side and the receiving (decoding) side need to reconstruct the system in accordance with the conditions of the channel, and a feedback channel allowing the conditions of the channel to be transmitted from the receiving side to the transmitting side needs to be secured. For this reason, if the encoder structure is optimized in the conventional method, the efficiency of use of the channel is low and the speed of adapting to the conditions of the channel is slow.

BRIEF SUMMARY OF THE INVENTION

The present invention has been accomplished to solve the above-described problems. The object of the present invention is to provide a decoding apparatus wherein even if a channel other than the binary symmetric channel or a channel changed in time and frequency is employed, the efficiency of use of the channel is not lowered and the speed of adapting to the channel condition is high.

According to an aspect of the present invention, there is provided a decoding apparatus capable of decoding data encoded with an LDPC code, the encoded data being transmitted from a transmitter. The decoding apparatus comprises a detecting unit configured to detect a received signal to obtain a likelihood value of each of binary bits of the encoded data, a check matrix reconstruction unit configured to reconstruct a check matrix of a preset LDPC code by matrix manipulations to obtain a derivative matrix of the check matrix; and a decoding unit configured to decode the encoded data by using the likelihood value in accordance with the derivative matrix.

According to the decoding apparatus of the present invention, a decoding operation is performed by converting a check matrix into a derivative matrix, even if a channel other than the binary symmetric channel or a channel changed in time and frequency is employed. Therefore, the efficiency of use of the channel does not become lowered. The speed of adapting to the channel condition becomes high.

DETAILED DESCRIPTION OF THE INVENTION

When the LDPC code is employed, an encoder is formed on a bipartite graph. Information is coded by generator matrix, which is generated by a check matrix based on the encoder. For example, if the encoder is represented by the bipartite graphs as shown inFIG. 1, the check matrix is formed as shown inFIG. 2. InFIG. 1, a, b, c, d, e, f, g, h represent variable nodes and A, B, C, D represent check nodes. The number in each of circles of the variable nodes and squares of the check nodes represents the number of connections with other nodes.

In the check matrix, row vectors correspond to the variable nodes a, b, c, d, e, f, g, h, respectively and column vectors correspond to the check nodes A, B, C, D, respectively. In addition, “1” indicates that the variable node and the check node corresponding thereto are linked with each other while “0” indicates that the variable node and the check node corresponding thereto are not linked.

In this check matrix, the same operations as general determinants can be executed. For example, arbitrary row vectors are added or exchanged as operations of the general determinants. It is known that the determinants obtained by the operations are derived from the preoperated determinants and that operation results are invariable. In other words, even if arbitrary row vectors in the check matrix employed for the LDPC are added or exchanged, functions of an encoder are the same. Needless to say, decoder operations are also the same.

For example, if the first row is added to each of the second row and the fourth row in the check matrix shown inFIG. 2, a check matrix shown inFIG. 3can be obtained. A bipartite graph corresponding to the check matrix (hereinafter called derivative check matrix) obtained by such row operations, as shown inFIG. 4, is different from the bipartite graphs ofFIG. 1.

However, the encoder operation is the same, even in the check matrix ofFIG. 2(i.e. the bipartite graphs ofFIG. 1) and the derivative check matrix ofFIG. 3(i.e. the bipartite graphs ofFIG. 4). By employing either of the check matrices, coding sequences created by employing the check matrix ofFIG. 2can be thereby decoded.

Thus, executing the row operations in the check matrix does not give influence to the decoding. However, reconstructing the check matrix by the row operations modifies the structure of the bipartite graph and varies the characteristics of the entire communications system.

The present inventors has noticed this point to provide a high-reliability decoding system capable of adapting to the change in time and frequency of the channel by varying the decoding characteristics of the LDPC code by the matrix manipulations of the check matrix.

Next, application of a decoding circuit according to the present invention to a decoding apparatus provided in the receiving apparatus of the communications system will be explained.

FIG. 5shows a structure of a receiving apparatus according to a first embodiment of the present invention. The receiving apparatus comprises a demodulating unit501, a detecting unit502, an LDPC decoding unit503, a channel condition detecting unit504, a check matrix reconstructing unit505and a hard decision unit506.

The demodulating unit501receives a radio signal transmitted from a transmitting apparatus via an antenna (not shown) and demodulates the received radio signal in the scheme of, for example, 8PSK (Phase Shift Keying). The detecting unit502outputs a likelihood value of each of bits in an encoded bit sequence by detecting a demodulation result of the demodulating unit501. The likelihood value of each bit is output to the LDPC decoding unit503.

The channel condition detecting unit504detects a condition of the channel between the transmitting apparatus and the receiving apparatus, in accordance with a pilot signal, of the demodulation result of the demodulating unit501. Information indicating the detected channel condition is output to the check matrix reconstructing unit505as channel information.

A check matrix (hereinafter called reference check matrix) employed for LDPC coding in the transmitting apparatus is stored in the check matrix reconstructing unit505. The check matrix reconstructing unit505performs the row operations on the reference check matrix and reconstructs the reference check matrix in accordance with the channel information supplied from the channel condition detecting unit504to obtain a check matrix (hereinafter called derivative check matrix) derived from the reference check matrix. The derivative check matrix obtained by the reconstructing is supplied to the LDPC decoding unit503.

The LDPC decoding unit503outputs a probability value of each of bits in the receive data by performing the LDPC decoding operation based on the derivative check matrix supplied from the check matrix reconstructing unit505, on the likelihood value of each of the bits in the encoded bit sequence input from the detecting unit502. The hard decision unit506performs hard decision on the probability value and obtains the receive data.

Next, the operation of reconstructing the check matrix by the check matrix reconstructing unit505will be described.

In accordance with the channel condition detected by the channel condition detecting unit504, the check matrix reconstructing unit505performs the row operations on the reference check matrix so as to change the degree of each variable node in the bipartite graphs (i.e. the number of branches linked with each variable node).

It is assumed here that the reference check matrix stored in the check matrix reconstructing unit505is identical with the check matrix as shown inFIG. 2. In this case, the bipartite graphs have the structure shown inFIG. 1as explained above. For example, if the channel condition detected by the channel condition detecting unit504indicates that the likelihood value assigned to variable node c of low reliability, the check matrix reconstructing unit505performs the row operations on the reference check matrix such that the number of branches linked with variable node c increases.

InFIG. 1, variable node c is linked with check nodes B and D, but not with check node A or C. The check matrix reconstructing unit505detects this connection and adds the row vector corresponding to linked check node A to the row vectors corresponding to non-linked check nodes B and D on the basis of exclusive-OR.

By performing such row operations, the reference check matrix becomes a derivative check matrix as shown inFIG. 6. In other words, a bipartite graph shown inFIG. 7is formed and the degree of variable node c to which the likelihood value of low reliability is assigned is increased, by the row operations of the check matrix reconstructing unit505.

Thus, the derivative check matrix obtained by the check matrix reconstructing unit505is supplied to the LDPC decoding unit503. The LDPC decoding unit503thereby performs the operation about variable node c at times whose number is more than the number of times of executing the LDPC decoding operation with the reference check matrix. In other words, the number of times of performing the operation about the variable node having the likelihood value of low reliability is increased and, therefore, the reliability can be enhanced.

In the receiving apparatus having the above-described structure, the condition of the channel with the transmitting apparatus is monitored by the channel condition detecting unit504, the prestored reference check matrix is reconstructed on the basis of the monitoring result, and decoding is executed by the LDPC decoding operation based on the derivative check matrix obtained by the reconstruction.

According to the receiving apparatus having the above-described structure, the employed channel is not limited to the binary symmetric channel. Even if a channel changed in time and frequency is employed, decoding can be executed by using the derivative check matrix responding to the channel condition and high transmission quality can be thereby obtained. In addition, since negotiation with the transmitting side does not need to be made, the efficiency of use of the channel is not lowered and the speed of adapting to the channel condition is high.

The present invention is not limited to the above-described embodiment. For example, the present invention can also be applied to a case where the transmit data is interleaved in the transmitting apparatus. In this case, a deinterleaver is provided between the detecting unit502and the LDPC decoding unit503. The deinterleaver deinterleaves the output of the detecting unit502and outputs the deinterleaving result to the LDPC decoding unit503.

In the above-described embodiment, LDPC decoding unit503performs the LDPC decoding operation on the basis of the derivative check matrix reconstructed by the check matrix reconstructing unit505. Instead of this, for example, the LDPC decoding unit503may perform the LDPC decoding operation on the basis of the initially preset reference check matrix and, during iterative operation of this LDPC decoding operation, perform the LDPC decoding operation in accordance with derivative check matrix reconstructed by the check matrix reconstructing unit505.

Reconstructing the check matrix by the check matrix reconstructing unit505may be executed for each block of the LDPC. In addition, a plurality of blocks may be decoded by employing the same check matrix on the basis of the detection result of the channel condition detecting unit504.

Moreover, a structure shown inFIG. 8can also be conceived. In a decoding apparatus shown inFIG. 8, the decoding result initially obtained by the LDPC decoding unit503of the decoding apparatus shown inFIG. 5is reflected on the detection result of the detecting unit502as a weighting factor.

InFIG. 8, a detecting unit802outputs a likelihood value of each of bits in an encoded bit sequence by detecting a demodulation result of a demodulating unit801.

The likelihood value of each bit is temporarily stored in a buffer memory provided inside the detecting unit802and output to an LDPC decoding unit803.

A channel condition detecting unit804detects a condition of the channel between the transmitting apparatus and the receiving apparatus, in accordance with a pilot signal, of the demodulation result of the demodulating unit801. Information indicating the detected channel condition is output to a check matrix reconstructing unit805as channel information.

A check matrix (hereinafter called reference check matrix) employed to construct generator matrix for LDPC coding in the transmitting apparatus is stored in the check matrix reconstructing unit805. The check matrix reconstructing unit805reconstructs the reference check matrix in response to the channel information supplied from the channel condition detecting unit804. A check matrix (hereinafter called derivative check matrix) obtained by the reconstruction is supplied to the LDPC decoding unit803.

The LDPC decoding unit803outputs a probability value of each of bits in the receive data by performing the LDPC decoding operation based on the derivative check matrix supplied from the check matrix reconstructing unit805, on the likelihood value of each of the bits in the encoded bit sequence input from the detecting unit802. The probability value is output to the detecting unit802as a prior probability value.

The detecting unit802weights each of the likelihood values stored in the buffer memory with the prior probability value corresponding thereto. Thus, the likelihood value of each of bits in the encoded bit sequence obtained by the detection is weighted with the prior probability value and the weighted likelihood value is output to the LDPC decoding unit803.

The LDPC decoding unit803performs the LDPC decoding operation using the derivative check matrix reconstructed by the check matrix reconstructing unit805, on the weighted likelihood value, and obtains the probability value of each of bits in the receive data. The probability value is output to a hard decision unit806as a secondary probability value. The hard decision unit806executes hard decision of the secondary probability value to obtain the receive data.

In the receiving apparatus having the above-described structure, the condition of the channel with the transmitting apparatus is monitored by the channel condition detecting unit804, the prestored reference check matrix is reconstructed in accordance with the monitoring result, and the probability value is obtained by the LDPC decoding unit803. After that, the probability value is reflected on the likelihood value to be subjected to the LDPC decoding as the weight and is further processed in the LDPC decoding operation by the LDPC decoding unit803. Higher transmission quality can be therefore obtained.

Incidentally, the transmit data is often interleaved in the transmitting apparatus, to maintain independence of the encoded data and the transmit symbol. The above-described structure can also be applied to this case. An example of the structure of the communications system executing the interleaving is shown inFIG. 9.

In a transmitting apparatus910, an LDPC encoding unit911encodes transmit data on the basis of the reference check matrix and outputs the encoded bit sequence. The bit sequence is interleaved by an interleaver912.

A mapping unit913executes mapping to split the bit sequence interleaved by the interleaver912into bit sequences of a unit corresponding to a M-ary modulation unit914of a subsequent stage (M takes an arbitrary positive value). The M-ary modulation unit914executes M-ary modulation based on a mapping result of the mapping unit913. For example, the M-ary modulation unit914executes M-ary modulation of a carrier wave in the 8PSK or the like using the mapped bit sequence. A transmit signal thus obtained is transmitted to a receiving apparatus920via an antenna (not shown).

In the receiving apparatus920, the transmit signal is received by the antenna (not shown) as a receive signal, which is input to a demodulating unit921. The demodulating unit921demodulates the receive signal in the 8PSK scheme. A detecting unit922detects a demodulating result of the demodulating unit921and obtains the likelihood value of each of bits in the encoded bit sequence. The likelihood value of each bit is temporarily stored in a buffer memory provided in the detecting unit922, and is also deinterleaved by a deinterleaver923and output to an LDPC decoding unit924.

A channel condition detecting unit926detects a condition of the channel between the transmitting apparatus910and the receiving apparatus920, in accordance with a pilot signal, of the demodulation result of the demodulating unit921. Information indicating the detected channel condition is output to a check matrix reconstructing unit927as channel information.

A reference check matrix employed for construction of generator of LDPC coding in the transmitting apparatus910is stored in the check matrix reconstructing unit927. The check matrix reconstructing unit927reconstructs the reference check matrix in accordance with the channel information supplied from the channel condition detecting unit926to obtain a check matrix (hereinafter called derivative check matrix) derived from the reference check matrix. The derivative check matrix obtained by the reconstruction is supplied to the LDPC decoding unit924.

The LDPC decoding unit924outputs a probability value of each of bits in the receive data by performing the LDPC decoding operation based on the derivative check matrix supplied from the check matrix reconstructing unit927, on the likelihood value of each of the bits in the deinterleaved bit sequence input from the deinterleaver923. The probability value is interleaved in an interleaver925and output to the detecting unit922as a prior probability value.

The detecting unit922weights each of the likelihood values stored in the buffer memory with the prior probability value corresponding thereto. Thus, the likelihood value of each of bits in the encoded bit sequence obtained by the detection is weighted with the prior probability value and the weighted likelihood value is output to the deinterleaver923.

The deinterleaver923deinterleaves the weighted likelihood value and then outputs the weighted likelihood value to the LDPC decoding unit924. The LDPC decoding unit924performs the LDPC decoding operation using the derivative check matrix reconstructed by the check matrix reconstructing unit927, on the weighted likelihood value, and obtains the probability value of each of bits in the receive data.

The probability value is output to a hard decision unit928as a secondary probability value. The hard decision unit928executes hard decision of the secondary probability value to obtain the receive data.

As described above, if interleaving is executed in the transmitting apparatus910, the deinterleaver923is provided between the detecting unit922and the LDPC decoding unit924and the interleaver925is provided in the feedback loop.

Next, a receiving apparatus1020according to a second embodiment of the present invention will be described.FIG. 10shows a structure of a transmitting apparatus1010which transmits a transmit signal to the receiving apparatus1020and a structure of the receiving apparatus1020.

In the transmitting apparatus1010, an LDPC encoding unit1011encodes transmit data on the basis of the reference check matrix and outputs the encoded bit sequence. A mapping unit1012executes mapping to split the encoded bit sequence into bit sequences of a unit corresponding to a M-ary modulation unit1013of a subsequent stage.

The M-ary modulation unit1013executes M-ary modulation based on a mapping result of the mapping unit1012. For example, the M-ary modulation unit1013executes M-ary modulation of a carrier wave in the 8PSK or the like using the mapped bit sequence. A transmit signal thus obtained is transmitted to the receiving apparatus1020via an antenna (not shown).

In the receiving apparatus1020, the transmit signal is received by the antenna (not shown) as a receive signal, which is input to a demodulating unit1021. The demodulating unit1021demodulates the receive signal in the 8PSK scheme. A detecting unit1022detects a demodulating result of the demodulating unit1021and obtains the likelihood value of each of bits in the encoded bit sequence. The likelihood value of each bit is output to an LDPC decoding unit1023.

A check matrix reconstructing unit1024stores the reference check matrix employed for LDPC coding in the transmitting apparatus1010and corresponds to a mapping algorithm of the mapping unit1012. In accordance with the reference check matrix and the mapping algorithm, the check matrix reconstructing unit1024reconstructs the reference check matrix to obtain a check matrix (hereinafter called derivative check matrix) derived from the reference check matrix. The derivative check matrix obtained by the reconstruction is supplied to the LDPC decoding unit1023.

The LDPC decoding unit1023outputs a probability value of each of bits in the receive data by performing the LDPC decoding operation based on the derivative check matrix supplied from the check matrix reconstructing unit1024, on the likelihood value of each of the bits input from the detecting unit1022. A hard decision unit1025executes hard decision of the probability value and obtains the receive data.

Next, the operation of reconstructing the check matrix by the check matrix reconstructing unit1024will be described.

The check matrix reconstructing unit1024performs row operations on the reference check matrix so as to change the degree of each of variable nodes in the bipartite graphs (i.e. the number of branches linked with each variable node) in accordance with the reference check matrix and the mapping algorithm employed in the transmitting apparatus1010.

In the M-ary modulation unit1013having the above-described structure, 8PSK modulation is executed. In the 8PSK modulation, a symbol represents 3-bit data as shown inFIG. 11but the each of bits has different in error probability. In other words, data of the first bit is different as compared with adjacent signal points. In the data, errors will occur at high possibility and the error probability is high.

On the other hand, data of the third bit is common in signal points in two groups divided by a broken line. In the data, errors will occur at little possibility and the error probability is low as compared with the data of the first bit. Data of the second bit is common in signal points in four groups divided by solid lines. In the data, errors will occur at little possibility as compared with the data of the first bit but occur at high possibility as compared with the data of the third bit.

Thus, a plurality of bits mapped at the same signal points are different in error probability. For this reason, the check matrix reconstructing unit1024performs the row operations on the reference check matrix such that the variable nodes to which bits of high error probability are assigned have more number of branches linked with the check nodes.

The derivative check matrix thus reconstructed by the check matrix reconstructing unit1024is supplied to the LDPC decoding unit1023. The LDPC decoding unit1023thereby performs the operation concerning the variable nodes to which bits of high error probability are assigned, at more times than the LDPC decoding operation employing the reference check matrix. In other words, as for the likelihood value of little reliability, the reliability is enhanced by increasing the number of times of performing the operation of the variable nodes.

As described above, in the receiving apparatus1020, which corresponds to the M-ary modulation, the reference check matrix prestored in the check matrix reconstructing unit1024is reconstructed in accordance with the error rate of each bit represented by one symbol and the decoding is executed in the LDPC decoding operation based on the derivative check matrix obtained by the reconstruction.

Consequently, according to the receiving apparatus1020having the above-described structure, even if the M-ary modulation is employed, decoding can be executed by reconstructing the check matrix and increasing the number of times of performing the operation concerning the likelihood of little reliability, and high transmission quality can be therefore obtained.

The present invention is not limited to the above-described embodiment. For example, the present invention can also be applied to a case where the transmit data is interleaved in the transmitting apparatus1010. In this case, a deinterleaver is provided between the detecting unit1022and the LDPC decoding unit1023. The deinterleaver deinterleaves the output of the detecting unit1022and outputs the deinterleaving result to the LDPC decoding unit1023.

In the above-described embodiment, LDPC decoding unit1023performs the LDPC decoding operation on the basis of the derivative check matrix reconstructed by the check matrix reconstructing unit1024. Instead of this, however, the LDPC decoding unit1023may, for example, perform the LDPC decoding operation on the basis of the initially preset reference check matrix and, during iterative operation of this LDPC decoding operation, perform the LDPC decoding operation on the basis of derivative check matrix reconstructed by the check matrix reconstructing unit1024.

Moreover, a structure shown inFIG. 12can also be conceived. In a decoding apparatus shown inFIG. 12, the decoding result initially obtained by the LDPC decoding unit1023of the decoding apparatus shown inFIG. 10is reflected on the detection result of the detecting unit1022as a weighting factor. A structure of the transmitting apparatus1010is the same as that shown inFIG. 10.

InFIG. 12, a detecting unit1222outputs a likelihood value of each of bits in an encoded bit sequence by detecting a demodulation result of a demodulating unit1221. The likelihood value of each bit is temporarily stored in a buffer memory provided inside the detecting unit1222and output to an LDPC decoding unit1223.

A check matrix reconstructing unit1224stores the reference check matrix employed for LDPC coding in the transmitting apparatus1010and corresponds to the mapping algorithm of the mapping unit1012. In accordance with the reference check matrix and the mapping algorithm, the check matrix reconstructing unit1224reconstructs the reference check matrix and obtains a check matrix (hereinafter called derivative check matrix) derived from the reference check matrix. The derivative check matrix obtained by the reconstruction is the same as that obtained by the check matrix reconstructing unit1024, and is supplied to the LDPC decoding unit1223.

The LDPC decoding unit1223outputs a probability value of each of bits in the receive data by performing the LDPC decoding operation based on the derivative check matrix supplied from the check matrix reconstructing unit1224, on the likelihood value of each of the bits in the encoded bit sequence input from the detecting unit1222. The probability value is output to the detecting unit1222as a prior probability value.

The detecting unit1222weights each of the likelihood values stored in the buffer memory with the prior probability value corresponding thereto. Thus, the likelihood value of each of bits in the encoded bit sequence obtained by the detection is weighted with the prior probability value and the weighted likelihood value is output to the LDPC decoding unit1223.

The LDPC decoding unit1223performs the LDPC decoding operation using the derivative check matrix reconstructed by the check matrix reconstructing unit1224, on the weighted likelihood value, and obtains the probability value of each of bits in the receive data. The probability value is output to a hard decision unit1225as a secondary probability value. The hard decision unit1225executes hard decision of the secondary probability value to obtain the receive data.

As described above, in the receiving apparatus1220, which corresponds to the M-ary modulation, the reference check matrix prestored in the check matrix reconstructing unit1224is reconstructed in accordance with the error rate of each bit represented by one symbol. The LDPC decoding unit1223first obtains the prior probability value on the basis of the derivative check matrix obtained by the reconstruction and reflects the prior probability value on the likelihood value as a weight before the LDPC decoding is performed on the likelihood value. Then the LDPC decoding operation is performed on the prior probability value in the LDPC decoding unit1223. Higher transmission quality can be therefore obtained.

Furthermore, the channel condition detecting unit504of the first embodiment may be added to the receiving apparatus1220ofFIG. 12such that the check matrix reconstructing unit1224can reconstruct the reference check matrix in accordance with the reference check matrix, the mapping algorithm and the channel condition information which is detected by the channel condition detecting unit504.

The application is shown inFIG. 13as a structure of a receiving apparatus1320. The structure of the transmitting apparatus1010is the same as that shown inFIG. 10. InFIG. 13, a detecting unit1322outputs a likelihood value of each of bits in an encoded bit sequence by detecting a demodulation result of a demodulating unit1321. The likelihood value of each bit is temporarily stored in a buffer memory provided inside the detecting unit1322and output to an LDPC decoding unit1323.

A channel condition detecting unit1326detects a condition of the channel between the transmitting apparatus1010and the receiving apparatus1320, in accordance with a pilot signal, of the demodulation result of the demodulating unit1321. Information indicating the detected channel condition is output to a check matrix reconstructing unit1324as channel information.

A check matrix reconstructing unit1324stores the reference check matrix employed for LDPC coding in the transmitting apparatus1010and corresponds to the mapping algorithm of the mapping unit1012. In accordance with the reference check matrix, the mapping algorithm and the channel information, the check matrix reconstructing unit1324reconstructs the reference check matrix and obtains a check matrix (hereinafter called derivative check matrix) derived from the reference check matrix. The derivative check matrix obtained by the reconstruction is the same as that obtained by the check matrix reconstructing unit1024, and is changed in accordance with the channel information.

The LDPC decoding unit1323outputs a probability value of each of bits in the receive data by performing the LDPC decoding operation based on the derivative check matrix supplied from the check matrix reconstructing unit1324, on the likelihood value of each of the bits in the encoded bit sequence input from the detecting unit1322. The probability value is output to the detecting unit1322as a prior probability value.

The detecting unit1322weights each of the likelihood values stored in the buffer memory with the prior probability value corresponding thereto. Thus, the likelihood value of each of bits in the encoded bit sequence obtained by the detection is weighted with the prior probability value and the weighted likelihood value is output to the LDPC decoding unit1323.

The LDPC decoding unit1323performs the LDPC decoding operation using the derivative check matrix reconstructed by the check matrix reconstructing unit1324, on the weighted likelihood value, and calculates the probability value of each of bits in the receive data. The probability value is output to a hard decision unit1325as a secondary probability value. The hard decision unit1325executes hard decision of the secondary probability value to obtain the receive data.

As described above, in the receiving apparatus1320, which corresponds to the M-ary modulation, the reference check matrix prestored in the check matrix reconstructing unit1324is reconstructed in accordance with the error rate of each bit represented by one symbol. The LDPC decoding unit1323first obtains the primary probability value on the basis of the derivative check matrix obtained by the reconstruction and reflects the prior probability value on the likelihood value as a weight before the LDPC decoding is performed on the likelihood value. Then the LDPC decoding operation is performed on the prior probability value in the LDPC decoding unit1323. Higher transmission quality can be therefore obtained.

In the reconstruction of the reference check matrix executed by the check matrix reconstructing unit1324, the condition of the channel between the transmitting apparatus101and the receiving apparatus1320as detected by the channel condition detecting unit1326is considered. For this reason, even when the employed channel is not limited only to the binary symmetric channel, but also the channel changed in time and frequency, decoding can be executed by reconstructing the check matrix in accordance with the channel condition and high transmission quality can be thereby obtained. In addition, since negotiation with the transmitting side does not need to be made, the efficiency of use of the channel is not lowered and the speed of adapting to the channel condition is high.

Next, a receiving apparatus according to a third embodiment of the present invention will be described.FIG. 14shows a structure of the receiving apparatus. The receiving apparatus comprises a demodulating unit1401, a detecting unit1402, LDPC decoding units1403aand1403b, a channel condition detecting unit1404, a check matrix reconstructing unit1405, a decoding information synthesizing unit1406and a hard decision unit1407.

The demodulating unit1401receives a radio signal transmitted from a transmitting apparatus via an antenna (not shown) and demodulates the received radio signal in the scheme of, for example, 8PSK. The detecting unit1402obtains a likelihood value of each of bits in an encoded bit sequence by detecting a demodulation result of the demodulating unit1401. The likelihood value of each bit is output to each of the LDPC decoding units1403aand1403b.

The channel condition detecting unit1404detects a condition of the channel between the transmitting apparatus and the receiving apparatus, in accordance with a pilot signal, of the demodulation result of the demodulating unit1401. Information indicating the detected channel condition is output to the check matrix reconstructing unit1405as channel information.

A check matrix (hereinafter called reference check matrix) employed for LDPC coding in the transmitting apparatus is stored in the check matrix reconstructing unit1405. The check matrix reconstructing unit1405reconstructs the reference check matrix in accordance with the channel information supplied from the channel condition detecting unit1404and obtains a check matrix (hereinafter called derivative check matrix) derived from the reference check matrix. Then the check matrix reconstructing unit1405supplies the derivative check matrix obtained by the reconstructing to the LDPC decoding unit1403aand the reference check matrix to the LDPC decoding unit1403b.

The LDPC decoding units1403aand1403bcalculate a probability value of each of bits in the receive data by performing the LDPC decoding operation based on the derivative check matrix supplied from the check matrix reconstructing unit1405, on the likelihood value of each of the bits in the encoded bit sequence input from the detecting unit1402.

The decoding information synthesizing unit1406synthesizes the probability values obtained respectively by the LDPC decoding units1403aand1403bin a bit unit corresponding thereto and outputs the synthesized probability value to the hard decision unit1407. The hard decision unit1407performs hard decision on the probability value obtained by the synthesis and obtains the receive data.

As described above, the receiving apparatus comprises two LDPC decoding units1403aand1403b, urges the decoding units to perform the LDPC decoding operation based on the check matrices different from each other, and synthesizes two operation results of the check matrices to obtain the decoding data.

Thus, even if the channel condition is changed, suitable LDPC decoding operation can be executed in either of the LDPC decoding units1403aand1403bas compared with employing the single LDPC decoding unit and high transmission quality can be thereby obtained.

Furthermore, the receiving apparatus monitors the condition of the channel with the transmitting apparatus by the channel condition detecting unit1404and urges the LDPC decoding unit1403ato execute decoding by the LDPC decoding operation based on the derivative check matrix reconstructed in accordance with the monitoring result.

Therefore, even when the employed channel is not limited only to the binary symmetric channel, but also the channel changed in time and frequency, decoding can be executed by reconstructing the derivative check matrix in accordance with the channel condition and high transmission quality can be thereby obtained. In addition, since negotiation with the transmitting side does not need to be made, the efficiency of use of the channel is not lowered and the speed of adapting to the channel condition is high.

The present invention is not limited to the above-described embodiment. The decoding results of the LDPC decoding units1403aand1403bare synthesized in the decoding information synthesizing unit1406. For example, however, a selecting unit and a control unit may be provided instead of the decoding information synthesizing unit1406and the selecting unit may selectively output either of the decoding results of the LDPC decoding units1403aand1403bto the hard decision unit1407. In this case, switching control of the selecting unit is conducted by the control unit. The selection of the selecting unit is considered to depend on the detection result of the channel condition detecting unit1404, the monitoring results of qualities of the decoding results of the LDPC decoding units1403aand1403b, and the like.

Since the LDPC decoding units1403aand1403bperforms the LDPC decoding operation on the basis of the check matrices different from each other, the times passing before iterative operations of the decoding converge may probably be different. However, a control unit to monitor proceeding conditions of both the operations can be provided such that when syndrome of one of the decoding units becomes “0” the control unit ends the decoding of the other decoding unit.

In addition, this embodiment can also be applied to a case where the transmit data is interleaved in the transmitting apparatus. In this case, a deinterleaver is provided immediately after the detecting unit1402. The deinterleaver deinterleaves the output of the detecting unit1402and outputs this result to the LDPC decoding units1403aand1403b.

In the above-described embodiment, the LDPC decoding unit1403aperforms the LDPC decoding operation on the basis of the derivative check matrix reconstructed by the check matrix reconstructing unit1405.

Instead of this, for example, the LDPC decoding unit1403amay perform the LDPC decoding operation on the basis of the initially preset reference check matrix and, during iterative operation of this LDPC decoding operation, perform the LDPC decoding operation on the basis of derivative check matrix reconstructed by the check matrix reconstructing unit1405.

Reconstructing the check matrix by the check matrix reconstructing unit1405may be executed for each block of the LDPC. In addition, a plurality of blocks may be decoded by employing the same check matrix on the basis of the detection result of the channel condition detecting unit1404.

Moreover, a structure shown inFIG. 15can also be conceived. In a decoding apparatus shown inFIG. 15, the decoding result initially obtained by the decoding information synthesizing unit1406of the decoding apparatus shown inFIG. 14is reflected on the detection result of the detecting unit1402as a weighting factor.

InFIG. 15, a detecting unit1502obtains a likelihood value of each of bits in an encoded bit sequence by detecting a demodulation result of a demodulating unit1501. The likelihood value of each bit is temporarily stored in a buffer memory provided in the detecting unit1502and is output to LDPC decoding units1503aand1503b.

A channel condition detecting unit1504detects a condition of the channel between the transmitting apparatus and the receiving apparatus, in accordance with a pilot signal, of the demodulation result of the demodulating unit1501. Information indicating the detected channel condition is output to a check matrix reconstructing unit1505as channel information.

A check matrix (hereinafter called reference check matrix) employed for LDPC coding in the transmitting apparatus is stored in the check matrix reconstructing unit1505. The check matrix reconstructing unit1505reconstructs the reference check matrix in accordance with the channel information supplied from the channel condition detecting unit1504and obtains a check matrix (hereinafter called derivative check matrix) derived from the reference check matrix. Then the check matrix reconstructing unit1505supplies the derivative check matrix obtained by the reconstructing to the LDPC decoding unit1503aand the reference check matrix to the LDPC decoding unit1503b.

The LDPC decoding units1503aand1503boutput a probability value of each of bits in the receive data by performing the LDPC decoding operation based on the derivative check matrix supplied from the check matrix reconstructing unit1505, on the likelihood value of each of the bits in the encoded bit sequence input from the detecting unit1502.

A decoding information synthesizing unit1506synthesizes the probability values obtained respectively by the LDPC decoding units1503aand1503bin a bit unit corresponding thereto. The synthesized probability value is output to the detecting unit1502as a primary probability value.

The detecting unit1502weights each of the likelihood values stored in the buffer memory with the primary probability value corresponding thereto. Thus, the likelihood value of each of bits in the encoded bit sequence obtained by the detection is weighted with the prior probability value and the weighted likelihood value is output to the LDPC decoding units1503aand1503b.

Each of the LDPC decoding units1503aand1503bperforms the LDPC decoding operation based on the check matrix supplied from the check matrix reconstructing unit1505, on the likelihood value of each of bits in the encoded bit sequence input from the detecting unit1502and obtains the probability value of each of bits in the receive data.

The decoding information synthesizing unit1506synthesizes the probability values obtained respectively by the LDPC decoding units1503aand1503bin a bit unit corresponding thereto. The probability value obtained by the synthesis is output to the detecting unit1502as a secondary probability value.

The secondary probability value is output to the hard decision unit1507. The hard decision unit1507performs hard decision on the secondary probability value and obtains the receive data.

As described above, in the receiving apparatus, the probability values are obtained by the LDPC decoding units1503aand1503b, respectively. After that, the synthetic value (prior probability value) of the obtained probability values is reflected on the likelihood value to be the LDPC decoding as the weighting and is further subjected to the LDPC decoding in the LDPC decoding units1503aand1503b. Higher transmission quality can be therefore obtained.

In the receiving apparatus shown inFIG. 14orFIG. 15, the channel condition detecting unit1404or1504is provided to reconstruct the reference check matrix in accordance with the channel condition. Instead of this or in addition to this, for example, the check matrix reconstructing unit1405or1505may correspond to the M-ary modulation and reconstruct the reference check matrix in accordance with the error rate of each bit represented by one symbol, similarly to the check matrix reconstructing unit1024shown inFIG. 10.

The present invention is not limited to the embodiments described above but the constituent elements of the invention can be modified in various manners without departing from the spirit and scope of the invention. Furthermore, various aspects of the invention can also be extracted from any appropriate combination of a plurality of constituent elements disclosed in the embodiments. Some constituent elements may be deleted in all of the constituent elements disclosed in the embodiments. The constituent elements described in different embodiments may be combined arbitrarily.

In the above-described embodiments, the present invention is applied to the radio communications system but is not limited to this. The present invention can also be applied to various wired devices such as communications devices, hard disk drives, audio equipment and the like, capable of inputting, outputting and transmitting the information by using the LDPC code.