Files
matlab-python/ATD/conv_grezziMPBEL.m

69 lines
2.9 KiB
Matlab
Executable File

% Funzione che converte i dati in mV/V della cella di carico in dati di
% forza mediante i valori di calibrazione.
% Il risultato è la matrico DatiLoad
function DatiMultiBase = conv_grezziMPBEL(DatiMPBEL,NumBasi,DCalMPBELTot,FileName)
fileID = fopen(FileName,'a');
fmt = '%s \r';
text = 'conv_grezziMPBEL function started';
fprintf(fileID,fmt,text);
[rA,cA] = size(DatiMPBEL);
DatiMultiBase = zeros(rA,cA);
%% Conversione da mV/V a mm
% Spacchetto i parametri di calibrazione
gain = DCalMPBELTot;
% contatori
ii = 1;
num = 1;
while ii <= cA
if NumBasi == 1
DatiMultiBase(:,ii) = (1/gain(num,1))*DatiMPBEL(:,ii); % conversione
ii = ii+1;
num = num+1;
elseif NumBasi == 2
DatiMultiBase(:,ii) = 1/(gain(num,1))*DatiMPBEL(:,ii); % conversione
DatiMultiBase(:,ii+1) = 1/(gain(num,2))*DatiMPBEL(:,ii+1); % conversione
ii = ii+2;
num = num+1;
elseif NumBasi == 3
DatiMultiBase(:,ii) = 1/(gain(num,1))*DatiMPBEL(:,ii); % conversione
DatiMultiBase(:,ii+1) = 1/(gain(num,2))*DatiMPBEL(:,ii+1); % conversione
DatiMultiBase(:,ii+2) = 1/(gain(num,3))*DatiMPBEL(:,ii+2); % conversione
ii = ii+3;
num = num+1;
elseif NumBasi == 4
DatiMultiBase(:,ii) = 1/(gain(num,1))*DatiMPBEL(:,ii); % conversione
DatiMultiBase(:,ii+1) = 1/(gain(num,2))*DatiMPBEL(:,ii+1); % conversione
DatiMultiBase(:,ii+2) = 1/(gain(num,3))*DatiMPBEL(:,ii+2); % conversione
DatiMultiBase(:,ii+3) = 1/(gain(num,4))*DatiMPBEL(:,ii+3); % conversione
ii = ii+4;
num = num+1;
elseif NumBasi == 5
DatiMultiBase(:,ii) = 1/(gain(num,1))*DatiMPBEL(:,ii); % conversione
DatiMultiBase(:,ii+1) = 1/(gain(num,2))*DatiMPBEL(:,ii+1); % conversione
DatiMultiBase(:,ii+2) = 1/(gain(num,3))*DatiMPBEL(:,ii+2); % conversione
DatiMultiBase(:,ii+3) = 1/(gain(num,4))*DatiMPBEL(:,ii+3); % conversione
DatiMultiBase(:,ii+4) = 1/(gain(num,5))*DatiMPBEL(:,ii+4); % conversione
ii = ii+5;
num = num+1;
elseif NumBasi == 6
DatiMultiBase(:,ii) = 1/(gain(num,1))*DatiMPBEL(:,ii); % conversione
DatiMultiBase(:,ii+1) = 1/(gain(num,2))*DatiMPBEL(:,ii+1); % conversione
DatiMultiBase(:,ii+2) = 1/(gain(num,3))*DatiMPBEL(:,ii+2); % conversione
DatiMultiBase(:,ii+3) = 1/(gain(num,4))*DatiMPBEL(:,ii+3); % conversione
DatiMultiBase(:,ii+4) = 1/(gain(num,5))*DatiMPBEL(:,ii+4); % conversione
DatiMultiBase(:,ii+5) = 1/(gain(num,6))*DatiMPBEL(:,ii+5); % conversione
ii = ii+6;
num = num+1;
end
end
text = 'Calibrations of MultiPoint Borehole Rod Extensometer defined correctly. conv_grezziMPBEL function closed';
fprintf(fileID,fmt,text);
fclose(fileID);
end