Various embodiments of the present invention will now be described in detail in conjunction with the annexed drawings, in which:
The sequence of reliability values generated by the MAP decoder 202 is supplied to byte de-interleaver 204. Since the MAP decoder generates bit data with three values instead of two, the de-interleaver has to be modified from that of the prior art de-interleaver 126 depicted in
The output of the de-interleaver 204 is supplied to the RS decoder 206 with erasures. As is well-known in the art, the erasure information is used by the RS decoder 206 to obtain better correction performance (assuming the erasure location is reliable). The output of the RS decoder 206 is the decoder output data 130 (once any necessary iterations are performed as discussed below).
In the current invention, the sequence of reliability values generated by each decoder (202 and 206) is passed to the other one. In this way, each decoder takes advantage of the “suggestions” of the other. Accordingly, the output of the RS decoder 206 is also supplied to the MAP decoder 202 through the extrinsic information generator 208. It generates the likelihood of the decoded data from RS decoder based on the RS Error flag, which indicates whether the corresponding RS decoder output is correctable or not. If the RS Error flag indicates that the RS decoder output data is correctable, then the likelihoods of those RS decoder output data is 100%; otherwise the likelihoods will be 50%, i.e., the RS decoder output data bits is equally possible to be ‘0’ or ‘1’. This apriori information, which is the likelihood ratio of the data bit to be ‘1’ vs. ‘0’ based on both the RS decoder output data and the corresponding RS error flag, is then processed by byte interleaver 210 prior to being supplied to the MAP decoder. The MAP decoder receives this information in the form of a likelihood ratio for each bit, Zi−1.
The embodiment of the invention depicted in
As previously described with respect to
In one embodiment of the invention, the iterative operations performed by MAP decoder 202 and RS Decoder 206 are performed at least twice. In a further embodiment of the invention, the process is terminated once a settable parametric number of iterations have occurred. Alternatively, the process stops once no improvement occurs as to the number of flags generated at the output of RS Decoder 206 from the previous iteration.
The invention may be implemented by any reasonable means, including, but not limited to, software, firmware and/or hardware. Apparatus for practicing the invention may include processors, microprocessors, programmed general purpose computers, combinational logic circuits, other digital circuits, analog circuitry and/or combinations thereof.
While the invention has been described with reference to the preferred embodiment thereof, it will be appreciated by those of ordinary skill in the art that modifications can be made to the structure and elements of the invention without departing from the spirit and scope of the invention as a whole.