found unsupported dynamic matrix type at output port 0
6 views (last 30 days)
Show older comments
Amruta Radder
on 29 Mar 2016
Commented: Amruta Radder
on 30 Mar 2016
Hi, I am working on Laplace transfer function i.e y=sum(sin(t_rad).*exp(-s*t_rad).*0.1); where i need to convert the function into HDL code.
Error i am getting is " found unsupported dynamic matrix type at output port 0" & output y is 1*N matrix. What is the solution to avoid this error?.
0 Comments
Accepted Answer
Tim McBrayer
on 29 Mar 2016
HDL Coder does not support dynamic matrices at any point. The matrix in question may not be your final output, but some intermediate temporary value inside your complicated expression.
I would try converting your code to a much simpler form with explicitly typed and sized variables for each operation. This may expose or even eliminate the dynamic matrix.
You can convert:
y=sum(sin(t_rad).*exp(-s*t_rad).*0.1)
to this style:
t1 = -s * t_rad;
t2 = exp(t1);
t3 = t2 .* 0.1;
and so on. If you are in the fixed point domain already, you can apply explicit types and sizing at each step.
4 Comments
Walter Roberson
on 30 Mar 2016
Use Fixed Point Designer and configure the rounding mode to "Simplest"; see http://www.mathworks.com/help/dsp/ug/concepts-and-terminology.html
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!