我正在研究卷积编码和解码。在 MATLAB 中,我使用 vitdec() 函数进行解码。结果很好,误码率符合预期,但我想更深入地研究这个函数,我做得很好,直到我点击了 vitdec() 调用的 vit() 函数(vitdec(函数 Matlab)中的代码行 402) )。到目前为止,我无法在 MathWorks 或其他任何地方找到有关此功能的任何帮助。
我正在粘贴下面使用 vit() 函数的 vitdec() MATLAB 函数的那部分。
% Call to vit.c
code = double(code); % for proper numerical operation
[varargout{1}, varargout{2}, varargout{3}, varargout{4}] ...
= vit(code, k, n, trellis.numStates, outputs, trellis.nextStates,...
tblen, opmodeNum, dectypeNum, nsdec, puncErasMode, puncVectorRow,...
erasVector, initTableSet, initmetric, initstate, initinput);
% Set output data type to logical if appropriate
if outLog, varargout{1} = logical(varargout{1});
end
else
[varargout{1}, varargout{2}, varargout{3}, varargout{4}] ...
= vitdeccore(code, k, n, trellis.numStates, outputs, trellis.nextStates,...
tblen, opmodeNum, dectypeNum, nsdec, puncErasMode, puncVectorRow,...
erasVector, initTableSet, initmetric, initstate, initinput);
我知道维特比算法是如何工作的。我已经用 C 语言实现了它,它的结果与 MATLAB 的结果匹配。我只想看看 videc() 是如何逐步计算分支和路径指标的。任何链接/书籍参考表示赞赏。