DECODING APPARATUS AND DECODING METHOD INCLUDING ERROR CORRECTION PROCESS
20170373798 · 2017-12-28
Inventors
Cpc classification
H03M13/154
ELECTRICITY
H03M13/6325
ELECTRICITY
H03M13/373
ELECTRICITY
H03M13/2732
ELECTRICITY
International classification
H04L1/00
ELECTRICITY
Abstract
A decoding apparatus includes an input power estimating circuit, an error correction decoder and a controller. The input power estimating circuit generates multiple estimated input powers for multiple sets of data included in a packet that needs to be corrected, and calculates respective power differences between the multiple estimated input powers and a reference power. The controller determines one or multiple candidate error positions according to one of the multiple power differences that is higher than a predetermined threshold. The error correction decoder performs a decoding process on the packet according to the one or multiple candidate error positions.
Claims
1. A decoding apparatus, comprising: an input power estimating circuit, generating a plurality of estimated input power values for a packet that needs to be corrected, and calculating respective power differences between the plurality of estimated input power values and a reference power; a controller, determining one or a plurality of candidate error positions according to one of the plurality of power differences that is higher than a predetermined threshold; and an error correction decoder, performing a decoding process on the packet according to the one or plurality of candidate error positions.
2. The decoding apparatus according to claim 1, wherein the error correction decoder first performs the decoding process on the packet without considering the one or plurality of candidate error positions; when the decoding process is unsuccessful, the controller requests the error correction decoder to again perform the decoding process according to the one or multiple candidate error positions.
3. The decoding apparatus according to claim 1, wherein when the controller determines the one or plurality of candidate error positions, the number of the one plurality of candidate error positions is caused not to exceed a predetermined error limit.
4. The decoding apparatus according to claim 1, wherein after the controller selects the one or plurality of candidate error positions according to the plurality of power differences, the controller further selects a first error combination from the plurality of candidate error positions and requests the error correction decoder to again perform the decoding process on the packet according to the first error combination; the decoding apparatus further comprising: a checking circuit, determining whether the corrected packet satisfies an error distribution condition when the decoding process performed on the packet according to the first error combination is successful; wherein, when a determination result of the checking circuit is affirmative, the controller selects a second error combination from the plurality of candidate error positions, and requests the error correction decoder to again perform the decoding process on the packet.
5. A decoding method, comprising: a) generating a plurality of estimated input power values for a packet that needs to be corrected; b) calculating respective power differences between the plurality of estimated input power values and a reference power c) determining one or a plurality of candidate error positions according to one of the plurality of power differences that is higher than a predetermined threshold; and d) performing a decoding process on the packet according to the one or plurality of candidate error positions
6. The decoding method according to claim 5, before step (d), further comprising: e) performing the decoding process on the packet without considering the one or plurality of candidate error positions; wherein, step (d) is performed when the decoding process in step (e) is unsuccessful.
7. The decoding method according to claim 5, wherein step (c) comprises: determining the one or the plurality of candidate error positions in a way that the number of the one plurality of candidate error positions does not exceed a predetermined error limit.
8. The decoding method according to claim 5, wherein step (d) comprises: selecting a plurality of candidate error positions according to the plurality of power differences; further selecting a first error combination from the plurality of candidate error positions; performing the decoding process on the packet according to the first error combination; determining whether the corrected packet satisfies an error distribution condition when the decoding process performed on the packet according to the first error combination is successful; selecting a second error combination from the plurality of candidate error positions when the corrected packet satisfies the error distribution condition; and again performing the decoding process on the packet according to the second error combination.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0013]
[0014]
[0015]
[0016]
[0017] It should be noted that, the drawings of the present invention include functional block diagrams of multiple functional modules related to one another. These drawings are not detailed circuit diagrams, and connection lines therein are for indicating signal flows only. The interactions between the functional elements/or processes are not necessarily achieved through direct electrical connections. Further, functions of the individual elements are not necessarily distributed as depicted in the drawings, and separate blocks are not necessarily implemented by separate electronic elements.
DETAILED DESCRIPTION OF THE INVENTION
[0018] A decoding apparatus is provided according to an embodiment of the present invention. The decoding apparatus includes an input power estimating circuit, a controller and an error correction decoder. In practice, the decoding apparatus may be an independent unit, or may be integrated in various types of decoding systems supporting both a decoding function and an error correction function.
[0019] As shown in
[0020] The error correction decoder 225 performs a Reed-Solomon decoding process on a packet that needs to be corrected and outputted from the outer deinterleaver 224, and performs error correction while the decoding process is performed. Corresponding to the outer encoded packets that the outer encoder 112 provides to the outer interleaver 113 in
[0021] The input power estimating circuit 228 generates an estimated input power value of each of a plurality of sets of data included in a packet that needs to be corrected. For example, the input power estimating circuit 228 may generate an estimated input power value for each symbol, i.e., generating 204 estimated input power values for each packet that needs to be corrected. Using a comparator or a subtractor, the input power estimating circuit 228 may calculate respective differences (to be referred to as power differences) between the estimated input power values and a reference power and provide these power differences to the controller 227. In general, the power of a symbol without error falls in an approximate known range (which may be generated through experiments or statistics), of which the median value may serve as the reference power. In contrast, the power of a symbol with error is frequently larger than this reference power. It is deduced that, a symbol having a power value that differs greatly from the reference power is much likely an erroneous symbol. Thus, a predetermined threshold may be set, and the controller 227 then identifies a symbol having a power value that is greater the predetermined threshold—such symbol may be regarded as a candidate erroneous symbol. The position/positions of the one or multiple candidate erroneous symbols is/are a candidate error position/candidate error positions. One purpose of setting the threshold is preventing selecting data having rather small input power differences as candidate erroneous symbols.
[0022] In one embodiment, before the error correction decoder 225 decodes a packet that needs to be corrected, the input power estimating circuit 228 and the controller 227 first attempt to identify one or multiple candidate error positions for the error correction decoder 225 to refer to. As previously described, if the position information of a part or all of the errors is learned in advance before decoding, the total number of errors that can be corrected by the error correction decoder 225 is increased. That is to say, according to the error position information the controller 227 provides, it is more likely the error correction decoder 225 can successfully decode the packet that needs to be corrected.
[0023] In another embodiment, the error correction decoder 225 first attempts to decode a packet that needs to be corrected without knowing any error position information. If the initial decoding process is unsuccessful, the controller 227 then selects one or multiple candidate error positions according to the power differences the input power estimating circuit 228 generates. Next, the controller 227 requests the error correction decoder 225 to again perform the decoding process on the packet further according to the one or multiple candidate error positions. According to the error position information the controller 227 provides, it is possible the error correction decoder 225 successfully decodes the packet in the second decoding process.
[0024] In one embodiment, a limit is set in advance for the candidate error positions that the controller 227 provides to the error correction decoder 225. For example, assuming that the limit is 10, the controller 227 at most selects 10 candidate error positions according to the input powers (e.g., selecting 10 symbols having input powers that differ most significantly from the reference power).
[0025] Proven by simulated experiments, the candidate error positions that the controller 227 selects according to the input powers do not necessarily correspond to the exact positions of existing erroneous data. Further, selecting candidate error positions that are in fact not erroneous for the error correction decoder 225 to perform the decoding process, may cause the error correction decoder 225 to misjudge that a certain packet has been corrected while in fact that certain packet has not been corrected; that is, the error correction decoder 225 has mistaken the certain packet for another packet. Thus, in another embodiment, the decoding apparatus of the present invention further includes a checking circuit. The checking circuit checks the candidate error positions selected according to the input powers to prevent the above misjudgment, with associated details given below.
[0026] As shown in
[0027] In practice, the controller 227 may be implemented as a fixed and/or programmable logic circuit, e.g., a programmable logic gate array, an application-specific integrated circuit, a microcontroller, a microprocessor or a digital signal processor. Alternatively, the controller 27 may be designed to complete a designated task through executing a processor command stored in a memory (not shown) Further, the scope of the present invention is not limited to a predetermined storage mechanism. The memory may include one or multiple volatile or non-volatile memory devices, e.g., DRAM, ROM, magnetic and/or optical memories, and flash memories.
[0028] A decoding method is further provided according to another embodiment of the present invention.
[0029] One person skilled in the art can apply variations and operations in the description associated with the DVB-C receivers 200 and 300 are applicable to the decoding method in
[0030] While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited thereto. On the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures.