我尝试使用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');
非常感谢。
答案 0 :(得分:1)
您可以尝试使用此行:
vitdec(code, trellis,8,'trunc','hard')
正如在MATLAB帮助中所说:“当你反复调用这个函数并希望保持连续调用之间的连续性时,'cont'模式是合适的。” 但是你的输入向量不是这样的。