function [BNORM,ANORM] = normalize(B,A,Lfft)
%[BNORM,ANORM] = NORMALIZE(B,A,Lfft)
%NORMALIZE normalizuje prenos filtru tak, aby maximálna hodnota jeho
%amplitúdovej odozvy bola rovná jednej
%Vstupy:    B - sekcie čitateľa prenosu
%           A - sekcie menovateľa prenosu
%           Lfft - počet bodov Fourierovej transformácie pri výpočte odozvy
%Výstupy:   BNORM - sekcie normalizovaného čitateľa prenosu
%           ANORM - sekcie normalizovaného menovateľa prenosu


if nargin <3
    Lfft = 1024;
end

gain = ones(1,Lfft);
b = size(B,1);
a = size(A,1);

%% VYPOCET IMPULZNEJ ODOZVY

for i=1:b
    Hcasc = fft(B(i,:),Lfft);
    gaincasc = abs(Hcasc);
    gain = gain.*gaincasc;
end

for i=1:a
    Hcasc = 1./fft(A(i,:),Lfft);
    gaincasc = abs(Hcasc);
    gain = gain.*gaincasc;
end
maxgain = max(gain(1:end/2));

%% NORMALIZACIA

ANORM = A;
BNORM = B;
BNORM(1,:) = BNORM(1,:)/maxgain; %je to trochu nešikovné, ale účinné

end

