0% found this document useful (0 votes)
122 views18 pages

Ece107l - E04 - 01 - Exp4

The document describes designing and analyzing various IIR filters including low pass, band pass, and multiple band pass filters. It involves determining filter coefficients and order, plotting pole-zero diagrams, comparing magnitude responses, filtering a test signal, and analyzing the output frequency spectrum. Key steps include using Butterworth, Chebyshev type 1 and 2 filters to design low pass filters and extracting poles, zeros, and coefficients for multiple band pass filters.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
122 views18 pages

Ece107l - E04 - 01 - Exp4

The document describes designing and analyzing various IIR filters including low pass, band pass, and multiple band pass filters. It involves determining filter coefficients and order, plotting pole-zero diagrams, comparing magnitude responses, filtering a test signal, and analyzing the output frequency spectrum. Key steps include using Butterworth, Chebyshev type 1 and 2 filters to design low pass filters and extracting poles, zeros, and coefficients for multiple band pass filters.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

BALANE, Allyza Marie July 3, 2019

Familiarization of Infinite Impulse Response (IIR) Engr. Leonardo Valiente


and Pole-Zero Response Filters
DIGITAL SIGNAL PROCESSING
LABORATORY
Module Number 4

Familiarization of Infinite Impulse Response (IIR) and


Pole-Zero Response Filters
Module Title

July 3, 2019 July 10, 2019


DATE PERFORMED DATE SUBMITTED

Name: Balane, Allyza Marie E.


Course/Sec: ECE107L/E04

Grade

Engr. Leonardo Valiente


Instructor
Balane, Allyza Marie E. July 3, 2019

ECE107L – E04 [email protected]

1. Using Butterworth filter, design a low pass filter with a sampling rate of 30000 Hz and a cutoff
frequency of 5000 Hz and stop band frequency of 10000 Hz. Use Rp=0.1, Rs=60. Determine the
values of the following:
Filter Order = CHEBYSHEV TYPE 1 FILTER
Filter Coefficients:
B = Columns 1 through 5

0.0023 0.0186 0.0652 0.1305 0.1631

Columns 6 through 9

0.1305 0.0652 0.0186 0.0023

A = Columns 1 through 5

1.0000 -1.5650 2.0512 -1.4970 0.8488

Columns 6 through 9

-0.3101 0.0797 -0.0119 0.0008

Syntax:
>> fs=30000;
>> fc=5000;
>> fsb=10000;
>> Rp=0.1;
>> Rs=60;
>> Wp=fc/(fs/2)
>> [N, Wn] = buttord(Wp, Ws, Rp, Rs)
>> [B, A] = butter (N, Wn)

2. Plot the poles and zeroes on the unit circle. Is the plot different from FIR filters?
Explain.
Yes. Because pole-zero plots gets the roots of the numerators to the position of zeros
and roots of the denominator to the position while FIR gives the weighted sum of the present
and finite numbers from the previous samples.
Syntax:
>> zplane(B,A,'m-.<')
>> freqz (B,A)

3. With the same order and cutoff frequency, design a low pass Chebyshev type 1 filter and super
impose its magnitude response to the magnitude response of the butterworth filter. What do
you observe?
The chebyshev type 1 has a ripple in the band pass region.

Zoom In:

Syntax:
>> [B2, A2] = cheby1(N, Rp, Wn);
>> hold on;
>> freqz (B, A)
>> hold on;
>> freqz (B2, A2)
4. Using a Chebyshev Type 2, design a low pass filter with cutoff frequency of 5000 Hz, sampling
frequency of 30000 Hz and an attenuation of greater than or equal 30dB at 7500 Hz. Generate
its frequency response and pole-zero plot.

Syntax:
>> Fs1=30000;
>> Fc1=5000;
>> Fsb1=7500;
>> Rs1=60;
>> Rp1=0.1;
>> Wp1=Fc1/(Fs1/2);
>> Ws1=Fsb1/(Fs1/2);
>> [N1, Wn1] = cheb2ord(Wp1,Ws1,Rp1,Rs1);
>> [C, D]=cheby2(N1,Rs1,Wn1);
>> zplane(C,D,'m-,<')
>> freqz(C,D)

5. Create a test signal with 2000 sample points. Add five sinusoidal waves with amplitude of 2V
and frequencies of 2kHz, 3.7kHz, 6kHz, 7kHz, and 9kHz. Using sampling frequency of 20 kHz, plot
its frequency spectrum.

Syntax:
>> Fs2=20000;
>> t=[0:1999]/(Fs2);
>> y1=2*sin(2*pi*2000*t);
>> y2=2*sin(2*pi*3700*t);
>> y3=2*sin(2*pi*6000*t);
>> y4=2*sin(2*pi*7000*t);
>> y5=2*sin(2*pi*9000*t);
>> ytest=rand(1,2000)+y1+y2+y3+y4+y5;
>> z=fft(ytest,512);
>> w=(0:255)/256*(Fs2/2);
>> plot(w,abs([z(1:256)]),'m-.<')

6. Design a multiple bandpass filter with sampling frequency of 20000 Hz, pass band frequency of
3000, 6500, and 8500 Hz and stop band frequency of 0, 4800, 7200, and 10000 Hz. Determine
the following values:

Roots for Poles


P=

Columns 1 through 2

0.0752 + 0.1036i 0.0752 - 0.1036i

Columns 3 through 4

0.3074 - 0.6032i 0.3074 + 0.6032i

Columns 5 through 6

-0.4081 + 0.2079i -0.4081 - 0.2079i

Roots for Zeroes


Z=

Columns 1 through 2

0.3470 + 0.0000i 0.3470 + 0.0000i

Columns 3 through 4

-0.0564 - 0.8957i -0.0564 + 0.8957i

Columns 5 through 6

0.0608 - 0.0735i 0.0608 + 0.0735i

Columns 7 through 8

-0.4500 + 0.0000i -0.4500 - 0.0000i

Multiple Bandpass Filter Coefficients


B=
Columns 1 through 5
1.0000 0.0510 0.1525 0.2234 0.0620

Columns 6 through 7

-0.0105 0.0016
A=
Columns 1 through 5

1.0000 0.1970 0.4974 0.0385 -0.2296

Columns 6 through 9

0.0048 0.0204 -0.0026 0.0002

Syntax:
>> Fs3=20000;
>> pole1=3000*(2*pi/Fs3);
>> pole2=6500*(2*pi/Fs3);
>> pole3=8500*(2*pi/Fs3);
>> [x,y]=pol2cart(pole1,0.128);
>> p1=x+y*i;
>> [x,y]=pol2cart(pole2,-0.677);
>> p2=x+y*i;
>> [x,y]=pol2cart(pole3,0.458);
>> p3=x+y*i;
>> P=([p1 conj(p1) p2 conj(p2) p3 conj(p3)])
>> B=poly(P)
>> zero1=0;
>> zero2=4800*(2*pi/20000);
>> zero3=7200*(2*pi/20000);
>> zero4=10000*(2*pi/20000);
>> [x,y]=pol2cart(pole1,0.3470);
>> z1=x+y*i;
>> [x,y]=pol2cart(zero1,0.3470);
>> z1=x+y*i;
>> [x,y]=pol2cart(zero2,-0.8975);
>> z2=x+y*i;
>> [x,y]=pol2cart(zero3,0.45);
>> [x,y]=pol2cart(zero3,-0.09545);
>> z3=x+y*i;
>> [x,y]=pol2cart(zero4,0.45);
>> z4=x+y*i;
>> Z=([z1 conj(z1) z2 conj(z2) z3 conj(z3) z4 conj(z4)])
>> A3=poly(Z)

7. Generate its frequency response and pole-zero plot

Syntax:
>> zplane(A3,B,'m-.<')
>> freqz(A3,B)

8. Filter the test signal using the multiple band pass filter.

Syntax:
>> signalfilter=filter(B,A3,ytest);
>> yfilter=fft(signalfilter,512);
>> w1=(0:255)/256*(Fs3/2);
>> plot(w1,abs([yfilter(1:256)]),'m-.<')
9. Generate the frequency spectrum of the filtered signal. Plot output waveform below. What do
you observe?
At 6kHz, the waveform was at its maximum.
Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner

You might also like