function [ ECGPB, ECGDER, ECGDER2, ECGINT ] = Filtr( signal, fvz, fmez1, fmez2 )
% Funkce Filtr slouží k filtraci signálu EKG. Vstupem je signál, vzorkovací
% frekvence, horní a dolní mezní frekvence pásmové propusti. Výstupem jsou
% signály ECGPB - filtrovaný, ECGDER - filtrovaný derivovaný, ECGDER2 -
% umocněný filtrovaný derivovaný, ECGINT - vyhlezený umocněný filtrovaný

    [Nsvod, N] = size(signal);
    for i = 1:Nsvod
        x = signal(i,:);    
        b = fir1(97, [fmez1/(fvz/2) fmez2/(fvz/2)]);        %filtr, mezní frekvence, bandpass
        H = freqz(b,1);
        x3 = filtfilt(b, 1, x);
        ECGPB(i,:) = x3;    
        % - - - - - - - - - - - - - - - - - - Diff a diff^2 - - - - - - - - - - - - - - - - - - - - - -
        x5 = diff(x3);
        x6 = x5.^2;
        ECGDER(i,:) = x5;
        ECGDER2(i,:) = x6;      
        % - - - - - - - - - - - - - - - - - - Filtrace integrační okno - - - - - - - - - - - - - - - - - - - - - -
        okno=47; %95 ms
        zpozd=(okno-1)/2;   % zpozdeni
        for j=1:length(ECGDER2(i,:))-2*zpozd     
            ECGINT(i,j+zpozd)=(sum(ECGDER2(i,j:j+okno-1))/okno);
        end
    end
end

