Change the output data type
9 次查看(过去 30 天)
显示 更早的评论
I have a simulink model as follows
As you can see the data output is in the form fixed fixdt(1,14,12). Can anyone help me convert the output to fixdt(1,14,13)? what block do i have to use to do that? This is my model
2 个评论
Kiran Kintali
2023-8-8
Please consider using fixed point designer to analyze ranges and use better fixed point types in the blocks.
Kiran Kintali
2023-8-9
Found few incorrect constant types. For example you had a constant block where '1' cannot be represented with the output type set on the block.
>> a = fi(0, 0,14,14)
a =
0
DataTypeMode: Fixed-point: binary point scaling
Signedness: Unsigned
WordLength: 14
FractionLength: 14
>> a.range
ans =
0 0.999938964843750
DataTypeMode: Fixed-point: binary point scaling
Signedness: Unsigned
WordLength: 14
FractionLength: 14
>>
Attached model with the necessary changes.
回答(1 个)
Sahas
2024-12-18,6:28
MathWork's "fixdt" function creates a "Simulink.NumericType" object describing a fixed-point or floating-point data type. You can utilize this function, in a "Data-type Converter" block and get the desired output data type. Follow the steps below and get the desired output data type:
- Double click the DTC block to open it's Block Parameters.
- In the Output Data Type field choose "<data type expression>".
- Enter the required output data type following the "fixdt" function conventions.
- Assuming that the Value is in the valid range, you will get the desired output data type as shown in the image below:
For more information on "fixdt" function and "DTC" block, refer to the following MathWorks documentation links:
- https://www.mathworks.com/help/simulink/slref/simulink.numerictype.fixdt.html
- https://www.mathworks.com/help/simulink/slref/datatypeconversion.html
Hope this is beneficial!
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 HDL Code Generation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!