2014-11-03 26 views
0

我一直在研究matlab2009中的维特比解码器在简单的1/2速率卷积编码器上。 这里是我的代码软维特比解码器不能正常工作

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'); 

根据该输入代码 我收到码= 00 11 10 00 01 10 01 11 11 10 00 10 11 00 11 这是正确的 但谈论的DCD哪些在维特比解码器出错后输出 即000000101110010.这与我的信号输入有很大的不同。

指导我我要去的地方不正确

+0

它看起来*转移*给我... – 2014-11-03 11:31:36

回答

0

解码输出取决于您选择opmode输入的类型。

cont的情况下,输出的延迟等于tblen符号的数量,同时还有'term'和trunc模式。

您可以将最初的msg(1,end-tblen)符号与dcd(1,tblen+1:end)进行比较。他们是一样的!

您可以在Matlab帮助中查看vitdec

+0

是的,我已经意识到我的错误早,谢谢你的回答。 :) – Naveen 2014-11-24 13:06:55

+0

阿希什夏尔马你能帮我用软输入软输出matlab代码。 – Naveen 2014-12-11 08:40:34