-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpartB1.m
107 lines (93 loc) · 2.08 KB
/
partB1.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
%Author: Sapountzi Athanasia Despoina 02624
%%MEROS B1
%% B1.1
%signal x[n] = 80δ[n] - 80sin(pi*n/2)/(pi*n) + cos(pi*n/32) + cos(pi*n/16)
%delta -> dirac function
N = 10000;
n= 0:N-1;
Nbig = 10000;
Nbins = 8000;
signal = 80*dirac(n) - 80*sin(pi*n/2)/(pi*n) + cos(pi*n/32) + cos(pi*n/16);
L =8;
%rectangular window
wrect = rectwin(L);
%apply windowing technique to signal
for n = 1:8
yrect(n) = (80*dirac(n) - 80*sin(pi*n/2)/(pi*n) + cos(pi*n/32) + cos(pi*n/16))*wrect(n);
end
figure(1);
plot(yrect);
%% B1.2
N = L+1;
Xk = fftshift(fft(yrect,N));
figure(3);
plot(20*log10(abs(Xk)));
N = 10000;
Xk = fftshift(fft(yrect,N));
figure(4);
plot(20*log10(abs(Xk)));
%% B1.3
L =16;
%rectangular window
wrect = rectwin(L);
%apply window to signal
for n = 1:16
yrect(n) = (80*dirac(n) - 80*sin(pi*n/2)/(pi*n) + cos(pi*n/32) + cos(pi*n/16))*wrect(n);
end
%plot( 20*log10(abs(fftshift(fft(yrect, Nbins)))), 'm' );
N = L+1;
Xk = fftshift(fft(yrect,N));
figure(6);
plot(20*log10(abs(Xk)));
N = 10000;
Xk = fftshift(fft(yrect,N));
figure(7);
plot(20*log10(abs(Xk)));
L = 32;
%rectangular window
X = rectwin(L);
wrect = rectwin(L);
%apply window to signal
for n = 1:32
yrect(n) = (80*dirac(n) - 80*sin(pi*n/2)/(pi*n) + cos(pi*n/32) + cos(pi*n/16))*wrect(n);
end
N = L+1;
Xk = fftshift(fft(yrect,N));
figure(8);
plot(20*log10(abs(Xk)));
N = 10000;
Xk = fftshift(fft(yrect,N));
figure(9);
plot(20*log10(abs(Xk)));
L = 64;
%rectangular window
X = rectwin(L);
wrect = rectwin(L);
%apply window to signal
for n = 1:64
yrect(n) = (80*dirac(n) - 80*sin(pi*n/2)/(pi*n) + cos(pi*n/32) + cos(pi*n/16))*wrect(n);
end
N = L+1;
Xk = fftshift(fft(yrect,N));
figure(10);
plot(20*log10(abs(Xk)));
N = 10000;
Xk = fftshift(fft(yrect,N));
figure(11);
plot(20*log10(abs(Xk)));
L = 128;
%rectangular window
X = rectwin(L);
wrect = rectwin(L);
%apply window to signal
for n = 1:128
yrect(n) = (80*dirac(n) - 80*sin(pi*n/2)/(pi*n) + cos(pi*n/32) + cos(pi*n/16))*wrect(n);
end
N = L+1;
Xk = fftshift(fft(yrect,N));
figure(12);
plot(20*log10(abs(Xk)));
N = 10000;
Xk = fftshift(fft(yrect,N));
figure(13);
plot(20*log10(abs(Xk)));