You are on page 1of 3

LINEAR PHASE FIR FILTERS

PROGRAM:
clc;
clear all;
j=sqrt(-1);
h=input('h[n]=');
M=length(h);
h;
i=1:1:M;
if h(i)==h(M+1-i)
if rem(M,2)~=0
disp('Sequence is Odd Symmetric TYPE 1 Filter');
elseif rem(M,2)==0
disp('Sequence is Even Symmetric TYPE 2 Filter');
end
else h(i)~=h(M+1-i)
if rem(M,2)~=0
disp('Sequence is Odd Anti-Symmetric TYPE 3 Filter');
elseif rem(M,2)==0
disp('Sequence is Even Anti-Symmetric TYPE 4 Filter');
end
end
w=-pi:pi/20:pi;
y=0;
for n=1:M
y=y+(h(n).*exp(-j*w*(n-1)));
end
subplot(2,1,1)
plot(w,abs(y))
title('Magnitude Plot')
xlabel('w---->')
ylabel('|H(w)|---->')
subplot(2,1,2)
plot(w,angle(y))
title('Phase Plot')
xlabel('w---->')
ylabel('<H(w)---->')

OUTPUT:
h[n]=[1 2 3 2 1]
Sequence is Odd Symmetric TYPE 1 Filter
Magnitude Plot

|H(w)|---->

10

0
-4

-3

-2

-1

0
w---->
Phase Plot

-3

-2

-1

0
w---->

<H(w)---->

4
2
0
-2
-4
-4

h[n]=[1 2 2 1]
Sequence is Even Symmetric TYPE 2 Filter
Magnitude Plot

|H(w)|---->

0
-4

-3

-2

-1

0
w---->
Phase Plot

-3

-2

-1

0
w---->

<H(w)---->

4
2
0
-2
-4
-4

h[n]=[ 1 2 0 -2 -1]
Sequence is Odd Anti-Symmetric TYPE 3 Filter
Magnitude Plot
6

|H(w)|---->

0
-4

-3

-2

-1

0
w---->
Phase Plot

-3

-2

-1

0
w---->

<H(w)---->

4
2
0
-2
-4
-4

h[n]=[ 1 2 3 -3 -2 -1]
Sequence is Even Anti-Symmetric TYPE 4 Filter
Magnitude Plot

|H(w)|---->

10

0
-4

-3

-2

-1

0
w---->
Phase Plot

-3

-2

-1

0
w---->

<H(w)---->

4
2
0
-2
-4
-4

You might also like