% Questa routine calcola le medie (giornaliere o per intervalli definiti)
% necessarie per le elaborazioni successive per la cella di carico
% LOADdef contiene le medie per l'intervallo definito dei valori di forza
% ARRAYdateLL contiene le date e il tempo per ogni dato (per media
% giornaliera, la data di quel giorno)

function [DatiLoad,ARRAYdateLL] = MediaDati_LL(DatiLoad,TimeLL,NdatiMedia,FileName)

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

%% Accelerazione
[r,~] = size(DatiLoad);
if NdatiMedia > r
    NdatiMedia = r;
end
% NON si fa la media dell'ultimo dato
DatiLoad_M = smoothdata(DatiLoad(1:end-1,:),'gaussian',NdatiMedia); 
DatiLoad = [DatiLoad_M; DatiLoad(end,:)];

ARRAYdateLL = TimeLL;

text = 'Average mean of Load Link data executed correctly. MediaDati_LL function closed';
fprintf(fileID,fmt,text);
fclose(fileID);

end