(更新日: 2022年9月13日 )
WLTP, WLTCについて自分なりの理解を整理しておきます。
目次
何の略語か
WLTP: Worldwide harmonized Light vehicles Test Procedure
WLTC: Worldwide harmonized Light duty driving Test Cycle
WLTPはテストサイクル以外に型式認証に必要な手順を定義している。WLTPの中で定義されている手順の一つとしてWLTCがある位置付け。
Class1, 2, 3
Classが1から3まで分けられている。基準はPMR = Power Mass Ratio (定格出力と空車重量の比)
日本国内で販売される車両がほとんどがPMRが34以上。つまりほとんどClass3。 最高速度が120 km/h以上であればClass3b, 120 km/h未満であればClass3a。
フェーズ
- 低速フェーズ
- 中速フェーズ
- 高速フェーズ
- 超高速フェーズ
データ
ExcelデータがWLTP-DHC-12-07にあります。
データプロット
class3

距離
上記のサイクルを積分すると下記のような距離になります。
23 kmほど

上記のグラフを作成するMATLABスクリプト
%%
csv = "WLTC_class3.csv";
tt = readtable(csv, 'VariableNamingRule','preserve');
%%
x_phase1 = [   0  589  589    0];
x_phase2 = [ 590 1022 1022  590];
x_phase3 = [1023 1477 1477 1023];
x_phase4 = [1478 1800 1800 1478];
y_phase_spd = [   0    0  150  150];
y_phase_acc = [  -2   -2    2  2];
%%
f_h = figure(1);
tiledlayout(2,1)
nexttile
plot(tt.("Total elapsed time [s]"), tt.("vehicle speed [km/h]"))
hold on 
patch('Xdata', x_phase1, 'YData', y_phase_spd, 'FaceColor',     'red', 'FaceAlpha', 0.1, 'LineStyle', 'none')
patch('Xdata', x_phase2, 'YData', y_phase_spd, 'FaceColor',    'blue', 'FaceAlpha', 0.1, 'LineStyle', 'none')
patch('Xdata', x_phase3, 'YData', y_phase_spd, 'FaceColor',   'green', 'FaceAlpha', 0.1, 'LineStyle', 'none')
patch('Xdata', x_phase4, 'YData', y_phase_spd, 'FaceColor', 'magenta', 'FaceAlpha', 0.1, 'LineStyle', 'none')
hold off
ylabel("vehicle speed [km/h]")
xlabel("time [sec]")
text( 250, 120,        'Slow', 'FontSize', 14, 'FontName', 'Arial')
text( 700, 120,      'Middle', 'FontSize', 14, 'FontName', 'Arial')
text(1200, 120,        'High', 'FontSize', 14, 'FontName', 'Arial')
text(1550,  50,  'Extra-high', 'FontSize', 14, 'FontName', 'Arial')
ax = gca;
ax.FontSize = 14;
ax.FontName = "Arial";
nexttile
plot(tt.("Total elapsed time [s]"), tt.("acceleration [m/s²]"))
hold on 
patch('Xdata', x_phase1, 'YData', y_phase_acc, 'FaceColor',     'red', 'FaceAlpha', 0.1, 'LineStyle', 'none')
patch('Xdata', x_phase2, 'YData', y_phase_acc, 'FaceColor',    'blue', 'FaceAlpha', 0.1, 'LineStyle', 'none')
patch('Xdata', x_phase3, 'YData', y_phase_acc, 'FaceColor',   'green', 'FaceAlpha', 0.1, 'LineStyle', 'none')
patch('Xdata', x_phase4, 'YData', y_phase_acc, 'FaceColor', 'magenta', 'FaceAlpha', 0.1, 'LineStyle', 'none')
hold off
ylabel("acceleration [m/s^2]")
xlabel("time [sec]")
ax = gca;
ax.FontSize = 14;
ax.FontName = "Arial";
saveas(f_h, "WLTC.png")
%%
distance = trapz(tt.("vehicle speed [km/h]") * 1000 / 3600);
cdistance = cumtrapz(tt.("vehicle speed [km/h]") * 1000 / 3600);
f_h_2 = figure(2);
plot(tt.("Total elapsed time [s]"), cdistance / 1e3, 'LineWidth', 2)
xlabel("time [sec]")
ylabel("distance [km]")
ax = gca;
ax.FontName = "Arial";
ax.FontSize = 14;
saveas(f_h_2, "WLTC_distance.png")




















