Invalid Trellis Structure: Each element of the 'outputs' matrix (in decimal format) must be between 0 and numOutputSymbols-1.

2 views (last 30 days)
I have implemented a small Simulink Encode and Decode system using Convolutional Encoder and Viterbi Decoder. Initially it executed perfectly for C and HDL code generation. But after some time,when try to update the diagram it throw an error above. I am not sure why this error occurs. i have included a trellis structure included from one of Mathworks example.
I have attached simulink diagram. It would be a great help to get an idea why this error occurs.
Edit 1 I think i found out why this error occurs. Whenever, i add Matlab folders and subfolders to the path in Workspace and update the model it throws above error. But when i remove folders from path and update model it compiles fine. I don't understand the reason behind this whether it relates to compilation procedure or some bug in R2016a!!?
  2 Comments
Walter Roberson
Walter Roberson on 26 Dec 2016
I loaded in the above .zip and ran the model. The only thing I had to change was in the Bit_generator subsystem, the output of the second block had to be changed to Boolean instead of uint8 .
suneel kumar Gaddam
suneel kumar Gaddam on 28 Dec 2016
Yes i forgot to change the data type while adding the model here.The Model which i applied seemed to work fine after a system restart. I still don't understand what actually provoked intitally the error.

Sign in to comment.

Answers (1)

Bharath Venkataraman
Bharath Venkataraman on 23 Dec 2016
Which version of MATLAB are you using? I was able to generate HDL code for the Convolutional encoder and Viterbi decoder subsystems in the model with no errors once I converted the input to the convolutional encoder to Boolean using the data type conversion block.
  2 Comments
suneel kumar Gaddam
suneel kumar Gaddam on 26 Dec 2016
I am using R2016a on windows with Embedded support package installed. As i said it initially worked fine and i was able to convert both of the Subsystems. But later i was not able to convert and i didn't changed anything in connections or data types and i think there is no need for a data conversion block as the compare to constant can give us a boolean output.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!