[英]soft viterbi decoder not working properly
I have been working on viterbi decoder in matlab2009 on simple 1/2 rate convolutional encoder. 我一直在matlab2009的简单1/2速率卷积编码器上研究维特比解码器。 Here is my code
这是我的代码
trel = poly2trellis(3,[7 5]);
msg = [ 0 1 0 1 1 1 0 0 1 0 1 0 0 0 1 ];
code = convenc(msg,trel);
% Traceback Length
tblen = 5;
ucode = real(awgn(1-2*code,tblen,'measured'));
dcd = vitdec(ucode,trel,tblen,'cont','unquant');
According to this input code i am getting the code = 00 11 10 00 01 10 01 11 11 10 00 10 11 00 11 which is correct but talking about the dcd which is output after viterbi decoder is coming incorrect ie 000000101110010. which is far different from my msg input. 根据此输入代码,我得到的代码= 00 11 10 00 01 10 01 11 11 11 10 00 10 11 00 11这是正确的,但是谈论维特比解码器出现错误之后输出的dcd,即000000101110010。从我的味精输入。
guide me where i am going incorrect 指导我我要去哪里不正确
The decoded output depends on the type of opmode
Input you selected. 解码后的输出取决于您选择的
opmode
输入的类型。
In case of cont
, there is a delay in the output equal to tblen
number of symbols whereas there are 'term' and trunc
modes as well. 在
cont
情况下,输出中的延迟等于符号的tblen
,而同时也存在'term'和trunc
模式。
You can compare the initial msg(1,end-tblen)
symbols with dcd(1,tblen+1:end)
. 您可以将初始
msg(1,end-tblen)
符号与dcd(1,tblen+1:end)
。 They are same! 他们是一样的!
You may check vitdec
at Matlab help. 您可以在Matlab帮助中检查
vitdec
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.