3.3 前向度量计算
前向度量 α 计算由双循环组成:
内循环:以所有状态为循环:state = 1 : 2^m
外循环:以所有信息数量为循环:k = 2 : L_total + 1
图5 前向度量算法示意图
即 状态 为上一时刻状态的总和:
(1)
先计算输入 d_k = 0时:
% Log_MAP算法计算
gamma( last_state(state2,1) ) = ( -rec_s(2*k-3) + rec_s(2*k-2) * last_out(state2,2) )
- log(1+exp(L_a(k-1)));
再计算输入 d_k = 1时:
gamma(last_state(state2,2)) = (rec_s(2*k-3) + rec_s(2*k-2) * last_out(state2,4))
+ L_a(k-1) - log(1+exp(L_a(k-1)));
log_map算法目前用的不多,由于计算量较大,主流均采用 max-log-map计算,这里只给出计算公式,详细算法不再推导。
分支度量计算:
其中,X_k 和 Y_k分别是 k 时刻的发送符号和接收符号。
(1) 为边的状态转移概率:
(2)
(2) 取决于 X_k是否与 边e 有关。有关时取1,无关时取0.
(3)第三项与信道模型有关:
(3)
用对数表示为:
(4)
再回到 前向度量计算:
(5)
因此,
Alpha(k,state2) = log( sum( exp( gamma+Alpha(k-1,:) ) ) );
3.4 后向度量计算
与前向度量类似,后向度量也由双循环组成:
内循环:以所有状态为循环:state = 1 : 2^m
外循环:以所有信息数量为循环:k = L_total-1 : -1: 1
图6 后向度量算法示意图
后向度量 用公式表示为:
(6)
先计算输入 d_k = 0时:
gamma(next_state(state1,1)) = (-rec_s(2*k+1) + rec_s(2*k+2) * next_out(state1,2))
-log(1+exp(L_a(k+1)));
先计算输入 d_k = 1时:
gamma(next_state(state1,2)) = (rec_s(2*k+1) + rec_s(2*k+2) * next_out(state1,4))
+ L_a(k+1) - log(1+exp(L_a(k+1)));
因此,
Beta(k,state1) = log(sum(exp(gamma+Beta(k+1,:))))
3.5 LLR输出
在进行前向度量时,已经计算过
gamma0 = -rec_s(2*k-1) + rec_s(2*k) * last_out(state2,2) ) - log(1+exp(L_a(k)) ;
gamma1 = rec_s(2*k-1) + rec_s(2*k) * last_out(state2,4)) + L_a(k) -
log(1+exp(L_a(k));
这个与之前计算前向度量时计算得到的 一致。最终得到,
% 将四个状态的度量值分别计算,得到当前状态下p(d_k=1)与p(d_k=0)的后验概率
for state2 = 1:nstates
temp0(state2) = exp(gamma0 + Alpha(k,last_state(state2,1)) + Beta(k,state2));
temp1(state2) = exp(gamma1 + Alpha(k,last_state(state2,2)) + Beta(k,state2));
end
L_all(k) = log(sum(temp1)) - log(sum(temp0));
L_e = L_all - 2 * rec_s(1,1:2:2*L_total) - L_a;
按照上述梳理的思路,类似地,对于rec_s(2,:)同样也分三步走:
1)L_a = L_e(alpha)
将码1得到的L_e再次进行交织,作为码块2的先验概率;
2) L_all = logmapo(rec_s(2,:), g, L_a, 2);
对码块2进行迭代译码;
3) L_e = L_all - 2 * rec_s(2,1:2:2*L_total) - L_a;
最终可得到:
xhat(alpha) = (sign(L_all)+1)/2;
结尾:
历史是何等的有意思,当 Claude Elwood Shannon 提出香农定理的时候,却并没有给出解决方案。也许这就是他对“信息”最好的诠释:
We may have knowledge of the past but can't control it , we may control the future but have no knowledge of it.
过去可知不可控,未来可控不可知。
经过几代人不断地探索和追求,当Turbo编码横空出世的时候,举世震惊:
左: Claude Berrou 右: Alain Glavieux
历史是何等的相似,又似乎命中注定。
Turbo 编译码完结#