How to use comm.Convo​lutionalEn​coder and comm.Viterbi decoder in matlab

5 views (last 30 days)
Hi guys !
Im really doing something simple but Im stuck because there's something Im missing and it would be appreciated if there's anyone to help me to succeed in implementing it.
I have a simple message [1 0 1] and I encoding it by convolutionalEncoder (k=7 , r=1/2) and I want to decode it by Viterbi decoder so I the output of Viterbi decoder(soft decision) should be as the input to the convolutional Encoder.
Im using comm. feature of matlab and Im stuck and not succeeding to decode the simple message, the code in matlab is:
msg=[ 1 0 1] %I want to encode this message to encoder.
constlen = 7;
tblen=length(msg)
codegen = [171, 133]; % G1=171 , G2=133.
trellis = poly2trellis(constlen, codegen);
encodedData = comm.ConvolutionalEncoder(trellis);
DecodedData=comm.ViterbiDecoder(trellis,'InputFormat','TracebackDepth', tblen);
I got wrong Decoded Data (wrong output of decoder) and not the same input data (msg) , any help please? thanks alot and appreciated.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!