a b/Feature Extraction/extractDWT.m
1
function X=extractDWT(x_train,startS,endS,wStep,wRange)
2
%  x_train  = input signal
3
%  startS   = from second
4
%  endS     = end second
5
%  wStep   = overlapping
6
%  wRange = window size
7
FS=128;
8
9
N=size(x_train,3);
10
sz=floor((endS-(startS+wRange))/wStep)+1;
11
X=zeros(sz*140,2);
12
cn=0;
13
for i=1:N
14
    
15
    for sig=startS:wStep:endS-wRange
16
        
17
        sW=sig*FS+1;
18
        eW=(sig+wRange)*FS;
19
        
20
        C3Sig=x_train(sW:eW,1,i);
21
        C4Sig=x_train(sW:eW,3,i);
22
        
23
        waveletFunction = 'db4';
24
        waveletLevel=3;
25
        [wCoe,L] = wavedec(C3Sig,waveletLevel,waveletFunction);
26
        C3D3 = detcoef(wCoe,L,3);   % Mu
27
        
28
        
29
        [wCoe,L] = wavedec(C4Sig,waveletLevel,waveletFunction);
30
        C4D3 = detcoef(wCoe,L,3);  % Mu
31
        
32
        cn=cn+1;
33
        % Mean of the absolute values
34
        X(cn,1)=sum(C3D3.^2)/numel(C3D3);
35
        X(cn,2)=sum(C4D3.^2)/numel(C4D3);
36
    end
37
end
38
39
end