Iterative Fixed-Point Conversion in Simulink
The Fixed-Point Tool is a user interface that automates the task of
specifying fixed-point data types in a Simulink® model. The tool collects range data for model objects
based on simulation, derived, or design ranges. In the
Iterative Fixed-Point Conversion workflow, the
tool then proposes fixed-point data types that maximize precision and
cover the range. You can then review the data type proposals and apply
them selectively to objects in your model. If design requirements are
not met, you can adjust data type proposal settings, visualize their
effects, and iterate until the system meets your requirements.
To convert your model to fixed point, follow the steps in Iterative Fixed-Point Conversion Using the Fixed-Point Tool. For an example of the complete conversion process, see Convert Floating-Point Model to Fixed Point.
DataTypeWorkflow.Converter object and its associated
object functions are a command-line alternative to the
Iterative Fixed-Point Conversion in the
|Fixed-Point Tool||Convert a floating-point model to a fixed-point model|
|Open the Fixed-Point Tool|
|Create fixed-point converter object|
|Get a list of subsystems to replace with an approximation|
|Proposal settings object for data type proposals|
|Object containing run result information|
|Verification results after converting a system to fixed point|
Iterative Fixed-Point Conversion Workflow Overview
Use best practices when converting a model to fixed point.
Use the Fixed-Pint Tool to convert a system from floating point to fixed point.
- STEP 1: Prepare System for Conversion
- STEP 2: Collect Ranges
- STEP 3: Convert Data Types
- STEP 4: Verify New Settings
- STEP 5: Explore Additional Data Types
Use the Fixed-Point Tool to convert a floating-point model to fixed point.
Use the Fixed-Point Tool to autoscale fixed-point data types in a feedback model.
Learn the differences between the command-line interface workflow and the Fixed-Point Tool workflow.
Prepare System for Conversion
Use the Fixed-Point Tool to check the system under design for compatibility with the conversion process.
Use signal tolerances and model verification blocks to verify behavior of fixed-point implementation.
Fixed-point instrumentation and data type override settings for gathering range information on your model.
Choose from three methods for collecting ranges on which to base data type proposals.
Learn how the static analysis derives range information.
- Derive Ranges at the Subsystem Level
- Derive Ranges Using Design Ranges
- Derive Ranges Using Block Initial Conditions
- Derive Ranges for Simulink.Parameter Objects
- Intermediate Range Results
- Simulink Blocks Supported for Range Analysis
- Unsupported Simulink Software Features
Maintain integer data types in your model when using data type override.
Propose Data Types
Learn how the Fixed-Point Tool proposes data types based on collected ranges and proposal settings.
Use the Fixed-Point Tool to merge results from multiple simulations, and propose data types based on the merged results.
Use the Fixed-Point Tool to propose word lengths for a model that implements a simple moving average algorithm.
Convert Data Types
Use the Fixed-Point Tool to log simulation minimum and maximum values for referenced models and proposes data types based on a union of the collected ranges.
Learn how data type override behaves with bus objects, and how data types are determined for bus objects.
Use the Fixed-Point Tool to convert a model that uses data objects for data type specification to fixed point.
Use the Fixed-Point Tool to convert a MATLAB® Function block to fixed-point.
Information filtering, sorting, and analysis in the Fixed-Point Tool.
Use the Simulation Data Inspector to view simulation results and compare runs to verify your fixed-point design.
Iteratively explore different proposal settings to find the best floating point to fixed-point conversion.
Example showing how to use referenced data dictionaries to store multiple sets of data types for a model.
Troubleshoot blocks that are not supported for fixed-point conversion.
Follow best practices and avoid unsupported MATLAB Function block features.
Know which modeling practices could cause data type propagation errors after autoscaling.
Troubleshoot range analysis issues.
Avoid specifying conflicting design minimum and maximum values in your model.
Troubleshoot errors caused by insufficient design range information by providing additional input design minimum and maximum values.
Troubleshoot insufficient design range information that prevents successful derived range analysis.
Reconfigure a System Object, if necessary, so that ranges can be derived for the model.
Troubleshoot when the Fixed-Point Tool does not propose data types.
Example showing how to replace a structure initial condition with a
Troubleshoot when the Fixed-Point Tool proposes data types that are not compatible with the model.