2016-04-12 9 views
0

J'essaye d'encoder et de décoder un message simple en utilisant Matlab. Le message est noté msg = [1 0 0 1 1 1 0 1]. l'étape de codage est fructueuse mais l'étape de décodage "viterbi" renvoie une chaîne binaire de zéros '0 0 0 0 0 0 0 0' pas le msg initial. Au-delà du code source, je ne knwo pas où est le problème
Code de convolution et décodage de viterbi en utilisant matlab

trellis = poly2trellis(7,[171 133]) 
code = convenc(msg,trellis); 
decoded = vitdec(code,trellis,64,'cont','hard'); 

merci beaucoup.

Répondre

1

Vous pouvez essayer cette ligne à la place:

vitdec(code, trellis,8,'trunc','hard') 

Comme dans l'aide Matlab dit: « Le mode « suite » est approprié lorsque vous invoquez cette fonction à plusieurs reprises et que vous voulez préserver la continuité entre les invocations successives. » Mais votre vecteur d'entrée n'est pas comme ça.

+0

Merci Monsieur @Alireza Amirshahi –