The values of desired_speed and desired_trq are 1 & 99, the typedef is PERCENTAGE which of integer type,but while simulating it is showing fraction values, Is this something to do with the "PERCENTAGE " typedef ?

1 次查看(过去 30 天)
datatype.PNG
data.PNG
typdef definition of PERCENTAGE in .m :
PERCENTAGE.WordType = 'uint16';
PERCENTAGE.DataTypeMode = 'Fixed-point: slope and bias scaling';
PERCENTAGE.Signed = 0;
PERCENTAGE.WordLength = 16;
PERCENTAGE.ScalingMethod = 'gain/offset';
PERCENTAGE.Gain = 2^15/100;
PERCENTAGE.DisplayMin = 0;
PERCENTAGE.DisplayMax = 199.9;
PERCENTAGE.DisplayPrecision = 8;
PERCENTAGE.Description = 'This is the percentage datatype';
PERCENTAGE.DisplayUnits = 'percent';

采纳的回答

Mark McBroom
Mark McBroom 2019-1-5
You have specified PERCENTABE to used fixed point data type. Simulink is showing you the floating point equivalent of the integer value after applying the specified slope and bias scaling.
  4 个评论
Manjunath Bhimalli
I am expecting integer 1 as 1.00000000 in fraction not as 1.0009765625 with the same 'DataTypeMode = Fixed-point: slope and bias scaling' is that possible?
Mark McBroom
Mark McBroom 2019-1-8
With the gain you have selected, it is not possible to represent 1.000000
The LSB of the integer representation is bit = (1/2^15) * 100
327* bit = .9979
328*bit = 1.0010
You will need to select a different scale factor if you need to represent exactly 1.0000000

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Test Model Components 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by