Я работаю над сверточным кодированием и декодированием. В MATLAB я использую функцию vitdec () для декодирования. Результаты хороши, и частота ошибок по битам соответствует ожидаемой, но я хочу углубиться в эту функцию, и я делал это хорошо, пока не нажал на функцию vit (), которая вызывается vitdec () (строка кода 402 в vitdec (функция Matlab)). Я не могу найти никакой помощи относительно этой функции в MathWorks или где-либо еще.
Я вставляю ту часть функции MATLAB vitdec (), которая использует функцию vit () ниже.
% 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 () метрики ветвей и путей. Любая ссылка / ссылка на книгу приветствуется.