Claims
- 1. An apparatus of turbo codes decoder used as a baseband processor subsystem for iterative decoding a plurality of sequences of received data Rn representative of coded data Xn generated by a turbo codes encoder from a source of original data un into decoded data Yn comprising of:
(a) two pipelined SISO Log-MAP Decoders each decoding input data from the other output data in an iterative mode. (b) the first SISO Log-MAP Decoder A having three inputs: R0, R1 connecting from the two Input Memory modules 4849, and Z1 feeding-back from the buffer Memory B module 45 output; the output of the Adder 231 of two input values R0 and Z1 is connected to Decoder A 42; and the first Decoder output is connected to a buffer Memory A module 43. (c) the second SISO Log-MAP Decoder B having two inputs: R2 connecting from the Input Memory module 41, and Z2 connecting from the buffer Memory A module output; and the second Decoder output is connected to a buffer Memory B module 45. (d) a buffer Memory A module 43 storing decoded data from the first Log-MAP Decoder A 42, feeding data to the second Log-MAP Decoder B 44. (e) a buffer Memory B module 45 storing decoded data from the second Log-MAP Decoder B 44, feeding-back data to the first Log-MAP Decoder A 42. (f) an Adder 231 to produce a sum values of the two inputs R0 and Z1 output for the first Log-MAP Decoder A 42. (g) Three Input Buffer Memory modules 484941 storing input soft decision received data, and feeding data to the two Log-MAP Decoders. (h) a Control logic state machine 47 controlling the overall operations of the Turbo Codes Decoder. (i) a hard-decoder logic 46 producing a final decision of either logic zero 0 or logic one 1 at the end of the iterations.
- 2. The Decoder system of claim 1, wherein each Log-MAP decoder uses the logarithm maximum a posteriori probability algorithm. The Decoder system of claim 1, wherein each Log-MAP decoder uses the soft-input and soft-output (SISO) method maximum a posteriori probability algorithm.
The Decoder system of claim 1, wherein each Log-MAP decoder uses the Log Max approximation algorithm.
- 3. The Decoder system of claim 1, wherein the two serially connected SISO Log-MAP Decoders each decoding input data from the other output data in pipeline mode to produce soft decoded data each clock cycle.
- 4. The Decoder system of claim 1, wherein the Memory modules use dual-port memory RAM.
The Decoder system of claim 1, wherein the input buffer Interleaver Memory module uses an interleaver to generate the write-address sequences of the Memory core in write-mode. In read-mode, the memory core read-address are normal sequences.
- 5. The Decoder system of claim 1, wherein a Sliding Window of Block N is used on the input buffer Memory so that each block N data is decoded at a time one block after another in a pipeline scheme.
The Decoder system of claim 1, wherein the a Sliding Window of Block N is used on the input buffer Memory in a continuous circular wrap-around scheme for pipeline operations.
- 6. A method for iterative decoding a plurality of sequences of received data Rn representative of coded data Xn generated by a Turbo Codes Encoder from a source of original data un into decoded data Yn comprising the steps of:
(a) coupling two pipelined Log-MAP decoders serially connected, having buffer Memory A and buffer Memory B for storing decoded output and providing feedback input for the decoders. (b) applying feedback signal from the output of the buffer Memory B to the first decoder A, by adding the intrinsic values Z1 with the received signal R0 input, to generate a first decoded output XO1. (c) applying the first decoded output to the buffer Memory A, and feeding the data with the received signal R2 input into the second decoder B to generate a second decoded output XO2. (d) applying the second decoded output XO2 to the buffer Memory B and feeding back the data to the first decoder A. (e) executing operations in both Log-MAP Decoders at the same time such that each decoder use the other's output as an input in iterative decoding. (f) applying a Sliding Window of Block N on the input buffer Memory so that each block N data is decoded at a time one block after another in a pipeline scheme. (g) applying an iterative decoding on each input data for L times until a desire soft decision is achieved and a hard decode output is generated.
- 7. An apparatus of SISO Log-MAP Decoder for decoding a plurality of sequences of soft-input data SD0 and SD1 generated by a receiver to produce decoded soft-output data Y comprising of:
(a) a Branch Metric module computing the two soft-input data SD0 and SD1 into branch metric values for each branch in the trellis. (b) a Branch Metric Memory module storing the branch metric values for each stage k=0 . . . N. (c) a State Metric module computing state metric values for each state in the trellis using branch metric values. A State Metric Computing module calculates the probability A(k) of each state transition in forward recursion and the probability B(k) in backward recursion. (d) an Add-Compare-Select (ACS) circuit to compute state metric values at each node in the Trellis. (e) a State Metric Memory module storing state metric values for each stage k=0 . . . N. (f) a Log-MAP module computing the soft decision output based on the branch metric values and state metric values using log maximum a posteriori probability algorithm. (g) a Control Logic state machine module controlling the overall operations of the Log-MAP decoder.
- 8. The Decoder system of claim 7, wherein the decoder uses the logarithm maximum a posteriori probability algorithm.
The Decoder system of claim 7, wherein each Log-MAP decoder uses the Log Max approximation algorithm. The Decoder system of claim 7, wherein the decoder uses the soft-input and soft-output (SISO) method Log maximum a posteriori probability algorithm.
- 9. The Decoder system of claim 7, wherein the decoder implements state-metric in forward recursion with Add-Compare-Select (ACS).
The Decoder system of claim 7, wherein the decoder implements state-metric in backward recursion with Add-Compare-Select (ACS).
- 10. The Decoder system of claim 7, wherein the decoder uses an 8-states Trellis state transition diagram for 3GPP PCCC Turbo Codes.
The Decoder system of claim 7, wherein the decoder uses an 16-states Trellis state transition diagram for Superorthogonal Turbo Codes SOTC. The Decoder system of claim 7, wherein the decoder uses an N-states trellis state transition diagram for higher order Superorthogonal Turbo Codes SOTC.
- 11. The Decoder system of claim 7, wherein the the branch metric module uses a binary adder, a binary Subtracter, and two binary two-complementers logic.
The Decoder system of claim 7, wherein the the state metric module uses a binary adder, a comparator, a Mux selector logic. The Decoder system of claim 7, wherein the the log-map module uses binary adders, binary maximum selectors logic. The Decoder system of claim 7, wherein the the branch metric memory module uses dual-port memory RAM. The Decoder system of claim 7, wherein the soft decoder module uses soft decision algorithm.
- 12. A method for Log-Map decoding a plurality of sequences of received data SD0 and SD1 generated by a receiver to produce decoded soft-output data Y comprising the steps of:
(a) computing the branch metric for each input data in a block N data for the branches entering each state in the Trellis, then storing the results into the BM Memory. (b) computing the forward recursion state metric with ACS for each data in BM Memory, for a block N data, for the each state in the Trellis, then storing the results into the SM Memory. (c) computing the backward recursion state metric with ACS for each data in BM Memory, for a block N data, for the each state in the Trellis, then storing the accumulated results into the SM Memory. (d) computing the Log-Map values from each data in BM Memory and SM Memory, for a block N data, for the each state in the Trellis. (e) applying soft decision algorithm for each state and generate soft decoded outputs.
- 13. An apparatus of an ACS (add-compare-select) for computing a plurality of sequences of sm0, bm0, sm1, bm1 data to select max output data A comprising of:
(a) an Adder0 to compute the sum of state metric sm0 and branch metric bm0 data, (b) an Adder1 to compute the sum of state metric sm1 and branch metric bm1 data, (c) a Comparator to compares the two sums, (d) and a Multiplexer selects the larger sum for the state s(k).
- 14. An apparatus of Super Orthogonal Turbo Codes (SOTC) Decoder used as a baseband processor subsystem for iterative decoding a plurality of sequences of received Walsh code data RWi and RW−i representative of Walsh coded data Wi and W−j generated by a Super Orthogonal Turbo Codes (SOTC) Encoder from a source of original data un into decoded data Yn comprising of:
(a) two pipelined SISO Log-MAP Decoders each decoding input data from the other output data in an iterative mode. (d) a buffer Memory A module storing decoded data from the first Log-MAP Decoder A, feeding data to the second Log-MAP Decoder B. (e) a buffer Memory B module storing decoded data from the second Log-MAP Decoder B, feeding-back data to the first Log-MAP Decoder A. (f) an Adder to produce a sum values of the two inputs RWi and Z1 output for the first Log-MAP Decoder A. (g) The Input Buffer Memory modules storing input soft decision received data, and feeding data to the two Log-MAP Decoders. (h) a Control logic state machine controlling the overall operations of the Turbo Codes Decoder. (i) a hard-decoder logic producing a final decision of either logic zero 0 or logic one 1 at the end of the iterations.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This is a continuation of patent application Ser. No. 09/681,093 filed Jan. 2, 2001.
Continuations (1)
|
Number |
Date |
Country |
| Parent |
09681093 |
Jan 2001 |
US |
| Child |
10065408 |
Oct 2002 |
US |