DSP Blockset

Introduction

Welcome to the DSP Blockset

What Is the DSP Blockset?

Key Features

Frame-Based Operations

Matrix Support

Adaptive and Multirate Filtering

Statistical Operations

Linear Algebra

Parametric Estimation

Real-Time Code Generation

What Is in the DSP Blockset?

Related Products

Getting Help with the DSP Blockset

Using This Guide

Getting Help Online

How to Run Examples in the MATLAB Help Browser

Running Example Code in the MATLAB Help Browser
Without Retyping It

Running Example Models with the Click of the Mouse

Technical Conventions

Signal Dimension Nomenclature

Matrices

Vectors

Arrays

Frame-Based Signal Nomenclature

Sampling Nomenclature

Typographical Conventions

Installing DSP Blockset

Simulink Review

What Is Simulink?

Starting Simulink

Simulink on PC Platforms

Simulink on UNIX Platforms

The Simulink Libraries

Getting Started with Simulink

Model Definition

Model Simulation

Tunable Parameters

How to Tune Tunable Parameters

Tunability in Simulation, Accelerator, and External
Mode

Running a Simulation from an M-File

Learning More About Simulink

Working with Signals

Signal Concepts

Discrete-Time Signals

Time and Frequency Terminology

Discrete-Time Signals in Simulink

Recommended Settings for Discrete-Time Simulations

Additional Settings for Discrete-Time Simulations

Cross-Rate Operations in Variable-Step and Fixed-Step
SingleTasking Modes

Example: Cross-Rate Operations

Sample Time Offsets

Continuous-Time Signals

Source Blocks

Continuous-Time Source Blocks

Discrete-Time Source Blocks

Nonsource Blocks

Discrete-Time Nonsource Blocks

Continuous/Discrete Nonsource Blocks

Multichannel Signals

Sample-Based Multichannel Signals

Frame-Based Multichannel Signals

Benefits of Frame-Based Processing

Accelerating Real-Time Systems

Accelerating Simulations

Sample Rates and Frame Rates

Sample Rate and Frame Rate Concepts

Inspecting Sample Rates and Frame Rates

Using the Probe Block to Inspect Rates

Probe Block Example: Sample-Based

Probe Block Example: Frame-Based

Using Sample Time Color Coding to Inspect Sample Rates

Sample Time Color Coding Example: Sample-Based

Sample Time Color Coding Example: Frame-Based

Converting Sample Rates and Frame Rates

Direct Rate Conversion

Rate Conversion Blocks

Example: Rate Conversion by Frame-Rate Adjustment

Example: Rate Conversion by Frame-Size Adjustment

Frame Rebuffering

Buffering Blocks

Buffering with Preservation of the Signal

Example: Buffering with Preservation of the Signal

Buffering with Alteration of the Signal

Example: Buffering with Alteration of the Signal

Avoiding Unintended Rate Conversions

Example 1: No Rate Conversion

Example 2: Unintended Rate Conversion

Changing Frame Status

Creating Signals

Creating Signals Using Constant Blocks

Example: Creating Signals with the DSP Constant Block

Creating Signals Using Signal Generator Blocks

Example: Creating Signals with the Sine Wave Block

Creating Signals Using the Signal From Workspace Block

Example 1: Generating Sample-Based Output

Example 2: Generating Frame-Based Output

Constructing Signals

Constructing Multichannel Sample-Based Signals

Constructing Sample-Based Multichannel Signals
from Independent Sample-Based Signals

Example: Concatenating Single-Channel Signals

Constructing Sample-Based Multichannel Signals
from Existing Sample-Based Multichannel Signals

Example: Concatenating Multichannel Signals

Constructing Multichannel Frame-Based Signals

Concatenating Independent Frame-Based Signals
into Multichannel Signals

Example: Concatenating Frame-Based Signals

Buffering Sample-Based and Frame-Based Signals

Example: Buffering Sample-Based Signals without
Overlap

Overlapping Buffers

Example: Buffering Sample-Based Signals with Overlap

Example: Buffering Frame-Based Signals with Overlap

Buffering Delay and Initial Conditions

Deconstructing Signals

Deconstructing Multichannel Sample-Based Signals

Deconstructing a Sample-Based Multichannel Signal
into Multiple Independent Signals

Example: Deconstructing to Independent Signals

Deconstructing a Sample-Based Multichannel Signal
into a Related Multichannel Signal

Example: Deconstructing to a Multichannel Signal

Deconstructing Multichannel Frame-Based Signals

Splitting a Multichannel Signal into Individual Signals

Example: Splitting a Multichannel Frame-Based Signal

Unbuffering a Frame-Based Signal into a Sample-Based
Signal

Example: Unbuffering a Frame-Based Signal

Reordering Channels in a Frame-Based Multichannel
Signal

Importing Signals

Importing a Multichannel Sample-Based Signal

Importing a Sample-Based Vector Signal

Example: Importing a Sample-Based Vector Signal

Importing a Sample-Based Matrix Signal

Example: Importing a Sample-Based Matrix Signal

Importing a Multichannel Frame-Based Signal

Importing a Frame-Based Signal with
the Signal From Workspace Block

Example: Importing a Frame-Based Signal

Importing WAV Files

Exporting Signals

Exporting Multichannel Signals

Exporting a Sample-Based Signal Using the To Workspace
Block

Example: Exporting a Sample-Based Matrix Signal

Exporting a Frame-Based Signal
Using the To Workspace Block

Example: Exporting a Frame-Based Signal

Exporting and Playing WAV Files

Viewing Signals

Displaying Signals in the Time-Domain

Example: Displaying Time-Domain Data

Improving the Appearance of the Display

Displaying Signals in the Frequency-Domain

Example: Displaying Frequency-Domain Data

Displaying Matrices

Example: Displaying Matrices

Delay and Latency

Computational Delay

Reducing Computational Delay

Algorithmic Delay

Zero Algorithmic Delay

Example: Zero Algorithmic Delay

Zero Algorithmic Delay and Algebraic Loops

Basic Algorithmic Delay

Example: Basic Algorithmic Delay

Excess Algorithmic Delay (Tasking Latency)

Simulink Tasking Mode

Block Rate Type

Model Rate Type

Block Sample Mode

Predicting Tasking Latency

Example: Nonzero Tasking Latency

Example: Zero Tasking Latency

Filters

Three Main Filter Blocks

C Code Generated from Filter Blocks

Topics Covered

Designing, Analyzing, and Implementing Filters

Topics Covered

Related Topics

Choosing Between Digital Filter Design Block and Filter
Realization Wizard

Similarities

Differences

When to Use Each Block

Filter Design, Analysis, and Implementation with the Digital
Filter Design Block

Filter Design and Analysis

Filter Implementation

Saving, Exporting, and Importing Filters

Examples and Related Topics

Example: Using the Digital Filter Design Block to Design,
Analyze, and Implement a Filter

Step 1 -- Get Necessary Blocks

Step 2 -- Design the Lowpass Filter and Select a Filter
Structure

Step 3 -- Design the Highpass Filter and Select a Filter
Structure

Step 4 -- Set the Rest of the Blocks' Parameters and
Connect the Blocks

Step 5 -- Set Simulation Parameters and Run the
Model

Step 6 -- Set the Vector Scope Display Colors

Step 7 -- Change the Filter While the Simulation Runs

Example: Saving, Importing, and Exporting Filters

Saving an FDATool Filter Design Session

Importing a Filter to FDATool

Exporting a Filter from FDATool

Filter Analysis and Design with Other MathWorks Products

Implementing Predesigned Filters

Examples and Other Related Topics

Implementing Predesigned Filters with the Digital Filter
Block

Required Filter Parameters for Using the Digital Filter
Block

Related Topics

Example: Using the Digital Filter Block to Implement a
Predesigned Filter

Step 1 -- Get the Coefficients of the Predesigned Filters

Step 2 -- Get Necessary Blocks

Step 3 -- Set the Lowpass Digital Filter Block
Parameters

Step 4 -- Set the Highpass Digital Filter Block
Parameters

Step 5 -- Set the Rest of the Blocks' Parameters and
Connect the Blocks

Step 6 -- Set Simulation Parameters and Run the
Model

Step 7 -- Set the Vector Scope Display Colors

Multirate Filters

Multirate Filtering Demos

Opening Demos

Adaptive Filters

Adaptive Filtering Demos

Opening Demos

Analog IIR Filters

Transforms

Using the FFT and IFFT Blocks

Example: Using the FFT Block

Example: Using the IFFT Block

Statistics, Estimation, and Linear Algebra

Statistics

Basic Operations

Example: Sliding Windows

Running Operations

Power Spectrum Estimation

Linear Algebra

Solving Linear Systems

Example: LU Solver

Factoring Matrices

Example: LU Factorization

Inverting Matrices

Example: LU Inverse

Block Reference

Blocks -- By Category

DSP Sinks

DSP Sources

Estimation

Linear Prediction

Parametric Estimation

Power Spectrum Estimation

Filtering

Adaptive Filters

Filter Design, Analysis, and Implementation

Multirate Filters

Math Functions

Math Operations

Matrices and Linear Algebra

Linear System Solvers

Matrix Factorizations

Matrix Inverses

Matrix Operations

Polynomial Functions

Platform-Specific I/O

Windows (WIN32)

Quantizers

Signal Management

Buffers

Indexing

Signal Attributes

Switches and Counters

Signal Operations

Delaying

Padding

Resampling

Miscellaneous Operations

Statistics

Transforms

Blocks -- Alphabetical List

Sample-Based Operation

Frame-Based Operation

Equations for Output Computation

Output Computation Method for Linear, Quadratic, and
Logarithmic Frequency Sweeps

Output Computation Method for Swept Cosine
Frequency Sweep

Swept Cosine Instantaneous Output Frequency at the
Target Time is not the Target Frequency

Swept Cosine Output Frequency Content May Greatly
Exceed Frequencies in the Sweep

Example 1: Setting a Final Frequency Value for
Unidirectional Sweeps

Example 2: Bidirectional Sweeps

Example 3: When Sweep Time is Greater Than Target
Time

Example 4: Output Sweep with Negative Frequencies

Example 5: Output Sweep with Frequencies Greater
Than Half the Sampling Frequency

Valid Input to Multiply

Valid Reset Signal

Output Characteristics

Multiplying Along Channels of Frame-Based Inputs

Multiplying Along Channels of Sample-Based Inputs

Resetting the Cumulative Product Along Channels

Valid Input to Sum

Valid Reset Signal

Output Characteristics

Summing Along Channels of Frame-Based Inputs

Summing Along Channels of Sample-Based Inputs

Resetting the Cumulative Sum Along Channels

Tuning the Filter Coefficient Values During Simulation

Setting the Coefficient Update Rate

Providing Filter Coefficient Vectors at Block Input
Ports

Removing the 1/a0 Term in the Filter Structure

Zero Latency

Nonzero Latency

Wavelets

Demos

Valid Inputs for Input = Single port

Valid Inputs for Input = Multiple ports

Description of Bit-Reversed Ordering

Use of Outputs in Bit-Reversed Order

Valid Inputs

Corresponding Outputs

What is Considered an Independent Channel

Zero Latency

Nonzero Latency

Zero Latency

Nonzero Latency

Resetting the Running Histogram

Fixed Initial Conditions

Time-Varying Initial Conditions

Fixed Initial Conditions

Time-Varying Initial Conditions

Example of Clipping

Notable Input and Output Properties

What Invalid Outputs Look Like

Parameters for Handling Invalid Inputs and Outputs

Root Finding Method

Resetting the Running Maximum

Resetting the Running Mean

Resetting the Running Minimum

Valid Overwriting Values

Specifying Initial Seeds for Real Outputs

Specifying Initial Seeds for Complex Outputs

Zero Latency

Nonzero Latency

Resetting the Running RMS

Example 1: Sample-Based Inputs

Example 2: Frame-Based Inputs

Trigonometric Fcn

Table Lookup

Differential

Resetting the Running Standard Deviation

Valid Sample-Based Inputs

Sample-Based Outputs

Valid Frame-Based Inputs

Frame-Based Outputs

Valid Sample-Based Inputs

Sample-Based Outputs

Valid Frame-Based Inputs

Frame-Based Outputs

Zero Latency

Nonzero Latency

Zero Latency

Nonzero Latency

Linear Interpolation Mode

FIR Interpolation Mode

Fixed Initial Conditions

Time-Varying Initial Conditions

Fixed Initial Conditions

Time-Varying Initial Conditions

Resetting the Running Variance

Line Visibilities

Line Styles

Line Markers

Line Colors

Function Reference

Functions -- Alphabetical List

Data Type Support

Supported Data Types and How to Convert to Them

Viewing Data Types of Signals In Models

Correctly Defining Custom Data Types

Fixed-Point Support

Blocks Supporting Fixed-Point

Implementing Fixed-Point Filters

Related Fixed-Point Topics

Boolean Support

Advantages of Using the Boolean Data Type

Lists of Blocks Supporting Boolean Inputs or Outputs

Effects of Enabling and Disabling Boolean Support

Steps to Disabling Boolean Support

Step 1: Open the Simulation Parameters Dialog Box

Step 2: Disable the Boolean Data Type in the Advanced
Tab

Step 3: (Optional) Verify Data Types of Signals

Code Generation Support

ANSI C Code Generation Support

Highly Optimized Generated C Code

Related C Code Generation Topics

Configuring Simulink for DSP Systems

Using dspstartup.m

Customizing dspstartup.m

Performance-Related Settings in dspstartup.m

Miscellaneous Settings


 Introduction