function w=whitenoisetest(x,plotflag)
% function w=whitenoisetest(x,plotflag)
% x = serie temporale in ingresso
% w = variabile binaria (w = 1 se la serie temporale e' bianca con una significativita' del 95%)
% La funzione calcola la funzione di autocorrelazione di una serie temporale e ne
% visualizza il grafico (se plotflag non e' pari a 0)

if nargin==1, plotflag=1; end;

% Definizione di grandezze di servizio
M = 26;
maxsize = 8192;
[N,rrr] = size(x);

% Calcolo della covarianza
r = covf(x,M,maxsize);
nr = 0:M-1;

% Calcolo dell'intervallo di confidenza per la funzione di autocorrelazione
sdre = 3*(r(1,1))/sqrt(N)*ones(M,1);

%Visualizzazione della funzione
if plotflag~=0
   plot(nr,[r(1,:)' sdre -sdre]/r(1,1))
   title('Funzione di autocorrelazione del residuo')
   xlabel('                                              ritardo ')
   ylabel('ACF           ')
end

% La variabile binaria w restituisce valore 1 se la serie temporale e' bianca
% con una significativita' del 95%
w = ~any((abs(r(1,2:M))-sdre(2:M,1)')>=0);
