vitflush.m
来自「The Viterbi algorithm」· M 代码 · 共 36 行
M
36 行
function [plist] = vitflush(termnode)% % Flush out the rest of the viterbi paths%% function [plist] = vitflush(termnode)%% termnode = 0 or list of allowable terminal nodes% If termnode==0, then choose path with lowest cost% Otherwise, choose path with best cost among termnode%% plist = list of paths from trellis% Copyright 1999 by Todd K. Moonglobal savepath endp trellis pathlen numstate branchweightglobal pathcost priorstate dooutput% Find path with smallest metricif(termnode) [pcost,minstate] = min(pathcost(termnode)); minstate = termnode(minstate);else [pcost,minstate] = min(pathcost);endplist = minstate;pathlist = mod(endp-2:-1:endp-pathlen+1,pathlen)+1;% Now work backward from end of listfor branch = pathlist minstate = savepath(minstate,branch); if(minstate) plist = [plist minstate]; else break; endendplist = fliplr(plist); % reverse the list
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?