You are on page 1of 5

% Write a MATLAB program to find the DTFT of a given sequence.

x=input('Enter the sequence : ')


N=length(x)
n=0:N-1
K=0:N-1
wn=exp(-j*2*pi/N)
nK=n'*K
wNnK=wn.^nK
df=x*wNnK
subplot(3,1,1)
stem(x,abs(df))
title('DTFT')
xlabel('K')
ylabel('Magnitude')
subplot(3,1,2)
stem(x,angle(df))
title('DTFT')
xlabel('K')
ylabel('phase')
wn=exp(j*2*pi/N)
nK=n'*K
wNnK=wn.^nK
inversdf=(x*wNnK)/N
subplot(3,1,3)
stem(x,abs(inversdf))
title('Inverse DTFT')
xlabel('N')
ylabel('Magnitude')

Enter the sequence : [1 3 5 6 7 2 4 9 8]


x=
1

N=
9
n=
0
K=
0
wn =
0.7660 - 0.6428i
nK =
0
0
0
0
0
0
0
0
0

0
1
2
3
4
5
6
7
8

0 0
2 3
4 6
6 9
8 12
10 15
12 18
14 21
16 24

0 0 0 0 0
4 5 6 7 8
8 10 12 14 16
12 15 18 21 24
16 20 24 28 32
20 25 30 35 40
24 30 36 42 48
28 35 42 49 56
32 40 48 56 64

wNnK =
Columns 1 through 7
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
0.7660 - 0.6428i 0.1736 - 0.9848i -0.5000 - 0.8660i -0.9397 - 0.3420i -0.9397 + 0.3420i
-0.5000 + 0.8660i
1.0000
0.1736 - 0.9848i -0.9397 - 0.3420i -0.5000 + 0.8660i 0.7660 + 0.6428i 0.7660 - 0.6428i
-0.5000 - 0.8660i

1.0000
-0.5000 - 0.8660i -0.5000 + 0.8660i 1.0000 + 0.0000i
0.8660i 1.0000 + 0.0000i
1.0000
-0.9397 - 0.3420i 0.7660 + 0.6428i -0.5000 - 0.8660i
-0.5000 + 0.8660i
1.0000
-0.9397 + 0.3420i 0.7660 - 0.6428i -0.5000 + 0.8660i
0.9848i -0.5000 - 0.8660i
1.0000
-0.5000 + 0.8660i -0.5000 - 0.8660i 1.0000 + 0.0000i
0.8660i 1.0000 + 0.0000i
1.0000
0.1736 + 0.9848i -0.9397 + 0.3420i -0.5000 - 0.8660i
0.6428i -0.5000 + 0.8660i
1.0000
0.7660 + 0.6428i 0.1736 + 0.9848i -0.5000 + 0.8660i
0.3420i -0.5000 - 0.8660i

-0.5000 - 0.8660i -0.5000 +


0.1736 + 0.9848i 0.1736 - 0.9848i
0.1736 - 0.9848i 0.1736 +
-0.5000 + 0.8660i -0.5000 0.7660 - 0.6428i 0.7660 +
-0.9397 + 0.3420i -0.9397 -

Columns 8 through 9
1.0000
1.0000
0.1736 + 0.9848i 0.7660 + 0.6428i
-0.9397 + 0.3420i 0.1736 + 0.9848i
-0.5000 - 0.8660i -0.5000 + 0.8660i
0.7660 - 0.6428i -0.9397 + 0.3420i
0.7660 + 0.6428i -0.9397 - 0.3420i
-0.5000 + 0.8660i -0.5000 - 0.8660i
-0.9397 - 0.3420i 0.1736 - 0.9848i
0.1736 - 0.9848i 0.7660 - 0.6428i
df =
Columns 1 through 7
45.0000
-1.5997 + 3.7110i -8.3512 +11.2381i -6.0000 - 3.4641i -2.0492 + 2.3309i -2.0492 2.3309i -6.0000 + 3.4641i
Columns 8 through 9
-8.3512 -11.2381i -1.5997 - 3.7110i
wn =
0.7660 + 0.6428i
nK =
0
0
0
0
0

0
1
2
3
4

0
2
4
6
8

0 0
3 4
6 8
9 12
12 16

0
5
10
15
20

0 0 0
6 7 8
12 14 16
18 21 24
24 28 32

0
0
0
0

5
6
7
8

10
12
14
16

15
18
21
24

20
24
28
32

25
30
35
40

30
36
42
48

35
42
49
56

40
48
56
64

wNnK =
Columns 1 through 7
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
0.7660 + 0.6428i 0.1736 + 0.9848i -0.5000 + 0.8660i -0.9397 + 0.3420i -0.9397 0.3420i -0.5000 - 0.8660i
1.0000
0.1736 + 0.9848i -0.9397 + 0.3420i -0.5000 - 0.8660i 0.7660 - 0.6428i 0.7660 +
0.6428i -0.5000 + 0.8660i
1.0000
-0.5000 + 0.8660i -0.5000 - 0.8660i 1.0000 - 0.0000i -0.5000 + 0.8660i -0.5000 - 0.8660i
1.0000 - 0.0000i
1.0000
-0.9397 + 0.3420i 0.7660 - 0.6428i -0.5000 + 0.8660i 0.1736 - 0.9848i 0.1736 +
0.9848i -0.5000 - 0.8660i
1.0000
-0.9397 - 0.3420i 0.7660 + 0.6428i -0.5000 - 0.8660i 0.1736 + 0.9848i 0.1736 - 0.9848i
-0.5000 + 0.8660i
1.0000
-0.5000 - 0.8660i -0.5000 + 0.8660i 1.0000 - 0.0000i -0.5000 - 0.8660i -0.5000 + 0.8660i
1.0000 - 0.0000i
1.0000
0.1736 - 0.9848i -0.9397 - 0.3420i -0.5000 + 0.8660i 0.7660 + 0.6428i 0.7660 - 0.6428i
-0.5000 - 0.8660i
1.0000
0.7660 - 0.6428i 0.1736 - 0.9848i -0.5000 - 0.8660i -0.9397 - 0.3420i -0.9397 + 0.3420i
-0.5000 + 0.8660i
Columns 8 through 9
1.0000
1.0000
0.1736 - 0.9848i 0.7660 - 0.6428i
-0.9397 - 0.3420i 0.1736 - 0.9848i
-0.5000 + 0.8660i -0.5000 - 0.8660i
0.7660 + 0.6428i -0.9397 - 0.3420i
0.7660 - 0.6428i -0.9397 + 0.3420i
-0.5000 - 0.8660i -0.5000 + 0.8660i
-0.9397 + 0.3420i 0.1736 + 0.9848i
0.1736 + 0.9848i 0.7660 + 0.6428i
inversdf =
Columns 1 through 7
5.0000
-0.1777 - 0.4123i -0.9279 - 1.2487i -0.6667 + 0.3849i -0.2277 - 0.2590i -0.2277 +
0.2590i -0.6667 - 0.3849i
Columns 8 through 9

-0.9279 + 1.2487i -0.1777 + 0.4123i


>> abs(df)
ans =
45.0000

4.0411 14.0013

6.9282

3.1036

3.1036

6.9282 14.0013

4.0411

>> angle(df)
ans =
0

1.9778

2.2099 -2.6180

2.2920 -2.2920

2.6180 -2.2099 -1.9778

>> abs(inversdf)
ans =
5.0000
>>

0.4490

1.5557

0.7698

0.3448

0.3448

0.7698

1.5557

0.4490

You might also like