Matlab Realization of Listed Viterbi Decoding Algorithm

Program download link: code

Paper download link: https://pan.baidu.com/s/1bsb_Lyu4A7SZ5WN3giG7tw  Password: tseg

The traditional Viterbi decoding algorithm only retains one best path. The algorithm points out that when the best path to enter each state is "too close" to the second best path to that state, a request for retransmission of the frame is issued. But none of them use the information of the second best path, the third best path, etc. to decode. 

The list-style Viterbi decoding algorithm proposes to keep multiple best paths, and then judge whether these best paths are correct through CRC, if the CRC is wrong, delete the current path, and then select the second best path. As shown below

a. Calculate the metric difference along the lth best path and store it in the corresponding location of AbsoluteDiff.

b. Find the smallest value of the first l rows in AbsoluteDiff and store its time in MergeTime, and calculate the cumulative path metric of the candidate path passing through the time.

c. Choose the path with the largest metric from the cumulative path metrics of the l candidate paths found in b, that is, the l+1th best path. Let this path be l′, in MergeTime(l′) and MergeTime(l ) Stores the time of convergence.

d. Deduct the corresponding entry point of the corresponding candidate path (ie set the corresponding AbsoluteDiff to infinity).

Guess you like

Origin blog.csdn.net/Xiaoxll12/article/details/92399316