2.2 Differential Space-Time Block Codes (DSTBCs)
5.1.2 Maximum A-Posteriori (MAP) Algorithm
Maximum A-Posteriori (MAP) algorithm was originally designed by Bahl et al in 1974 [99] to decode both block and convolutional codes with the objective of minimiz- ing the symbol error rate (SER) when systems are subject to memoryless noise. At early stages of the coding history, MAP algorithm did not exhibit its powerful decoding capa- bility as it had almost the same performance compared with Viterbi algorithm [100] yet higher implementation complexity since MAP is devised to examine every possible path in the trellis. Moreover, MAP algorithm is less efficient when processing the received signal sequence with long frame length as the required memory would increase rapidly with the sequence length.
MAP algorithm has become popular after the advent of the ground-breaking Turbo code in 1993 [101], some unique characteristics of it greatly facilitate the iterative decoding for the serial and parallel concatenation of several component codes, such as Turbo code. For instance, MAP decoder is capable of providing not only the estimated data sequence, but also calculating the likelihood of one specific bit has been decoded correctly. Since then, MAP algorithm and MAP decoder are widely used in various applications.
In [102], a revision of the original MAP algorithm was introduced, the proposed MAP algorithm operates in logarithmic-domain, hence termed Log-MAP algorithm. The prob- lem of high computational complexity of the original MAP algorithm as well as numerical issues experienced in computer simulation are successfully resolved.
5.1.2.1 Principle of MAP Algorithm
Definition of Notations
uk Information symbols withM different values, where k = 1, 2, . . . , N .
xk Coded symbols generated from encoder.
yk Received symbols,yk= xk+ nkwhen transmitted over AWGN channel,nk
is the complex AWGN sample.
m Possible values of the information symbol given by the received sequence, wherem = 0, 1, . . . , M − 1.
sk−1 = j Trellis statej at time index k− 1.
sk = i Trellis statei at time index k.
P (i, m) Trellis transition function: from current statei to previous state, when the input value ism.
N (j, m) Trellis transition function: from current statej to next state, when the input value ism.
L(j, m) Symbol transmitted when one specific branch in the trellis is encountered. For example, if the branch emitting from state sk−1 = j to sk = N (j, m) is en-
countered, the corresponding input symbol is uk = m and transmitted symbol is
L(j, m), respectively.
The objective of the MAP decoding is to calculate the a-posteriori probability (APP) of the transmitted symbols from the observed sequence, i.e. Ak,m = p(uk = m|yk) for
m = {0, 1, . . . , M − 1}, k = {1, 2, . . . , N} based on the channel value and a-priori probability provided by other SISO constituent decoder. The MAP decoder can therefore determine the one having the largest APP is the transmitted information symbol. It is abovementioned that the MAP algorithm is able to minimize the SER by searching all legitimate paths in the trellis and selecting the one that is most likely. On the contrary, the Viterbi algorithm (VA) [100] generally guarantees the minimized frame error as it only searches for the most likely transmitted symbol sequence.
The principle of MAP decoding is briefly summarized in the following steps:
Step 1 It is assumed that the a-priori probabilities of the information symbols, denoted byΠk, are known. We calculate the probabilities of channel metricηk(j, m) which
indicate the conditional probabilities of receiving the sampleykgiven the previous
statesk−1 = j and the encountered information symbol uk = m by the following
formula [26, 103] ηk(j, m) = p(yk|uk = m, sk−1 = j) = exp −|yk− L(j, m)|2 2σ2 , (5.7)
whereσ2is the variance of the noise.
Step 2 Based on the a-priori probability of the kth information symbol Πk,m and
Eq. (5.7) obtained in Step 1, the branch transition metric γk(j, m), which only
depends on the current received symbolyk(k = 1, 2, . . . , N ), is calculated as
γk(j, m) = p(yk, uk= m|sk−1 = j) = Πk,m· ηk(j, m) . (5.8)
Step 3 Subsequently, the forward recursion metric αk−1(j) as well as the backward
recursion metricβk(i) are computed in a recursive manner as follows
αk(i) = M −1X m=0 αk−1 P (i, m) · γk P (i, m), m , (5.9) similarly, βk−1(j) = M −1X m=0 βk N (j, m) · γk(j, m) . (5.10)
Step 4 Gathering Eq. (5.8)-Eq. (5.10), the desired APP is defined as the product of chan- nel metric, forward recursion as well as backward recursion metrics, which yields
¯ Ak,m = Πk,m· S−1 X j=0 αk−1(j)· βk N (j, m) · ηk(j, m) , (5.11)
where the integerS represents the total number of trellis states.
5.1.2.2 Logarithmic MAP Algorithm
As mentioned earlier, a feasible solution to reducing the computational complexity and computer overflow issue is to replace the original MAP algorithm with the Log-MAP algorithm [102], which is evolved from the former and maintains all superiority of the original scheme. As the name suggests, calculations in the Log-MAP algorithm are con- ducted in the logarithmic domain instead of the linear domain. Since the essential of the novel Log-MAP algorithm is a mathematical transformation carried out in the logarithmic domain, the performance is expected to be identical to that of the MAP decoding.
To elaborate further, from the mathematical perspective, in the logarithmic domain, the operation of multiplication could be simplified to addition. Therefore, the total amount of computational load could be highly compressed while maintaining the same decoding performance.
In order to pursue further simplification of the Log-MAP scheme, two additional sub- optimal Log-MAP algorithms are proposed based on the Jacobian logarithmic approxi- mation. The benefit primarily results from the replacement of summation with a simple selection of the maximum value out of multiple candidates. When comparing between two elements, the Jacobian logarithm [104] can be demonstrated in the following exam- ple
Jac(Φ1, Φ2) = ln(eΦ1 + eΦ2)
= max{Φ1, Φ2} + ln(1 + e−|Φ1−Φ2|)
= max{Φ1, Φ2} + fc(|Φ1− Φ2|) . (5.12)
Furthermore, for the case with more than two elements, Eq. (5.12) can be extended using the following approach
ln(
I
X
i=1
eΦi) = Jac (Φ
I, Jac(ΦI−1, . . . , Jac(Φ3, Jac (Φ2, Φ1)) . . .)) , (5.13)
wherefcis a correction term. In practice,fccan be computed in three different manners
leading to three distinct variants of the logarithmic approximation scenarios, which are generalized as follows
Exact-Log-MAP algorithm No approximation is invoked,fcintends to compute the ex-
act value of ln(1 + e−|Φ1−Φ2|). Therefore, the decoding performance is exact the
same as the MAP algorithm.
Max-Log-MAP algorithm Approximation formulated in Eq. (5.12) is invoked to pro- vide simpler decoding. Complexity is reduced significantly at the cost of slight performance degradation. It also has the lowest implementational complexity com- pared with others.
Approx-Log-MAP algorithm fc is determined by looking up a pre-stored coefficients
table [104]. This scheme is able to perform as well as the Exact-Log-MAP algo- rithm.