Error correction device, error correction method, and error correction program
By selecting future paths based on current and re-encoded decoding auxiliary information, the error correction technique increases path reduction opportunities and duration, enhancing error correction capability.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-05-25
- Publication Date
- 2026-03-25
AI Technical Summary
Conventional iterative decoding methods for error correction in digital signals only reduce paths on the trellis diagram based on decoding auxiliary information, limiting the maximum number of reductions and shortening the duration of path reduction effects.
An error correction technique that selects future paths based on current decoding auxiliary information and re-encoded decoding auxiliary information, combining both to increase opportunities for path reduction and extend the duration of its effect.
This approach enhances error correction capability by increasing the maximum number of paths that can be reduced and lengthening the duration of path reduction, providing improved error correction performance.
Smart Images

Figure 0007835619000001 
Figure 0007835619000002 
Figure 0007835619000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to an error correction device, an error correction method, and an error correction program. [Background technology]
[0002] There are technologies to correct errors introduced into digital signals due to noise during transmission. For example, the convolution-RS concatenation coding scheme, in which the outer code is a convolutional code and the inner code is an RS code, is used as an error correction method for terrestrial digital broadcasting.
[0003] In convolutional-RS concatenated coding, when encoding digital signals, RS coding is performed first, followed by convolutional coding via an interleaver. During decoding, VA (Viterbi algorithm) decoding is performed first, followed by RS (Reed-Solomon) decoding via a deinterleaver.
[0004] Specifically, when the receiver receives a signal from the transmitter in which digital information has been convolved and encoded to a certain constraint length, it uses the VA decoding method to examine the received signal over a certain length, selects the most reliable code from the sequence of codes, and decodes it. After that, the receiver uses a deinterleaver to perform the reverse operation of the code order rearrangement performed by the interleaver on the transmitting side, and performs decoding and error correction using the RS decoding method.
[0005] The above series of decoding processes is usually performed once, but there is a technique to improve error correction capability by repeating the decoding process. In this iterative decoding method, the decoding result obtained in the previous iteration and the success or failure judgment indicating the success or failure of error correction are used as decoding aid information to correct the decoding process in the next iteration.
[0006] Specifically, in RS decoding, syndrome calculation, which is one of the processes of RS decoding, calculates a syndrome having values of 0 and 1, and based on this value, correction success and correction failure are determined. In the iterative decoding method, the decoding result output by RS decoding and the success / failure determination that determines whether the decoding result is correct by using the syndrome are used as decoding auxiliary information for the next iteration.
[0007] In Patent Document 1, error correction performance is improved by reducing paths on the trellis diagram during VA decoding that conflict with the bit values after RS decoding.
Prior Art Documents
Patent Documents
[0008]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0009] However, the conventional iterative decoding method only performs path reduction using only decoding auxiliary information, so it can only reduce paths that conflict with the bit values after RS decoding, that is, paths where the decoding result is 0 or 1, and the maximum number of path reductions on the trellis diagram during VA decoding was half.
[0010] Also, since the opportunity for path reduction and the maximum number of path reductions are small, there is a high possibility that paths cannot be reduced at the next time, so the effect of path reduction at a certain time often remains until the next time, and the temporal length of the effect of path reduction was short.
[0011] The present invention has been made in view of the above circumstances, and an object thereof is to provide an error correction technique having high error correction ability.
Means for Solving the Problems
[0012] An error correction device according to an aspect of the present invention includes a decoding unit that decodes a convolutional code and a block code for a received signal including the convolutional code and the block code, and a decoding result obtained by decoding the block code and decoding auxiliary information including a determination of whether bit error correction is successful, and a feedback unit that feeds back the re-encoded decoding auxiliary information obtained by re-encoding the decoding auxiliary information to the decoding unit. The decoding unit selects a future path based on the current path corresponding to the current decoding auxiliary information and the current re-encoded decoding auxiliary information when selecting a path corresponding to a code sequence in the Viterbi decoding of the convolutional code.
[0013] An error correction method according to an aspect of the present invention is an error correction method performed by an error correction device. A decoding unit decodes a convolutional code and a block code for a received signal including the convolutional code and the block code. A feedback unit feeds back the decoding result obtained by decoding the block code and decoding auxiliary information including a determination of whether bit error correction is successful, and the re-encoded decoding auxiliary information obtained by re-encoding the decoding auxiliary information to the decoding unit. The decoding unit selects a future path based on the current path corresponding to the current decoding auxiliary information and the current re-encoded decoding auxiliary information when selecting a path corresponding to a code sequence in the Viterbi decoding of the convolutional code.
[0014] An error correction program according to an aspect of the present invention causes a computer to function as the error correction device.
Advantages of the Invention
[0015] According to the present invention, an error correction technique with high error correction ability can be provided.
Brief Description of the Drawings
[0016] [Figure 1] It is a diagram showing the configuration of a receiver including an error correction device. [Figure 2] It is a diagram showing an example of the connection configuration of a decoding unit and a feedback unit. [Figure 3] It is a diagram showing an example of the configuration of a decoding unit. [Figure 4] It is a diagram showing an example of the configuration of a feedback unit. [Figure 5] This figure shows an example configuration for a re-encoded / decoded result generator. [Figure 6] This figure shows an example of how the re-encoded / decoded result generator works. [Figure 7] This figure shows an example configuration for a re-encoding success / failure determination generator. [Figure 8] This figure shows an example of a convolutional encoder. [Figure 9] This diagram shows the state transitions of the internal state of a convolutional encoder. [Figure 10] This is a diagram of a trellis diagram for a convolutional encoder. [Figure 11] This figure shows an example of the operation of the decoding unit. [Figure 12] This figure shows an example of a path restriction. [Figure 13A] This figure shows an example of path restriction 1 of rule a. [Figure 13B] This figure shows an example of path restriction 2 of rule a. [Figure 14] This diagram shows an example of path restriction under rule b. [Modes for carrying out the invention]
[0017] [Summary of the Invention] [Summary of Invention 1] The present invention selects a future path based on the current path, which corresponds to the current decoding assistance information (decoding result, success or failure of error correction) and the current re-encoded decoding assistance information (re-encoded decoding result, success or failure of re-encoding), which is either the re-encoded decoding assistance information or pre-decoding assistance information related to demodulation of the received signal (demodulation result of the received signal, success or failure of the demodulation result of the received signal based on an indicator of transmission quality).
[0018] Specifically, path restriction is performed using decryption assistance information and re-encoded decryption assistance information. In this way, since path reduction is performed by combining decryption assistance information with re-encoded decryption assistance information, the opportunities for path reduction increase, and the maximum number of paths that can be reduced increases.
[0019] In addition to the path restriction described above, future path selection information is generated, where only paths connected to the currently selected path are designated as future selected paths. Specifically, at a given time, paths connected to the selected path from the previous time are selected. Then, from among these paths, paths that match the selection path based on the path restriction described above are designated as the current time path, and only paths connected to the current time path are designated as the next time path. This further increases the opportunities for path reduction, further increases the maximum number of paths that can be reduced, and lengthens the duration of the effect of path reduction.
[0020] As a result, path selection can be performed more appropriately than before, and error correction technology with high error correction capabilities can be provided.
[0021] [Summary of Invention 2] If the current path cannot be selected, the present invention selects a path that leads to a previously selected path as the current path, rather than a path selected based on the decryption assistance information and the re-encoded decryption assistance information.
[0022] When decryption assistance information is combined with re-encoded decryption assistance information, there is a possibility that an incorrect path may be selected due to erroneous correction in the re-encoded decryption assistance information. On the other hand, since the selected path by the decryption assistance information and re-encoded decryption assistance information is not used here, this disadvantage can be suppressed. As a result, it becomes possible to provide error correction technology with even higher error correction capabilities.
[0023] [Summary of Invention 3] This invention selects pre-decoding assistance information as re-encoded decoding assistance information only when RS decoding has failed and the demodulation result of the received signal is determined to be correct; otherwise, it selects the re-encoded decoding assistance information as re-encoded decoding assistance information.
[0024] The success or failure (more precisely, correctness or incorrectness; the same applies hereafter) of demodulating a received signal based on transmission quality indicators is not always correct, and using pre-decoding assistance information may lead to the selection of an incorrect path. However, by limiting the use of pre-decoding assistance information to specific cases, this disadvantage can be mitigated. As a result, it becomes possible to provide error correction technology with even higher error correction capabilities.
[0025] [Operation overview] In this embodiment, the bits themselves after RS decoding are assumed to be correct, including the success or failure of error correction, and the re-encoded codes themselves are also assumed to be correct, thereby limiting the paths on the trellis diagram during VA decoding.
[0026] The success or failure of bits considered correct can be obtained as known information from the decoding aid information obtained from RS decoding. The success or failure of codes considered correct can be obtained as known information from the result obtained by applying a convolution operation to the decoding aid information.
[0027] The success or failure of a code considered correct can also be predicted from transmission quality indicators. Examples of transmission quality indicators that can be used include CNR (carrier-to-noise power ratio) and MER (modulation error ratio). By setting a certain threshold for the transmission quality indicator, success or failure can be determined based on whether the result is above or below that threshold. The demodulation result of the received signal and the success or failure determination obtained from the transmission quality indicator (pre-decoding success or failure determination) together are called pre-decoding assistance information.
[0028] However, pre-decoding aid information is less accurate than the re-encoded code that is considered correct, and therefore is not necessarily correct. For this reason, when performing VA decoding using pre-decoding aid information, it is necessary to consider the degradation of decoding performance due to the occurrence of error corrections.
[0029] Based on the above, in this embodiment, decoding assistance information related to the codes is obtained by applying a convolution process to the decoding assistance information related to the bits after RS decoding. In addition, pre-decoding assistance information based on an indicator of transmission quality is obtained. At this time, the total number of codes determined by the decoding assistance information related to the codes is added to the total number of codes determined by the pre-decoding assistance information (calculating a logical OR) to enable more path restriction.
[0030] Then, either the decoding assistance information related to the code or the pre-decoding assistance information is selected and used as the re-encoded decoding assistance information. With each repeated decoding, the path is limited based on the path determined by the bit-related decoding assistance information (indicating successful error correction) and the path determined by the re-encoded decoding assistance information.
[0031] Furthermore, in this embodiment, in addition to path restriction based on decoding assistance information and re-encoding decoding assistance information, path restriction is also performed by selecting only paths that lead to the selected path of the previous time as the selected path for the current time, and further path restriction is performed based on these two path restrictions.
[0032] In this embodiment, if the disadvantages of using re-encoding / decoding assistance information (selection of an incorrect path due to the occurrence of error correction) are to be suppressed, path limitation is performed by limiting only the path that leads to the selected path of the previous time to the selected path of the current time, rather than limiting the path based on the decoding assistance information and the re-encoding / decoding assistance information.
[0033] Furthermore, in this embodiment, in order to suppress the disadvantages of using pre-decryption assistance information (selection of incorrect paths due to the occurrence of error corrections), the re-encoded decoding assistance information and the re-encoded pre-decryption assistance information are selected as the re-encoded decoding assistance information.
[0034] Embodiments of the present invention will be described below with reference to the drawings. In the drawings, identical parts are denoted by the same reference numerals and their descriptions are omitted.
[0035] [Overall configuration and function description of receiver 1] Figure 1 shows the configuration of a receiver 1 including an error correction device according to this embodiment. The receiver 1 comprises a receiving unit 11, a demodulation unit 12, a decoding unit 13, a feedback unit 14, a demodulation result determination unit 15, and a data processing unit 16.
[0036] The receiving unit 11 has the function of receiving signals transmitted from the transmitter. For example, the receiving unit 11 consists of a receiving antenna and a receiving circuit, and receives signals via an airborne wireless transmission path or a wired transmission path such as an optical cable.
[0037] The demodulation unit 12 has the function of demodulating the received signal. The received signal contains digital information to be transmitted, which has been convolutional coded and block coded on the transmitting side. The demodulation unit 12 performs demodulation processing on the received signal and outputs a hard decision value or a soft decision value.
[0038] The decoding unit 13 has the function of decoding the convolutional code and the block code on the demodulated received signal. In this embodiment, the block code used on the transmitting side is the RS code, and the decoding unit 13 performs RS decoding to decode the RS code. The decoding unit 13 is a functional unit that performs a series of decoding processes when decoding convolutional and RS concatenated codes, and performs VA decoding (Vidabi decoding) and RS decoding (Reed-Solomon decoding) on the demodulated received signal in that order.
[0039] The feedback unit 14 is equipped with the function of feeding back decoding assistance information (decoding result, success or failure of bit error correction) that has been decoded and error corrected in the block code decoding process to the decoding unit 13 in order to repeatedly perform a series of decoding processes of the decoding unit 13. For example, the feedback unit 14 inputs the decoding result obtained in the RS decoding of the previous iteration and the success or failure of the error correction, which indicates whether the error correction was successful or unsuccessful, to the decoding unit 13 as decoding assistance information for the VA decoding of the next iteration.
[0040] Furthermore, the feedback unit 14 has the function of inputting decoding assistance information to the decoding unit 13, and generating re-encoded decoding assistance information (re-encoded decoding result, error correction re-encoding success / failure determination) by convolution processing the decoding assistance information, and inputting this re-encoded decoding assistance information to the decoding unit 13 as well.
[0041] Furthermore, the feedback unit 14 inputs decoding assistance information to the decoding unit 13 and also has the function of generating pre-decoding assistance information related to the demodulation of the received signal output from the demodulation result determination unit 15 (demodulation result of the received signal, success or failure determination of the demodulation result of the received signal based on an indicator of transmission quality) as re-encoded decoding assistance information, and inputting this re-encoded decoding assistance information to the decoding unit 13.
[0042] In other words, the feedback unit 14 feeds back decoding assistance information related to the bits after RS decoding and re-encoding decoding assistance information related to the code to the decoding unit 13. At this time, the feedback unit 14, in principle, selects and feeds back either the re-encoded decoding assistance information or the pre-decoding assistance information as the re-encoding decoding assistance information. However, since the probabilistic pre-decoding assistance information based on the transmission quality index is not necessarily correct, the pre-decoding assistance information is selected only in predetermined cases, and in all other cases, the re-encoded decoding assistance information is given priority.
[0043] The demodulation result determination unit 15 has a function to determine the success or failure of the demodulation result of the received signal using an indicator of transmission quality. For example, the demodulation result determination unit 15 sets a certain threshold for an indicator of transmission quality such as CNR or MER, and determines the success or failure of demodulation based on whether the transmission quality value of the received signal is high or low relative to that threshold. The demodulation result determination unit 15 outputs the demodulation result of the received signal and the success or failure of demodulation (preliminary success or failure determination) obtained from the indicator of transmission quality to the feedback unit 14 as pre-decoding assistance information.
[0044] The data processing unit 16 is a functional unit that performs predetermined processing using the decoding results of the received signal, which have been repeatedly decoded by the decoding unit 13. For example, the data processing unit 16 uses the decoded digital signal to reconstruct the video and text information of the terrestrial digital broadcast and output it to the screen.
[0045] [Overall configuration and operation of the decoding unit 13 and the feedback unit 14] Figure 2 shows an example of the connection configuration of the decoding unit 13 and the feedback unit 14. Multiple decoding units 13 and multiple feedback units 14 are connected alternately in series. Here, the overall configuration and operation will be explained below using the LLR (log-likelihood ratio), which is a soft decision value, as an example.
[0046] Multiple decoding units 13 are arranged in parallel with respect to the input LLR, and each decoding unit 13 receives the LLR via an LLR input delay buffer 17 provided between the LLR input terminals of each decoding unit 13. The decoding unit 13 decodes the received signal using the LLR, decoding assistance information, and re-encoded decoding assistance information, and outputs the decoding assistance information to the subsequent feedback unit 14.
[0047] Multiple feedback units 14 are in parallel with each other in relation to the input pre-decoding assistance information, and each feedback unit 14 receives the pre-decoding assistance information via a buffer 18 for pre-decoding assistance information input delay, which is provided between the input terminals of the pre-decoding assistance information of each feedback unit 14. The feedback unit 14 generates re-encoded decoding assistance information using the decoding assistance information and the pre-decoding assistance information, and feeds back the decoding assistance information and the re-encoded decoding assistance information to the subsequent decoding unit 13.
[0048] In Figure 2, the uppermost feedback unit 14a, upon receiving pre-decoding assistance information, inputs decoding assistance information (initial value) and re-encoded decoding assistance information to the next decoding unit 13a.
[0049] When LLR is input, the decoding unit 13a limits the paths on the trellis diagram during VA decoding based on the two pieces of auxiliary information mentioned above, performs VA decoding, then performs RS decoding, and then outputs decoding auxiliary information to the feedback unit 14b of the same stage. The feedback unit 14b inputs the decoding auxiliary information from the decoding unit 13a and the re-encoded decoding auxiliary information (either the re-encoded decoding auxiliary information from the decoding unit 13a or the pre-decoding auxiliary information) to the decoding unit 13b of the next stage.
[0050] The decoding unit 13b selects the current path from one or more candidate paths that lead to the selected path at the previous time, based on the decoding assistance information obtained in the RS decoding of the previous iteration in the decoding unit 13a, and the re-encoded decoding assistance information which is either the re-encoded decoding assistance information or the re-encoded decoding assistance information which is pre-decoding assistance information. After that, the decoding unit 13b performs VA decoding and RS decoding and outputs the decoding assistance information to the feedback unit 14c at the same stage.
[0051] The feedback unit 14c performs the same processing as the feedback unit 14b. Further down the sequence, multiple decoding units 13 and multiple feedback units 14 perform the same processing as the decoding unit 13b and feedback unit 14b, respectively. Finally, the lowest-stage decoding unit 13n, connected in series, outputs the decoding results, which have been repeatedly performed by the previous multiple decoding units 13, to the data processing unit.
[0052] [Example configuration of decoding unit 13] Figure 3 shows an example of the configuration of the decoding unit 13. The decoding unit 13 comprises a VA decoder 131, a deinterleaver 132, an RS decoder 133, a current path selection information generator 134, and a future path selection information generator 135.
[0053] The current path selection information generator 134 selects the future path included in the future path selection information generated at the previous time as candidate path A for the current time. Then, based on the decoding assistance information and the re-encoding decoding assistance information, the current path selection information generator 134 performs path restriction to select candidate path B for the current time, and further restricts the selected path included in candidate path A with the selected path of candidate path B, and generates current path selection information including the selected path after that restriction.
[0054] The future path selection information generator 135 performs path restriction, selecting only paths that connect to the selected paths included in the current path selection information as future paths for the next time step, and generates future path selection information that includes future paths.
[0055] The VA decoder 131 modifies the branch metric (BM) of each path, which was calculated based on LLR using the current path selection information. The VA decoder 131 then adds the modified BM to the path metrics (PM) of each path calculated so far, and performs path selection based on the comparison of the magnitudes of the PMs of each path. After that, the VA decoder 131 finds the maximum likelihood path based on the path selection information and outputs the bits associated with the maximum likelihood path.
[0056] The deinterleaver 132 performs the reverse operation on the output of the VA decoder 131, which is the reverse of the code order rearrangement performed by the transmitting interleaver. In the transmitting interleaver, meaningful digital information bit sequences are deliberately arranged discontinuously to improve transmission performance. The deinterleaver 132 restores the arrangement of the digital information bit sequences, which was done on the transmitting side, back to its original, intended arrangement.
[0057] The RS decoder 133 performs RS decoding based on a hard decision value bit of 0 or 1, and generates the decoding result and a success / failure determination for error correction. Note that RS decoding is an example of a block code decoding method, and decoders other than RS decoders may also be used.
[0058] [Example configuration of the return unit 14] Figure 4 shows an example of the configuration of the feedback unit 14. The feedback unit 14 comprises two interleavers 141a and 141b, two selectors 142a and 142b, a re-encoding / decoding result generator 143, and a re-encoding success / failure determination generator 144.
[0059] Interleaver 141a rearranges the decryption results of the decryption aid information.
[0060] Interleaver 141b rearranges the decryption aid information to determine whether it is successful or not.
[0061] If the number of VA decoding iterations is 0, selector 142a selects 0 (initial value). If the number of VA decoding iterations is 1 or more, selects the decoded result after sorting by interleaver 141a. The selected result is input to the decoder 13 as the decoded result, and the decoded result is also input to the re-encoded decoded result generator 143.
[0062] If the number of VA decoding repetitions is 0, selector 142b selects 0 (initial value). If the number of VA decoding repetitions is 1 or more, selects the success or failure determination for error correction after sorting by interleaver 141b. The selected value is input to the decoding unit 13 as the success or failure determination, and the same success or failure determination is also input to the re-encoding success or failure determination generator 144.
[0063] The re-encoding / decoding result generator 143 receives the decoding result and success / failure determination from two selectors 142a and 142b, respectively, and also receives the demodulation result and pre-success / failure determination of the pre-decoding assistance information from the demodulation result determination unit 15. Based on these four pieces of information, it generates the re-encoded re-encoding / decoding result after re-encoding and inputs it to the decoding unit 13.
[0064] The re-encoding success / failure determination generator 144 receives a success / failure determination from the selector 142b and a pre-decoding success / failure determination of pre-decoding assistance information from the demodulation result determination unit 15. Based on these two pieces of information, it generates a success / failure determination after re-encoding and inputs it to the decoding unit 13.
[0065] [Example configuration and operation of the re-encoding / decoding result generator 143] Figure 5 shows an example configuration of the re-encoding / decoding result generator 143. The re-encoding / decoding result generator 143 comprises a convolutional encoder 1431 and two selectors 1432a and 1432b.
[0066] The convolutional encoder 1431 performs convolution (re-encodes) on the decoded result from selector 142a and inputs the re-encoded decoded result to two selectors 1432a and 1432b. Figure 5 shows an example of a convolutional encoder with a code length of 255 symbols and a data length of 239 symbols, but other convolutional encoders may also be used.
[0067] The two selectors 1432a and 1432b each generate a re-encoded and decoded result based on the decoded result after re-encoding, the success / failure determination, the demodulation result, and the pre-success / failure determination, respectively.
[0068] Figure 6 shows an example of the operation of the re-encoded / decoded result generator 143.
[0069] Step S101; First, selector 1432 determines whether the pre-test success or failure result is 1 (success) or 0 (failure).
[0070] Step S102; Next, selector 1432 determines whether the success / failure result is 1 (success) or 0 (failure) if the prior success / failure determination is 1.
[0071] Step S103; Next, if the pre-success / failure determination in step S101 is 0, or if the success / failure determination in step S102 is 1, the selector 1432 outputs the decoded result after re-encoding as the re-encoded / decoded result, out of the decoded result and demodulated result after re-encoding.
[0072] Step S104; On the other hand, if the success / failure determination in step S102 is 0, the selector 1432 outputs the demodulated result as the re-encoded-decoded result out of the decoded result and demodulated result after re-encoding.
[0073] In other words, selector 1432 selects the decoded result after recoding if the success / failure determination is 1, regardless of whether the pre-success / failure determination was successful or not; selects the demodulated result if both the pre-success / failure determination and the pre-success / failure determination are 0; and selects the decoded result after recoding if both the pre-success / failure determination and the pre-success / failure determination are 0.
[0074] In other words, the re-encoded-decoded result generator 143 recognizes that the pre-transmission success / failure determination based on the transmission quality index is not always correct. Therefore, if the success / failure determination is 1, it selects the decoded result after re-encoding, and only if the pre-transmission success / failure determination is 1 and the success / failure determination is 0 does it select the demodulated result. This makes it possible to suppress the degradation of decoding performance during VA decoding.
[0075] [Example configuration of the re-encoding success / failure determination generator 144] Figure 7 shows an example of the configuration of the re-encoding success / failure determination generator 144. The re-encoding success / failure determination generator 144 comprises a convolutional encoder 1441 and two logic circuits 1442a and 1442b.
[0076] The convolutional encoder 1441 performs a convolutional process (re-encodes) on the success / failure determination from the selector 142b, and inputs the re-encoded success / failure determination to two logic circuits 1442a and 1442b. Figure 7 shows an example of a convolutional encoder with a code length of 255 symbols and a data length of 239 symbols, but other types of convolutional encoders may also be used.
[0077] The two logic circuits 1442a and 1442b each calculate the logical OR of the success / failure determination after recoding and the success / failure determination before recoding, and output the logical OR as the recoding success / failure determination. The reason for calculating the logical OR is explained below.
[0078] Since it is difficult to determine whether the success / failure judgment or the pre-success / failure judgment results are incorrect in the first place, as mentioned above, this embodiment assumes that both the success / failure judgment and the pre-success / failure judgment yield correct results.
[0079] In this case, since the total number of codes judged as successful should simply be increased during path selection, a logical OR is calculated to ensure that all cases where at least one of the success / failure judgments or the pre-success / failure judgment is deemed successful are detected without exception.
[0080] However, although it is not known where the incorrect correction is, the probability of incorrect correction occurring somewhere is higher in the pre-success / failure determination than in the success / failure determination. Therefore, regarding the selection of the re-encoding and decoding result by the re-encoding and decoding result generator 143, the decoding result after re-encoding is preferentially selected rather than the demodulation result.
[0081] [Operation of Decoder 13] First, the trellis diagram of VA decoding will be described.
[0082] FIG. 8 is a diagram showing an example of a convolutional encoder. The convolutional encoder includes a shift register (D, D) and an exclusive OR (XOR). At time i, the convolutional code (c (1) , (0) , (1) , t , t+1 , t , t corresponding to the input of the bit b i (1) , c i (0) ) is output.
[0083] That is, in this convolutional encoder, a code composed of 2 bits is output for 1-bit input. The values of the shift registers s (1) : , s (0) at time i are represented as s i (1) , s i (0) . s i (1) , s i (0) is called the internal state of the convolutional encoder.
[0084] The transition of the internal state of the convolutional encoder in FIG. 8 can be represented by the state transition diagram in FIG. 9. For example, if the internal state at time t is s t (1) = 0, s t (0) = 0, then for the input of the dashed bit b : t = 1, the code (c t (1) ; , c t (0) ) = (1, 1) shown on the dashed line will be output, and at time t + 1, the internal state will be s t+1 (1)=1,s t+1 (0) This will transition to =0.
[0085] When the state transition diagram in Figure 9 is expanded in the time direction, the trellis diagram in Figure 10 is obtained. The nodes of the trellis, represented by circles, represent the internal states of the convolutional encoder, the solid and dashed paths between nodes represent that the corresponding bits are 0 and 1, respectively, and the labels on the paths represent the assigned codes.
[0086] Applying VA to a trellis diagram to perform decoding is called VA decoding. Figures 9 and 10 are the state transition diagram and trellis diagram corresponding to the convolutional encoder exemplified in Figure 8. The state transition diagram and trellis diagram differ depending on the configuration of the convolutional encoder.
[0087] Next, the operation of the decoding unit 13 will be explained. Figure 11 shows an example of the operation of the decoding unit 13. The decoding unit 13 primarily selects a future path based on the current path corresponding to the current decoding assistance information and the current re-encoding decoding assistance information when selecting a path corresponding to the code sequence in VA decoding of a convolutional code. Its operation will be described in detail below.
[0088] Step S201; First, the future path selection information generator 135 initializes the path that connects to the active node N1. The active node N1 is the node to which the selected path from the previous time is connected.
[0089] Step S202; Next, the current path selection information generator 134 determines whether or not decryption assistance information and re-encoding decryption assistance information exist at the current time. If the two pieces of assistance information exist, the current path selection information generator 134 proceeds to step S203; if the two pieces of assistance information do not exist, it terminates the process.
[0090] Step S203; Next, the current path selection information generator 134 limits the paths based on the decoding assistance information and the re-encoding decoding assistance information. Specifically, the current path selection information generator 134 selects (limits) the paths corresponding to the combination patterns of the decoding assistance information and the re-encoding decoding assistance information as candidate path B for the current time. The method of limiting the paths is explained below.
[0091] In the case of the trellis diagram in Figure 10, the current path selection information generator 134 can perform path limitation on the trellis diagram of VA decoding based on the decoding assistance information and the re-encoding decoding assistance information, as shown in Figure 12. Figure 12 is a diagram showing an example of path limitation, where the paths that can be reduced are shown in gray for each combination pattern of decoding assistance information and re-encoding decoding assistance information, and the selected paths after limitation are shown in black.
[0092] Patterns 1 to 3 represent cases where the decryption result is confirmed (success / failure determination is 1), while patterns 4 to 6 represent cases where the decryption result is not confirmed (success / failure determination is 0). Patterns 1 and 4 represent cases where the re-encoding / decryption result is confirmed (re-encoding success / failure determination is 11), patterns 2 and 5 represent cases where some of the re-encoding / decryption results are confirmed (re-encoding success / failure determination is 01 or 10), and patterns 3 and 6 represent cases where the re-encoding / decryption result is not confirmed (re-encoding success / failure determination is 00).
[0093] In Figure 12, if there is a value of 1 in both the success / failure judgment and the re-encoding success / failure judgment, it means that the corresponding bit is determined to be either 1 or 0. For example, if the success / failure judgment is 1 and the decoding result is 0, the bit is determined to be 0. If the re-encoding success / failure judgment is 01 and the re-encoding / decoding result is 01, the first bit from the right of the code is determined to be 1. Therefore, by determining the bits based on the success / failure judgment and the re-encoding success / failure judgment, it becomes possible to select only the paths related to the determined bits and reduce the other paths.
[0094] Specifically, if the success / failure determination is 1, and the decoding result is 0, then the decoding result of 0 is confirmed, so all solid lines representing a bit value of 0 (b=0) in the digital signal can be selected, and all dashed lines representing a bit value of 1 (b=1) in the digital signal can be excluded. On the other hand, if the decoding result is 1, then the decoding result of 1 is successful, so all dashed lines can be selected, and all solid lines can be excluded. This allows the maximum number of paths to be reduced on the trellis diagram at a given time to be increased by half. This point is the same as in the conventional technique.
[0095] On the other hand, in this embodiment, path reduction is performed by combining decoding assistance information with re-encoding / decoding assistance information. If the re-encoding success / failure determination is 01, and the re-encoding / decoding result is 01, then the path corresponding to the code where the first bit from the right is 1 can be selected, and the path corresponding to the code where the first bit from the right is 0 can be excluded. The reason for this is explained below.
[0096] In the convolutional encoder shown in Figure 8, at a certain time t, 1 bit b t For input, a 2-bit code (c t (1) ,c t (0) The output is ). This code is correct if it is one of 00, 01, 10, or 11, but if the re-encoded / decoded result is 01, the first bit from the right is c t (0) Since is 1, the correct answer is 01 or 11. Therefore, c t (0) Paths with a value of 0 can be excluded. As a result, paths 00 and 10 can be excluded, and it is sufficient to select paths 01 and 11.
[0097] On the other hand, if the re-encoded / decoded result is 11, then it is known that both of those two bits are correct, and all the bits included in the re-encoded / decoded result are determined, so c t (1) ga 1 c t (0)If we know that it is 1, we can exclude paths on the trellis diagram whose label is anything other than 11. If we don't know this beforehand, we can simply avoid excluding paths.
[0098] Currently, the path selection information generator 134 excludes paths that can be excluded based on the success / failure determination and the re-encoding success / failure determination, and selects only the remaining paths as the current selected path candidate B. In this way, path reduction is performed by combining the decoding assistance information with the re-encoding / decoding assistance information, making it possible to increase the maximum number of paths to be reduced by more than half. Hereafter, the node from which the path selected by these two pieces of assistance information is connected will be called the selection node N2.
[0099] Step S204; Subsequently, the current path selection information generator 134 performs a new path selection using candidate A for the current time, which can be inferred from the selected path of the previous time, and candidate B for the current time, which is based on the decoding assistance information and the re-encoded decoding assistance information. Candidate A for the current time is a selected path included in the future path selection information generated in the previous time, and was generated by the future path selection information generator 135 in step S207 of the previous time, which will be described later.
[0100] To reiterate, the node to which the selected path from the previous time is connected is called the active node N1, and the path connected to this active node N1 is called the current selected path candidate A. In addition, the path selected based on the decoding assistance information and the re-encoding decoding assistance information is called the current selected path candidate B, and the node from which this selected path candidate B is connected is called the selected node N2.
[0101] In this embodiment, paths are limited according to rule a, which selects a path that connects to the active node N1 and also connects to the selected node N2, and rule b, which selects a path that connects to the active node N1 if no path matching rule a exists.
[0102] First, the current path selection information generator 134 determines whether or not a path matching rule a exists. If a path matching rule a exists, the current path selection information generator 134 proceeds to step S205; if no path matching rule a exists, it proceeds to step S206.
[0103] Step S205; The current path selection information generator 134 selects a path that connects to both the active node N1 and the selected node N2 as the current selected path, in accordance with rule a, and generates (updates) current path selection information that includes the current selected path.
[0104] Figures 13A and 13B are examples that fall under rule a. The difference between the two examples lies in how restrictive the paths that fall under rule a are. Figure 13A shows the case where path restriction falls under pattern 6, and Figure 13B shows the case where path restriction falls under pattern 5.
[0105] For example, if a path restriction corresponding to pattern 5 is performed, the current path selection information generator 134 selects the solid line path with code 11 from among the two paths that connect to the valid node N1 in the current selection path candidate A, and which also connects to the selected node N2 in the current selection path candidate B.
[0106] Thus, when path selection is performed based on decryption assistance information and re-encoded decryption assistance information that falls under patterns 1 to 5, it may be possible to further narrow down the candidate path A that corresponds to rule a, as shown in Figure 13B. Also, when path selection is performed that falls under patterns 3 and 4 in Figure 12, even if the current decryption result is not yet determined (success / failure judgment is 0), it may be possible to determine the current decryption result by selecting a new path, as shown in Figure 13B.
[0107] As can be seen from Figure 12, if the decoding result for the current time can be determined (success / failure determination is 1), even if the decoding result and re-encoding / decoding result for the next time are not determined (success / failure determination is 0, re-encoding success / failure determination is 00), the number of passes for the next time can be reduced by more than half. Also, if the decoding result for the current time cannot be determined (success / failure determination is 0), even if the decoding result and re-encoding / decoding result for the next time are not determined (success / failure determination is 0, re-encoding success / failure determination is 00), the number of passes for the next time can be reduced to some extent.
[0108] If path restriction as shown in Figure 13 continues from the current time onward, path reduction will continue from the next time onward. However, if path restriction corresponding to patterns 1, 2, 4, and 5 in Figure 12 is performed, an incorrect path may be selected due to error correction included in the re-encoding / decoding assistance information.
[0109] Step S206; If path selection is performed based on the decryption assistance information and re-encoding / decryption assistance information, corresponding to patterns 1, 2, 4, and 5 in Figure 12, then rule b may apply. In this case, as described above, an incorrect path may be selected due to error corrections included in the re-encoding / decryption assistance information, so the path is selected without relying on the re-encoding / decryption assistance information.
[0110] Specifically, the current path selection information generator 134 selects a path leading to the active node N1 as the current selected path according to rule b, and generates (updates) current path selection information that includes that current selected path.
[0111] Figure 14 shows an example that falls under rule b. Currently, the path selection information generator 134 has limited the paths to those that match pattern 4 in Figure 12 based on the decoding assistance information and the re-encoding decoding assistance information. However, neither of the two paths leading to valid node N1 matches pattern 4, so the generator selects the two paths leading to valid node N1.
[0112] Step S207; Subsequently, the future path selection information generator 135 generates (updates) future path selection information, including the selected path for the next time, from the current path selection information, including the selected path for the current time, generated by the current path selection information generator 134.
[0113] Specifically, the future path selection information generator 135 limits the future path candidates to only those paths that connect to the node (=active node N1) that will be the destination of the currently selected path, and generates future path selection information that includes these paths. These future path candidates will be used as the next time step candidate A in steps S204 to S206.
[0114] Subsequently, the decoding unit 13 returns to step S202, and as long as decoding assistance information and re-encoded decoding assistance information exist, it repeatedly performs path limitation (step S207) which limits the path leading to the selected path of the previous time to candidate selected path A for the current time, path limitation (step S203) which limits the path based on those two pieces of assistance information to candidate selected path B for the current time, and further path limitation (step S205) which uses those two path limitations.
[0115] Subsequently, in the decoding unit 13, the VA decoder 131 performs VA decoding based on the current path selection information. In VA decoding, decoding is performed by selecting the most likely path using the BM of each path calculated based on the input hard decision value or soft decision value. Path selection is performed by appropriately changing the BM of each path depending on the path selection status.
[0116] For example, when the VA decoder 131 uses the demodulated result of a hard decision value as input, it replaces the BM of the selected path with the smallest possible value, or the BM of the excluded path with the largeest possible value. When the VA decoder 131 uses the LLR, which is a soft decision value, as input, it replaces the BM of the selected path with the largeest possible value, or the BM of the excluded path with the smallest possible value. The VA decoder 131 then adds the modified BM to the PM of each path, finds the maximum likelihood path based on the comparison of the magnitudes of the PMs of each path, and outputs the bits associated with the maximum likelihood path.
[0117] This concludes the explanation of the operation of the decoding unit 13.
[0118] To summarize the operation of the decoding unit 13, if rule a is met, the decoding unit 13 repeatedly generates current path selection information that has been narrowed down by path limitation using future path selection information generated in the previous time and path limitation using two pieces of auxiliary information for the current time, and generates future path selection information that is limited to paths connected to the current time path included in the current path selection information as the path for the next time.
[0119] On the other hand, if rule b is met, the decoding unit 13 repeatedly generates current path selection information narrowed down by future path selection information generated in the previous time, and generates future path selection information that limits the paths connected to the current time path included in the current path selection information to the next time path.
[0120] As a result, the path selection results for the previous and current time will influence the path selection for the next time. By repeating this VA decoding process, it becomes easier to select the correct path by reducing the number of inappropriate paths, such as paths selected because the decoding result is not yet determined or paths selected due to potential erroneous corrections included in the pre-decoding assistance information.
[0121] [effect] According to this embodiment, when the decoding unit 13 selects a path corresponding to the code sequence in VA decoding of a convolutional code, it selects a future path based on the current path corresponding to the current decoding assistance information and the current re-encoding decoding assistance information. This increases the opportunities for path reduction, increases the maximum number of paths that can be reduced, and lengthens the duration of the effect of path reduction. As a result, path selection can be performed more appropriately than before, and error correction technology with high error correction capability can be provided.
[0122] Furthermore, according to this embodiment, the decoding unit 13 selects a path that corresponds to the current decoding assistance information and the current re-encoded decoding assistance information and is connected to a previously selected path as the current path, and selects a path connected to the current path as the future path. As a result, the opportunities for path reduction increase, the maximum number of paths to be reduced increases, and the duration of the effect of path reduction becomes longer. Consequently, path selection can be performed more appropriately, and error correction technology with higher error correction capabilities can be provided.
[0123] Furthermore, according to this embodiment, if the decoding unit 13 cannot select a current path, it selects a path connected to a previously selected path as the current path. This suppresses the disadvantage of selecting an incorrect path due to erroneous correction in the re-encoded decoding assistance information. As a result, it becomes possible to provide error correction technology with even higher error correction capabilities.
[0124] Furthermore, according to this embodiment, the feedback unit 14 returns the decryption assistance information to the decoding unit 13 as re-encoded decryption assistance information or re-encoded pre-decryption assistance information. Pre-decryption assistance information is only returned if bit error correction fails and the demodulation result of the received signal is determined to be correct. This suppresses the disadvantage of selecting an incorrect path due to the use of pre-decryption assistance information. As a result, it becomes possible to provide error correction technology with even higher error correction capabilities.
[0125] [others] The present invention is not limited to the embodiments described above. Numerous modifications are possible within the scope of the gist of the present invention. The error correction device according to this embodiment may be implemented by a hardware circuit that performs the functions described in this embodiment, or by a functional unit of a software program that performs those functions. [Explanation of symbols]
[0126] 1: Receiver (error correction device), 11: Receiving unit, 12: Demodulation unit, 13: Decoding unit, 14: Feedback unit, 15: Demodulation result determination unit, 16: Data processing unit, 17: Buffer for LLR input delay, 18: Buffer for pre-decoding auxiliary information input delay, 131: VA decoder, 132: Deinterleaver, 133: RS decoder, 134: Current path selection information generator, 135: Future path selection information generator, 141a,141b: Interleaver, 142a,142b: Selector, 143: Re-encoding decoding result generator, 144: Re-encoding success / failure determination generator, 1431: Convolutional encoder, 1432a,1432b: Selector, 1441: Convolutional encoder, 1442a,1442b: Logic circuit,
Claims
1. A decoding unit that performs decoding of convolutional codes and block codes for a received signal that includes convolutional codes and block codes, The system includes a feedback unit that returns to the decoding unit the decoding result obtained by decoding the block code and decoding assistance information including a determination of the success or failure of bit error correction, and re-encoded decoding assistance information obtained by re-encoding the decoding assistance information. The aforementioned return unit is If bit error correction fails and the demodulation result of the received signal is determined to be correct, instead of returning the re-encoding / decoding assistance information to the decoding unit, the demodulation result of the received signal and the success / failure determination result of the demodulation result of the received signal based on the transmission quality index are returned to the decoding unit as re-encoding / decoding assistance information. The decoding unit, An error correction device that selects a future path based on the current path corresponding to the current decoding aid information and the current re-encoding decoding aid information when selecting a path corresponding to a code sequence in Viterbi decoding of a convolutional code.
2. The decoding unit, The error correction device according to claim 1, which selects a path corresponding to the current decoding assistance information and the current re-encoding decoding assistance information and that is connected to a previously selected path as the current path, and selects a path connected to the current path as the future path.
3. The decoding unit, The error correction device according to claim 2, wherein if the current path cannot be selected, a path connected to a previously selected path is selected as the current path.
4. In an error correction method performed by an error correction device, The decoding unit performs decoding of the convolutional code and the block code for the received signal which includes the convolutional code and the block code. The feedback unit returns to the decoding unit the decoding result obtained from decoding the block code and decoding assistance information including the success or failure of bit error correction, and re-encoded decoding assistance information obtained by re-encoding the decoding assistance information. If bit error correction fails and the demodulation result of the received signal is determined to be correct, instead of returning the re-encoded decoding assistance information to the decoding unit, the feedback unit returns to the decoding unit the demodulation result of the received signal and the success or failure determination result of the demodulation result of the received signal based on an index of transmission quality as re-encoded decoding assistance information. The decoding unit, in selecting a path corresponding to the code sequence in Viterbi decoding of a convolutional code, selects a future path based on the current path corresponding to the current decoding aid information and the current re-encoding decoding aid information. Error correction methods.
5. An error correction program that causes a computer to function as an error correction device according to any one of claims 1 to 3.
Citation Information
Patent Citations
Receiver and receiving method for performing iterative decoding of concatenated code data
JP2011097355A
Electronic device, reception device, and error correction method
JP2013168891A
Error correction device, receiving device, error correction method, and error correction program
JP4729726B2