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