IP Library Granted Patent US 7,158,589
Granted Patent B2
US 7,158,589 · App. 09/952,311 · Granted Jan 2, 2007

Method and apparatus for parallel decoding of turbo encoded data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,158,589
App. No.
09/952,311
Granted
Jan 2, 2007
Kind
B2
Abstract

A method and apparatus for parallel decoding of turbo encoded data. The method includes multiple Soft In Soft Out (SISO) modules arranged in parallel such that each module supplies an input to one SISO and takes an input from another SISO data encoded for multiple parallel SISOs is received by a receiver and decoded in the abovementioned parallel configuration.

Claims (61)

1. A method for parallel decoding of modulo N turbo encoded data, where N in an integer, the method comprising:

accepting samples of modulo N turbo encoded data;

calculating metric values for each sample;

accepting the metric values into each of N soft input soft output (SISO) modules;

deinterleaving extrinsic values to form a-priori values;

accepting a-priori values into each of the N SISO modules; and

performing decoding calculations within each of the N SISO modules thereby forming the extrinsic values.

2. The method of claim 1 wherein accepting samples of modulo N turbo encoded data comprises accepting an inphase (I) value and quadrature (Q) value representing samples of the turbo encoded data.

3. The method of claim 1 wherein calculating metric values for each sample comprises calculating a distance between the sample and each possible transmitted constellation point.

4. The method of claim 1 wherein calculating metric values for each sample comprises calculating an Euclidean distance squared between the sample and each possible transmitted constellation point.

5. A method for calculating metric values for each sample received for parallel decoding of modulo N turbo encoded data, where N is an integer, wherein calculating metric values for each sample comprises calculating a Euclidean distance squared between the sample and each possible transmitted constellation point and wherein calculating the Euclidean distance squared comprises:

determining a first distance, in an inphase direction, between the sample and a possible transmitted constellation point in the inphase direction;

squaring the first distance to form a first distance squared;

determining a second distance, in a quadrature direction, between the sample and a possible transmitted constellation point in the quadrature direction;

squaring the second distance to form a second distance squared; and

adding the first distance squared to the second distance squared to form the Euclidean distance squared.

6. A method for parallel decoding of modulo N turbo encoded data, where N is an integer, the method comprising:

accepting samples of modulo N turbo encoded data;

calculating metric values for each sample;

accepting the metric values into each of N soft input soft output (SISO) modules;

deinterleaving extrinsic values to form a-priori values;

accepting a-priori values into each of the N SISO modules; and

performing decoding calculations within each of the N SISO modules thereby forming the extrinsic values,

wherein accepting the a-priori values into each of N SISO modules further comprises accepting a value representing an equal likelihood that a corresponding one of the samples of modulo N turbo encoded data represents each possible constellation point on a first iteration of the decoder.

7. The method of claim 1 wherein deinterleaving extrinsic values to form a-priori values comprises performing a deinterleaving using an inverse interleaver of an interleaver used to produce a corresponding interleaving.

8. The method of claim 1 wherein performing decoding calculations within each of the N SISO modules thereby forming the extrinsic values comprises performing a maximum a posteriori (MAP) decoding.

9. The method of claim 1 wherein performing decoding calculations within each of the N SISO modules thereby forming the extrinsic values comprises performing a soft output Viterbi algorithm (SOVA) decoding.

10. An apparatus for parallel decoding of modulo N turbo encoded data, where N in an integer, the apparatus comprising:

an input queue that accepts samples of modulo N turbo encoded data;

a metric calculator that accepts samples of modulo N turbo encoded data from the input queue and calculates metric values for each sample;

N soft input soft output (SISO) modules that accept the metric values and a-priori values and produce extrinsic values; and

N modulo N deinterleavers that accept the extrinsic values and deinterleave them to form the a-priori values.

11. The apparatus as in claim 10 wherein the input queue that accepts samples of modulo N turbo encoded data further comprises an input queue that accepts an inphase (I) value and quadrature (Q) values representing samples of the turbo encoded data.

12. The apparatus as in claim 10 wherein the metric calculator comprises a calculator that calculates a distance between the sample and each possible transmitted constellation point.

13. The apparatus as in claim 10 wherein the metric calculator is an Euclidean distance squared calculator that calculates the distance between the sample and each possible transmitted constellation point.

14. The apparatus as in claim 10 wherein the deinterleaver comprises an inverse of the modulo N interleaver used to encode the turbo encoded data.

15. The apparatus as in claim 10 wherein the N SISO modules are maximum a posteriori (MAP) decoders.

16. The apparatus as in claim 10 wherein the N SISO modules are soft output Viterbi algorithm (SOVA) decoders.

17. An apparatus for parallel decoding of modulo N turbo encoded data, where N in an integer, the apparatus comprising:

means for accepting samples of modulo N turbo encoded data representing a block of turbo encoded data;

means for calculating metric values that accepts samples of modulo N turbo encoded data from the sample accepting means and calculates the metric values for each sample;

N means for accepting a soft input and producing a soft output (SISO means) that accept the metric values and a-priori values and produce extrinsic values; and

N modulo N deinterleaving means that accept the extrinsic values and deinterleave it to form the a-priori values.

18. The apparatus as in claim 17 further comprising a conditional points processor that accepts samples of modulo N turbo encoded data representing a block of turbo encoded data and produces conditional points.

19. The apparatus as in claim 18 further comprising an output processor that accepts a-priori values from the SISO means and conditional points from the conditional processor and computes output tuples.

20. A method for decoding of modulo N turbo encoded data, where N in an integer, the method comprising:

receiving samples of modulo N turbo encoded data;

calculating metric values for each sample;

receiving the metric values by each of a plurality of N soft input soft output (SISO) modules;

receiving an a-priori value by a first of the N SISO modules;

performing decoding calculations by the first of the N SISO modules to form an extrinsic value;

deinterleaving the extrinsic value to form an a-priori value for the next of the N SISO modules; and

repeating the decoding calculations and the deinterleaving of between the extrinsic values for remaining modules of the N SISO modules.

21. An apparatus for decoding of modulo N turbo encoded data, where N in an integer, the apparatus comprising:

an input queue for receiving samples of modulo N turbo encoded data;

a metric calculator for calculating metric values for samples of modulo N turbo encoded data;

N soft input soft output (SISO) modules for receiving the metric values, receiving an a-priori value by a first of the N SISO modules, and decoding calculations within the first of the N SISO modules thereby forming an extrinsic value; and

N modulo N deinterleavers for deinterleaving of between the extrinsic values to form an a-priori value for a next of the N SISO modules,

wherein the N SISO modules and the N modulo N deinterleavers repeat the performing decoding calculations and the deinterleaving the extrinsic value for remaining modules of the N SISO modules.

22. The method of claim 21 , wherein accepting samples of modulo N turbo encoded data comprises accepting samples of odd-even encoded data.

23. The apparatus of claim 21 , wherein the input queue accepts samples of odd-even encoded data.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2002
From: CAMERON, KELLY B.; TRAN, HAU THIEN; SHEN, BA-ZHONG; JONES, CHRISTOPHER R.
To: BROADCOM CORPORATION
Reel/Frame 012434/0183 →