% Questa routine calcola le medie (giornaliere o per intervalli definiti)
% necessarie per le elaborazioni successive per i Tunnel Link
% ACCdef contiene le medie per l'intervallo definito delle accelerazioni
% ARRAYdate contiene le date e il tempo per ogni dato (per media
% giornaliera, la data di quel giorno)

function [ARRAYdate_TuL,accTuL,ACCdefRis_TuL,TempDef_TuL,ay_TuL,ay_TuL_AC] = ...
    MediaDati_TuL(accTuL,TimeTuL,ris_acc_TuL,ay_TuL,ay_TuL_AC,NdatiMedia,...
    T_TuL,NuovoZeroTuL,FileName)

fileID = fopen(FileName,'a');
fmt = '%s \r';
text = 'MediaDati_TuL function started';
fprintf(fileID,fmt,text);

%% Accelerazione
[r,~]=size(accTuL);
if NdatiMedia > r
    NdatiMedia = r;
end
accTuL = smoothdata(accTuL,'gaussian',NdatiMedia);

%% Matrice date
ARRAYdate_TuL = TimeTuL;

%% Risultante acc
ACCdefRis_TuL = ris_acc_TuL; % Non faccio la media, mi serve il dato come è per applicare i filtri

%% Temperatura
TempDef_TuL = T_TuL; % Non faccio la media, mi serve il dato come è per applicare i filtri

%% Dati di riferimento ay
if NuovoZeroTuL == 1
    [r,~] = size(ay_TuL);
    if r > NdatiMedia
        ay_TuL = smoothdata(ay_TuL,'gaussian',NdatiMedia);
    else
        ay_TuL = smoothdata(ay_TuL,'gaussian',r);
    end

%% Dati di riferimento ay Arco rovescio
    [r,~] = size(ay_TuL_AC);
    if r > NdatiMedia
        ay_TuL_AC = smoothdata(ay_TuL_AC,'gaussian',NdatiMedia);
    else
        ay_TuL_AC = smoothdata(ay_TuL_AC,'gaussian',r);
    end
end

text = 'Average values for Tunnel Link have been processed';
fprintf(fileID,fmt,text);
fclose(fileID);
end