Why does poly2trellis generate a different trellis for equivalent inputs?
15 views (last 30 days)
Show older comments
I am new to MATLAB and am trying to generate test data for a convolutional encoder. I used the following code to generate a trellis using the octal numbers(171 133) for my CodeGenerator parameter. I then tried using the string form to generate the same trellis, but obviously based on the output the second trellis is different. Why are the two trellises different?
>> msg=[1 0 1 0 1 0 1 0];
>> cg1 = [ 171 133 ];
>> cg2 = { '1+x+x^2+x^3+x^6', '1+x^2+x^3+x^5+x^6'};
>> tr1=poly2trellis(7, cg1);
>> tr2=poly2trellis(7, cg2);
>> isequal(tr1,tr2)
ans = logical 0
0 Comments
Accepted Answer
Suze Zhang
on 20 Sep 2017
Hi David,
The reason that the outputs of the two trellis are not equal is that when converting the coefficients of the the 6th degree polynomials to octal number representations, it should start with the highest degree. For your example,
>> cg2 = { '1+x+x^2+x^3+x^6', '1+x^2+x^3+x^5+x^6'};
The corresponding two octal numbers would be 1001111 and 1101101, which are 117 and 155.
>>tr1=poly2trellis(7, [117, 155]);
This tr1 will be equal to tr2 in your example code.
More Answers (0)
See Also
Categories
Find more on Error Detection and Correction in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!