Digital Signal Processing
Using
MATLAB and Simulink
This three-day intensive course surveys the basics of Digital Signal Processing and shows how productivity tools from The MathWorks can be employed to benefit development work in this area. The course highlights the attributes of the MATLAB programming environment - featuring in particular the block diagram-based behavioural simulation package Simulink - that makes it such a superb vehicle for learning and producing DSP solutions. Its prime aim is to give an accelerated overview of MATLAB's value in enlivening DSP concepts and underpinning central filter design and spectrum calculations, while showing how to employ Simulink to configure, instrument and exercise basic processing systems.
Key code fragments
for eliciting useful actions on signals are introduced and immediately reinforced
through closely assisted hands-on computer exercises. Course participants
create and utilize their own m-files and mdl-files which incisively illustrate
core concepts and applications of DSP. More than half the course is devoted
to Simulink usage, illustrating the extreme speed with which useful systems can be assembled, operated
and evaluated. Simulink is unsurpassed in its rapid concept-proving ability,
and this “quick-look” flair is exhibited early and experienced repeatedly
by the course participants.
Several in-depth
Laboratory sessions are used as settings to drive home basic programming
maneuvers in the context of contained, but realistic, engineering problems
relating to common communication and instrumentation tasks. In addition to
comprehensive course notes and copies of m-files and mdl-files used in the
course, each participant receives a copy of the Prentice-Hall text Mastering MATLAB 5 by D. Hanselman and
B. Littlefield.
Who Should Attend?
The course is
suitable for newcomers to the MATLAB/Simulink environment. A prior working
understanding of basic aspects of DSP would be an advantage.
Course Content
Survey of Signal Processing Toolbox features. Depiction and generation of real and complex-valued discrete-time sequences; vector representations and handling. Command Line working; scripts and functions in MATLAB. Tones, pulses, tonebursts and other standard reference signal types. Vectorizing signal generation; employing relational operators and the find command. Closed-form calculation of signal energy and power; contrasts with measurements. Waveshape and energy alteration by several simple processing strategies.
Spectral
Analysis: Equations for selected DTFT examples; confirmation through spot
frequency measures using scalar products. Numerical Fourier transformation by
the FFT; meaningful exhibition of spectra: use of fftshift, ifft and unwrap.
Aliasing and leakage; interplay of record length, spectral resolution and
sampling frequency. Bandwidth – both measured and predicted analytically. Use
of Data Acquisition Toolbox to obtain real-time experimental data.
Modification of time-domain characteristics (and attendant spectra) by both Linear Time-Invariant (LTIV) and non-LTIV system elements. Use of simple FIR digital filters for low frequency and high frequency enhancement. Group delay of FIR filters. Results of using filter and conv; matching vector sizes in simulations. Difference equations and expressions in z. Polynomials in the z-domain; what can be seen from zero patterns. A simple FIR design method; effects of windowing.
Frequency-Sampling
and equirriple FIR filters. Filters from the Signal Processing Toolbox. Use of
feedback, Pole-Zero Patterns and stability. IIR digital
filter
design in MATLAB. Leaky integrators and resonators.
MATLAB
Plucked-String Laboratory.
Introduction to
Simulink for stream versus block handling DSP strategies. Observing filtering
in Simulink; noise contamination and combatance through filtering and signal
averaging. Ease of invoking MATLAB facilities from Simulink. Importance of
rendezvous delays, as seen in Single-Sideband modulation. Use of simple
recursive filters for accumulation and energy determination, including
sliding-window and sum-and-dump realizations. Instantaneous nonlinearities and
time-varying devices for spectral transport and signal detection. Acceleration
of Simulink signal handling through frame-based processing, with audio
demonstrations and experiments.
Zooming in for
fine-grain spectral information using czt.
Non-uniform spectral data obtained by Vandermonde matrices. Other matrix
operations in MATLAB, including matrix visualization and plotting. Spectograms and moving-window filterbanks
for tracking time/frequency dynamics. Tone detection strategies; matched filters
in white noise. The Dual-Tone Multiple Frequency signalling system in digital
telephony.
Simulink
Touchtone Laboratory.
Model hierarchy
and subsystem grouping for complexity management. Library navigation in
Simulink; guidelines for granularity in modelling. Use of Enabled subsystems;
introduction to block masking and s-functions. Making and exercising an LMS
noise canceller in Simulink.
Overview of
finite wordlength effects in digital filters. Direct-Form I and II and factorization
into second-order sections; use of Quantized Filtering Toolbox and Simulink’s
Filter Realization Wizard to structurally modify and exercise IIR filter
designs.
Introduction to
multi-rate systems. Up-sampling and interfering spectral replications;
zero-insertion interpolation and zero-order holding. Linear interpolation and
general interpolation filter requirements. Down-sampling and in-band aliasing.
Sample rate conversion. Exercises using multi-rate Simulink features.