<< Chapter < Page | Chapter >> Page > |
Consider the following transfer function for a second order IIR filter with complex-conjugate poles:
[link] shows the locations of the two poles of this filter. The poles have the form
where is the distance from the origin, and is the angle of relative to the positive real axis. From the theory of Z-transforms,we know that a causal filter is stable if and only if its poles are located within the unit circle.This implies that this filter is stable if and only if . However, we will see that by locating the poles close to theunit circle, the filter's bandwidth may be made extremely narrow around .
This two-pole system is an example of an IIR filter because its impulse response has infinite duration.Any filter with nontrivial poles (not at z = 0 or ) is an IIR filter unless the poles are canceled by zeros.
Calculate the magnitude of the filter's frequency response on for and the following three values of .
Put all three plots on the same figure using the
subplot
command.
In the following experiment,
we will use the filter
to separate a modulated sinusoid
from background noise.To run the experiment,
first download the file
pcm.mat and load it into the Matlab
workspace using the command
load pcm
.
Play
pcm
using the
sound
command.
Plot 101 samples of the signal for indices (100:200),and then compute the magnitude of the DTFT of 1001 samples
of
pcm
using the time indices (100:1100).
Plot the magnitude of the DTFT samples versus radial frequencyfor
. The two peaks in the spectrum correspond
to the center frequency of the modulated signal.The low amplitude wideband content is the background noise.
In this exercise, you will use the IIR filter described above toamplify the desired signal, relative to the background noise.
The pcm signal is modulated at 3146Hz and sampled at 8kHz.Use these values to calculate the value of for the filter . Remember from the sampling theorem that a radial frequency of corresponds to the sampling frequency.
Write a Matlab function
IIRfilter(x)
that implements the filter
.
In this case, you need to use a
for loop to implement the
recursive difference equation. Use your calculated value of
and
.
You can assume that y(n)is equal to 0
for negative values of
.
Apply the new command
IIRfilter
to the signal
pcm
to separate the desired signal from the background noise, and
listen to the filtered signal to hear the effects.Plot the filtered signal for indices (100:200), and then
compute the DTFT of 1001 samples of the filtered signal using the timeindices (100:1100). Plot the magnitude of this DTFT. In order to
see the DTFT around
more clearly, plot also
the portion of this DTFT for the values of
in the range
. Use your calculated value of
.
Notification Switch
Would you like to follow the 'Purdue digital signal processing labs (ece 438)' conversation and receive update notifications?