Decoding system and method for digital communications
View Patent ↗A Viterbi decoding system interprets bits in received QAM constellations as many-valued parameters rather than binary valued parameters. It performs the Viterbi algorithm using these many-valued parameters to provide results superior to hard decision decoding. Rather than applying a hard 0-1 function to the QAM data, the system uses a non-stepped linear or curved transfer function to assign values to the bits. In another aspect, a system differentiates between data bits based on their estimated reliability, giving more emphasis to decoding reliable bits than unreliable bits using any of a variety of techniques. By differentiating between good and bad bits and de-emphasizing or ignoring unreliable bits, the system can provide a significant reduction in uncorrectable errors and packet loss.
1. A method of applying a plurality of weights used for decoding a respective plurality of signals within a respective plurality of frequency bins, the method comprising the steps of:
determining a weight for each of the respective plurality of signals within the respective plurality of frequency bins based in part on a channel estimate; and
in a wireless receiver, applying each weight to bit metrics associated with one of the respective plurality of signals during a Viterbi decoding process,
wherein the weight applied to bit metrics is used in determining how to proceed to a next state of a trellis established by the Viterbi decoding process.
2. A method of applying a plurality of weights used for decoding a respective plurality of signals within a respective plurality of frequency bins, the method comprising the steps of:
determining a weight for each of the respective plurality of signals within the respective plurality of frequency bins based in part on a channel estimate; and
in a wireless receiver, applying each weight to bit metrics associated with one of the respective plurality of signals during a Viterbi decoding process, wherein the at least one of the weights applied is unity.
3. A method according to claim 1 wherein the at least one of the weights applied is zero.
4. A method of applying a plurality of weights used for decoding a respective plurality of signals within a respective plurality of frequency bins, the method comprising the steps of:
determining a weight for each of the respective plurality of signals within the respective plurality of frequency bins based in part on a channel estimate; and
in a wireless receiver, applying each weight to bit metrics associated with one of the respective plurality of signals during a Viterbi decoding process, wherein the at least one of the weights applied has a value between unity and zero.
5. A method of applying a plurality of weights used for decoding a respective plurality of signals within a respective plurality of frequency bins, the method comprising the steps of:
determining a weight for each of the respective plurality of signals within the respective plurality of frequency bins based in part on a channel estimate; and
in a wireless receiver, applying each weight to bit metrics associated with one of the respective plurality of signals during a Viterbi decoding process, wherein the weight is also determined based upon decision directed feedback.
6. A method of determining a plurality of weights used for decoding a respective plurality of signals within a respective plurality of frequency bins, the method comprising the steps of:
determining a weight for each of the respective plurality of signals within the respective plurality of frequency bins based in part on feedback received from previously decoded signals; and
in a wireless receiver, applying each weight to bit metrics associated with one of the respective plurality of signals during a Viterbi decoding process.
7. A method according to claim 6 wherein the feedback received from previously decoded signals is obtained using the steps of:
comparing received and undecoded signals with received, decoded, and re-encoded signals to obtain comparison signals; and
using the comparison signals to determine the weight for subsequently received signals.
8. A method according to claim 7 wherein the comparison signals are used to estimate the per-bin signal to noise ratio, which is then used to determine the weight for subsequently received signals.
9. A method of determining a plurality of weights used for decoding a respective plurality of signals within a respective plurality of frequency bins, the method comprising the steps of:
determining a weight for each of the respective plurality of signals within the respective plurality of frequency bins based in part on feedback received from previously received signals; and
in a wireless receiver, applying each weight to bit metrics associated with one of the respective plurality of signals during a Viterbi decoding process.
10. A method according to claim 6 wherein the feedback received from previously received signals is obtained using the steps of:
obtaining estimated signals from undecoded previously received signals;
comparing the undecoded previously received signals with the estimated signals to obtain comparison signals; and
using the comparison signals to determine the weight for subsequently received signals.
11. A method according to claim 10 wherein the comparison signals are used to estimate the per-bin signal to noise ratio, which is then used to determine the weight for subsequently received signals.