我正在使用Matlab实现一个通信系统,并且我以前使用convenc对二进制流进行了卷积编码和穿孔。但是,我查看了vitdec (维特比解码)的文档,我找到了以下内容。
decoded = vitdec(code,trellis,tblen,opmode,dectype)
decoded = vitdec(code,trellis,tblen,opmode,'soft',nsdec)
decoded = ... vitdec(code,trellis,tblen,opmode,dectype,puncpat)
decoded = ... vitdec(code,trellis,tblen,opmode,dectype,puncpat,eraspat)
decoded = ... vitdec(...,'cont',...,initmetric,initstates,initinputs)
[decoded,finalmetric,finalstates,finalinputs] = ... vitdec(...,'cont',...)对于第二个函数定义(使用软解码),没有用于穿孔模式向量的参数。我该怎么做呢?
发布于 2019-05-21 01:41:05
每个MATLAB文档(https://www.mathworks.com/help/comm/ref/vitdec.html)
decoded = ... vitdec(code,trellis,tblen,opmode,dectype,puncpat)
dectype指示解码器做出的决定的类型,并影响解码器在代码中期望的数据类型。
dectype的一个选择是"soft“。看起来你只是在点阵中加入了穿孔模式,就像你在convenc中所做的一样。
发布于 2019-11-28 22:07:55
您可以使用此命令,假设code1是您的代码:
% trellis = poly2trellis(L, [n1 n2]); n1 and n2 is polynome order
% tbln = 1
c = vitdec(code1, trellis, tbln, 'trunc', 'hard')https://stackoverflow.com/questions/56196351
复制相似问题