Simulink data type conversion, single to uint16.
Show older comments
Hello,
I'm using simulink and I need to convert from a single to a uint16.
Could a kind soul kindly explain why the output of a single (with range 0-2pi) equates to an uint16 of zero?
Here is an example:

And here is the output of that example:

There are a number of uint16 signals in my model with range 0-4000 (I am reading from sevreral ADC). All behave as expected. Just this conversion, in this instance.
5 Comments
Daniel
on 18 Sep 2024
What is happening to that value downstream? Are you generating code? Is it being used for trigonometry?
Walter Roberson
on 18 Sep 2024
Are you using the Data Type Conversion Block? https://www.mathworks.com/help/simulink/slref/datatypeconversion.html
Walter Roberson
on 18 Sep 2024
I would expect single range 0 to 2*pi to convert to uint16 values 0, 1, 2, 3, 4, 5 or 6.
Data type conversion does not do any scaling to match the range. For example it is not going to scale 0 to 2*pi to 0 to 62831
Jamie
on 25 Sep 2024
Accepted Answer
More Answers (0)
Categories
Find more on String in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

