2016-04-12 15 views
0

Я пытаюсь кодировать и декодировать простое сообщение с использованием Matlab. Сообщение обозначается msg = [1 0 0 1 1 1 0 1]. шаг кодирования является плодотворным, но шаг декодирования «viterbi» возвращает двоичную строку нулей «0 0 0 0 0 0 0 0», а не начальный msg. Далее исходный код, я не knwo, где есть проблема
Преобразование кода и декодирования viterbi с использованием matlab

trellis = poly2trellis(7,[171 133]) 
code = convenc(msg,trellis); 
decoded = vitdec(code,trellis,64,'cont','hard'); 

спасибо большое.

ответ

1

Вы можете попробовать эту линию вместо:

vitdec(code, trellis,8,'trunc','hard') 

Как и в помощи MATLAB говорит: «Режим„продолжение“подходит, когда вы вызываете эту функцию несколько раз и хотите, чтобы сохранить преемственность между последовательными вызовами.» Но ваш входной вектор не такой.

+0

Спасибо, мистер @ Алиреза Амиршахи –