使用matlab进行卷积码和维特比解码

时间:2016-04-12 14:12:40

标签: convolution viterbi

我尝试使用Matlab对简单消息进行编码和解码。该消息表示为msg = [1 0 0 1 1 1 0 1]。编码步骤富有成效,但解码步骤"维特比"返回零的二进制字符串' 0 0 0 0 0 0 0 0'不是最初的消息。此后代码来源,我不知道问题在哪里

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

非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用此行:

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

正如在MATLAB帮助中所说:“当你反复调用这个函数并希望保持连续调用之间的连续性时,'cont'模式是合适的。”  但是你的输入向量不是这样的。