Matlab的vitdec()函数中的维特比算法实现

时间:2019-10-07 11:46:30

标签: matlab decoding decoder viterbi forwarderrorcorrection

我正在研究卷积编码和解码。在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()如何逐步计算分支和路径指标。任何链接/书籍参考,表示赞赏。

0 个答案:

没有答案