CODING CIRCUIT, DECODING CIRCUIT, CODING METHOD, DECODING METHOD AND COMPUTER PROGRAM
20240080045 ยท 2024-03-07
Assignee
Inventors
- Takeshi KAKIZAKI (Musashino-shi, JP)
- Masanori NAKAMURA (Musashino-shi, JP)
- Fukutaro HAMAOKA (Musashino-shi, JP)
Cpc classification
H04L1/00
ELECTRICITY
H03M13/1125
ELECTRICITY
International classification
Abstract
There is provided an encoding circuit used for coherent digital signal processing, including: a serial-parallel circuit that divides input data into a plurality of pieces of divided data by serial-parallel conversion; a plurality of encoders that adds an error correction code to the divided data and encodes the divided data; and a bit conversion circuit that converts a bit sequence in order to make an amount of noise generated by a communication channel non-uniform among the plurality of pieces of divided data encoded by each of the plurality of encoders.
Claims
1. An encoding circuit used for coherent digital signal processing, comprising: a serial-parallel circuit configured to divide input data into a plurality of pieces of divided data by serial-parallel conversion; a plurality of encoders configured to add an error correction code to each of the divided data and encodes each of the divided data; and a bit conversion circuit configured to convert a bit sequence in order to make an amount of noise generated by a communication channel non-uniform among the plurality of pieces of divided data encoded by each of the plurality of encoders.
2. A decoding circuit used for coherent digital signal processing, comprising: a serial-parallel circuit configured to divide input data into a plurality of pieces of divided data by serial-parallel conversion; a likelihood calculation circuit configured to calculate a likelihood of decoding based on the plurality of pieces of divided data and information on noise generated in a communication channel; and a plurality of decoders configured to decode the plurality of pieces of divided data using the likelihood as an input.
3. The decoding circuit according to claim 2, wherein when a decoding result of one decoder among the plurality of decoders is obtained, the likelihood calculation circuit updates the likelihood based on the obtained decoding result and information on noise generated in the communication channel, and the plurality of decoders decodes the input divided data with the likelihood updated using the decoding result obtained by a preceding decoder as an input.
4. An encoding method used for coherent digital signal processing, comprising: dividing input data into a plurality of pieces of divided data by serial-parallel conversion; adding an error correction code to each of the divided data and encoding each of the divided data; and converting a bit sequence in order to make an amount of noise generated by a communication channel non-uniform among the plurality of pieces of encoded divided data.
5. A decoding method used for coherent digital signal processing, comprising: dividing input data into a plurality of pieces of divided data by serial-parallel conversion; calculating a likelihood of decoding based on the plurality of pieces of divided data and information on noise generated in the communication channel; and decoding the plurality of pieces of divided data using the likelihood as an input.
6. A non-transitory computer readable storage medium that stores a computer program to be executed by the computer; dividing input data into a plurality of pieces of divided data by serial-parallel conversion, adding an error correction code to each of the divided data and encoding each of the divided data, and converting a bit sequence in order to make an amount of noise generated by a communication channel non-uniform among the plurality of pieces of encoded divided data.
7. A non-transitory computer readable storage medium that stores a computer program to be executed by the computer; dividing input data into a plurality of pieces of divided data by serial-parallel conversion, calculating a likelihood of decoding based on the plurality of pieces of divided data and information on noise generated in the communication channel, and decoding the plurality of pieces of divided data using the likelihood as an input.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
DESCRIPTION OF EMBODIMENTS
[0032] Hereinafter, an embodiment of the present invention will be described in detail with reference to drawings.
First Embodiment
[0033]
[0034] The transmission device 1 includes an encoding circuit 10 and a symbol mapper 11.
[0035] The encoding circuit 10 includes an S/P circuit 110, a plurality of encoders 120-1 and 120-2, a bit conversion circuit 130, and a P/S circuit 140. The encoding circuit 10 newly includes a bit conversion circuit 130 as compared with the conventional encoding circuit 51a illustrated in
[0036] The S/P circuit 110 divides the transmission target data into a plurality of pieces of data by performing serial-parallel conversion on the input transmission target data.
[0037] The encoders 120-1 and 120-2 encode input data. For example, the encoder 120-1 encodes data using a low-density parity-check (LDPC) code, and the encoder 120-2 encodes data using a BCH code. That is, the encoder 120-1 is an encoder using SDD, and the encoder 120-2 is an encoder using HDD.
[0038] The bit conversion circuit 130 converts a bit sequence of encoded data in order to make noise generated in each code non-uniform in a time division direction.
[0039] The P/S circuit 140 converts the converted data output from the bit conversion circuit 130 into serial data by parallel-serial conversion.
[0040] The symbol mapper 11 maps the data converted by the P/S circuit 140 according to the modulation method to generate transmission data. For example, it is assumed that the symbol mapper 11 uses binary phase shift keying (BPSK) as a modulation method.
[0041] The reception device 2 includes a symbol demapper 20 and a decoding circuit 21.
[0042] The symbol demapper 20 receives the transmission data transmitted via the communication channel 3 and demodulates the received transmission data in the demodulation method corresponding to the modulation method. For example, it is assumed that the symbol demapper 20 uses BPSK as a demodulation method.
[0043] The decoding circuit 21 includes an S/P circuit 210, a likelihood calculation circuit 220, decoders 230-1 to 230-2, and a P/S circuit 240. The decoding circuit 21 newly includes a likelihood calculation circuit 220 as compared with the conventional decoding circuit 62a illustrated in
[0044] The S/P circuit 210 divides the transmission data into a plurality of pieces of data by performing serial-parallel conversion on the transmission data demodulated by the symbol demapper 20.
[0045] The likelihood calculation circuit 220 calculates the likelihood based on the data output from the S/P circuit 210 and the communication channel information. The communication channel information represents a noise distribution of the communication channel 3. Most typical in communication systems is a Gaussian distribution of the average ? variance ?. The communication channel information can be measured by a spectrum analyzer or the like. It is assumed that the communication channel information is measured in advance and stored in the likelihood calculation circuit 220.
[0046] The decoders 230-1 to 230-2 decode input data. For example, the decoder 230-1 decodes data using SDD, and the decoder 230-2 decodes data using HDD.
[0047] The P/S circuit 240 converts the decoded data output from the decoders 230-1 and 230-2 into serial data by parallel-serial conversion.
[0048] Next, design guidelines of the encoder 120 and the decoder 230 in the present invention will be described with reference to
[0049] First, a rough flow of the present invention will be described. In the present invention, noise is made non-uniform by conversion by the bit conversion circuit 130. Then, after separation into a communication channel with large noise (for example, a communication channel in which the amount of noise is equal to or greater than a threshold value) and a communication channel with small noise (for example, a communication channel in which the amount of noise is less than a threshold value), SDD is applied to the communication channel with large noise and HDD is applied to the communication channel with small noise.
[0050] An object of the present invention is to reduce decoding power as much as possible (that is, replace with HDD) under the condition that the allowable performance deterioration amount is defined and the division number (the number of encoders 120 and decoders 230) is limited in relation to the delay amount and the circuit scale.
[0051] In order to realize the above object, the following (1) to (4) are performed before the start of the processing. [0052] (1) The user measures the amount of noise in the entire communication system. The amount of noise in the entire communication system can be measured by, for example, a spectrum analyzer or the like. [0053] (2) Since the user knows the amount of noise of the entire communication system in advance by measurement in advance, the user calculates the amount of noise from code 1 to code l (l is an integer of 2 or more) used by each of the encoders 120-1 to 120-l. The amount of noise from code 1 to code l may be theoretically calculated, or a plurality of bit strings may be obtained by a Monte Carlo method. A calculation method in the case of theoretical calculation is calculated by Formula (6) described later. [0054] (3) The user calculates forward error correction-over head (FEC-OH) of the code applied by the encoder 120 according to each noise amount. Here, a method of calculating FEC-OH of the code applied by the encoder 120 will be described with reference to
[Math. 1]
Degree of redundancy (FEC-OH)=(m/k)?100[%](1)
[0055] Note that it is necessary to satisfy k/(k+FEC-OH)<??log 2(1+E.sub.b/N.sub.0)=: C (communication channel capacity). A margin is provided between (k/k+FEC-OH) and ??log 2 (1+E.sub.b/N.sub.0). The margin amount depends on the code. E.sub.b represents energy per bit. In addition, N.sub.0 is a noise spectral density. The FEC-OH is set based on the E.sub.b/N.sub.0 targeted by the system.
[0056] The description will return to
[0058]
[0059] A symbol indicated by code 131 in
[0060]
[0061] The S/P circuit 110 divides transmission target data u into a plurality of pieces of data by performing serial-parallel conversion on the input transmission target data u (step S101). Specifically, the S/P circuit 110 divides k-bit data u?{0,1}.sup.k into k 1-bit data u.sup.(1) and k.sub.2-bit data u.sup.(2) (k.sub.1+k.sub.2=k). The S/P circuit 110 outputs the divided data u.sup.(1) to the encoder 120-1 and outputs the data u.sup.(2) to the encoder 120-2.
[0062] The encoder 120-1 encodes the data u.sup.(1) output from the S/P circuit 110 (step S102-1). Accordingly, the encoder 120-1 acquires n/2-bit data x.sup.(1) which is a code word. Here, n represents the length of the entire code. Therefore, in the first embodiment, the encoder 120-1 acquires n/2-bit data x.sup.(1). The encoder 120-1 outputs the acquired code word to the bit conversion circuit 130.
[0063] Similarly, the encoder 120-2 encodes the data u.sup.(2) output from the S/P circuit 110 (step S102-2). Accordingly, the encoder 120-2 acquires n/2-bit data x.sup.(2) which is a code word. In the first embodiment, the encoder 120-2 acquires n/2-bit data x.sup.(2). The encoder 120-2 outputs the acquired code word to the bit conversion circuit 130.
[0064] The bit conversion circuit 130 acquires code words output from each of the encoders 120-1 and 120-2. The bit conversion circuit 130 converts the bit string of the acquired code word. Specifically, the bit conversion circuit 130 converts the data x.sup.(1) output from the encoder 120-1 into data ?x.sup.(1) (step S103-1). The bit conversion circuit 130 converts the data x.sup.(2) output from the encoder 120-2 into data ?x.sup.(2) (step S103-2). The bit conversion circuit 130 outputs the converted data ?x.sup.(1) and ?x.sup.(2) to the P/S circuit 140.
[0065] The P/S circuit 140 converts the data ?x.sup.(1) and the data ?x.sup.(2) output from the bit conversion circuit 130 into serial data by parallel-serial conversion (step S104). Specifically, the P/S circuit 140 combines the data ?x.sup.(1) and the data ?x.sup.(2) to generate n-bit data ?x(?x.sup.(1),?x.sup.(2)). The P/S circuit 140 outputs the data ?x to the symbol mapper 11. The symbol mapper 11 maps the data ?x converted by the P/S circuit 140 according to the modulation method to generate transmission data (step S105). The encoding circuit 10 transmits the generated transmission data to the reception device 2 (step S106).
[0066]
[0067] The symbol demapper 20 receives the transmission data transmitted through the communication channel 3 (step S201). The symbol demapper 20 demodulates the received transmission data (step S202). The symbol demapper 20 outputs the demodulated data y to the S/P circuit 210. The S/P circuit 210 divides the data y into a plurality of pieces of data by performing serial-parallel conversion on the data y output from the symbol demapper 20 (step S203). Specifically, the S/P circuit 210 divides the data y(y.sup.(1),y.sup.(2)) into data y.sup.(1) and data y.sup.(2). The S/P circuit 210 outputs the divided data y.sup.(1) and data y.sup.(2) to the likelihood calculation circuit 220.
[0068] The likelihood calculation circuit 220 calculates the likelihood based on the data y.sup.(1) and the data y.sup.(2) output from the S/P circuit 210 and the communication channel information P1 (step S204). Here, it is assumed that the communication channel information P1 is represented by the following Formula (2).
[Math. 2]
P1(y.sub.i.sup.(1)|
[0069] The likelihood calculation circuit 220 calculates a likelihood P11 based on the following Formula (3). In the first embodiment, it is assumed that P(x.sub.i)=?. i is an integer of 1 or more.
[0070] The likelihood calculation circuit 220 outputs the calculation result to the decoder 230-1. The decoder 230-1 decodes the calculation result output from the likelihood calculation circuit 220 (step S205). As a result, the decoder 230-1 acquires the estimated code word {circumflex over ()}x.sup.(1) ({circumflex over ()} in {circumflex over ()}x is on x, and the same applies hereinafter) and the estimation information {circumflex over ()}u.sup.(1) ({circumflex over ()} in {circumflex over ()}u is on u, and the same applies hereinafter). The estimated code word represents a code word which is estimated. The estimation information represents an estimation result of the divided data. The decoder 230-1 outputs the estimated code word {circumflex over ()}x.sup.(1) to the likelihood calculation circuit 220, and outputs the estimation information {circumflex over ()}u.sup.(1) to the P/S circuit 240.
[0071] The likelihood calculation circuit 220 calculates the likelihood based on the estimated code word {circumflex over ()}x.sup.(1) output from the decoder 230-1 and the communication channel information P1 (step S207). Specifically, the likelihood calculation circuit 220 calculates a likelihood P12 based on the following Formula (4).
[Math. 4]
P12(y.sub.i.sup.(1),y.sub.i.sup.(2),{circumflex over (x)}.sub.i.sup.(1)|x.sub.i.sup.(2))=?P(y.sub.i.sup.(1)|{circumflex over (x)}.sub.i.sup.(1)?x.sub.i.sup.(2)P(y.sub.i.sup.(2)|x.sub.i.sup.(2))(4)
[0072] The likelihood calculation circuit 220 outputs the calculation result to the decoder 230-2. The decoder 230-2 decodes the calculation result output from the likelihood calculation circuit 220 (step S208). Accordingly, the decoder 230-2 acquires the estimated code word {circumflex over ()}x.sup.(2) and the estimation information {circumflex over ()}u.sup.(2). The decoder 230-2 outputs the estimated code word {circumflex over ()}x.sup.(2) to the likelihood calculation circuit 220, and outputs the estimation information {circumflex over ()}u.sup.(2) to the P/S circuit 240.
[0073] The P/S circuit 240 converts the estimation information {circumflex over ()}u.sup.(1) output from the decoder 230-1 and the estimation information {circumflex over ()}u.sup.(2) output from the decoder 230-2 into serial data by parallel-serial conversion (step S210). Specifically, the P/S circuit 240 combines the estimation information {circumflex over ()}u.sup.(1) and the estimation information {circumflex over ()}u.sup.(2) to generate the estimation information {circumflex over ()}u({circumflex over ()}u.sup.(1),{circumflex over ()}u.sup.(2)).
[0074] Next, evaluation results using the method of the present invention will be described with reference to
[0075] Under an AWGN environment, E.sub.b/N.sub.0-BER characteristics of an LDPC code and a BCH code during BPSK modulation were evaluated, respectively. In the present invention, the LDPC code is used in the encoder 120-1, and the BCH code is used in the encoder 120-2. In
[0076] According to the communication system configured as described above, it is possible to perform decoding with high accuracy while reducing the calculation amount in decoding. Specifically, the encoding circuit 10 includes the encoders 120-1 to 120-l of the plurality of error correction codes, and a bit conversion circuit that makes the amount of noise generated in the bit sequence non-uniform by using code words output from the plurality of encoders 120-1 to 120-l. The decoding circuit 21 includes a likelihood calculation circuit 220 that calculates likelihood information of decoding based on communication channel information, and a plurality of decoders 230-1 to 230-1 that outputs decoding information with the likelihood information as an input. The output of the decoding information by the decoder 230 is sequentially executed by the plurality of decoders 230-1 to 230-1. Each decoder 230 decodes data using the likelihood information updated by the likelihood calculation circuit 220 as an input based on the decoding information output by the preceding decoder 230. As described above, by making the noise amount of the code word output from the encoders 120-1 to 120-l non-uniform for each encoder by the bit conversion circuit 130 in the encoding circuit 10, in the corresponding decoder 230 in the decoding circuit 21, the decoder 230 using HDD is designed to decode data to which small noise is added, and the decoder 230 using SDD is designed to decode data to which large noise is added, and accordingly, it is possible to perform decoding with high accuracy while reducing the calculation amount in decoding.
Second Embodiment
[0077] In the first embodiment, the case where the number of encoders included in the encoding circuit is two and the number of decoders included in the decoding circuit is two has been described as an example. The number of encoders included in the encoding circuit and the number of decoders included in the decoding circuit may be two or more. Therefore, in the second embodiment, a configuration in a case where the number of encoders and decoders is not limited to two will be described.
[0078]
[0079] A transmission device 1a includes an encoding circuit 10a and the symbol mapper 11. The encoding circuit 10a is different from the encoding circuit 10 in that 1 encoders 120 are provided. On the other hand, the basic operation performed by the encoding circuit 10a is similar to that of the encoding circuit 10.
[0080] The reception device 2a includes the symbol demapper 20 and a decoding circuit 21a. The decoding circuit 21a is different from the decoding circuit 21 in that 1 decoders 230 are provided. On the other hand, the basic operation performed by the decoding circuit 21a is similar to that of the decoding circuit 21.
[0081] Hereinafter, processing performed by the transmission device 1a in the second embodiment will be described with reference to
[0082] The S/P circuit 110 divides k-bit data u?{0,1}.sup.k into k.sub.1-bit data u.sup.(1), . . . and k.sub.2-bit data u.sup.(1) in step S101 (k.sub.1+k.sub.2+ . . . +k.sub.l=k). The S/P circuit 110 outputs the divided data u.sup.(1) to u.sup.(l) to the corresponding encoders 120-1 to 120-l, respectively.
[0083] The encoders 120-1 to 120-l encode the data u.sup.(1) to u.sup.(l) output from the S/P circuit 110 in step S102. Accordingly, the encoders 120-1 to 120-l acquire n/1-bit data x.sup.(1) to x.sup.(l) which are code words. The encoders 120-1 to 120-1 output the acquired code word to the bit conversion circuit 130.
[0084] The bit conversion circuit 130 acquires code words output from each of the encoders 120-1 to 120-l in step S103. The bit conversion circuit 130 converts the bit string of the acquired code word. Specifically, the bit conversion circuit 130 converts the data x.sup.(1) to data x.sup.(l) output from each of the encoders 120-1 to 120-l into data ?x.sup.(1) to data ?x.sup.(l). The bit conversion circuit 130 outputs the converted data ?x.sup.(1) to ?x.sup.(l) to the P/S circuit 140. Note that the processing of steps S105 and S106 is the same as that in the first embodiment.
[0085] The P/S circuit 140 converts the data ?x.sup.(1) to the data ?x.sup.(l) output from the bit conversion circuit 130 into serial data by parallel-serial conversion in step S104. Specifically, the P/S circuit 140 combines the data ?x.sup.(1) to the data ?x.sup.(l) to generate n-bit data ?x(?x.sup.(1), . . . , ?x.sup.(l)). The P/S circuit 140 outputs the data ?x to the symbol mapper 11.
[0086] Next, processing performed by the reception device 2a in the second embodiment will be described with reference to
[0087] In step S201, the symbol demapper 20 receives the transmission data transmitted through the communication channel 3. In step S202, the symbol demapper 20 demodulates the received transmission data. The symbol demapper 20 outputs the demodulated data y to the S/P circuit 210. In step S203, the S/P circuit 210 divides the data y into a plurality of pieces of data by performing serial-parallel conversion on the data y output from the symbol demapper 20. Specifically, the S/P circuit 210 divides the data y(y.sup.(1), . . . , y.sup.(l)) into the data y.sup.(1), . . . , and data y.sup.(l). The S/P circuit 210 outputs the divided data y.sup.(1), . . . , and y.sup.(l) to the likelihood calculation circuit 220.
[0088] The processing from step S204 to step S209 is performed as follows in the second embodiment.
[0089] The likelihood calculation circuit 220 calculates the likelihood based on the data y.sup.(1), . . . , and y.sup.(l) output from the S/P circuit 210 and the communication channel information P2. Here, it is assumed that the communication channel information P2 is represented by the following Formula (5). Note that j in Formula (5) is an integer of 1 or more.
[Math. 5]
P2(y.sub.i.sup.(1)|
[0090] The likelihood calculation circuit 220 calculates a likelihood P21 based on the following Formula (6).
[Math. 6]
P21(y.sub.i.sup.(1), . . . ,y.sub.i.sup.(l),{circumflex over (x)}.sub.i.sup.(1), . . . ,{circumflex over (x)}.sub.i.sup.(j?1)|x.sub.i.sup.(j))(6)
[0091] The likelihood calculation circuit 220 outputs the calculation result to the decoder 230-j. The decoder 230-j decodes the calculation result output from the likelihood calculation circuit 220 (step S205). Accordingly, the decoder 230-j acquires the estimated code word {circumflex over ()}x.sup.(j) and the estimation information {circumflex over ()}u.sup.(j). The decoder 230-j outputs the estimated code word {circumflex over ()}x.sup.(j) to the likelihood calculation circuit 220, and outputs the estimation information {circumflex over ()}u.sup.(j) to the P/S circuit 240. Note that the likelihood calculation circuit 220 repeats the above processing 1 times by sequentially increasing j from 1 to l.
[0092] That is, the likelihood calculation circuit 220 performs the following processing. The likelihood calculation circuit 220 calculates the likelihood based on the estimated code word {circumflex over ()}x.sup.(1) output from the decoder 230-1 and the communication channel information P2. Next, the likelihood calculation circuit 220 outputs the calculation result to the decoder 230-2, and calculates the likelihood based on the estimated code word {circumflex over ()}x.sup.(2) output from the decoder 230-2 and the communication channel information P2. Next, the likelihood calculation circuit 220 outputs the calculation result to the decoder 230-3, and calculates the likelihood based on the estimated code word {circumflex over ()}x.sup.(3) output from the decoder 230-3 and the communication channel information P2.
[0093] As described above, the likelihood calculation circuit 220 calculates the likelihood by using the decoding result of the previous decoder 230 and the communication channel information.
[0094] In step S210, the P/S circuit 240 converts the estimation information {circumflex over ()}u.sup.(1) to {circumflex over ()}u.sup.(l) output from the decoders 230-1 to 230-1 into serial data by parallel-serial conversion. Specifically, the P/S circuit 240 combines the estimation information {circumflex over ()}u.sup.(1) to {circumflex over ()}u.sup.(l) to generate the estimation information {circumflex over ()}u({circumflex over ()}u.sup.(1), . . . , {circumflex over ()}u.sup.(l)).
[0095] With the communication system according to the second embodiment configured as described above, the same effects as those of the first embodiment can be achieved.
[0096] The communication system according to the second embodiment can also be applied to a case where the transmission device 1a includes three or more encoders 120 and the reception device 2a includes three or more decoders 230. Therefore, convenience can be improved.
[0097] As the number of divisions of data in the encoding circuit and the decoding circuit increases, performance deterioration is reduced as a result. As a result, there are many parts with much less noise because the noise is more non-uniform. This is because the number of parts where the FEC-OH is small increases, and performance deterioration at the time of replacement of HDD is reduced.
[0098] On the other hand, when the number of divisions is increased, the delay increases. This is because, in the likelihood calculation in the likelihood calculation circuit 220, the next likelihood cannot be calculated without waiting for the result of the preceding code, and thus the delay increases linearly. Furthermore, since many codes are required and the likelihood calculation circuit 220 becomes complicated, the circuit scale also increases. Therefore, performance deterioration can be reduced by increasing the number of divisions as much as possible while satisfying the allowable delay amount.
[0099] Modification examples common to the first embodiment and the second embodiment will be described.
[0100] The bit conversion circuit 130 may be configured using another kernel configuration method of polar codes described in Reference Literature 1 and 2. [0101] (Reference Literature 1: F. Gabry et al., Multi-Kernel Construction of Polar Codes, 2017 IEEE International Conference on Communications Workshops (ICC Workshops), pp. 761-765 (2017)) [0102] (Reference Literature 2: H. Lin et al., Linear and Nonlinear Binary Kernels of Polar Codes of Small Dimensions With Maximum Exponents, IEEE Transactions on Information Theory, 61(10), 5253, (2015))
[0103] The likelihood calculation circuit 220 may calculate the likelihood by another polar code decoding method described in Reference Literature 3. [0104] (Reference Literature 3: I. Tal et al., List Decoding of Polar Codes, IEEE Transactions on Information Theory, 61(5) 2213, (2015))
[0105] The bit conversion circuit 130 and the likelihood calculation circuit 220 may be non-uniform also in the spatial direction and the frequency axis direction.
[0106] Some functional units (for example, the encoding circuits 10 and 10a) included in the transmission devices 1 and 1a and some functional units (for example, the decoding circuits 21 and 21a) included in the reception devices 2 and 2a in the above-described embodiments may be realized by a computer. In such a case, a program for realizing this function may be recorded in a computer-readable recording medium, and a program recorded in the recording medium may be read into a computer system and realized by execution. Note that the computer system mentioned herein includes an OS and hardware such as a peripheral device. Also, the computer-readable recording medium refers to a portable medium such as a flexible disk, a magneto-optical disc, a ROM, or a CD-ROM, or a storage device such as a hard disk included in the computer system. Further, the computer-readable recording medium may include a medium that dynamically retains the program for a short time, such as a communication line in a case where the program is transmitted via a network such as the Internet or a communication line such as a telephone line, and a medium that holds the program for a certain period of time, such as a volatile memory inside a computer system serving as a server or a client in that case. Also, the above program may be for realizing some of the functions described above, may be realized with a combination of the functions described above and a program already recorded in a computer system, or may be realized with a programmable logic device such as a field programmable gate array (FPGA).
[0107] Although the embodiments of the present invention have been described in detail with reference to the drawings, specific configurations are not limited to the embodiments, and include design and the like within the scope of the present invention without departing from the gist of the present invention.
INDUSTRIAL APPLICABILITY
[0108] The present invention can be applied to a communication system using a plurality of encoders and decoders.
REFERENCE SIGNS LIST
[0109] 1, 1a Transmission device [0110] 2, 2a Reception device [0111] 10, 10a Encoding circuit [0112] 11 Symbol mapper [0113] 20 Symbol demapper [0114] 21, 21a Decoding circuit [0115] 110 S/P circuit [0116] 110, 210 S/P circuit [0117] 120-1 to 120-l Encoder [0118] 130 Bit conversion circuit [0119] 140, 240 P/S circuit [0120] 220 Likelihood calculation circuit [0121] 230-1 to 230-1 Decoder