Fixed-Point Blockset

Preface

What Is the Fixed-Point Blockset?

Exploring the Blockset

How to Get Online Help

System Requirements

Licensing Information

Related Products

Using This Guide

Expected Background

If You Are a New User

If You Are an Experienced User

How This Book Is Organized

Installation

Typographical Conventions

Introduction

Overview

Physical Quantities and Measurement Scales

Selecting a Measurement Scale

Example: Selecting a Measurement Scale

Why Use Fixed-Point Hardware?

Why Use the Fixed-Point Blockset?

The Development Cycle

Compatibility with Simulink Blocks

Unified Simulink and Fixed-Point Blockset Blocks

Frame-Based Signals

Matrix Signals

Getting Started with the Blockset

Overview of Blockset Features

Configuring Fixed-Point Blocks

Additional Features and Capabilities

Example: Converting from Doubles to Fixed-Point

Block Descriptions

Simulation Results

Demos

Basic Fixed-Point Blockset Demos

Advanced Fixed-Point Blockset Demos

Data Types and Scaling

Overview

Fixed-Point Numbers

Signed Fixed-Point Numbers

Radix Point Interpretation

Scaling

Quantization

Range and Precision

Example: Fixed-Point Scaling

Example: Constant Scaling for Best Precision

Floating-Point Numbers

Scientific Notation

The IEEE Format

Range and Precision

Exceptional Arithmetic

Arithmetic Operations

Overview

Limitations on Precision

Rounding

Padding with Trailing Zeros

Example: Limitations on Precision and Errors

Example: Maximizing Precision

Limitations on Range

Saturation and Wrapping

Guard Bits

Example: Limitations on Range

Recommendations for Arithmetic and Scaling

Addition

Accumulation

Multiplication

Gain

Division

Summary

Parameter and Signal Conversions

Parameter Conversions

Signal Conversions

Rules for Arithmetic Operations

Computational Units

Addition and Subtraction

Multiplication

Division

Shifts

Example: Conversions and Arithmetic Operations

Realization Structures

Overview

Realizations and Data Types

Targeting an Embedded Processor

Size Assumptions

Operation Assumptions

Design Rules

Canonical Forms

Direct Form II

Series Cascade Form

Parallel Form

Tutorial: Feedback Controller Simulation

Overview

Simulink Model of a Feedback Design

Simulation Setup

Idealized Feedback Design

Digital Controller Realization

Direct Form Realization

Simulation Results

1. Initial Guess at Scaling

2. Data Type Override

3. Automatic Scaling

Tutorial: Producing Lookup Table Data

Overview

Worst Case Error for a Lookup Table

Example: Square Root Function

Creating Lookup Tables for a Sine Function

Parameters for fixpt_look1_func_approx

Setting Function Parameters for the Lookup Table

Example 1: Using errmax with Unrestricted Spacing

Example 2: Using nptsmax with Unrestricted Spacing

Example 3: Using errmax with Even Spacing

Example 4: Using nptsmax with Even Spacing

Example 5: Using errmax with Power of Two Spacing

Example 6: Using nptsmax with Power of Two Spacing

Specifying Both errmax and nptsmax

Comparing the Examples

Summary: Using the Lookup Table Functions

Effect of Spacing on Speed, Error, and Memory Usage

Data ROM Required

Determining Out-of-Range Inputs

Determining Input Location

Interpolation

Conclusion

Function Reference

Functions--By Category

Conversions

Fixed-Point Settings Interface

Global Changes

Lookup Tables

Data Type Structures

Tools

Functions--Alphabetical List

Block Reference

Blocks--By Category

Bits

Calculus

Data Type

Delays & Holds

Edge Detect

Filters

Logic & Comparison

LookUp

Math

Nonlinear

Select

Sources

Overview of the Block Reference Pages

The Block Dialog Box

Common Block Features

Block Parameters

Block Icon Labels

Port Data Type Display

Blocks--Alphabetical List

Code Generation

Overview

Code Generation Support

Languages

Storage Class of Variables

Storage Class of Parameters

Rounding Modes

Overflow Handling

Blocks

Scaling

Generating Pure Integer Code

Example: Generating Pure Integer Code

HTML Report

Using the Simulink Accelerator

Using External Mode or rsim Target

External Mode

Rapid Simulation Target

Customizing Generated Code

Macros Versus Functions

Bit Sizes for Target C Compiler

Selected Bibliography


 Preface