% Questa routine calcola le medie (giornaliere o per intervalli definiti)
% necessarie per le elaborazioni successive per i RSN Link
% ang_RSN 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 [angRSN,ARRAYdateRSN,TempDef_RSN] = MediaDati_RSN(accRSN,TimeRSN,tempRSN,NdatiMedia,FileName)            

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

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

ARRAYdateRSN = TimeRSN;

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

text = 'Average mean of RSN Link data executed correctly. MediaDati_RSN ended';
fprintf(fileID,fmt,text);
fclose(fileID);
            
end