Patent Document ID: 20130111305
Application ID: 13809932
Patent Flag: 0

Claim One:
1. A channel decoding method, comprising: S101: during the first iteration, i.e. i=1, initializing the metric M path,0 i (S) of the surviving path that enters state s at position 0 to 0, where s∈S 0 , S 0 indicates the state space at position 0, and i indicates the number of iterations; setting the metric of the optimal maximum likelihood tail-biting path (MLTBP) P MLTBP O to 0, that is, letting M MLTBP O =0; performing an MVA, and searching for MLTBP in current iteration; for all s∈S 0 , setting the state metric of state s to be equal to M path,L 1 (s), that is, letting M state (s)=M path,L 1 (s); S102: if the net path metric M MLTBP i of P MLTBP i (s′,s′) found in current iteration is greater than the metric M MLTBP O , that is, M MLTBP i >M MLTBP O , updating (P MLTBP O , M MLTBP O ) with (P MLTBP 1 (s′,s′),M MLTBP i ); S103: for s∈S L , where L is the length of information sequence, and S L indicates the state space at position L, comparing the state metric M state (s) of state s with the metric M MLTBP O of the MLTBP in the latest update; if M state (s)≦M MLTBP O , updating M state (s)=0; otherwise, letting M path,0 i+1 (s)=M path,L i (s); if M state (s)>M path,L i (s)−M path,0 i (s), updating M state (s)=M path,L i (s)−M path,0 i (s); making statistics on the number of states with state metric greater than M MLTBP O , and saving the number of states in sum(i); S104: if sum(i)=0, stopping the iteration, and outputting the optimal MLTBP P MLTBP O ; if sum(i)=sum(i−1), performing Viterbi decoding once with state β(s) as fixed initial state and termination state, where β(s) is the starting state of the maximum likelihood path (MLP) found in the i th iteration, i.e. P MLP i (β(s),s); obtaining a tail-biting path P TBP (β(s), β(s)) with metric M TBP (β(s),β(s)) thereof; if M TBP (β(s),β(s))>M MLTBP O , updating (P MLTBP O , M MLTBP O ) with (P TBP (β(s), β(s)), M TBP (β(S),β(s))), and letting M state (β(s))=0 and M path,0 i+1 (β(s))=0. S105: i++ and letting sum(i)=0, and performing a next iteration, that is, repeating S102 to S104.