function [h] = LPF(type, fcut, reso, Nper)

Tb = 1e-06;
M = reso*Nper;

Ham = 0.54 - 0.46*cos( (2*pi*(0:M))/M );
Black = 0.42 - 0.5*cos( (2*pi*(0:M))/M ) + 0.08*cos( (4*pi*(0:M))/M );

sinc_trunc = sin((fcut*2*pi*((0:M)/(M/Nper)-Nper/2)*Tb)) ./ (fcut*2*pi*((0:M)/(M/Nper)-Nper/2)*Tb);
sinc_trunc(isnan(sinc_trunc)) = 1;


if (strcmp(type,'Hamming'))
    h = Ham.*sinc_trunc;
elseif (strcmp(type, 'Blackman'))
    h = Black.*sinc_trunc;
else
    fprintf('Error: this window type is not implemented!');
end


end