卷积码和维特比译码使用matlab



我正在尝试使用Matlab对一条简单的消息进行编码和解码。该消息被表示为msg=[1 0 0 1 1 1 0 1]。编码步骤是富有成效的,但解码步骤"viterbi"返回一个由零组成的二进制字符串"0 0 0 0",而不是初始msg。在代码源之后,我不知道问题在哪里

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

非常感谢。

您可以试试这一行:

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

正如MATLAB帮助中所说:"当您重复调用此函数并希望保持连续调用之间的连续性时,‘cont’模式是合适的。"但是你的输入向量不是这样的。

最新更新