1. Field of the Invention
The present invention relates to block processing encoded data with a maximum a posteriori (MAP) algorithm by a receiver in a telecommunications system.
2. Description of the Related Art
MAP decoding algorithms are employed for processing data input to a processor for detection and/or decoding operations. The algorithm provides a maximum a posteriori estimate of a state sequence of a finite-state, discrete-time Markov process. The MAP algorithm forms a trellis corresponding to possible states (determined by a portion of received symbol bits in the sequence) for each received channel output value per unit increment in time (i.e., clock cycle).
States, and transitions between states, of the Markov process spanning an interval of time may be represented by a trellis diagram. The number of bits that a state represents is equivalent to the memory of the Markov process. Thus, probabilities (sometimes of the form of log-likelihood values) are associated with each transition within the trellis, and probabilities are also associated with each decision for a symbol bit in the sequence.
The processor using the MAP algorithm computes log-likelihood values using α values (forward state probabilities for states in the trellis), and then β values (backward state probabilities in the trellis) after the α values are computed, as described subsequently. The α values are associated with states within the trellis, and these α values are stored in memory. The processor using the MAP algorithm computes values of β, and the α values are then retrieved from memory to compute the final output log-likelihood values. To compute the log-likelihood values, the entire state metric array of α values is stored by the MAP algorithm.
The variable Sk is defined as the set of states of the Markov process at time k, and yk is defined as the noisy channel output sample at time k, the sample sequence of length K=L+1 is defined as the sequence yK=(y0, y1, . . . , yk, . . . , yL) and, for a data block of length K, probability functions may be defined for the Markov process as given in equations (1) through (3):
αsk=p(Sk=s; yks) (1)
βsk=p(yk+1K|Sk=s) (2)
γs′,sk=p(Sk=s; yk|Sk−1=s′). (3)
where s defines the state Sk of the Markov process at time k and s′ defines the state Sk−1 of the Markov process at time k−1.
The log-likelihood value L(uk) for a user's symbol uk at time k may then be calculated as given in equation (4):
Defining αlk and βlk from equations (1) and (2) as the forward and backward probabilities (state metrics) at time k in state i, respectively, and defining γl,jk as the branch metric associated with the transition from state i at time k−1 to state j at time k, then, the forward recursion for states is given in equation (5):
where i∈S is a set of states at time k−1 which have a valid transition to the state j at time k, and M is the number of states.
Similarly, the backward recursion for states is given in equation (6):
where j∈S is a set of states at time k which have a valid transition from the state i at time k−1.
Once the forward and backward recursions for states are calculated, from equation (4), the log-likelihood value (also known as reliability value) L(uk) for each user symbol uk is generated as given in equation (7):
where a state pair (i, j)∈S+ is defined as a pair that has a transition from state i at time k−1 to state j at time k corresponding to the user symbol uk=“1”, and a state pair (i, j)∈S− is similarly defined as a pair that has a transition from state i at time k−1 to state j at time k corresponding to the user symbol uk=“−1”.
The Log MAP algorithm may be defined by substituting Ajk=ln(αjk), Bjk=ln(βjk) and Γi,jk=ln(γl,jk) into the equations (5), (6), and (7). Also, with the relation that ln(exp x+exp y) is equivalent to max(x,y)+ln(exp(−|x−y|)+1), the Log MAP algorithm may be described as in equations (8) and (9):
where max*(x, y) is defined as max(x, y)+ln(exp(−|x−y|)+1).
As an example, for the forward recursion, A2k in state 2 at time k as shown in
A2k=max*(A1k−1+Γ1,2k, A5k−1+Γ5,2k). (10)
When implemented, a MAP algorithm updates the state metrics to compute αlk and βlk−1 (or their log values for the Log MAP algorithm) based on 1) the current values for the state metrics αik−1 and βlk for all i (all states in the set S) and 2) the current sample yk. The update occurs for each time k=0, 1, 2, . . . , L, and each update for time k performs a calculation using only the sample corresponding to time k. Thus, the read/write operation for an implementation transfers a single sample word for each update operation at a given rate f.
In accordance with embodiments of the present invention, a maximum a posteriori (MAP) processor employs a block processing technique for the MAP algorithm to provide a parallel architecture that allows for multiple word memory read/write processing. The block processing technique forms a merged trellis with states having combined branch inputs to provide the parallel structure. When block processing occurs, the trellis may be modified to show transitions from the oldest state at time k−N to the present state at time k. For the merged trellis, the number of states remains the same, but each state receives 2N input transitions instead of two input transitions in the original trellis. Branch metrics associated with the transitions in the merged trellis are combinations of branch metrics of the original trellis, and are employed for the update process of forward and backward probabilities by the MAP algorithm. During the update process, the read/write operation for an implementation transfers words of length N for each update operation, but the frequency (and hence, number) of update operations is reduced by a factor of N. Such multiple word memory read/write may provide reduced power consumption for a given implementation of a MAP processor in, for example, a DSP.
In accordance with an exemplary embodiment of the present invention, probabilities are generated to calculate log-likelihood values in a maximum a posteriori (MAP) processor for samples corresponding to data. A first block of samples and a corresponding set of forward probabilities are retrieved, wherein the block of samples correspond to states of a merged trellis, wherein the merged trellis provides combined probabilities of transition from one or more states at k−N, N an integer greater than 1, to current states at time k as the set of forward probabilities. The set of forward probabilities of the merged trellis for the current state at time k are updated based on the block of samples and the corresponding set of forward probabilities.
Other aspects, features, and advantages of the present invention will become more fully apparent from the following detailed description, the appended claims, and the accompanying drawings in which:
a) and 2(b) show modified trellises in accordance with an exemplary embodiment of the present invention for block processing where transitions for two and three sets of previous states and their associated branch metrics are merged;
In accordance with embodiments of the present invention, a maximum a posteriori (MAP) processor employs a block processing technique for the MAP algorithm to provide a parallel architecture that allows for multiple word memory read/write processing of a given circuit implementation. The block processing technique forms a merged trellis with states having modified branch inputs to provide the parallel structure. Such multiple word memory read/write may provide reduced power consumption for a given implementation of MAP processor in, for example, a DSP.
By combining multiple intermediate time states of a trellis to form a merged trellis from time k−N to time k, the merged trellis structure exhibits a parallel structure. When block processing occurs, more than one (i.e., N>1) received sample may be accounted for at a state in the trellis, and the trellis may be modified to show transitions from the oldest state (at time k−N) to the present state (at time k). During block processing, the state branch and path metrics associated with transitions account for each transition between receive samples. For example,
Preferred embodiments of the present invention employ the Log MAP algorithm, and the forward and backward probabilities Ajk=ln(αjk) and βjk=ln(βjk) of equations (8) and (9) may be modified based on the merged trellis structure. In the trellis shown in
A2k=max*(A0k−2+{tilde over (Γ)}0,2k,A2k−2+{tilde over (Γ)}2,2kA4k−2+{tilde over (Γ)}4,2k,A6k−2+{tilde over (Γ)}6,2k), (11)
When evaluating the max*( ) operation with greater than two values for comparison, such as in equation (11), the operation is carried out iteratively over pairs values.
The value {tilde over (Γ)}i,jk is defined as the combined branch metric associated with the transition from state i at time k−2 to state j at time k in the forward direction of the merged trellis (e.g., in
Extending this approach of the N=2 case, the forward recursion equation is then generalized to the N=3 case of
Ajk=max*i=0, 1, . . . , 7(Aik−3+{tilde over (Γ)}i,jk) for j=0, 1, . . . , M−1, (12)
where the combined branch metric is obtained by adding three individual branch metrics from time k−3 to time k, and M is the number of states.
A similar modification employing the techniques described above may be made to the relation of, for example, equation (9) for calculating the backward probability Bjk−N. However, the backward probabilities are updated based on traversing the merged trellis in an opposite direction to that traversed when calculating forward probabilities. Consequently, the cumulative branch metric values for transitions are derived in the opposite direction to that of cumulative branch metric values for transitions in the forward direction.
The block processing technique may be extended to a larger N by combining trellises from time k−N to time k. This technique for generating branch metrics allows for a reduction in the memory space required to store the forward and backward probabilities (state metrics) Ajk and Bik−N by N.
When implemented, a MAP algorithm employing a merged trellis structure updates the state metrics to compute αjk and βlk−N (or their log values Ajk and Blk−N for the Log MAP algorithm) based on 1) the current values for the state metrics αlk−N and βlk for all i and j (all states in the set S) and 2) the block of N signal input samples [yk, yk+1, . . . , yk+N−1]. The update operation occurs for each time k=0, N, 2N, . . . L−N+1 and occurs at a rate of 1/N times the rate of processing steps of the prior art trellis of, for example,
If the test of step 403 determines that all forward probabilities have been updated, the methods advances to step 407 to begin the process of updating the backward probabilities. At step 407, the method retrieves the first block of samples beginning at time k=L−N+1 along with the corresponding backward probabilities. At step 408 the backward probabilities are updated. At step 409, a test determines if the last block of samples has been processed, and if not, the method advances to step 412 to point to the next block of samples in memory. The method then returns to step 407 from step 412 to process the next block.
If the test of step 409 determines that the last block for the current time k has been processed and, so all backward probabilities for each time k have been updated, then the method advances to step 413. At step 413 the MAP algorithm computes the log-likelihoods in accordance with MAP processing algorithms well known in the art.
Table 1 shows the number of operations per user data for different given values of N in an 8-state trellis, where N=1 is the conventional MAP algorithm of the prior art such as shown in
In Table 1, “·” represents multiplication. As shown in Table 1, computational complexity increases with increasing N. However, for typical processing implementations, the power consumption associated with data transfer (read/write) operations is significantly greater than power consumption associated with computational operations.
While the exemplary embodiments of the present invention have been described with respect to methods implemented within a detector, as would be apparent to one skilled in the art, various functions may be implemented in the digital domain as processing steps in a software program, by digital logic, or in combination of both software and hardware. Such software may be employed in, for example, a digital signal processor, micro-controller or general-purpose computer. Such hardware and software may be embodied within circuits implemented in an integrated circuit.
The present invention can be embodied in the form of methods and apparatuses for practicing those methods. The present invention can also be embodied in the form of program code embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of program code, for example, stored in a storage medium and loaded into and/or executed by a machine, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits.
It will be further understood that various changes in the details, materials, and arrangements of the parts which have been described and illustrated in order to explain the nature of this invention may be made by those skilled in the art without departing from the principle and scope of the invention as expressed in the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5600664 | Hayashi | Feb 1997 | A |
5768285 | Griep et al. | Jun 1998 | A |
5933462 | Viterbi et al. | Aug 1999 | A |
6192501 | Hladik et al. | Feb 2001 | B1 |
6658071 | Cheng | Dec 2003 | B1 |
6807238 | Rhee et al. | Oct 2004 | B1 |
20010021233 | Jin | Sep 2001 | A1 |
20020029362 | Stephen et al. | Mar 2002 | A1 |
20030074628 | Lee | Apr 2003 | A1 |
20030101402 | Amrani et al. | May 2003 | A1 |
Number | Date | Country | |
---|---|---|---|
20030139927 A1 | Jul 2003 | US |