1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
clear all ;
close all ;
% Ouverture du fichier
filename='Trajet_00647757743044269898.XLS';
Apneu=68.2587;
Bpneu=34.1715;
Amot=48.9952;
Bmot=34.0052;
Vref=50;
RPMref=1000;
% lecture feuille 1
num = xlsread(filename,'Feuil1');
temps1=num(:,1); % horloge
rpm=num(:,2); % régime moteur
v=num(:,3); % vitesse en km/h
dist1=num(:,8);
n1=length(v); % longueur des vecteurs
% lecture feuille 2
num2=xlsread(filename,'Feuil2');
longitude=num2(:,10); % longitude
latitude=num2(:,16); % latitude
dist2=num2(:,19);
temps2=num2(:,1); % horloge gps
n2=length(temps2); % longueur des vecteurs
n3=temps2(end); % dernière valeur du vecteur thorloge gps
% Synchronisation des deux échelles de temps
temps3 = nan(size(temps2)); % initialisation du nouveau vecteur de même taille que t2 avec des valeurs NaN
for ii=1:numel(temps2)% pour chaque valeur de t2
[~,idx] = min(abs(temps1-temps2(ii)));% recherche de l'index dans t1 de la valeur de t1 la plus proche de t2(ii)
temps3(ii) = temps1(idx); % stockage dans t3 de la valeur trouvée
rpm2(ii)=rpm(idx);
v2(ii)=v(idx);
end
% Recomposition du niveau de puissance
for i=1:n2
Lmot(i)=Amot+Bmot*log10(rpm2(i)/RPMref); %composante bruit moteur
Lpneu(i)=Apneu+Bpneu*log10(v2(i)/Vref); % composante pneu
L(i)=dbsum(Lmot(i),Lpneu(i)); % bruit total
Lpow(i)=L(i)+25.6; % niveau de puissance
end
% Echelle de couleur_à peaufiner
for i=1:n2;
if Lpow(i)<80
color(i) = 0.1; % if all z are >0
elseif Lpow(i)>80 && Lpow(i)<90
color(i)=0.5;
else color(i)=0.9;
end
end
% Affichage des courbes
figure(1)
hold on,
for i=1:n2
plot(longitude(i),latitude(i),'.','Color',[color(i) 1-color(i) 1-color(i)])% plan gps du parcours
title('Niveau de puissance Lw du véhicule=f(Position sur le circuit)')
xlabel('Longitude(°)')
ylabel('Latitude(°)')
end |
Partager