WLTP, WLTCについてのメモ

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。

フェーズ

  • 低速フェーズ
  • 中速フェーズ
  • 高速フェーズ
  • 超高速フェーズ

データ

DHC-12th session

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")


参考になるサイト・文書など