RECEIVER WITH IMPROVED DECODER |
|||||||
申请号 | EP00989952.7 | 申请日 | 2000-12-05 | 公开(公告)号 | EP1157473B1 | 公开(公告)日 | 2010-02-24 |
申请人 | Koninklijke Philips Electronics N.V.; | 发明人 | KOPPELAAR, Arie, G., C.; | ||||
摘要 | A receiver for receiving digital signals comprises a front end (18) for receiving RF signals and converting them into an input signal for a de-interleaver 22 for obtaining a de-interleaved signal. The output of the de-interleaver is connected to a decoder (24) which can be a Reed-Solomon decoder. The decoder (24) is able to use erasure information which indicates possible positions of errors in the de-interleaved signal for increasing the number of errors the decoder (24) can correct. In order to improve the error correcting capabilities of the receiver, this receiver comprises error prediction means (26) which predict the position of errors in the next codewords due to error bursts from the errors found in the present codeword. Such a predicted error is handled as an erasure by the decoder (24). To prevent that more erasures are presented to the decoder (24) than it can handle, it is proposed to determine a probability measure for all predicted errors and to present only those errors to the decoder (24) having the largest probability. | ||||||
权利要求 | |||||||
说明书全文 | The present invention relates to a receiver for receiving encoded digital signals, said receiver comprises a front end for deriving words of digital symbols from an input signal, a de-interleaver for deriving de-interleaved words of digital symbols from said words of digital symbols, a decoder for deriving decoded words of digital symbols from said de-interleaved words of digital symbols and a burst error predictor for predicting possible symbol error positions in a de-interleaved word to be decoded from symbol error positions in at least one previously decoded de-interleaved word of digital symbols. The present invention also relates to a decoder, a decoding method and a storage medium carrying a computer program for carrying out a decoding method. A decoder according to the preamble is known from The interleaving is used to decrease the vulnerability for burst errors, interleaving is used between outer coding and inner coding. The effect of interleaving is that burst errors are transformed into single error in multiple codewords. Because single errors are more easily to correct than burst errors, the use of interleaving will result in an increased performance on channels having bursty error characteristics. The receiver for such a signal comprises a cascade connection of an inner decoder, a deinterleaver and an outer decoder. In the above-mentioned US patent the knowledge about the position of the single errors due to spread of burst errors is used to improve the quality of the decoder. Therefor this decoder comprises a burst error predictor that predicts the positions of possible errors from already occurred errors. This is possible by assuming that a burst error is present and using the known properties of :he used interleaving scheme. The positions of all possible errors are passed to the outer decoder. This outer decoder will regard the symbols at the indicated position as unreliable. E.g. in a Reed-Solomon decoder the indicated positions are treated as so-called erasures, errors of which the position is known. A Reed-Solomon decoder is able to correct n-1 random errors of which the position is not known, and 2n-1 errors (eraures) of which the position is known. This increase of error correcting capability results in an improved performance of the decoder. A problem of the receiver according to the above-mentioned US patent is that the numbers of unreliable symbols passed to the decoder can exceed its error correcting capabilities. To overcome this problem, the above US patent teaches to perform decoding a number of times, namely for each subset of the set of errors forecasted by the burst error predictor. The plurality of decoding steps is followed by a step of determining the eventually decoded symbols by majority logic. The object of the present invention is to provide a receiver according to the preamble in which no constraints are imposed on the type of interleaver to be used. To achieve said objective, the receiver according to the invention is characterized in that the receiver comprises a symbol error position selector for selecting from said possible symbol error positions a reduced number of possible symbol error positions and in that the symbol error position selector is arranged for providing the reduced number of symbol error positions to the decoder. By reducing the number of possible error positions to be passed to the decoder, it is obtained that the error correcting capabilities of said decoder is not exceeded. This reducing is possible for each kind of interleaver to be used, resulting in that no constraints have to be imposed on the type of interleaver to be used. An embodiment of the invention is characterized in that the symbol error position selector is arranged for selecting said reduced number of possible symbol error positions in dependence on a probability measure representing the probability that at a predicted error position the received symbol is actually wrong By passing only the symbol positions which are most likely to be wrong to the decoder, it is obtained that the most relevant positions are passed to the decoder and the less relevant are not. This results in an optimum decoding quality, given the numbers of predicted error positions which can be accepted by the decoder. A further embodiment of the invention is characterized in that the burst error predictor is arranged for deriving the probability measure from errors present in previous words. By deriving the probability measure from errors present in previous words, it is obtained that the probability measure is derived from actual statistical properties of the errors. This leads to a more accurate estimation of the probability measure, in particular when the statistical properties of the error measure change with time. The present invention will now be explained with reference to the drawings
In the transmission system according to The output of the convolutional encoder 8 is connected to an input of transmit means which modulate the output symbols of the convolutional encoder on a carrier and amplify the modulated signal to a level suitable for transmission. The output signal of the transmitter 10 is applied to an antenna 12. An antenna 14 which is arranged for receiving the signal transmitted by the antenna 12 is connected to an input of a receiver 16. The input of the receiver 16 is connected to an input of receive means 18 which is arranged for amplifying and demodulating the signal received from the antenna 14. The output signal of the receive means 18 is connected to an input of a convolutional decoder 20 which derives decoded symbols from its input signal. In the scope of the present invention, the combination of the receive means 18 and the convolutional decoder 18 constitute a front-end 21. The output of the front-end 21 is connected to an input of a de-interleaver 22 which performs an operation which is inverse to the operation of the interleaver 6 in the transmitter 2. The output of the de-interleaver 22 is connected to an input of the decoder 24 for decoding the Reed-Solomon encoded code words. The decoder 24 provides at a first output the decoded codewords and at a second output the position of the symbols which are in error. The second output of the decoder 24 is connected to the burst error prediction means 26 which predict the positions of possible errors in the next codeword on basis of the positions of the errors in the present codeword, which positions are provided by the decoder 24. In order to do so, it is assumed that all the errors are part of a burst error. The position of the errors in the next codeword is predicted using the properties of the de-interleaver 22. To enable the error predictor 22 to know the state of the de-interleaver 22, a synchronization output of the de-interleaver is connected to a synchronization input of the error predictor 26. The burst error predictor 26 provides all potential positions of errors together with a measure of their probability to the error position selector 28. The error position selector 28 selects a limited number of error positions to be passed to the Reed-Solomon decoder 24 as erasures in order not to exceed the error correcting capabilities of said Reed-Solomon decoder 24. Preferably, the error position selector 28 selects the N error positions having the largest probability. Reed-Solomon decoders which are able to accept "erasures" (error positions) are well known to those skilled in the art, and are e.g. discussed in the above mentioned In (1) N is the codeword length, I is the number of positions of the switching element in the de-interleaver as described in the DVB standard, p is the actual position of said switch and s(1) is the distance between two bytes at the output of the de-interleaver which were adjacent at the input of the de-interleaver 22. This is also shown in In Reed-Solomon word 11 an exception occurs. If a byte in RS codeword 12 is in error, no prediction of the next error is possible, because the adjacent input bytes 11 and 13 are found in (previous) RS words 0 and 10, making a prediction useless. Consequently possible error positions can be predicted according to: In (2) p̃i (τ) is the predicted position of a potential error in the next codeword, τ is the number of the RS codeword, and I is a parameter of the combination of interleaver and de-interleaver, e.g. 12 for the DVB satellite standard. The value of ∞ indicates that actually no prediction is made. It is possible to improve the error prediction for error in RS codeword 0, because the adjacent input bytes end up in later RS codewords. An example is byte 11 in RS word 0. If in this bytes an error occurs, the predicted next error positions are byte 10 in RS codeword 1 and byte 12 in RS codeword 11. This situation is presented in the following table: In the flowgraph according to In instruction 30 the program is started and the required variables are initialized. In instruction 32 the error positions are read from the decoder 24 and stored. In instruction 34 the counters arranged for counting the length of currently present burst errors are adapted using the error positions read in instruction 32. This instruction 32 is explained later with reference to In instruction 36 the probability that the predicted error positions actually comprise an error is calculated using the values of the counters adapted in instruction 34. If it is assumed that the burst errors are stored in an two dimensional array C[M,X] in which M is an index number of a burst error and X is a number representing the row number, the rows 1,2 and 3 comprise the following: In row 1 (X=1) the number N, being the current length of the burst error is stored. In row 2 (X=2) the probability measure is stored. In row 3, the position of the predicted error in the next codeword is stored. In row 4 (X=4), a flag F is stored of which the meaning will be explained later. The probability that at the predicted error position the received symbols is indeed in error can be calculated according to: In (3) p̃k is the kth error position and Q is the total number of burst errors presently being counted. The summation in the numerator of (3) represents the number of counters having a larger count value than the current counter and the denominator of (3) represents the number of counters having a larger or equal count than the current counter. In instruction 38 the candidate error positions together with their probability are passed to the selector 28. In instruction 40 the next word is chosen and the program is restarted at instruction 32. In the flowgraph according to In instruction 42 of the program for updating the counters (instruction 34 in If the error was not predicted, it is assumed that a new error burst has started and the execution of the program is continued at instruction 48. In instruction 48 a new array element C, representing a new counter is created. In instruction 50 the value of the new counter is set to 1. In instruction 52 an index value K, identifying the current counter is made equal to M. In instruction 54 the value of M is incremented to prepare for the creation of a new counter in the next iteration of the loop. Subsequently the program is continued at instruction 58. If in instruction 46 it was determined that the error was predicted, it is assumed that the present error burst continues, and the program is continued at instruction 58. In instruction 58 the index value K of the counter corresponding to the current error position is selected. This can be done by scanning the array elements until an array element is found for which C[K,3] is equal to the present error position. In instruction 60 the counter selected by the index K is incremented. Subsequently, the program continues at instruction 62. In instruction 62 the potential error position in the next codeword is predicted and stored in C[K,3]. This prediction is performed as explained with reference to In instruction 66 it is checked whether all error positions in the current word are handled. If this is not the case, in instruction 68 the next error position is selected and the program is continued with instruction 46. If all error positions have been handled, the program is continued with instruction 70. In instruction 70 the oldest element of the array C that are not flagged are deleted to prevent an excessive growth of the number of counters held in memory. The not flagged elements can easily be found by reading the elements one by one and checking the value of the flag. It is observed that the set flags are reset in order to bring the elements in a correct state for the next codeword to be processed. In instruction 70 also the value of I is decreased with the number of counters deleted in instruction 70. In instruction 72 the sub-program is terminated. |