function fft_VAD(klip,mat_hamm,sloupec,posuv,idealVAD)

close all

%eta=100000;

mat_fft_komplex=fft(mat_hamm) ; %komplexni posloupnost
mat_fft_real=abs(mat_fft_komplex); %realna posloupnost
ramec_sum=floor(80000/posuv); %urceni ramce se sumem
lambda=mat_fft_real(:,ramec_sum).^2; %ramec sumovy - referencni

mat_fft_resume=zeros(1,sloupec);
Xk2=mat_fft_real.^2; %Xk2
for k=1:1:sloupec; % pro kazdy sloupec
    mat_fft_resume(1,k) = sum (Xk2(:,k)./lambda - log(Xk2(:,k)./lambda ) -1); %vypocet metody
end;


%% ROC

for eta=10000:10000:400000;

    realVAD=mat_fft_resume>eta; % pokud je vetsi, je zapsana 1

    realVAD=realVAD(ones(1,posuv),:);%kolikrat budu opakovat prvek, nez zacnu opakovat dalsi
    realVAD=realVAD(:)'; %prevod na vektor

    pocet_ideal=length(idealVAD);
    pocet_real=length(realVAD);
    if pocet_ideal<pocet_real
        p=pocet_ideal;
        realVAD=realVAD(1,1:p);
    else
        p=pocet_real;
        idealVAD=idealVAD(1,1:p);
    end

    TP=(realVAD==1) & (idealVAD==1); % vypocet TP
    TN=(realVAD==0) & (idealVAD==0); % vypocet TN

    TP_pocet=length(find(TP)); %pocet spravne identifikovane reci
    idealVAD_pocet=length(find(idealVAD)); % pocet idealni reci
    TN_pocet=length(find(TN)); % pocet spravne identifikovanych pauz

    TPR=TP_pocet/idealVAD_pocet; % vypocet TPR
    TNR=TN_pocet/(p-idealVAD_pocet); % vypocet TNR

end

ROC
%% grafika

figure(1)
plot(ROC(:,1),ROC(:,2),'.') % zobrazeni krivky ROC
xlabel('TPR')
ylabel('TNR')
title('Metoda FFT pro franco.wav (64ms rámec)') 
axis([0 1 0 1])

