2014-11-03 11 views
0

Я работал над декодером viterbi в matlab2009 на простом сверточном кодере с частотой 1/2 скорости. Вот мой кодsoft viterbi декодер не работает должным образом

trel = poly2trellis(3,[7 5]); 
msg = [ 0 1 0 1 1 1 0 0 1 0 1 0 0 0 1 ]; 
code = convenc(msg,trel); 
% Traceback Length 
tblen = 5; 
ucode = real(awgn(1-2*code,tblen,'measured')); 

dcd = vitdec(ucode,trel,tblen,'cont','unquant'); 

В соответствии с этим входным кодом я получаю код = 00 11 10 00 01 10 01 11 11 10 00 10 11 00 11 который правильно но говорить о DCD, который выводится после того, как декодер viterbi поступает некорректно т.е. 000000101110010., который сильно отличается от моего ввода msg.

вести меня, где я буду неверная

+0

Он выглядит * сместился * на меня ... –

ответ

0

декодированного выход зависит от типа opmode ввода выбранных вами.

В случае cont есть выход на выход, равный tblen количеству символов, тогда как есть «термин» и trunc.

Вы можете сравнить начальные символы msg(1,end-tblen) с dcd(1,tblen+1:end). Они такие же!

Вы можете проверить vitdec с помощью Matlab.

+0

Да, я осознал свою ошибку раньше. Спасибо за ответ. :) – Naveen

+0

Ashish Sharma вы можете мне помочь с мягким вводом мягкого выходного кода Matlab. – Naveen

 Смежные вопросы

  • Нет связанных вопросов^_^