This repository has been archived by the owner on Feb 4, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathDFT.m
39 lines (39 loc) · 1.71 KB
/
DFT.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
function user_data = DFT(user_data)
%return cell(12,3) onde linhas são a atividade e colunas o eixo
% cada elemento da cell é uma matriz cujas colunas são as diversas dfts
% para cada atividade
user_data.dfts = cell(12, 3);
user_data.dfts_hamming = cell(12, 3);
user_data.dfts_hann = cell(12,3);
user_data.dfts_blackman = cell(12,3);
user_data.dfts_gaussian = cell(12,3);
user_data.dfts_rect = cell(12,3);
user_data.dfts_triang = cell(12,3);
for eixo = 1:3
for at = 1:12
indices = user_data.y == at;
%activity data
atividade = detrend(user_data.data(indices,eixo));
%simple dft
user_data.dfts{at, eixo} = fftshift(fft(atividade));
%hamming
janela_hamming = hamming(numel(atividade)).*atividade;
user_data.dfts_hamming{at, eixo} = fftshift(fft(janela_hamming));
%hann
janela_hann = hann(numel(atividade)).*atividade;
user_data.dfts_hann{at, eixo} = fftshift(fft(janela_hann));
%blackman
janela_blackman = blackman(numel(atividade)).*atividade;
user_data.dfts_blackman{at, eixo} = fftshift(fft(janela_blackman));
%gaussian
janela_gaussian = gausswin(numel(atividade)).*atividade;
user_data.dfts_gaussian{at, eixo} = fftshift(fft(janela_gaussian));
%rectangular
janela_rect = rectwin(numel(atividade)).*atividade;
user_data.dfts_rect{at, eixo} = fftshift(fft(janela_rect));
%triangular
janela_triang = triang(numel(atividade)).*atividade;
user_data.dfts_triang{at, eixo} = fftshift(fft(janela_triang));
end
end
end