DSP & FPGA Implementation with Simulink and Lyrtech SignalWAVe Platform Board

Course Description
Learn how to perform signal processing using the Signal Processing Blockset within Simulink and uncover the implementation techniques using LSP Board. This course will begin with a discussion on the fundamentals of discrete-time modeling using the Signal Processing Blockset.  Topics such as building a basic model, buffering, vector operations, and sampling will be introduced in this section.  A discussion on the capabilities of the blockset to perform spectral estimation will then follow.  Finally, linear systems, discrete filter design, and filter implementation issues will be covered.  

Level
Fundamental to Intermediate

Duration
2 days

Who Must Attend
Engineers who want to effectively use VHDL for modeling, design, and synthesis of digital designs

Prerequisites
Delegates are expected to have some exposure to signal processing techniques prior to taking this course.

Course Outline
Introduction

  • Course expectations
  • Overview of MATLAB & SIMULINK and signal processing products
  • Signal processing uses
  • Implementing signal processing systems

Introduction to System Modeling
To define the steps to model systems using Simulink.

  •  Model based design
  •  Types of modeling
  •  System modeling with Simulink
  •  Modeling steps

Modeling Algebraic System
To use Simulink to model and simulate algebraic systems.

  •  Define the system and identify components
  •  Model the system with equations
  •  Start Simulink
  •  Build a block diagram for the model
  •  Define model parameters
  •  Define model I/O
  •  Simulate the system
  •  Create signal viewers
  •  Modify solver settings
  •  Validate the simulation results

Creating a Signal Processing Model
To get familiar with the signal processing blockset by first, to build a basic signal processing model and to learn the concepts of multi-channel, frame-based processing. 

  • Signal processing blockset library introduction
    • Essential blocks – Uses and interpretation of result
  • DSP sources:  Sine Wave, Random Source, Chirp, Signal from Workspace
  • DSP sinks:  Time Scopes, Spectrum Scopes, Signal to Workspace
    • Example with commonly used sources and sinks to illustrate how the blocks are used
  • Sampling
    • Setting sample time at the source
    • Nyquist criteria and aliasing
    • Example with sin wave block, time scope, and spectrum scope illustrating aliasing when sin wave is under sampled
  • Implementation of an audio sampling system using DSP mode.
  • Signal support and signal format
    • Sample-based verse frame-based
  • Definition of the two types of processing
  • Motivation for generating frames
  • Representation of the data
  • How to generate frames (view the signal using a vector scope)
  • Generation of frames at the signal source
  • Generation of frames using Buffers
  • Example illustrating advantage of frame-based processing over sample-based processing  

                (use tic, sim, toc to illustrate speed-up)

    • Implementation of Sample based system
    • Implementation of Framed based System (Observation of resource utilization).
    • Single channel verse multi-channel processing
  • Definition
  • Motivation
  • Representation of the data
  • How to generate multi-channel data
    - Generation of multi-channel data at the signal source
    - Generation of multi-channel data by concatenating
  • Example illustrating the result of a multi-channel output
  • Data types introduction (Talk briefly about each)
  • Double
  • Single
  • Fixed-Point
  • Example illustrating the result of calculation using different data-types and precisions (double, fixed with varying precision)

Signal Analysis
To learn how to use blocks those are practical for signal analysis.  Blocks for statistical signal processing such as mean, standard deviation, and histograms, will be reviewed.  Blocks that perform various different types of transformations will be looked at.  

  • Statistical signal processing
    • Brief introduction of background and blocks (mean, histogram, SD, VAR)
  • Discrete Fourier Transform and Fast Fourier Transform block
    • Background and context
    • Example with FFT and IFFT for spectral viewing
    • Aliasing revisited in the frequency domain

Spectral Analysis
To understand spectral estimation techniques.

  • Spectral Estimation
    • Nonparametric Estimates and example
    • Parametric Estimates
  • Windowing explained
    • Windowing tools and blocks
    • Windowing example with illustration focusing on effects of truncating a signal, side-lobe suppressing due to windowing, and trade-offs of different window types             
  • Exercise:  Use of different estimation methods and window types and perform spectral estimation on different source signals (chirp, voice, etc.)
  • Time varying spectrums and matrix viewer
    • Time varying spectrums and visualization explained
    • Example of visualization with matrix viewer

Filtering
This section will go over some of the basic concept of filtering, including a brief review of difference equations, z-transforms, pole/zero diagram, and frequency response.  The student will then learn how to use the filtering tools available in the signal processing blockset.  The students will have opportunity to see examples and do exercises to apply what they have learned.

  • Discrete linear system
    • Theory, background, context
  • Difference equations, block diagrams, z-transforms, transfer functions, zero/pole diagram, frequency response
  • Example:  Build a low-pass and a high-pass filter with sum, gain, and delay blocks given a difference equation.  Generate a sin wave and filter the signal.  View the output on a vector and spectrum scope.
  • Exercise (short):  Given a difference equation (with feedback, IIR), realize the equation using basic sum, gain, delay blocks. 
  • Filter Design and Specifications
    • Filter types (LPF, HPF, BPF, and BSF), and introduction to signal processing blockset tool designations and terms for cutoff frequencies, ripples, etc
    • Design considerations and trade-offs
  • Filter design tools and blocks
    • Digital filter design block/filter realization wizard (FDAtool)
        • Design example using Design Filter mode
        • Design example using Import Filter mode
        • Realize a filter
        • Quantize a filter with different precision and see the coefficients and see the effects
        • Design example using Pole/zero editor
    • Export coefficients and use command line to filter a signal
    • Digital filter block and short example
    • Analog filter block and short example
    • Exercise:  Practice using the filter blocks and build a filter, apply the filter to a signal, quantize a filter.  View the results with different quantization levels.    
  • Implementation
    • Filter structures (trade-offs, advantages)
    • Quantizing, fix and floating point example, rule of thumb 5-db rule
    • HDL coder example, generate code for filter
    • Brief mentioning of Xilinx COE file, m-file generation, c-head file, CCS/IDE

 Practical considerations

  • Design check points, common pitfalls
  • Anti-aliasing filters
    • Example showing unfiltered and filtered output of a signal
  • Solver options, DSP-startup
  • Rate transition
  • Simulating a memory consuming model

Application examples

  • Optimize FPGA Design


Date:
Please kindly check our Training Calendar
Venue:
  Activemedia Innovation
Time:
  10.00am - 5.30pm
Course Fee:
  Please contact our Training Consultants for details
Enquiries:
6742 8173 enquiry@activemedia.com.sg