Fixed-Point Blockset

Getting Started


Preface

What Is the Fixed-Point Blockset?

Exploring the Blockset

Related Products

System Requirements

Associated Products

Using This Guide

Expected Background

Learning the Fixed-Point Blockset

How This Book Is Organized

Installation Information

Typographical Conventions


Introduction

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

The Fixed-Point Blockset Library

Fixed-Point Blocks

Compatibility with Simulink Blocks

How to Get Online Help


Getting Started

An 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 Demos

Advanced Demos: Filters and Systems

Using the Fixed-Point Blockset

Data Types and Scaling

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

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

Direct Form II

Series Cascade Form

Parallel Form

Tutorial: Feedback Controller Simulation

Simulink Model of a Feedback Design

Idealized Feedback Design

Digital Controller Realization

Simulation Results

Simulation 1: Initial Guess at Scaling

Simulation 2: Global Override

Simulation 3: Automatic Scaling

Simulation 4: Individual Override

Building Systems and Filters

Targeting an Embedded Processor

Size Assumptions

Operation Assumptions

Design Rules

Integrator Realizations

Trapezoidal Integration

Backward Integration

Forward Integration

Derivative Realizations

Filtered Derivative

Derivative

Lead Filter or Lag Filter Realization

State-Space Realization

Reference


Function Reference

Alphabetical List of Functions

autofixexp

fixptbestexp

fixptbestprec

fixpt_convert

fixpt_convert_prep

fixpt_restore_links

float

fpupdate

fxptdlg

sfix

sfrac

showfixptsimranges

sint

ufix

ufrac

uint


Block Reference

The Block Reference Page

The Block Dialog Box

Common Block Features

Block Parameters

Block Icon Labels

Port Data Type Display

Blocks Grouped by Category

Alphabetical List of Blocks

FixPt Absolute Value

FixPt Bitwise Operator

FixPt Constant

FixPt Conversion

FixPt Conversion Inherited

FixPt Data Type Propagation

FixPt Dead Zone

FixPt Dot Product

FixPt Dynamic Look-Up Table

FixPt FIR

FixPt Gain

FixPt Gateway In

FixPt Gateway In Inherited

FixPt Gateway Out

FixPt Integer Delay

FixPt Logical Operator

FixPt Look-Up Table

FixPt Look-Up Table (2D)

FixPt Matrix Gain

FixPt MinMax

FixPt Multiport Switch

FixPt Product

FixPt Relational Operator

FixPt Relay

FixPt Saturation

FixPt Sign

FixPt Sum

FixPt Switch

FixPt Tapped Delay

FixPt Unary Minus

FixPt Unit Delay

FixPt Zero-Order Hold


Code Generation

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

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


 Getting Started