found unsupported dynamic matrix type at output port 0
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Amruta Radder
le 29 Mar 2016
Commenté : Amruta Radder
le 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 commentaires
Réponse acceptée
Tim McBrayer
le 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 commentaires
Walter Roberson
le 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
Plus de réponses (0)
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!