Map decoder with bidirectional sliding window architecture
AssigneeQUALCOMM Incorporated
InventorsPei Chen, Ivan Fernandez-Corbaton, Jordi Pont
Life of this patent
Estimating the term…
Loading patent…
AssigneeQUALCOMM Incorporated
InventorsPei Chen, Ivan Fernandez-Corbaton, Jordi Pont
Estimating the term…
A MAP decoder, or a turbo decoder having constituted MAP decoders, is configured with bi-directional sliding windows. A sliding window architecture is applied to the forward state metric (FSM) calculation of an encoded data block having a trellis with N time-steps. The data block is divided into smaller sub-blocks and a forward recursion of two or more of the sub-blocks are performed in parallel to obtain FSMs. Each sub-block overlaps with a previous sub-block by k time-steps, where k is an integer value greater than zero. This provides a good approximation of the FSMs at time-step k+t of the sub-block. The FSMs associated with the first k time steps of each sub-block, other than the first sub-block, are discarded. A reverse recursion of each sub-block is also performed to obtain reverse state metrics (RSM) for the sub-block. Likelihood ratios are then calculated based on the FSMs and RSMs.
A decoder comprising:
The decoder of 1 wherein the first and second decoders implement a maximum a posteriori probability (MAP) algorithm to correct errors in the data block.
The decoder of 1 wherein the first decoder determines forward state metrics for a trellis of the data block.
The decoder of 3 wherein each sub-block overlaps with the previous sub-block by k time steps of the trellis, where k is an integer value greater than zero.
The decoder of 4 wherein the metrics associated with the first k time steps for each sub-block after a first sub-block are discarded from the first set of state metrics.
The decoder of 3 wherein the second decoder determines reverse state metrics for the trellis of the data block.
The decoder of 1 wherein a length of the sub-blocks is determined by a decoding time constraints.
The decoder of 1 wherein the number of sub-blocks determines the number of parallel decoders in the first decoder.
The decoder of 1 wherein the data block is encoded with a turbo code.
The decoder of 1 wherein the parallel decoders in the first decoder are recursive decoders that calculate forward state metrics for each sub-block.
The decoder of 1 wherein the second decoder further divides each sub-block received from the first decoder into a plurality of smaller segments and computes the second set of state metrics using a sliding window architecture on the plurality of smaller segments.
The decoder of 1 further comprising:
The decoder of 12 wherein each sub-block includes a plurality of segments, the first set of metrics for a current and previous segments are stored in the storage device at any one time.
The decoder of 13 wherein the first set of metrics for a segment is discarded from the storage device once likelihood ratios for the segment have been calculated.
The decoder of 1 wherein the first set of state metrics and the second set of state metrics are used in calculating likelihood ratios for data in the data block.
The decoder of 1 wherein the second decoder includes a plurality of parallel decoders, each parallel decoder in the second decoder corresponding to one of the plurality of parallel decoders in the first decoder.
The decoder of 1 wherein each sub-block includes a plurality of segments, the second decoder is configured to compute the second set of state metrics for a segment once the first decoder has computed the first set of state metrics for that segment.
A method for recursively decoding information in an encoded block, comprising:
The method of 18 wherein a sub-block starts with a first time step having a known binary state.
The method of 18 wherein a sliding window architecture is employed in dividing the encoded block so that each sub-block overlaps with a previous sub-block by k time steps of a trellis of the encoded block, where k is an integer value greater than zero.
The method of 20 further comprising:
The method of 18 further comprising:
The method of 18 further comprising:
The method of 18 wherein obtaining the forward state metrics of a sub-block, a starting step is an unknown state with equally likely state metrics.
The method of 18 further comprising:
A decoder comprising:
The decoder of 26 wherein each sub-block overlaps with a previous sub-block by k time steps of the trellis of the encoded block, where k is an integer value greater than zero, and the forward state metrics associated with the first k time steps of each sub-block, after a first sub-block, are discarded.
The decoder of 26 wherein each sub-block includes a plurality of segments, the reverse state metrics are obtained for a segment once the forward state metrics for that segment have been obtained.
The decoder of 26 further comprising:
A processing device configured to control:
The processing device of 30, wherein recursive decoding further comprises:
The processing device of 31 wherein each sub-block includes a plurality of segments, reverse state metrics are obtained for a segment once the forward state metrics for that segment have been obtained.
The processing device of 30 wherein each sub-block, after a first sub-block, overlaps with a previous sub-block by k time steps of the trellis, where k is an integer value greater than zero, and wherein the processing device is further configured to:
A machine readable medium comprising instructions for recursively decoding information in an encoded block, the instructions configured to:
Dependencies are inferred from the claim text.