Claims
- 1. A method for decoding convolutional codes, comprising:
receiving convolutional codes; and using a lazy Viterbi decoder to decode the convolutional codes.
- 2. The method of claim 1, wherein the convolutional codes comprise block convolutional codes.
- 3. The method of claim 1, wherein the convolutional codes comprises stream convolutional codes.
- 4. The method of claim 1, wherein the lazy Viterbi decoder is used in a software radio environment.
- 5. The method of claim 1, wherein using the lazy Viterbi decoder comprises:
initializing a trellis data structure and a priority queue data structure; extracting a lowest-metric shadow node û in the priority queue until a “real” version u of û′ is not already in the trellis data structure; inserting the node u into the trellis data structure; and for all successors of u′ of u, generating a new shadow node û′ with a corresponding accumulated metric; and inserting the new shadow node û′ into the priority queue and a time list.
- 6. Apparatus for decoding convolutional codes, comprising:
a memory that stores executable instruction signals; and a processor that executes the instruction signals to: use a lazy Viterbi decoder.
- 7. The apparatus of claim 6, wherein the convolutional codes comprise block convolutional codes.
- 8. The apparatus of claim 6, wherein the convolutional codes comprises stream convolutional codes.
- 9. The apparatus of claim 6, wherein the lazy Viterbi decoder is used in a software radio environment.
- 10. The apparatus of claim 6, wherein the instructional signals to use the lazy Viterbi decoder comprises instructional signals to:
initialize a trellis data structure and a priority queue data structure; extract a lowest-metric shadow node û in the priority queue until a “real” version u of û is not already in the trellis data structure; insert the node u into the trellis data structure; and for all successors of u′ of u, generate a new shadow node û′ with a corresponding accumulated metric; and inserting the new shadow node û′ into the priority queue and a time list.
- 11. An article comprising a machine-readable medium that stores executable instruction signals decoding convolutional codes, the instruction signals causing a machine to:
use a lazy Viterbi decoder.
- 12. The article of claim 11, wherein the convolutional codes comprise block convolutional codes.
- 13. The article of claim 11, wherein the convolutional codes comprises stream convolutional codes.
- 14. The article of claim 11, wherein the lazy Viterbi decoder is used in a software radio environment.
- 15. The article of claim 1, wherein instructions causing a machine to use the lazy Viterbi decoder comprises instructions causing a machine to:
initialize a trellis data structure and a priority queue data structure; extract a lowest-metric shadow node û in the priority queue until a “real” version u of û is not already in the trellis data structure; insert the node u into the trellis data structure; and for all successors of u′ of u, generate a new shadow node û′ with a corresponding accumulated metric; and insert the new shadow node û′ into the priority queue and a time list.
- 16. A receiver, comprising:
a lazy Viterbi decoder.
- 17. The receiver of claim 16, wherein the receiver is in a software radio environment.
- 18. The receiver of claim 16, wherein the receiver is in a high-definition television.
- 19. The receiver of claim 16, further comprising a transceiver, wherein the transceiver comprises the receiver.
- 20. The receiver of claim 16, further comprising an integrated circuit; wherein the integrated circuit comprises the lazy Viterbi decoder.
PRIORITY TO OTHER APPLICATIONS
[0001] This application claims priority from and incorporates herein U.S. Provisional Application No. 60/403,181, filed Aug. 13, 2002, and titled “A FAST MAXIMUM-LIKELIHOOD DECODER FOR CONVOLUTIONAL CODES”.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60403181 |
Aug 2002 |
US |