我正在使用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',...)
对于第二个函数定义(软解码),没有穿孔模式向量的参数,我该怎么做呢?
3条答案
按热度按时间9q78igpj1#
文档中没有列出以下函数,但我尝试了一下,它工作正常:
请确保您了解,现在
code
变量中的元素需要介于0
和2^nsdec-1
之间,而不是像硬决策模式那样介于0
或1
之间。3b6akqbq2#
根据MATLAB文档(https://www.mathworks.com/help/comm/ref/vitdec.html)
decoded = ... vitdec(code,trellis,tblen,opmode,dectype,puncpat)
DECTYPE指示解码器做出的判决的类型,并影响解码器在代码中期望的数据类型。
dectype的选择之一是“软”。看起来你只是在punctat中放入了穿孔模式,和你在convent中做的完全一样。
yvgpqqbh3#
您可以使用此命令,假定
code1
是您的代码: