Claims
- 1. A single stage design employed by a soft-in soft-out (SISO) decoder that determines a min input or a max input from among a plurality of inputs, the single stage design comprising:
a comparison functional block that performs comparison of each 2 element combinations of the plurality of inputs thereby generating a plurality of comparison results; a select signal generation functional block that employs the plurality of comparison results to generate at least one select signal; and a multiplexor (MUX) that receives each of the plurality of inputs and that selects the min input or the max input from among the plurality of inputs based on the at least one select signal.
- 2. The single stage design of claim 1, wherein the select signal generation functional block includes logic circuitry to process the plurality of comparison results; and
wherein the logic circuitry processes the plurality of comparison results according to a logic circuitry table to generate the at least one select signal which is used to select the min input or the max input from among the plurality of inputs.
- 3. The single stage design of claim 1, wherein the select signal generation functional block includes logic circuitry to process the plurality of comparison results;
wherein the logic circuitry includes at least two AND gates and at least one OR gate; and wherein the logic circuitry selects a min input or a max input from among one 2 element combination of the plurality of inputs.
- 4. The single stage design of claim 1, wherein the comparison functional block employs at least one subtractor to perform comparison of each 2 element combination of the plurality of inputs thereby generating the plurality of comparison results;
wherein the select signal generation functional block includes logic circuitry to process the plurality of comparison results; and wherein the single stage design has a longest processing delay that includes the processing delays of the at least one subtractor, the logic circuitry, and the MUX.
- 5. The single stage design of claim 1, wherein one 2 element combination of the plurality of inputs includes a first input and a second input;
wherein the comparison functional block assigns a 1 bit value to a first comparison result of the plurality of comparison results when the first input is substantially greater than or equal to the second input; and wherein the comparison functional block assigns a 0 bit value to the first comparison result of the plurality of comparison results when the first input is substantially less than the second input.
- 6. The single stage design of claim 1, wherein the at least one select signal includes a min input or a max input selected from among one 2 element combination of the plurality of inputs.
- 7. The single stage design of claim 1, wherein the at least one select signal includes at least one comparison result selected from among the plurality of comparison results.
- 8. The single stage design of claim 1, wherein the SISO decoder is implemented within a communication receiver; and
wherein the communication receiver is contained within at least one of a satellite communication system, a High Definition Television (HDTV) communication system, a cellular communication system, a microwave communication system, a point-to-point communication system, a uni-directional communication system, a bi-directional communication system, a one to many communication system, and a fiber-optic communication system.
- 9. A single stage design employed by a soft-in soft-out (SISO) decoder that calculates a min* result or a max* result using a plurality of inputs, the single stage design comprising:
a preliminary calculation functional block that calculates a plurality of 2 element log correction values, each 2 element log correction value of the plurality of 2 element log correction values corresponds to at least one input of the plurality of inputs; wherein the preliminary calculation functional block calculates a plurality of min results or a plurality of max results that corresponds to 2 element combinations of the plurality of inputs; wherein the preliminary calculation functional block adds each 2 element log correction value to its corresponding input from among the plurality of inputs thereby generating a plurality of possible values; wherein the preliminary calculation functional block determines a min result or max result using the plurality of possible values; a final log correction value calculation functional block that calculates a final log correction value that corresponds to all inputs of the plurality of inputs; and wherein the min result or the max result and the final log correction value are summed to calculate the min* result or the max* result.
- 10. The single stage design of claim 9, wherein the preliminary calculation functional block includes a min selection control functional block or a max selection control functional block; and
wherein the min selection control functional block or the max selection control functional block selects a min value or a max value from among a 2 element pair of inputs of the plurality of inputs.
- 11. The single stage design of claim 9, wherein the preliminary calculation functional block includes a min selection functional block or a max selection functional block; and
wherein the min selection functional block or the max selection functional block simultaneously calculates each possible value of the plurality of possible values.
- 12. The single stage design of claim 9, wherein the preliminary calculation functional block includes a min selection control functional block or a max selection control functional block;
wherein the min selection control functional block or the max selection control functional block selects a min value or a max value from among a 2 element pair of inputs of the plurality of inputs; wherein the preliminary calculation functional block includes a min selection functional block or a max selection functional block; wherein the min selection functional block or the max selection functional block simultaneously calculates each possible value of the plurality of possible values; and wherein the min value or the max value from among a 2 element pair of inputs of the plurality of inputs is used to select one possible value from among the plurality of possible values.
- 13. The single stage design of claim 9, wherein the preliminary calculation functional block includes a min selection functional block or a max selection functional block;
wherein the min selection functional block or the max selection functional block simultaneously calculates each possible value of the plurality of possible values; and wherein at least one 2 element log correction value of the plurality of 2 element log correction values is used to select one possible value from among the plurality of possible values.
- 14. The single stage design of claim 9, wherein the preliminary calculation functional block calculates a plurality of sign bits that corresponds to differences between 2 element pairs of inputs of the plurality of inputs;
wherein the preliminary calculation functional block includes a min selection functional block or a max selection functional block; wherein the min selection functional block or the max selection functional block simultaneously calculates each possible value of the plurality of possible values; and wherein at least one sign bit of the plurality of sign bits is used to select one possible value from among the plurality of possible values.
- 15. The single stage design of claim 9, wherein the min result or the max result and the final log correction value are all kept separate for use in subsequent processing stages.
- 16. The single stage design of claim 9, wherein the SISO decoder is implemented within a communication receiver; and
wherein the communication receiver is contained within at least one of a satellite communication system, a High Definition Television (HDTV) communication system, a cellular communication system, a microwave communication system, a point-to-point communication system, a uni-directional communication system, a bi-directional communication system, a one to many communication system, and a fiber-optic communication system.
- 17. A single stage design employed by a soft-in soft-out (SISO) decoder that calculates a min* result or a max* result using a plurality of inputs, the single stage design comprising:
a preliminary calculation functional block that calculates a plurality of 2 element log correction values, each 2 element log correction value of the plurality of 2 element log correction values corresponds to at least one input of the plurality of inputs; wherein the preliminary calculation functional block calculates a plurality of min results or a plurality of max results that corresponds to 2 element combinations of the plurality of inputs; wherein the preliminary calculation functional block simultaneously adds each 2 element log correction value to its corresponding input from among the plurality of inputs thereby generating a plurality of possible values; wherein the preliminary calculation functional block determines a min result or a max result using the plurality of possible values; wherein the preliminary calculation functional block includes a min selection control functional block or a max selection control functional block; wherein the min selection control functional block or the max selection control functional block selects a min value or a max value from among a 2 element pair of inputs of the plurality of inputs; a final log correction value calculation functional block that calculates a final log correction value that corresponds to all inputs of the plurality of inputs; and wherein the min result or the max result and the final log correction value are summed to calculate the min* result or the max* result.
- 18. The single stage design of claim 17, wherein the min selection control functional block or the max selection control functional block selects a min value or a max value from among a 2 element pair of inputs of the plurality of inputs;
wherein the preliminary calculation functional block includes a min selection functional block or a max selection functional block; wherein the min selection functional block or the max selection functional block simultaneously calculates each possible value of the plurality of possible values; and wherein the min value or the max value from among the 2 element pair of inputs of the plurality of inputs is used to select one possible value from among the plurality of possible values.
- 19. The single stage design of claim 17, wherein the min selection functional block or the max selection functional block simultaneously calculates each possible value of the plurality of possible values; and
wherein at least one 2 element log correction value of plurality of 2 element log correction values is used to select one possible value from among the plurality of possible values.
- 20. The single stage design of claim 17, wherein the preliminary calculation functional block calculates a plurality of sign bits that corresponds to differences between 2 element pairs of inputs of the plurality of inputs;
wherein the preliminary calculation functional block includes a min selection functional block or a max selection functional block; wherein the min selection functional block or the max selection functional block simultaneously calculates each possible value of the plurality of possible values; and wherein at least one sign bit of the plurality of sign bits is used to select one possible value from among the plurality of possible values.
- 21. The single stage design of claim 17, wherein the min result or the max result and the final log correction value are all kept separate for use in subsequent processing stages.
- 22. The single stage design of claim 17, wherein the SISO decoder is implemented within a communication receiver; and
wherein the communication receiver is contained within at least one of a satellite communication system, a High Definition Television (HDTV) communication system, a cellular communication system, a microwave communication system, a point-to-point communication system, a uni-directional communication system, a bi-directional communication system, a one to many communication system, and a fiber-optic communication system.
- 23. A single stage design employed by a soft-in soft-out (SISO) decoder that uses approximation to calculate a min* result or a max* result using a plurality of inputs, the single stage design comprising:
a min calculation functional block or a max calculation functional block that determines a min result or a max result from among a plurality of inputs; wherein the min calculation functional block or the max calculation functional block determines a min value or a max value from among a 2 element pair of inputs of the plurality of inputs; wherein the min calculation functional block or the max calculation functional block calculates a plurality of sign bits that corresponds to differences between 2 element pairs of inputs of the plurality of inputs; an intermediate log correction value calculation functional block that calculates a plurality of 2 element log correction values, each 2 element log correction value of the plurality of 2 element log correction values corresponds to at least one input of the plurality of inputs; wherein the min value or the max value that is determined from the 2 element pair of inputs of the plurality of inputs is used to select one 2 element log correction value from the plurality of 2 element log correction values; a final log correction value calculation functional block that calculates a plurality of final log correction values, each final log correction value that corresponds to all inputs of the plurality of inputs; and wherein the min value or the max value that is determined from the 2 element pair of inputs of the plurality of inputs, the selected one 2 element log correction value from the plurality of 2 element log correction values, and one final log correction value of the plurality of final log correction values are summed to calculate the min* result or the max* result from among a plurality of inputs.
- 24. The single stage design of claim 23, wherein the final log correction value calculation functional block simultaneously calculates each final log correction value of the plurality of final log correction values.
- 25. The single stage design of claim 23, wherein each 2 element log correction value of the plurality of 2 element log correction values is represented as one value selected from a finite plurality of different values.
- 26. The single stage design of claim 25, wherein the finite plurality of different values includes two different values; and
wherein the two different values are substantially 0.0 and 0.5.
- 27. The single stage design of claim 23, wherein a difference between a pair of 2 element log correction values of the plurality of 2 element log correction values is used to select the one final log correction value of the plurality of final log correction values.
- 28. The single stage design of claim 27, wherein the difference between the pair of 2 element log correction values of the plurality of 2 element log correction values is represented as one value selected from a finite plurality of different values.
- 29. The single stage design of claim 28, wherein the finite plurality of different values includes three different values; and
wherein the three different values are substantially 0.0, +0.5, and −0.5.
- 30. The single stage design of claim 23, wherein at least one final log correction value of the plurality of final log correction values includes a constant offset.
- 31. The single stage design of claim 23, wherein the min value or the max value that is determined from the 2 element pair of inputs of the plurality of inputs, the selected one 2 element log correction value from the plurality of 2 element log correction values, and one final log correction value of the plurality of final log correction values are all kept separate for use in subsequent processing stages.
- 32. The single stage design of claim 23, wherein the SISO decoder is implemented within a communication receiver; and
wherein the communication receiver is contained within at least one of a satellite communication system, a High Definition Television (HDTV) communication system, a cellular communication system, a microwave communication system, a point-to-point communication system, a uni-directional communication system, a bi-directional communication system, a one to many communication system, and a fiber-optic communication system.
- 33. A single stage design employed by a soft-in soft-out (SISO) decoder that uses approximation to calculate a min* result or a max* result using a plurality of inputs, the single stage design comprising:
a min calculation functional block or a max calculation functional block that determines a min result or a max result from among a plurality of inputs; wherein the min calculation functional block or the max calculation functional block determines a min value or a max value from among a 2 element pair of inputs of the plurality of inputs; wherein the min calculation functional block or the max calculation functional block calculates a plurality of sign bits that corresponds to differences between 2 element pairs of inputs of the plurality of inputs; an intermediate log correction value calculation functional block that calculates a plurality of 2 element log correction values, each 2 element log correction value of the plurality of 2 element log correction values corresponds to at least one input of the plurality of inputs and each 2 element log correction value of the plurality of 2 element log correction values is represented as one value selected from a finite plurality of different values; wherein the min value or the max value that is determined from the 2 element pair of inputs of the plurality of inputs is used to select one 2 element log correction value from the plurality of 2 element log correction values; a final log correction value calculation functional block that simultaneously calculates each final log correction value of a plurality of final log correction values, each final log correction value that corresponds to all inputs of the plurality of inputs and at least one final log correction value of the plurality of final log correction values includes a constant offset; wherein the min value or the max value that is determined from the 2 element pair of inputs of the plurality of inputs, the selected one 2 element log correction value from the plurality of 2 element log correction values, and one final log correction value of the plurality of final log correction values are summed to calculate the min* result or the max* result from among a plurality of inputs; and wherein a difference between a pair of 2 element log correction values of the plurality of 2 element log correction values is used to select the one final log correction value of the plurality of final log correction values.
- 34. The single stage design of claim 33; wherein the finite plurality of different values includes two different values; and
wherein the two different values are substantially 0.0 and 0.5.
- 35. The single stage design of claim 33, wherein the difference between the pair of 2 element log correction values of the plurality of 2 element log correction values is represented as one value selected from at least one additional finite plurality of different values.
- 36. The single stage design of claim 35, wherein the at least one additional finite plurality of different values includes three different values; and
wherein the three different values are substantially 0.0, +0.5, and −0.5.
- 37. The single stage design of claim 33, wherein the min value or the max value that is determined from the 2 element pair of inputs of the plurality of inputs, the selected one 2 element log correction value from the plurality of 2 element log correction values, and one final log correction value of the plurality of final log correction values are all kept separate for use in subsequent processing stages.
- 38. The single stage design of claim 33, wherein the SISO decoder is implemented within a communication receiver; and
the communication receiver is contained within at least one of a satellite communication system, a High Definition Television (HDTV) communication system, a cellular communication system, a microwave communication system, a point-to-point communication system, a uni-directional communication system, a bi-directional communication system, a one to many communication system, and a fiber-optic communication system.
- 39. A processing method that determines a min input or a max input from among a plurality of inputs, the method comprising:
performs comparison operations on each 2 element combinations of the plurality of inputs thereby generating a plurality of comparison results; generating at least one select signal based on the plurality of comparison results; and selecting the min input or the max input from among the plurality of inputs based on the at least one select signal.
- 40. The method of claim 39, further comprising employing logic circuitry to process the plurality of comparison results; and
wherein the logic circuitry processes the plurality of comparison results according to a logic circuitry table to generate the at least one select signal which is used to select the min input or the max input from among the plurality of inputs.
- 41. The method of claim 39, further comprising employing logic circuitry to process the plurality of comparison results;
wherein the logic circuitry includes at least two AND gates and at least one OR gate; and wherein the logic circuitry selects a min input or a max input from among one 2 element combination of the plurality of inputs.
- 42. The method of claim 39, further comprising employing at least one subtractor to perform comparison operations of each 2 element combination of the plurality of inputs thereby generating the plurality of comparison results;
further comprising employing logic circuitry to process the plurality of comparison results; and wherein the method has a longest processing delay that includes the processing delays of the at least one subtractor, the logic circuitry, and the MUX.
- 43. The method of claim 39, wherein one 2 element combination of the plurality of inputs includes a first input and a second input;
further comprising assigning a 1 bit value to a first comparison result of the plurality of comparison results when the first input is substantially greater than or equal to the second input; and further comprising assigning a 0 bit value to the first comparison result of the plurality of comparison results when the first input is substantially less than the second input.
- 44. The method of claim 39, wherein the at least one select signal includes a min input or a max input selected from among one 2 element combination of the plurality of inputs.
- 45. The method of claim 39, wherein the at least one select signal includes at least one comparison result selected from among the plurality of comparison results.
- 46. The method of claim 39, wherein method is performed within a SISO decoder that is implemented within a communication receiver; and
wherein the communication receiver is contained within at least one of a satellite communication system, a High Definition Television (HDTV) communication system, a cellular communication system, a microwave communication system, a point-to-point communication system, a uni-directional communication system, a bi-directional communication system, a one to many communication system, and a fiber-optic communication system.
- 47. A processing method that calculates a min* result or a max* result using a plurality of inputs, the method comprising:
calculating a plurality of 2 element log correction values, each 2 element log correction value of the plurality of 2 element log correction values corresponds to at least one input of the plurality of inputs; calculating a plurality of min results or a plurality of max results that corresponds to 2 element combinations of the plurality of inputs; adding each 2 element log correction value to its corresponding input from among the plurality of inputs thereby generating a plurality of possible values; determining a min result or max result using the plurality of possible values; calculating a final log correction value that corresponds to all inputs of the plurality of inputs; and summing the min result or max result and the final log correction value to calculate the min* result or the max* result.
- 48. The method of claim 47, further comprising selecting a min value or a max value from among a 2 element pair of inputs of the plurality of inputs.
- 49. The method of claim 47, further comprising simultaneously calculating each possible value of the plurality of possible values.
- 50. The method of claim 47, further comprising:
selecting a min value or a max value from among a 2 element pair of inputs of the plurality of inputs; simultaneously calculating each possible value of the plurality of possible values; and using the min value or the max value from among the 2 element pair of inputs of the plurality of inputs to select one possible value from among the plurality of possible values.
- 51. The method of claim 47, further comprising:
simultaneously calculating each possible value of the plurality of possible values; and using at least one 2 element log correction value of plurality of 2 element log correction values to select one possible value from among the plurality of possible values.
- 52. The method of claim 47, further comprising:
calculating a plurality of sign bits that corresponds to differences between 2 element pairs of inputs of the plurality of inputs; simultaneously calculating each possible value of the plurality of possible values; and using at least one sign bit of the plurality of sign bits to select one possible value from among the plurality of possible values.
- 53. The method of claim 47, further comprising keeping the min result or max result and the final log correction value separate for use in subsequent processing stages.
- 54. The method of claim 47, wherein the method is performed within a SISO decoder that is implemented within a communication receiver; and
wherein the communication receiver is contained within at least one of a satellite communication system, a High Definition Television (HDTV) communication system, a cellular communication system, a microwave communication system, a point-to-point communication system, a uni-directional communication system, a bi-directional communication system, a one to many communication system, and a fiber-optic communication system.
- 55. A processing method that uses approximation to calculate a min* result or a max* result using a plurality of inputs, the method comprising:
determining a min result or a max result from among the plurality of inputs; determining a min value or a max value from among a 2 element pair of inputs of the plurality of inputs; calculating a plurality of sign bits that corresponds to differences between 2 element pairs of inputs of the plurality of inputs; calculating a plurality of 2 element log correction values, each 2 element log correction value of the plurality of 2 element log correction values corresponds to at least one input of the plurality of inputs; using the min value or the max value that is determined from the 2 element pair of inputs of the plurality of inputs to select one 2 element log correction value from the plurality of 2 element log correction values; calculating a plurality of final log correction values, each final log correction value that corresponds to all inputs of the plurality of inputs; and summing the min value or the max value that is determined from the 2 element pair of inputs of the plurality of inputs, the selected one 2 element log correction value from the plurality of 2 element log correction values, and one final log correction value of the plurality of final log correction values to calculate the min* result or the max* result.
- 56. The method of claim 55, further comprising simultaneously calculating each final log correction value of the plurality of final log correction values.
- 57. The method of claim 55, further comprising representing each 2 element log correction value of the plurality of 2 element log correction values as one value selected from a finite plurality of different values.
- 58. The method of claim 57, wherein the finite plurality of different values includes two different values; and
wherein the two different values are substantially 0.0 and 0.5.
- 59. The method of claim 55, further comprising using a difference between a pair of 2 element log correction values of the plurality of 2 element log correction values to select the one final log correction value of the plurality of final log correction values.
- 60. The method of claim 59, wherein the difference between the pair of 2 element log correction values of the plurality of 2 element log correction values is represented as one value selected from a finite plurality of different values.
- 61. The method of claim 60, wherein the finite plurality of different values includes three different values; and
wherein the three different values are substantially 0.0, +0.5, and −0.5.
- 62. The method of claim 55, wherein at least one final log correction value of the plurality of final log correction values includes a constant offset.
- 63. The method of claim 55, further comprising keeping the min value or the max value that is determined from the 2 element pair of inputs of the plurality of inputs, the selected one 2 element log correction value from the plurality of 2 element log correction values, and one final log correction value of the plurality of final log correction values separate for use in subsequent processing stages.
- 64. The method of claim 55, wherein the method is performed within a SISO decoder that is implemented within a communication receiver; and
wherein the communication receiver is contained within at least one of a satellite communication system, a High Definition Television (HDTV) communication system, a cellular communication system, a microwave communication system, a point-to-point communication system, a uni-directional communication system, a bi-directional communication system, a one to many communication system, and a fiber-optic communication system.
CROSS REFERENCE TO RELATED PATENTS/PATENT APPLICATIONS
[0001] The present U.S. Utility patent application claims priority pursuant to 35 U.S.C. § 119(e) to the following U.S. Provisional Patent Applications which is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility patent application for all purposes:
[0002] 1. U.S. Provisional Application Serial No. 60/427,979, “Single stage implementation of min*, max*, min and/or max to perform state metric calculation in SISO decoder,” (Attorney Docket No. BP 2480), filed Nov. 20, 2002, pending.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60427979 |
Nov 2002 |
US |