# Propose Data Types

Fraction length and word length proposals

## Tools

 `Fixed-Point Tool`

## Functions

 `nts` Determine fixed-point data type

## Classes

 `DataTypeWorkflow.Converter` Create fixed-point converter object `DataTypeWorkflow.ProposalSettings` Proposal settings object for data type proposals

## Examples and How To

Proposing Data Types

Fourth step in autoscaling using range analysis workflow.

Propose Fraction Lengths

Use the Fixed-Point Tool to scale fixed-point data types in a model.

Propose Word Lengths Based on Simulation Data

This example shows how to use the Fixed-Point Tool to propose word lengths for a model that implements a simple moving average algorithm.

Propose Data Types for a Referenced Model

This example shows how to propose data types for a referenced model.

Examine Results to Resolve Conflicts

Fifth step in autoscaling using range analysis workflow.

Apply Proposed Data Types

Final step in autoscaling using range analysis workflow.

Intermediate Range Results

Interpret the Intermediate Maximum and Intermediate Minimum results in the Result Details tab.

Convert a Model with Buses to Fixed-Point Using Range Analysis

This section shows how to convert a floating-point model that contains bus objects to fixed-point using range analysis.

## Concepts

Fixed-Point Tool

Introduces the Fixed-Point Tool

Automatic Data Typing Methods

There are three automatic data typing methods for converting your system to fixed point.

Before Proposing Data Types for Your Model

Take these actions to prepare your model for fixed-point conversion.

Best Practices for Fixed-Point Workflow

Modeling best practices for converting a model to fixed point.

How the Fixed-Point Tool Proposes Word Lengths

The Fixed-Point Tool uses specified fraction lengths to recommend the minimum word length for objects to avoid overflow for the collected range information.

Get Proposals for Results with Inherited Types

Blocks can inherit data types from a variety of sources. You can get data type proposals for blocks that use inherited output data types using the Fixed-Point Tool.

Bus Objects in the Fixed-Point Workflow

This section describes how data type override behaves with bus objects, and how data types are determined for bus objects.

Best Practices for Working with the MATLAB Function Block in the Fixed-Point Tool

Follow these best practices for a smoother conversion process from floating point to fixed point.

Automatic Data Typing of Simulink Signal Objects

Automatic Data Typing Using Derived Ranges

Workflow for autoscaling a model using range analysis.

The Command-Line Interface for the Fixed-Point Tool

Highlight the differences between the command-line interface workflow and the Fixed-Point Tool workflow

## Troubleshooting

Find Blocks That Support Fixed-Point Data Types

The Simulink Block Data Type Support table summarizes characteristics of blocks in the Simulink® block library, including whether or not they support fixed-point data types.

Models That Might Cause Data Type Propagation Errors

Overview of modeling practices that could cause data type propagation errors after autoscaling.

Data Type Propagation Errors After Applying Proposed Data Types

Under certain conditions, the Fixed-Point Tool may propose a data type that is not compatible with the model.

Why Did The Fixed-Point Tool Not Propose Data Types?

This section explains what to do when the Fixed-Point Tool does not propose any data types.

Data Type Mismatch and Structure Initial Conditions

This example shows how to replace a structure initial condition with a `Simulink.Parameter` object.