我正在尝试为我的项目创建一个turbo编码器。
直到现在我已经创建了1/2速率的卷积编码器。现在我很难应用交织器。这是我的代码。我没有在ilvr获得输出。纠正我的错误。提前致谢
msg = [0 1 0 1 1 1 0 0 1 0 1 0 0 0 1];
t= poly2trellis(3,[6 7]);
[isok,status] = istrellis(t);
code1 = convenc(msg,t);
ilvr = randperm(msg);
code2 = convenc(ilvr,t);
答案 0 :(得分:0)
首先,如果您的问题是关于ilvr
,那么为什么要包含除msg
的定义和相关行之外的其余代码?
其次,当我跑这个时:
msg = [0 1 0 1 1 1 0 0 1 0 1 0 0 0 1];
ilvr = randperm(msg);
我收到以下错误:
Error using randperm
Size inputs must be scalar.
因此,这意味着输入不是randperm
所期望的。然后我输入了help randperm
,并查看了randperm
的帮助,现在我了解randperm
做了什么以及预期的输入。错误是因为您给了randperm
一个向量,但第一个输入必须是整数。
我不确定你要在那条线上做什么,也许你正试图在msg
中对元素进行随机排列?在帮助页面中提示后,请尝试以下操作:
ilvr=msg(randperm(numel(msg)));