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
Examples
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
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
Analog Filter Design
Analytic Signal
Autocorrelation
Autocorrelation LPC
Backward Substitution
Buffer
Burg AR Estimator
Burg Method
Check Signal Attributes
Chirp
Cholesky Factorization
Cholesky Inverse
Cholesky Solver
Complex Cepstrum
Complex Exponential
Constant Diagonal Matrix
Constant Ramp
Convert 1-D to 2-D
Convert 2-D to 1-D
Convolution
Correlation
Counter
Covariance AR Estimator
Covariance Method
Create Diagonal Matrix
Cumulative Product
Cumulative Sum
dB Conversion
dB Gain
DCT
Delay Line
Detrend
Difference
Digital Filter
Digital Filter Design
Discrete Impulse
Downsample
DSP Constant
DWT
Dyadic Analysis Filter Bank
Dyadic Synthesis Filter Bank
Edge Detector
Event-Count Comparator
Extract Diagonal
Extract Triangular Matrix
FFT
Filter Realization Wizard
FIR Decimation
FIR Interpolation
FIR Rate Conversion
Flip
Forward Substitution
Frame Status Conversion
From Wave Device
From Wave File
Histogram
IDCT
Identity Matrix
IDWT
IFFT
Inherit Complexity
Integer Delay
Interpolation
Kalman Adaptive Filter
LDL Factorization
LDL Inverse
LDL Solver
Least Squares Polynomial Fit
Levinson-Durbin
LMS Adaptive Filter
LPC to LSF/LSP Conversion
LSF/LSP to LPC Conversion
LU Factorization
LU Inverse
LU Solver
Magnitude FFT
Matrix 1-Norm
Matrix Multiply
Matrix Product
Matrix Scaling
Matrix Square
Matrix Sum
Matrix Viewer
Maximum
Mean
Median
Minimum
Modified Covariance AR Estimator
Modified Covariance Method
Multiphase Clock
Multiport Selector
N-Sample Enable
N-Sample Switch
Normalization
Overlap-Add FFT Filter
Overlap-Save FFT Filter
Overwrite Values
Pad
Permute Matrix
Polynomial Evaluation
Polynomial Stability Test
Pseudoinverse
QR Factorization
QR Solver
Queue
Random Source
Real Cepstrum
Reciprocal Condition
Repeat
RLS Adaptive Filter
RMS
Sample and Hold
Short-Time FFT
Signal From Workspace
Signal To Workspace
Sine Wave
Singular Value Decomposition
Sort
Spectrum Scope
Stack
Standard Deviation
Submatrix
SVD Solver
Time Scope
Toeplitz
To Wave Device
To Wave File
Transpose
Triggered Delay Line
Triggered Signal From Workspace
Triggered To Workspace
Two-Channel Analysis Subband Filter
Two-Channel Synthesis Subband Filter
Unbuffer
Uniform Decoder
Uniform Encoder
Unwrap
Upsample
Variable Fractional Delay
Variable Integer Delay
Variable Selector
Variance
Vector Scope
Window Function
Yule-Walker AR Estimator
Yule-Walker Method
Zero Pad
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
Printable Documentation (PDF)
Product Page (Web)