Lab 01: Introduction to Matlab |
![]() |
Lab 02a: Introduction to Complex Exponentials - Multipath | Manipulating sinusoid functions using complex exponentials turns trigonometric problems into simple arithmetic and algebra. In this lab, we first review the complex exponential signal and the phasor addition property needed for adding cosine waves. Then we will use Matlab to make plots of phasor diagrams that show the vector addition needed when combining sinusoids. [Files] |
Lab 02b: Introduction to Complex Exponentials - Direction Finding |
![]() |
Lab 03: AM and FM Sinusoidal Signals |
![]() |
Lab 04: Music Synthesis - Synthesis of Sinusoidal Signals |
![]() |
Lab 04a: Speech Synthesis - Synthesis of Sinusoidal Signals | In this lab, we will synthesize more complicated sinusoidal waveforms composed of sums of sinusoidal signals, each with a different frequency. The sounds synthesized will sound like a voice. [Files] |
Lab 04a: Speech Synthesis - Synthesis of Sinusoidal Signals | In this lab, we will synthesize more complicated sinusoidal waveforms composed of sums of sinusoidal signals, each with a different frequency. The sounds synthesized will sound like a voice. |
Lab 05: FM Synthesis for Musical Instruments | The objective of this lab is to introduce more complicated signals that are related to the basic sinusoid. These are signals which implement frequency modulation (FM) and amplitude modulation (AM) are widely used in communication systems such as radio and television), but they also can be used to create interesting sounds that mimic musical instruments. [Files] |
mp01: Jingle Bells Synthesizer | In this lab, we will synthesize more complicated sinusoidal waveforms composed of sums of sinusoidal signals, each with a different frequency. The sounds synthesized will one of several songs. |
Lab 06: Digital Images: A/D and D/A | The objective in this lab is to introduce digital images as a second useful signal type. We will show how the A-to-D sampling and the D-to-A reconstruction processes are carried out for digital images. In particular, we will show a commonly used method of image zooming (reconstruction) that gives “poor” results—a later lab will revisit this issue and do a better job. [Files] |
Lab 07: Sampling, Convolution, and FIR Filtering |
![]() |
mp02: Discrete Convolution GUI | This mini project concentrates on the use of dconvdemo a GUI for discrete-time convolution. This demo is exactly the same as the MATLAB functions conv() and firfilt() used to implement FIR filters. This demo illustrates an important point about the behavior of a linear, time-invariant (LTI) system. It also provide a convenient way to visualize the output of a LTI system. |
Lab 08: Frequency Response: Bandpass & Nulling Filters | The goal of this lab is to study the response of FIR filters to inputs such as complex exponentials and sinusoids. In the experiments of this lab, you will use firfilt(), or conv(), to implement filters and freqz() to obtain the filter's frequency response. As a result, you should learn how to characterize a filter by knowing how it reacts to different frequency components in the input. This lab also introduces two practical filters: bandpass filters and nulling filters. Bandpass filters can be used to detect and extract information from sinusoidal signals, e.g., tones in a touch-tone telephone dialer. Nulling filters can be used to remove sinusoidal interference, e.g., jamming signals in a radar. |
Lab 09: Encoding and Decoding Touch-Tone Signals |
This lab introduces a practical application where sinusoidal
signals are used to transmit information: a touchtone
dialer. Bandpass FIR filters can be used to extract the
information encoded in the waveforms. The goal
of this lab is to design and implement bandpass FIR filters in MATLAB,
and do the decoding automatically.
In the experiments of this lab, you will use
firfilt() , or conv() ,
to implement filters and freqz() to
obtain the filter's frequency response. As a result,
you should learn how to characterize a filter by knowing
how it reacts to different frequency components in the input.
[Files]
|
Lab 10: Octave Band Filtering |
This lab introduces a practical application where we attempt
to extract information from sinusoidal signals -
in this case, piano notes. Bandpass FIR filters can be
used to extract the information encoded in the waveforms.
The goal of this lab is to design and implement several
bandpass FIR filters in MATLAB, and use the
filtered outputs to determine automatically which note is being played.
However, since there are 88 keys on
the piano, we will only require the system to figure
out which octave the note is in, not the exact note. In
the experiments of this lab, you will use
firfilt() , or conv() ,
to implement filters and freqz() to
obtain the filter's frequency response. As a result,
you should learn how to characterize a filter by knowing
how it reacts to different frequency components in the input.
[Files]
|
mp03: Tone Removal | In this mini-project you will Write a simple MATLAB program that removes unwanted tones from a wav file. The file SunshineSquare.wav has had some unwanted tones added to it. Your job is to remove the tones so you can hear the message better. [Files] |
Lab 09: Encoding and Decoding Touch-Tone Signals |
This lab introduces a practical application where sinusoidal
signals are used to transmit information: a touchtone
dialer. Bandpass FIR filters can be used to extract the
information encoded in the waveforms. The goal
of this lab is to design and implement bandpass FIR filters in MATLAB,
and do the decoding automatically.
In the experiments of this lab, you will use
firfilt() , or conv() ,
to implement filters and freqz() to
obtain the filter's frequency response. As a result,
you should learn how to characterize a filter by knowing
how it reacts to different frequency components in the input.
[Files]
|
Lab 10: Octave Band Filtering |
This lab introduces a practical application where we attempt
to extract information from sinusoidal signals -
in this case, piano notes. Bandpass FIR filters can be
used to extract the information encoded in the waveforms.
The goal of this lab is to design and implement several
bandpass FIR filters in MATLAB, and use the
filtered outputs to determine automatically which note is being played.
However, since there are 88 keys on
the piano, we will only require the system to figure
out which octave the note is in, not the exact note. In
the experiments of this lab, you will use
firfilt() , or conv() ,
to implement filters and freqz() to
obtain the filter's frequency response. As a result,
you should learn how to characterize a filter by knowing
how it reacts to different frequency components in the input.
[Files]
|
Lab 11: PeZ - The z, n, and ω Domains | The objective for this lab is to build an intuitive understanding of the relationship between the location of poles and zeros in the z-domain, the impulse response h[n] in the n-domain, and the frequency response H(ejω) (the ω-domain). A graphical user interface (GUI) called PeZ was written in MATLAB for doing interactive explorations of the three domains. |
mp04 - PeZ | In this mini-project you will experiment with PeZ to learn the connection between pole-zero placement and frequency response. Given this information you will redo the Tone Removal Mini-Project using an IIR. |
mp05: - Note Detection | For this mini project you will write a simple function that listens to a tone and identifies what note it is. [Files] |
mp06: Simple Song Detection | For this mini project you will write a simple function that listens to a wav file of a simple song and identifies the notes being played. The wav files have some simple songs on which you can practice. [Files] |
mp07: Swiss Army Knife | You have gotten to the point in your studies that you can understand DSP papers that appear in IEEE publications. The purpose of this project is to read one such paper and reproduce some of its results. |
Lab 12: Two Convolution GUIs |
This lab concentrates on the use of two MATLAB GUIs for convolution.
|
Lab 13: Numerical Evaluation of Fourier Series | The goal of the laboratory project is to show how to calculate the Fourier Series coefficients, {ak}, without doing the integrals by hand. Instead, we will use MATLAB's numerical integration capability to evaluate the integrals numerically. Another approach would be to use a symbolic algebra package such as Mathematica or Maple to derive formulas for the Fourier Series coefficients. |
Lab 17: Digital Communication: FSK Signals (Encoding) |
Perhaps an apt title for this quick introduction to
Frequency Shift Keying (FSK) Modems would be everything
you wanted to know about FSK Modems but were afraid to ask!
The goal of this lab (and the next one) is to understand a simple modem,
the Frequency Shift Keying
(FSK) Modem, referred to by the International Telecommunications Union
(I.T.U.) as V.21.
This lab presents how to construct the FSK encoder. |
Lab 18: Digital Communication: FSK Signals (Decoding) |
Perhaps an apt title for this quick introduction to
Frequency Shift Keying (FSK) Modems would be everything
you wanted to know about FSK Modems but were afraid to ask!
The goal of this lab (and the previous one) is to understand a simple modem,
the Frequency Shift Keying
(FSK) Modem, referred to by the International Telecommunications Union
(I.T.U.) as V.21.
This lab presents how to decode FSK signals. [Files] |
Lab 19: The Fast Fourier Transform | The goal of this lab is to introduce the Fast Fourier Transform (FFT) for efficient computer calculation of the Fourier Transform and then to investigate some of the Fourier Tranform's properties. |
Lab 20: Extracting Frequencies of Musical Tones |
![]() |
Home
McClellan, Schafer, and Yoder, Signal Processing First, ISBN 0-13-065562-7.
Prentice Hall, Upper Saddle River, NJ 07458.
© 2012 Pearson Education, Inc.