Sei sulla pagina 1di 91

DIGITAL SIGNAL PROCESSING

FILE

Submitted ByMANSI SINGHAL


CSE 6 SEMESTER
01613502712

FAMILIARISATION WITH MATLAB

Aim: To familiarise with MATLAB software, general functions and signal processing toolbox
functions.

The name MATLAB stands for MATrix LABoratory produced by Mathworks Inc., USA. It
is a matrix-based powerful software package for scientific and engineering computation and
visualization. Complex numerical problems can be solved in a fraction of the time that required with
other high level languages. It provides an interactive environment with hundreds of built -in
functions for technical computation, graphics and animation. In addition to built-in-functions, user
can create his own functions.
MATLAB offers several optional toolboxes, such as signal processing, control systems,
neural networks etc.
It is command driven software and has online help facility.
MATLAB has three basic windows normally; command window, graphics window
and edit
window.
Command window is characterized by the prompt >>.
All commands and the ready to run program filename can be typed here. Graphic window gives the
display of the figures as the result of the program. Edit window is to create program files with an
extension .m.
Some important commands in MATLAB
Help
List topics on which help is
available Help command nameProvides help on
the topic selected Demo Runs the demo program
Who
Lists variables currently in the workspace
Whos
Lists variables currently in the workspace with their size
Clear
Clears the workspace, all the variables are removed
Clear x,y,z
Clears only variables x,y,z
Quit
Quits MATLAB
Some of the frequently used built-in-functions in Signal Processing Toolbox
filter(b.a.x)
Syntax of this function is Y = filter(b.a.x)

It filters the data in vector x with the filter


described by vectors a and b to create the filtered
data y.
fft (x)

It is the DFT of vector x

ifft (x)

It is the DFT of vector x

conv (a,b)

Syntax of this function is C = conv (a,b)


It convolves vectors a and b. The resulting
vector is of Length, Length (a) + Length
(b)-1

deconv(b,a)

Syntax of this function is [q,r] = deconv(b,a)


It deconvolves vector q and the remainder in
vector r such that b = conv(a,q)+r

butter(N,Wn)

designs an Nth order lowpass digital


Butterworth filter and returns the filter coefficients
in length N+1 vectors B (numerator) and A
(denominator). The coefficients are listed in
descending powers of z. The cutoff frequency
Wn must be 0.0 < Wn < 1.0, with 1.0
corresponding to half the sample rate.

buttord(Wp, Ws, Rp, Rs) returns the order N of the lowest


order digital Butterworth filter that loses no more than
Rp dB in the passband and has at least Rs dB of
attenuation in the stopband. Wp and Ws are the
passband and stopband edge frequencies, Normalized
from 0 to 1 ,(where 1 corresponds to pi rad/sec)
Cheby1(N,R,Wn)

designs an Nth order lowpass digital


Chebyshev filter with R decibels of peak-to-peak ripple
in the passband. CHEBY1 returns the filter coefficients
in length N+1 vectors B (numerator) and A
(denominator). The cutoff frequency Wn must be 0.0
< Wn < 1.0, with 1.0 corresponding to half the sample
rate.

Cheby1(N,R,Wn,'high')

designs a highpass filter.

Cheb1ord(Wp, Ws, Rp, Rs) returns the order N of the lowest


order digital Chebyshev Type I filter that loses no more than Rp dB
in the passband and has at least Rs dB of attenuation in
the stopband. Wp and Ws are the passband and stopband
edge frequencies, normalized from 0 to 1 (where 1
corresponds to pi radians/sample)
cheby2(N,R,Wn)

designs an Nth order lowpass digital


Chebyshev filter with the stopband ripple R decibels
down and stopband edge frequency Wn. CHEBY2
returns the filter coefficients in length N+1 vectors B
(numerator) and A .
The cutoff frequency Wn must be 0.0 < Wn < 1.0, with 1.0
corresponding to half the sample rate.

cheb2ord(Wp, Ws, Rp, Rs) returns the order N of the lowest


order digital Chebyshev Type II filter that loses no more than Rp dB

in the passband and has at least Rs dB of attenuation in


the stopband. Wp and Ws are the passband and stopband
edge frequencies,

abs(x)

It gives the absolute value of the elements of


x. When x is complex, abs(x) is the complex
modulus (magnitude)
of the elements of x.

angle(H)

It returns the phase angles of a matrix with


complex elements in radians.

freqz(b,a,N)
Syntax of this function is [h,w] = freqz(b,a,N) returns the Npoint frequency vector w in radians and the N-point complex
frequency response vector
h of the filter b/a.
stem(y)

It plots the data sequence y aa stems from the x


axis terminated with circles for the data value.

stem(x,y)

It plots the data sequence y at the values

specified in x. ploy(x,y) It plots vector y versus vector x. If x or y is


a matrix, then the
vector is plotted versus the rows or columns of
the matrix, whichever line up.
title(text)

It adds text at the top of the current

axis. xlabel(text) It adds text beside the x-axis on the


current axis. ylabel(text)
axis on the current axis.

It adds text beside the y-

GENERATION OF BASIC CONTINUES SIGNALS


Experiment No: - 02(a)
AIM: - TO write a MATLAB program to common continues time signals
PROCEDURE:-

ALGORITH
M:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the amplitude and frequency of the


signal
Use sin, cos ,square matlab built in
functions

MATLAB CODE:clc;
clear
all;
close
all;
t=0:.001:1;
f=input('Enter the value ofy')
frequenc
a=input('Enter;
the value of amplitude'
subplot(3,3,1);
y=a*sin(2*pi*f*
t); plot(t,y,'r');
xlabel('time');
ylabel('amplitu
de'); title('sine
wave') grid
on;
subplot(3,3,2);
z=a*cos(2*pi*f
*t); plot(t,z);
xlabel('time');
ylabel('amplitu
de');
title('cosine
wave') grid on;
subplot(3,3,3);
s=a*square(2*p
i*f*t); plot(t,s);
xlabel('time');
ylabel('amplitu
de');
title('square
wave') grid
on;
subplot(3,3,4);

plot(t,t);
xlabel('time');
ylabel('amplitu
de');
title('ramp
wave') grid on;

subplot(3,3,5);
plot(t,a,'r');
xlabel('time');
ylabel('amplitu
de'); title('unit
step wave')
grid on;

FIGURE:-

0.5
time
ramp wave

1
0.5
0

0.5
time

0
-1

square wave

amplitude

amplitude

0
-1

amplitude

cosine wave

amplitude

amplitude

sine wave
1

0.5
1
time
unit step wave

1
0
-1

0.5
time

2
1
0

0.5
time

SAMPLE INPUT:Enter the value of frequency2


Enter the value of amplitude1

RESULTS:- Thus the generation of continues time signals using matlab was verified

GENERATION OF BASIC DISCRETE SIGNALS


Experiment No: - 02(b)
AIM: - TO write a MATLAB program to common discrete time signals
PROCEDURE:-

ALGORITH
M:-

MATLAB CODE:clc;
clear
all;
close
all;
n=0:1:50;
f=input('Enter the value of
frequenc
a=input('Enter
the value of amplitud
N=input('Enter the length
of unit ste subplot(3,3,1);
y=a*sin(2*pi*f
*n);
stem(n,y,'r');
xlabel('time');
ylabel('amplitu
de'); title('sine
wave') grid
on;
subplot(3,3,2);
z=a*cos(2*pi*f
*n); stem(n,z);
xlabel('time');
ylabel('amplitud
e'); title('cosine
wave') grid on;
subplot(3,3,3);
s=a*square(2*pi
*f*n); stem(n,s);
xlabel('time');
ylabel('amplitu

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

de');
title('square
wave') grid
on;
subplot(3,3,4);

stem(n,n);
xlabel('time');
ylabel('amplitu
de');
title('ramp
wave') grid on;
x=0:N-1;
d=ones(1,N);
subplot(3,3,5);
stem(x,d,'r');
xlabel('time');
ylabel('amplitu
de'); title('unit
step wave')
grid on;

FIGURE:-

cosine wave

square wave
1

0
-1

50

1
0
-10

amplitude

amplitude

50

0
-1

50

timetime
unit step wave

time
ramp
wave
50

50

amplitude

amplitude

amplitude

sine wave
1

1
0.5
00

5
time

10

time

SAMPLE INPUT:Enter the value of frequency 0.03


Enter the value of amplitude 1
Enter the length of unit step 9

RESULTS:- Thus the generation of discrete time signals using matlab was verified

IMPULSE RESPONSE OF AN LTI SYSTEM


Experiment No: - 03
AIM: - TO write a MATLAB program to find the impulse response of a system defined by a difference
equation
PROCEDURE:-

ALGORITH
M:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Create a matrix a for the coefficient of y[n]


Create a matrix b for the coefficient of x[n]
Generate an impulse signal
Find the response h[n] of the system defined by a and
b coefficient To the impulse signal using filter
command

MATLAB CODE:clc;
clear
all;
close
all;
N=input('Enter the required length of
impulse response N='); n=0:N-1;
b=input('Enter the co-efficients
of x(n),b='); a=input('Enter the
co=efficients
of
y(n),a=');
x=[1,zeros(1,N-1)];
y=filter(b,a,x);
stem(n,y);
xlabel('time');
ylabel('amplitude');
title('IMPULSE
RESPONSE');
grid on;

FIGURE:IMPULSE RESPONSE
1.5

amplitude

0.5

-0.5

-1

10

15

20
time

25

30

35

40

SAMPLE INPUT:Y[n]+0.7y[n-1]-0.45y[n-2]-0.6y[n-3]=0.8x[n]-0.44x[n-1]+0.36x[n-2]+0.2x[n-3]
Enter the required length of impulse response N=40
Enter the co-efficients of x(n),b=[0.8 -0.44 0.36 0.02]
Enter the co=efficients of y(n),a=[1 0.7 -0.45 -0.6]

RESULTS:- Thus the program for impulse response of an LTI system is written using
MATLAB and verified.

LINEAR CONVOLUTION USING MATLAB


Experiment No: - 03
AIM: - TO write a MATLAB program to compute linear convolution of two given sequences
PROCEDURE:

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

ALGORITHM:

Read the input sequence x[n] ,and plot


Read the impulse sequence h[n] , and plot
Use the matlab function conv
Convolve the two sequence and plot the result

MATLAB CODE:clc;
clear
all;
close
all;
a=input('Enter the starting point
of x[n]='); b=input('Enter the
starting point of h[n]=');
x=input('Enter the co-efficients of
x[n]='); h=input('Enter the coefficients of h[n]='); y=conv(x,h);
subplot(3,1,1);
p=a:
(a+length(x)1); stem(p,x);
grid on;
xlabel('Time');
ylabel('Amplit
ude');
title('INPUT
x(n)');
subplot(3,1,2);
q=b:
(b+length(h)1); stem(q,h);
grid on;
xlabel('Time');
ylabel('Amplit
ude');
title('IMPULSE RESPONSE h(n)');

subplot(3,1,3);
n=a+b:length(y)
+a+b-1;
stem(n,y);
grid on;
disp(y)
xlabel('Ti
me');

ylabel('Amplitude');
title('LINEAR
CONVOLUTION');

FIGURE:INPUT x(n)
A m plitude

3
2
1
0
0

0.2

0.4

0.6IMPU0L.8SE RE1SPON1S.E2 h(n)1.4


Time

1.6

1.8

-0.8

-0.6

-0.4 LIN-0E.A2R CO0NVOLU0.T2ION 0.4 0.6


Time

0.8

A m plitude

0.5

0
-1

A m plitude

2
0
-1

-0.5

0.5

1
Time

1.5

2.5

SAMPLE INPUT:-Enter
Enter
Enter
Enter

the
the
the
the
1

starting point of x(n)=0


starting point of h(n)=-1
co-efficient of x(n)=[1 2 3]
co-efficient of h(n)=[1 1 1]
3
6
5
3

RESULTS :- Thus the program for linear convolution is written using MATLAB and verified.

DE CONVOLUTION USING MATLAB


Experiment No: - 04
AIM: - TO write a MATLAB program to compute deconvolution of two given sequences
PROCEDURE:

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

ALGORITHM:

Read the input sequence x[n] ,and plot


Read the output sequence y[n] , and plot
Use the matlab function deconv
Deconvolve the two sequence and plot the result

MATLAB CODE:clc;
clear
all;
close
all;
a=input('Enter the starting point
of x[n]='); b=input('Enter the
starting point of y[n]=');
x=input('Enter the co-efficients of
x[n]='); y=input('Enter the coefficients of y[n]=');
h=deconv(y,x);
subplot(3,1,1
);
p=a:a+lengt
h(x)-1;
stem(p,x);
xlabel('TIME');
ylabel('AMPLITU
DE'); grid on;
title('INPUT x[n]');
subplot(3,1,2
);
q=b:b+length
(y)-1;
stem(q,y);

xlabel('TIME');
ylabel('AMPLIT
UDE'); grid on;
title('OUTPUT
y[n]');
subplot(3,1,3);
n=(b-a):(length(h)+b-a-1);

stem(n,h);
xlabel('TIME');
ylabel('AMPLITU
DE'); grid on;
disp(h)
title('IMPULSE
h[n]');

FIGURE:INPUT x[n]
AMPLITUDE

3
2
1
0
0

0.2

0.4

0.6

AMPLITUDE

1.6

1.8

2
0
-1

-0.5

0.5 IMPULS1 E h[n] 1.5


TIME

2.5

AMPLITUDE

0.5

0.8OUTPU1T y[n]1.2 1.4


TIME

0
-1

-0.8

-0.6

-0.4

-0.2

0
TIME

0.2

0.4

0.6

0.8

SAMPLE INPUT:-Enter
Enter
Enter
Enter

the
the
the
the
1

starting point of x[n]=0


starting point of y[n]=-1
co-efficients of x[n]=[1 2 3]
co-efficients of y[n]=[1 3 6 5 3]
1
1

RESULTS :- Thus the program for de- convolution is written using MATLAB and verified.

CIRCULAR CONVOLUTION USING MATLAB


Experiment No: - 05
AIM: - TO write a MATLAB program to compute circular convolution of two given sequences
PROCEDURE:

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

ALGORITHM:

Read the input sequence x1[n] ,and plot


Read the input sequence x2[n] , and plot
Use the user defined matlab function crconc
Convolve the two sequence and plot the result

USER DEFINED FUNCTION:function


y=crconc(x,h)
n1=length(x);
n2=length(h);
N=max(n1,n2);
x=[x,zeros(1,Nn1)];
h=[h,zeros(1,Nn2)]; for n=0:N1;
y(n+1)=0;
for k=0:N-1;
j= mod(n-k,N);
y(n+1)=y(n+1)+x(k+
1)*h(j+1);
en
d
end

MATLAB CODE:clc;
clear
all;
close
all;
x=input('Enter the co-efficients
of x1[n]='); h=input('Enter the
co-efficients
of
x2[n]=');
y=crconc(x,h);
subplot(3,1,1);
n=0:
(length(x)-1);
stem(n,x);
grid on;
xlabel('TIME');
ylabel('AMPLITU
DE');
title('x1[n]');
subplot(3,1,2);
n=0:
(length(h)-1);
stem(n,h);
grid on;
xlabel('TIME');
ylabel('AMPLITU
DE');
title('x2[n]');
subplot(3,1,3);
n=0:
(length(y)-1);
stem(n,y);
grid on;
disp(y)
xlabel('TI
ME');
ylabel('AMPLITU
DE');
title('OUTPUTx3
[n]');

FIGURE:x1[n]
AMPLITUDE

3
2
1
0

AMPLITUDE

0.2

0.4

0.6

0.8

x21[n
]
TIME

1.2

1.4

1.6

1.8

0
0

0.1

0.2

0.3

0.4OUTP0U.5Tx3[n0] .6
TIME

0.7

0.8

0.9

0.2

0.4

0.6

0.8

1.6

1.8

AMPLITUDE

10

5
0

1
TIME

1.2

1.4

SAMPLE INPUT:-Enter the co-efficients of x1[n]=[1 2 3]


Enter the co-efficients of x2[n]=[1 2 ]
7
4
7

RESULTS :- Thus the program for circular convolution is written using MATLAB and
verified.

DIGITAL BUTTERWORTH LOW PASS FILTER


Experiment No: - 06(a)
AIM: - TO write a MATLAB program to plot magnitude response and phase
response of digital Butter worth Low pass filter
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the passband and stopband ripples


Get the passband and stopband edge frequencies
Calculate the order of the filter using buttord function
Find the filter coefficients, using butter function
Draw the magnitude and phase response

clc;
clear
all;
close
all;
rp=input('enter the passband
attenuation:'); rs=input('enter the
stop band attenuation:');
wp=input('enter the pass band
frequency:'); ws=input('enter the
stop band frequency:');

[N,wn]=buttord(wp/pi,ws/pi,rp,rs);
[b,a]=butter(N,wn);
freqz(b,a);

FIGURE:-

Magnitude (dB)

100
0
-100
-200
-300
-400 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

-200

-400

-600

SAMPLE INPUT:enter
enter
enter
enter

the
the
the
the

passband attenuation:0.4
stop band attenuation:30
pass band frequency:0.2*pi
stop band frequency:0.4*pi

RESULTS:- Thus the magnitude response and phase response of Digital Butter worth Low
pass filter was verified.

DIGITAL BUTTERWORTH HIGH PASS FILTER


Experiment No: - 06(b)
AIM: - TO write a MATLAB program to plot magnitude response and phase
response of digital Butter worth High pass filter
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the passband and stopband ripples


Get the passband and stopband edge frequencies
Calculate the order of the filter using buttord function
Find the filter coefficients, using butter function
Draw the magnitude and phase response

clc;
clear
all;
close
all;
rp=input ('Enter the pass band
attenuation:'); rs=input ('Enter the
stop band attenuation:');
wp=input ('Enter the pass band
frequency:'); ws=input ('Enter the
stop band frequency:');
[N,wn]=buttord(wp/pi,ws/pi,rp,rs);
[b,a]=butter(N,wn,'high');
freqz(b,a);

FIGURE:-

Magnitude (dB)

0
-50

SAMPLE INPUT:-

-100
-150

-200

-200
-300

Phase (degrees)

0
-400
-100

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Normalized Frequency (rad/sample)

0.1
0.3
0.5
0.7
0.9

0.2
0.4
0.6
0.8
1

Enter
Enter
Enter
Enter

the
the
the
the

pass
stop
pass
stop

band
band
band
band

attenuation:0.4
attenuation:30
frequency:0.6*pi
frequency:0.2*pi

RESULTS:- Thus the magnitude response and phase


response of Digital Butter worth High pass filter was
verified

DIGITAL BUTTERWORTH BAND PASS FILTER


Experiment No: - 06(C)
AIM: - TO write a MATLAB program to plot magnitude response and phase
response of digital Butter worth Band pass filter
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the passband and stopband ripples


Get the passband and stopband edge frequencies
Calculate the order of the filter using buttord function
Find the filter coefficients, using butter function
Draw the magnitude and phase response

clc;
clear
all;
close
all;
rp=input('enter the passband
attenuation:'); rs=input('enter the
stop band attenuation:');
wp=input('enter the pass band
frequency:'); ws=input('enter the
stop band frequency:');
[N,wn]=buttord(wp/pi,ws/pi,rp,rs);
[b,a]=butter(N,wn);
freqz(b,a);

FIGURE:-

Magnitude (dB)

0
-50
-100
-150
-200
-250 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

-200
-400
-600
-800 0

SAMPLE INPUT:enter
enter
enter
enter

the
the
the
the

passband attenuation:0.2
stop band attenuation:20
pass band frequency:[0.2*pi,0.4*pi]
stop band frequency: [0.1*pi,0.5*pi]

RESULTS:- Thus the Amplitude response and phase response of Butter worth band pass
filter was verified

DIGITAL BUTTERWORTH BAND STOP FILTER


Experiment No: - 06(a
AIM: - TO write a MATLAB program to plot magnitude response and phase
response of digital Butter worth band stop filter
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the passband and stopband ripples


Get the passband and stopband edge frequencies
Calculate the order of the filter using buttord function
Find the filter coefficients, using butter function
Draw the magnitude and phase response

clc;
clear
all;
close
all;
rp=input('enter the passband
attenuation:'); rs=input('enter the
stop band attenuation:');
wp=input('enter the pass band
frequency:'); ws=input('enter the
stop band frequency:');
[N,wn]=buttord(wp/pi,ws/pi,rp,rs);
[b,a]=butter(N,wn,stop);
freqz(b,a);

FIGURE:-

Magnitude (dB)

100
0
-100
-200
-300 0

Phase (degrees)

-500

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency ( rad/sample)

0.9

-1000

-1500

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency ( rad/sample)

0.9

SAMPLE INPUT:enter
enter
enter
enter

the
the
the
the

passband attenuation:0.2
stop band attenuation:20
pass band frequency:[0.1*pi,0.5*pi]
stop band frequency:[0.2*pi,0.4*pi]

RESULTS:- Thus the Amplitude response and phase response of Butter worth band stop
filter was verified

DIGITAL CHEBYSHEV(TYPE-1) LOW PASS FILTER


Experiment No: - 07(a)
AIM: - TO write a MATLAB program to plot magnitude response and phase
response of digital Chebyshev type-1 Low pass filter
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the passband and stopband ripples


Get the passband and stopband edge frequencies
Calculate the order of the filter using cheb1ord function
Find the filter coefficients, using cheby1 function
Draw the magnitude and phase response

clc;
clear
all;
close
all;
rp=input ('Enter the pass band
attenuation:'); rs=input ('Enter the
stop band attenuation:');
wp=input ('Enter the pass band
frequency:'); ws=input ('Enter the
stop band frequency:');
[N,wn]=cheb1ord(wp/pi,ws/pi,rp,rs
); [b,a]=cheby1(N,rp,wn);
freqz(b,a);

FIGURE:-

Magnitude (dB)

0
-100
-200
-300
-400 0

Phase (degrees)

-100
-200

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

-300
-400
-500 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Normalized Frequency (rad/sample)

0.8

0.9

SAMPLE INPUT:Enter
Enter
Enter
Enter

the
the
the
the

pass
stop
pass
stop

band
band
band
band

attenuation:20
attenuation:50
frequency:0.3*pi
frequency:0.4*pi

RESULTS:- Thus the Amplitude response and phase response of chebyshev type 1 Low
pass filter was verified

DIGITAL CHEBYSHEV(TYPE-1)HIGH PASS FILTER


Experiment No: - 07(b)
AIM: - TO write a MATLAB program to plot magnitude response and phase
response of digital Chebyshev type-1 high pass filter
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the passband and stopband ripples


Get the passband and stopband edge frequencies
Calculate the order of the filter using cheb1ord function
Find the filter coefficients, using cheby1 function
Draw the magnitude and phase response

clc;
clear
all;
close
all;
rp=input ('Enter the pass band
attenuation:'); rs=input ('Enter the
stop band attenuation:');
wp=input ('Enter the pass band
frequency:'); ws=input ('Enter the
stop band frequency:');
[N,wn]=cheb1ord(wp/pi,ws/pi,rp,rs
); [b,a]=cheby1(N,rp,wn,'high');
freqz(b,a);

FIGURE:Magnitude (dB)

-100

-200

-300

Phase (degrees)

100
0
-100
-200
-300

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

-400 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

SAMPLE INPUT:Enter
Enter
Enter
Enter

the
the
the
the

pass
stop
pass
stop

band
band
band
band

attenuation:20
attenuation:50
frequency:0.4*pi
frequency:0.3*pi

RESULTS:- Thus the Amplitude response and phase response of chebyshev type 1 high
pass filter was verified

DIGITAL CHEBYSHEV(TYPE-1) BAND PASS FILTER


Experiment No: - 07(c)
AIM: - TO write a MATLAB program to plot magnitude response and phase
response of digital Chebyshev type-1 Band pass filter
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the passband and stopband ripples


Get the passband and stopband edge frequencies
Calculate the order of the filter using cheb1ord function
Find the filter coefficients, using cheby1 function
Draw the magnitude and phase response

clc;
clear
all;
close
all;
rp=input ('Enter the pass band
attenuation:'); rs=input ('Enter the
stop band attenuation:');
wp=input ('Enter the pass band
frequency:'); ws=input ('Enter the
stop band frequency:');
[N,wn]=cheb1ord(wp/pi,ws/pi,rp,rs
); [b,a]=cheby1(N,rp,wn);
freqz(b,a);

FIGURE:Magnitude (dB )

0
-100
-200
-300
-400 0

Phase (degrees )

-200
-400

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

-600
-800 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

SAMPLE INPUT:Enter
Enter
Enter
Enter

the
the
the
the

pass
stop
pass
stop

band
band
band
band

attenuation:20
attenuation:98
frequency:[0.3*pi,0.5*pi]
frequency:[0.1*pi,0.8*pi]

RESULTS:- Thus the Amplitude response and phase response of chebyshev type 1 band
pass filter was verified

DIGITAL CHEBYSHEV(TYPE-1)BAND STOP FILTER


Experiment No: - 07(d)
AIM: - TO write a MATLAB program to plot magnitude response and phase
response of digital Chebyshev type-1 band stop filter
PROCEDURE:-

ALGORITH
M:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the passband and stopband ripples


Get the passband and stopband edge frequencies
Calculate the order of the filter using cheb1ord function
Find the filter coefficients, using cheby1 function
Draw the magnitude and phase response

MATLAB CODE:clc;
clear
all;
close
all;
rp=input('Enter the pass band
attenuation:'); rs=input('Enter
the stop band attenuation:');
wp=input('Enter the pass band
frequency:'); ws=input('Enter

the stop band frequency:');


[N,wn]=cheb1ord(wp/pi,ws/pi,rp
,rs);
[b,a]=cheby1(N,rp,wn,'stop');
freqz(b,a);

FIGURE:-

Magnitude (dB)

-100

-200

-300 0

0.1

0.2

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.9

Phase (degrees)

-200
-400
-600
-800 0

0.3

0.4

0.5

0.6

0.7

0.8

Normalized Frequency (rad/sample)

SAMPLE INPUT:Enter
Enter
Enter
Enter

the
the
the
the

pass
stop
pass
stop

band
band
band
band

attenuation:20
attenuation:98
frequency:[0.1*pi,0.8*pi]
frequency:[0.3*pi,0.5*pi]

RESULTS:- Thus the Amplitude response and phase response of chebyshev type 1 band
stop pass filter was verified

DIGITAL CHEBYSHEV(TYPE-2) LOW PASS FILTER


Experiment No: - 08(a)
AIM: - TO write a MATLAB program to plot magnitude response and phase
response of digital Chebyshev type-2 Low pass filter
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the passband and stopband ripples


Get the passband and stopband edge frequencies
Calculate the order of the filter using cheb2ord function
Find the filter coefficients, using cheby2 function
Draw the magnitude and phase response

clc;
clear
all;
close
all;
rp=input ('Enter the pass band
attenuation:'); rs=input ('Enter the
stop band attenuation:');
wp=input ('Enter the pass band
frequency:'); ws=input ('Enter the
stop band frequency:');
[N,wn]=cheb2ord(wp/pi,ws/pi,rp,rs
); [b,a]=cheby2(N,rp,wn);
freqz(b,a);

FIGURE:-

Magnitude (dB)

0
-20
-40
-60
-80 0

Phase (degrees)

100

0
-100

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

-200
-300 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

SAMPLE INPUT:Enter
Enter
Enter
Enter

the
the
the
the

pass
stop
pass
stop

band
band
band
band

attenuation:20
attenuation:70
frequency:0.3*pi
frequency:0.4*pi

RESULTS:- Thus the Amplitude response and phase response of chebyshev type 2 Low
pass filter was verified

DIGITAL CHEBYSHEV(TYPE-2)HIGH PASS FILTER


Experiment No: - 08(b)
AIM: - TO write a MATLAB program to plot magnitude response and phase
response of digital Chebyshev type-2 high pass filter
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the passband and stopband ripples


Get the passband and stopband edge frequencies
Calculate the order of the filter using cheb2ord function
Find the filter coefficients, using cheby2 function
Draw the magnitude and phase response

clc;
clear
all;
close
all;
rp=input ('Enter the pass band
attenuation:'); rs=input ('Enter the
stop band attenuation:');
wp=input ('Enter the pass band
frequency:'); ws=input ('Enter the
stop band frequency:');
[N,wn]=cheb2ord(wp/pi,ws/pi,rp,rs
); [b,a]=cheby2(N,rp,wn,'high');
freqz(b,a);

FIGURE:Magnitude (dB)

0
-20
-40
-60
-80 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

300

200
100
0
-100 0

SAMPLE INPUT:Enter
Enter
Enter
Enter

the
the
the
the

pass
stop
pass
stop

band
band
band
band

attenuation:20
attenuation:70
frequency:0.4*pi
frequency:0.3*pi

RESULTS:- Thus the Amplitude response and phase response of chebyshev type 2 high
pass filter was verified

DIGITAL CHEBYSHEV(TYPE-2) BAND PASS FILTER


Experiment No: - 08(c)
AIM: - TO write a MATLAB program to plot magnitude response and phase
response of digital Chebyshev type-2 Band pass filter
PROCEDURE:-

ALGORITH
M:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the passband and stopband ripples


Get the passband and stopband edge frequencies
Calculate the order of the filter using cheb2ord function
Find the filter coefficients, using cheby2 function
Draw the magnitude and phase response

MATLAB CODE:clc;
clear
all;
close
all;
rp=input ('Enter the pass band
attenuation:'); rs=input ('Enter the
stop band attenuation:');
wp=input ('Enter the pass band
frequency:'); ws=input ('Enter the
stop band frequency:');
[N,wn]=cheb2ord(wp/pi,ws/pi,rp,rs
); [b,a]=cheby2(N,rp,wn);
freqz(b,a);

FIGURE:-

Magnitude (dB)

0
-10
-20
-30
-40
-50 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

200

100
0
-100
-200 0

SAMPLE INPUT:Enter
Enter
Enter
Enter

the
the
the
the

pass
stop
pass
stop

band
band
band
band

attenuation:2
attenuation:20
frequency:[0.3*pi,0.4*pi]
frequency:[0.1*pi,0.5*pi]

RESULTS:- Thus the Amplitude response and phase response of chebyshev type 2 band
pass filter was verified

DIGITAL CHEBYSHEV(TYPE-2)BAND STOP FILTER


Experiment No: - 08(d)
AIM: - TO write a MATLAB program to plot magnitude response and phase
response of digital Chebyshev type-2 band stop filter
PROCEDURE:-

ALGORITH
M:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the passband and stopband ripples


Get the passband and stopband edge frequencies
Calculate the order of the filter using cheb2ord function
Find the filter coefficients, using cheby2 function
Draw the magnitude and phase response

MATLAB CODE:clc;
clear
all;
close
all;
rp=input('Enter the pass band
attenuation:'); rs=input('Enter
the stop band attenuation:');
wp=input('Enter the pass band
frequency:'); ws=input('Enter
the stop band frequency:');
[N,wn]=cheb2ord(wp/pi,ws/pi,rp
,rs);
[b,a]=cheby2(N,rp,wn,'stop');
freqz(b,a);

FIGURE:-

Magnitude (dB)

0
-10
-20
-30
-40 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

200

100
0
-100
-200 0

SAMPLE INPUT:Enter
Enter
Enter
Enter

the
the
the
the

pass
stop
pass
stop

band
band
band
band

attenuation:2
attenuation:20
frequency:[0.1*pi,0.5*pi]
frequency:[0.3*pi,0.4*pi]

RESULTS:- Thus the Amplitude response and phase response of chebyshev type 2 band
stop pass filter was verified

FIR LOW PASS FILTER USING HANNING WINDOW


Experiment No: - 09(a)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR LP filter using Hanning window
PROCEDURE:-

ALGORITH
M:-

MATLAB CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & hanning function to compute the filter coefficient
Draw the magnitude and phase response

clc;
clear
all;
close
all;
N=input('Enter the value
of N:'); wc=input('Enter
cutof frequency:');
h=fir1(N,wc/pi,hanning(N
+1)); freqz(h);

FIGURE:-

Magnitude (dB)

50
0
-50
-100
-150 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

0
-500
-1000
-1500
-2000 0

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:0.5*pi

RESULTS:- Thus the magnitude response and phase response of fir Low pass filter using
hanning window
was verified.
FIR HIGHPASS FILTER USING HANNING WINDOW
Experiment No: - 09(b)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR HP filter using Hanning window
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & hanning function to compute the filter coefficient
Draw the magnitude and phase response

clc;
clear
all;
close
all;
N=input('Enter the value of
N:'); wc=input('Enter cutof
frequency:');
h=fir1(N,wc/pi,'high',hannin
g(N+1)); freqz(h);

FIGURE:-

Magnitude (dB)

50
0
-50
-100
-150 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

500
0
-500
-1000
-1500 0

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:0.5*pi

RESULTS:- Thus the magnitude response and phase response of fir High pass
filter using hanning window was verified.

FIR BAND PASS FILTER USING HANNING WINDOW


Experiment No: - 09(c)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR BP filter using Hanning window
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & hanning function to compute the filter coefficient
Draw the magnitude and phase response

clc;
clear
all;
close
all;
N=input('Enter the value
of N:'); wc=input('Enter
cutof frequency:');
h=fir1(N,wc/pi,hanning(N
+1)); freqz(h);

FIGURE:-

Magnitude (dB)

50
0

-50
-100

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

-1500 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

500
0
-500
-1000

SAMPLE INPUT:-

Enter the value of N:28


Enter cutoff frequency:[0.3*pi,0.7*pi]

RESULTS:- Thus the magnitude response and phase response of fir band pass
filter using hanning window was verified.

FIR BAND STOP FILTER USING HANNING WINDOW


Experiment No: - 09(d)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR BS filter using Hanning window
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & hanning function to compute the filter coefficient
Draw the magnitude and phase response

clc;
clear
all;
close
all;
N=input('Enter the value of
N:'); wc=input('Enter cutof
frequency:');
h=fir1(N,wc/pi,stop,hannin
g(N+1)); freqz(h);

FIGURE:-

Magnitude (dB)

50
0
-50
-100
-150 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

-500

-1000

-1500 0

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:[0.2*pi,0.7*pi]

RESULTS:- Thus the magnitude response and phase response of fir band stop
filter using hanning window was verified.

FIR LOW PASS FILTER USING HAMMING WINDOW


Experiment No: - 10(a)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR LP filter using Hamming window
PROCEDURE:-

ALGORITH
M:-

MATLAB CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & hamming function to compute the filter coefficient
Draw the magnitude and phase response

clc;
clear
all;
close
all;
N=input('Enter the value
of N:'); wc=input('Enter
cutof frequency:');
h=fir1(N,wc/pi,hamming(
N+1)); freqz(h);

FIGURE:-

Magnitude (dB)

50
0
-50
-100
-150 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Normalized Frequency (rad/sample)

Phase (degrees)

0
-500
-1000
-1500
-2000 0

0.1

0.2

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:0.5*pi

RESULTS:- Thus the magnitude response and phase response of fir Low pass filter using
hamming window
was verified.
FIR HIGHPASS FILTER USING HAMMING WINDOW
Experiment No: - 10(b)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR HP filter using Hanning window
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & hamming function to compute the filter coefficient
Draw the magnitude and phase response

clc;
clear
all;
close
all;
N=input('Enter the value of
N:'); wc=input('Enter cutof
frequency:');
h=fir1(N,wc/pi,'high',hammi
ng(N+1)); freqz(h);

FIGURE:-

Magnitude (dB)

50
0
-50
-100
-150 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

500
0
-500
-1000
-1500 0

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:0.5*pi

RESULTS:- Thus the magnitude response and phase response of fir High pass
filter using hamming window was verified.
FIR BAND PASS FILTER USING HAMMING WINDOW
Experiment No: 10(c)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR BP filter using Hamming window
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & hamming function to compute the filter coefficient
Draw the magnitude and phase response

clc;
clear
all;
close
all;
N=input('Enter the value
of N:'); wc=input('Enter
cutof frequency:');
h=fir1(N,wc/pi,hamming(
N+1)); freqz(h);

FIGURE:-

Magnitude (dB)

-50

-100 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

500
0
-500
-1000
-1500 0

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:[0.3*pi,0.7*pi]

RESULTS:- Thus the magnitude response and phase response of fir band pass
filter using hamming window was verified.

FIR BAND STOP FILTER USING HAMMING WINDOW


Experiment No: - 10(d)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR BS filter using Hamming window
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & hamming function to compute the filter coefficient
Draw the magnitude and phase response

clc;
clear
all;
close
all;
N=input('Enter the value of
N:'); wc=input('Enter cutof
frequency:');
h=fir1(N,wc/pi,stop,hammi
ng(N+1)); freqz(h);

FIGURE:-

Magnitude (dB)

-50

-100 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

0
-500
-1000
-1500
-20000

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:[0.2*pi,0.7*pi]

RESULTS:- Thus the magnitude response and phase response of fir band stop
filter using hamming window was verified.
FIR LOW PASS FILTER USING BLACKMAN WINDOW
Experiment No: - 11(a)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR LP filter using blackman window
PROCEDURE:-

ALGORITH
M:-

MATLAB CODE:clc;
clear
all;
close
all;
N=input('Enter the value
of N:'); wc=input('Enter
cutof frequency:');
h=fir1(N,wc/pi,blackman(
N+1)); freqz(h);

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & blackman function to compute the filter coefficient
Draw the magnitude and phase response

FIGURE:-

Magnitude (dB)

50
0
-50
-100
-150 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency ( rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency ( rad/sample)

0.9

Phase (degrees)

0
-500
-1000
-1500
-2000 0

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:0.5*pi

RESULTS:- Thus the magnitude response and phase response of fir Low pass filter using
blackman window
was verified.

FIR HIGHPASS FILTER USING BLACKMAN WINDOW


Experiment No: - 11(b)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR HP filter using blackman window
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & blackman function to compute the filter coefficient
Draw the magnitude and phase response

clc;
clear
all;
close
all;
N=input('Enter the value of
N:'); wc=input('Enter cutof
frequency:');
h=fir1(N,wc/pi,'high',blackm
an(N+1)); freqz(h);

FIGURE:-

Magnitude (dB)

50
0
-50
-100
-150 0

Phase (degrees)

1000

-1000

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

-2000 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:0.5*pi

RESULTS:- Thus the magnitude response and phase response of fir High pass
filter using blackman window was verified.
FIR BAND PASS FILTER USING BLACKMAN WINDOW
Experiment No: - 11(c)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR BP filter using blackman window
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & blackman function to compute the filter coefficient
Draw the magnitude and phase response

clc;
clear
all;
close
all;
N=input('Enter the value
of N:'); wc=input('Enter
cutof frequency:');
h=fir1(N,wc/pi,blackman(
N+1)); freqz(h);

FIGURE:-

Magnitude (dB)

0
-50
-100

-150

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

-3000 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

1000
0
-1000
-2000

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:[0.3*pi,0.7*pi]

RESULTS:- Thus the magnitude response and phase response of fir band pass
filter using blackman window was verified.

FIR BAND STOP FILTER USING BLACKMAN WINDOW


Experiment No: - 11(d)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR BS filter using blackman window
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & blackman function to compute the filter coefficient
Draw the magnitude and phase response

clc;
clear
all;
close
all;
N=input('Enter the value of
N:'); wc=input('Enter cutof
frequency:');
h=fir1(N,wc/pi,stop,black
man(N+1)); freqz(h);

FIGURE:-

Magnitude (dB)

50
0
-50
-100
-150 0

0.1

0.2

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.9

Phase (degrees)

-1000

-2000

-3000

0.3

0.4

0.5

0.6

0.7

0.8

No
rm
ali
ze
Fr
eq
ue
nc
(

ad
/sa
m
ple

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:[0.2*pi,0.7*pi]

RESULTS:- Thus the magnitude response and phase response of fir band stop
filter using blackman window was verified.
FIR LOW PASS FILTER USING RECTANGULAR WINDOW
Experiment No: - 12(a)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR LP filter using rectangular window
PROCEDURE:-

ALGORITH
M:-

MATLAB CODE:clc;
clear
all;
close
all;
N=input('Enter the value
of N:'); wc=input('Enter
cutof frequency:');
h=fir1(N,wc/pi,rectwin(N+
1)); freqz(h);

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & rectwin function to compute the filter coefficient
Draw the magnitude and phase response

FIGURE:-

Magnitude (dB)

50
0
-50
-100

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

0
-500
-1000
-1500

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:0.5*pi

RESULTS:- Thus the magnitude response and phase response of fir Low pass filter using
rectangular window
was verified.

FIR HIGHPASS FILTER USING RECTANGULAR WINDOW


Experiment No: - 12(b)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR HP filter using rectangular window
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & rectwin function to compute the filter coefficient
Draw the magnitude and phase response

clc;
clear
all;
close
all;
N=input('Enter the value of
N:'); wc=input('Enter cutof
frequency:');
h=fir1(N,wc/pi,'high',rectwi
n(N+1)); freqz(h);

FIGURE:-

Magnitude (dB)

50
0

-50

-100

Phase (degrees)

500
0
-500

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

-1000
-1500 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:0.5*pi

RESULTS:- Thus the magnitude response and phase response of fir High pass
filter using rectangular window was verified.

FIR BAND PASS FILTER USING RECTWIN WINDOW


Experiment No: - 12(c)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR BP filter using rectangular window
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & rectwin function to compute the filter coefficient
Draw the magnitude and phase response

clc;
clear
all;
close
all;
N=input('Enter the value
of N:'); wc=input('Enter
cutof frequency:');
h=fir1(N,wc/pi,rectwin(N+
1)); freqz(h);

FIGURE:

Magnitude (dB)

50

-50

-100 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (rad/sample)

0.9

Phase (degrees)

500
0
-500
-1000
-1500 0

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:[0.3*pi,0.7*pi]

RESULTS:- Thus the magnitude response and phase response of fir band pass
filter using rectangular window was verified.

FIR BAND STOP FILTER USING RECTANGULAR WINDOW


Experiment No: - 12(d)
AIM: - TO write a MATLAB program to plot magnitude response and phase response of
digital FIR BS filter using rectangular window
PROCEDURE:-

ALGORITH
M:-

MATLAB
CODE:-

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Get the order of the filter


Get the cut off frequency
use fir1 & rectwin function to compute the filter coefficient
Draw the magnitude and phase response

clc;
clear
all;
close
all;
N=input('Enter the value of
N:'); wc=input('Enter cutof
frequency:');
h=fir1(N,wc/pi,stop,rectwi
n(N+1)); freqz(h);

FIGURE:

Magnitude (dB)

50

-50

-100 0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency ( rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency ( rad/sample)

0.9

Phase (degrees)

-500

-1000

-1500 0

SAMPLE INPUT:Enter the value of N:28


Enter cutoff frequency:[0.2*pi,0.7*pi]

RESULTS:- Thus the magnitude response and phase response of fir band stop
filter using rectangular window was verified.
DISCRETE FOURIER TRANSFORM
Experiment No: - 13
AIM: - TO write a MATLAB program to find the DFT of a sequence
PROCEDURE:

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\
Figure window

Enter the input sequence


x[n]
Enter the length of
sequence,N
Use the matlab function fft

ALGORITHM:-

MATLAB CODE:clc;
clear
all;
close
all;
N=input('Enter the value of
N'); x=input('Enter the input
sequence X(n):'); t=0:N-1;
subplot(2,1,1);
stem(t,x);
xlabel('TIME');
ylabel('AMPLITU
DE');
title('INPUT
SIGNAL');

grid
on;
y=ft(x
,N)

subplot(2,1,2);
stem(t,y);
xlabel('TIME');
ylabel('AMPLITU
DE');
title('OUTPUT
SIGNAL');
grid on;

FIGURE:-

INPUT SIGNAL

AMPLITUDE

4
3
2
1
0

0.5

10
AMPLITUDE

1.5

2.5

2.5

TIME
OUTPUT SIGNAL

-5

0.5

1.5
TIME

SAMPLE INPUT:Enter the value of N 4


Enter the input sequence X(n):[1 2 3 4]
y =
10.0000

-2.0000 + 2.0000i

-2.0000

-2.0000 - 2.0000i

RESULTS:- Thus the program for dft is written using MATLAB and verified.

INVERSE DISCRETE FOURIER TRANSFORM


Experiment No: - 14
AIM: - TO write a MATLAB program to find the IDFT of a sequence
PROCEDURE:-

ALGORITH
M:-

MATLAB CODE:clc;
clear
all;
close
all;
N=input('Enter the value
of N='); y=input('Enter
the sequence y[n]=');
t=0:N-1;
subplot(2,1,1);
stem(t,y);
xlabel('TIME');
ylabel('AMPLITU
DE');
title('INPUT
SIGNAL');
grid on;
x=ift(y,N)
subplot(2,1,
2);
stem(t,x);
xlabel('TIME');
ylabel('AMPLITU

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Enter the output sequence y[n]


Enter the length of sequence,N
Use the matlab function ifft
Plot the input and output sequence

DE');
title('OUTPUT
SIGNAL');
grid on;;

FIGURE:-

INPUT SIGNAL

AMPLITUDE

10

-5

0.5

4
AMPLITUDE

1.5

2.5

2.5

TIME
OUTPUT
SIGNAL

3
2
1
0

0.5

1.5
TIME

SAMPLE INPUT:Enter the value of N=4


Enter the sequence y[n]=[10 -2+2i -2 -2-2i]
x =
1

RESULTS:- Thus the program for idft is written using MATLAB and verified.

LINEAR CONVOLUTION USING DFT


Experiment No: - 15
AIM: - TO write a MATLAB program to find the linear convolution of two sequence using
PROCEDURE:-

ALGORITH
M:-

MATLAB CODE:clc;
clear
all;
close
all;
x=input('Enter
sequence
h=input('Enter
sequence
l1=length(x);
l2=length(h);
x=[x,zeros(1,l
2-1)];
h=[h,zeros(1,l
1-1)];
l3=length(x);
c=0:l3-1;
subplot(3,1,1);

the
x(n):');
the
h(n):');

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Find the length of first sequence x[n]


Find the length of second sequence h[n]
Estimate the number of samples in the result of linear convolution
If l1 <l2 pad enough no: of zeros to x[n]
If l2 <l1 pad enough no: of zeros to h[n]
Take the dft for modified x[n]and h[n]
Compute Y[K]=X[k].*H[k]
Compute y[n]=idft(Y[k])
Plot input and output sequences

stem(c
,x);
grid
on;
xlabel('TIME');
ylabel('AMPLITU
DE');
title('X(n)');
subplot(3,1,2);

stem(c,h);
xlabel('TIME');
ylabel('AMPLITU
DE'); grid on;
title('h(n)');
q=ft(x,l3);
r=ft(h,l3);
s=(r).*q;
y=ift(s,l3)
subplot(3,1,
3);
stem(c,y);
xlabel('TIME');
ylabel('AMPLITU
DE'); grid on;
title('y(n)');

FIGURE:X(n)
3
2
1
00.511.5

h(2n) TIME

2.533.54

00.511.5

y(2n) TIME

2.533.54

00.511.5

2
TIME

2.533.54

AMPLITUDE

10

AMPLITUDE
AMPLITUDE

0.5

6
4
2
0

SAMPLE INPUT:Enter the sequence x(n):[1 2 3]


Enter the sequence h(n):[1 1 1]
t =
1.0000

3.0000

6.0000

5.0000

3.0000

RESULTS:- Thus the program for linear convolution using dft is written using MATLAB
and verified.

CIRCULAR CONVOLUTION USING DFT


Experiment No: - 16
AIM: - TO write a MATLAB program to find the circular convolution of two sequence using dft
method
PROCEDURE:-

ALGORITH
M:-

MATLAB CODE:clc;
clear
all;
close
all;
x=input('Enter
sequence
h=input('Enter
sequence
l1=length(x);
l2=lengt
h(h);
a=0:l1-1;
b=0:l2-1;
l3=max(l1
,l2);
c=0:l3-1;
subplot(3,1,1);
stem(a,x);
grid on;
xlabel('TI
ME');

the
x(n):');
the
h(n):');

Open MATLAB
Open new M-file
Type the program
Save in current directory
Compile and Run the program
For the output see command window\ Figure window

Find the length of first sequence x[n]


Find the length of second sequence h[n]
Estimate the number of samples in the result of circular convolution
Take the dft for x[n]and h[n]
Compute Y[K]=X[k].*H[k]
Compute y[n]=idft(Y[k])
Plot input and output sequences

ylabel('AMPLITU
DE');
title('X(n)');
subplot(3,1,2);
stem(b,h);
xlabel('TIME');
ylabel('AMPLITU
DE');

grid on;
title('h(n)'
);
q=ft(x,l3)
;
r=ft(h,l3);
s=(r).*q;
t=ift(s,l3)
subplot(3,1,
3);
stem(c,t);
xlabel('TIME');
ylabel('AMPLITU
DE'); grid on;
title('y(n)');

FIGURE:

X(n)

AMPLITUDE

2
1
00.20.40.60.8

h(1n) TIME 1.21.41.61.82

AMPLITUDE

0
2

1
0

0.5

y1(.n5) TIME

2.5

0.5

1.5
TIME

2.5

AMPLITUDE

10
0

SAMPLE INPUT:Enter the sequence x(n):[1 2 3]


Enter the sequence h(n):[1 2 1 2]
t =
8

10

10

RESULTS:- Thus the program for circular convolution using dft is written using MATLAB
and verified.

Potrebbero piacerti anche