Claims
- 1. A method for decoding an encoded signal comprising:
performing one or more parallel branch metric calculations to obtain the shortest branch distance to a new trellis state from the previous trellis states; storing the previous trellis state symbol corresponding to the shortest branch metric for each new trellis state; selecting the new state with the shortest overall path distance; and recalling the nth previous state symbol along the selected shortest distance path.
- 2. The method of claim 1 further comprising:
receiving an encoded signal; and sampling the encoded signal to obtain symbol samples of the encoded signal.
- 3. The method of claim 2 further comprising:
selecting the closest constellation symbols for each symbol sample received; and storing the selected constellation symbols in a first memory location.
- 4. The method of claim 1 further comprising:
storing the overall maximum likelihood path distances for each state in the trellis; and performing new parallel branch metric calculations when subsequent symbol samples are received.
- 5. The method of claim 1 further comprising:
calculating the shortest overall path distance for each new state including, adding the shortest branch metric for each new trellis state to the stored maximum likelihood path distance for the selected previous trellis state, and updating the stored maximum likelihood path distances based on the new branch metric calculations.
- 6. The method of claim 1 wherein storing the previous trellis state symbol includes storing a value identifying the previous trellis state symbol in an array for each state.
- 7. The method of claim 6 further comprising:
removing the earliest state stored in the array every time a previous trellis state is selected as having the shortest branch distance; and inserting the selected previous trellis state in the array.
- 8. The method of claim 1 wherein the nth previous state symbol is the desired depth of a trace back.
- 9. The method of claim 1 further comprising:
accessing a memory location to obtain the current symbol corresponding to the best match for the received symbol sample.
- 10. The method of claim 1 wherein the branch metrics calculations are performed according to a Viterbi decoding scheme.
- 11. The method of claim 1 wherein the decoded symbols correspond to a quadrature amplitude modulation (QAM) constellation.
- 12. The method of claim 11 wherein the QAM constellation has of one hundred twenty eight (128) symbols.
- 13. The method of claim 1 wherein the encoded signal is encoded with a rate two-three (2/3) code.
- 14. A communication device comprising:
a receiving circuit to receive an encoded signal and provide symbol samples of the received signal; a constellation processor coupled to the receiving circuit to select the constellation symbols closest to each received symbol sample; and one or more parallel processors communicatively coupled to the constellation processor and configured to calculate the branch metrics for each new trellis state in a single instruction.
- 15. The communication device of claim 14 further comprising:
a storage device coupled the parallel processors to store an array of previous trellis states corresponding to each new trellis state, array is employed by the parallel processors to calculate the branch metrics for each new state at the same time.
- 16. The communication device of claim 15 wherein the storage device is configured to maintain list of previous trellis state symbols corresponding to the maximum likelihood path for each trellis state.
- 17. The communication device of claim 14 wherein the parallel processors perform new metric calculations when subsequent symbol samples are received, select the shortest distance branch metric for each new state, and update stored maximum likelihood path distances based on the new branch metric calculations.
- 18. The communication device of claim 14 wherein the parallel processors calculate the branch metrics according to a Viterbi decoding scheme.
- 19. The communication device of claim 14 wherein the parallel processors are single-instruction multiple-data stream (SIMD) type of parallel processors.
- 20. The communication device of claim 14 wherein the constellation processor decodes symbols according to a quadrature amplitude modulation (QAM) constellation.
- 21. The communication device of claim 20 wherein the QAM constellation has of one hundred twenty eight (128) symbols.
- 22. The communication device of claim 14 the wherein the constellation processor selects the eight (8) closest constellation symbols for a 2D trellis constellation.
- 23. The communication device of claim 14 wherein the constellation processor selects the four (4) closest constellation symbols for a 4D trellis constellation.
- 24. A system for decoding a coded signal comprising:
means for receiving an encoded signal and providing symbol samples of the encoded signal; means for selecting symbols in a constellation which are closest to each received symbol sample; and means for calculating the branch metrics for each branch of a trellis in parallel, storing the maximum likelihood path distance for each state, and storing the previous trellis state symbols along each path.
- 25. The system of claim 24 further comprising:
means for sampling the encoded signal to obtain symbol samples of the encoded signal; and means for storing the selected constellation symbols.
- 26. The system of claim 24 further comprising:
means for updating the stored maximum likelihood path distances based on the new branch metric calculations.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This non-provisional United States (U.S.) Patent Application claims the benefit of U.S. Provisional Application No. 60/231,726 filed on Sep. 8, 2000 by inventor Hooman Honary and titled “METHOD AND APPARATUS FOR CONSTELLATION DECODER” and is also related to U.S. Provisional Application No. 60/231,521, filed on Sep. 9, 2000 by Anurag Bist et al. having Attorney Docket No. 004419.P012Z; U.S. patent application Ser. No. ______, titled “NETWORK ECHO CANCELLER FOR INTEGRATED TELECOMMUNICATION PROCESSING”, filed on Sep. 6, 2001 by Anurag Bist et al. having Attorney Docket No. 042390.P12532; and U.S. patent application Ser. No. 09/654,333, filed on Sep. 1, 2000 by Anurag Bist et al. having Attorney Docket No. 004419.P011, entitled “INTEGRATED TELECOMMUNICATIONS PROCESSOR FOR PACKET NETWORKS”, all of which are to be assigned to Intel Corp.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60231726 |
Sep 2000 |
US |
|
60231521 |
Sep 2000 |
US |