Getting Started

    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)