0

我一直在 matlab2009 中使用简单的 1/2 速率卷积编码器开发维特比解码器。这是我的代码

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 不正确,即 000000101110010。这是完全不同的从我的味精输入。

指导我去哪里不正确

4

1 回答 1

1

解码后的输出取决于opmode您选择的输入类型。

在 的情况下cont,输出中的延迟等于tblen符号数,而还有“术语”和trunc模式。

您可以将初始msg(1,end-tblen)符号与进行比较dcd(1,tblen+1:end)。他们是一样的!

您可以查看vitdecMatlab 帮助。

于 2014-11-18T08:00:06.537 回答