列表式的 Viterbi 譯碼算法 Matlab實現

論文下載鏈接:https://pan.baidu.com/s/1bsb_Lyu4A7SZ5WN3giG7tw 密碼:tseg

傳統Viterbi譯碼算法只保留一條最佳路徑, 該算法指出當進入每一狀態的最佳路徑與進入該狀態的第二條最佳路徑“太近”時就發出重傳該幀的請求。但是他們都沒有利用第二條最佳路徑、第三條最佳路徑等的信息來進行譯碼。

列表式的 Viterbi 譯碼算法提出保留多條最佳路徑,然後通過CRC判斷這些最佳路徑是不是對,若CRC錯誤,則刪除當前路徑,然後選擇第二條最佳路徑。如下圖所示

a. 計算沿第l 條最佳路徑的度量差值並存儲在 AbsoluteDiff 的相應位置。

b. 在 AbsoluteDiff 分別找前l 行的最小的值並將其時刻存儲在 MergeTime 中, 並分別計算穿過該時刻的候選路徑的累積路徑度量。

c. 在 b 中所求的l 個候選路徑的累積路徑度量中選擇度量最大的路徑即為第l +1個最佳路徑,設該路徑為l′,在 MergeTime( l′ )和 MergeTime( l )中存儲匯合時刻。

d. 將相應候選路徑的相應匯入點扣除(即設相應 AbsoluteDiff 為無窮大)。

列表式的 Viterbi 譯碼算法 Matlab實現

列表式的 Viterbi 譯碼算法 Matlab實現


分享到:


相關文章: