function y=simula_DLTI(b,a,u)

n=size(a); if n(1)>n(2)  a=a'; end  % serve per assicurare che da qui in poi "a" e "b" siano vettori "riga" e non "colonna".
n=size(b); if n(1)>n(2)  b=b'; end

na = length(a);
nb = length(b);

if na==1  a=[a 0]; end,  % serve per non inserire "if" nel ciclo "for"
if nb==1  b=[b 0]; end,  % serve per non inserire "if" nel ciclo "for"
  
u_past = zeros(1,nb-1);
y_past = zeros(1,na-1);

N = length(u);

y = zeros(N,1);

for n=1:N
  y(n) = 1/a(1) * sum([ -a(2:na).*y_past  b.*[u(n) u_past] ]);
  u_past = [u(n) u_past(1:end-1)];
  y_past = [y(n) y_past(1:end-1)];
end;

