Je regardais la consommation spécifique BSFC. C'est une valeur "délicate" car elle est obtenue en combinant plusieurs PID OBD atomiques qui semblent avoir des temps de réponse différents. Ceux relatives à la consommation, qui sont au numérateur de la fraction g/kWh, semblent répondre plus rapidement que ceux au dénominateur relatives à l'énergie.
Résultat: en cas d'augmentation de puissance, la consommation spécifique atteint des valeurs très élevées (les PID de consommation ont déjà été ajustés, ceux de l'énergie pas encore), puis elle se stabilise à une valeur appropriée. En cas de réduction, c'est l'inverse: initialement, le BSFC atteint initialement des valeurs très basses, puis il s'adapte.
Il serait alors souhaitable de n'utiliser que des valeurs stabilisées pour obtenir résultats crédibles.
Mais, en utilisant des moyennes calculées sur des échantillons nombreux, on pourrait obtenir une compensation statistique des deux effets opposés.
Ayant un DB d'une Prius4 assez peuplé, j'ai essayé de calculer une moyenne générale, en n'imposant qu'une limite à la puissance minimale du Thermique et à sa température.
Code:
SELECT
round(avg(f.BSFC)) as avg_BSFC,
round(81.967/avg(f.BSFC),3)*100 as avg_Thr_Rend,
count(*) nCases
FROM Fastlog f
WHERE
f.ICE_PWR>=5 AND
f.ICE_TEMP>70
avg_BSFC avg_Thr_Rend nCases |
226.0 36.3 521404 |
Bon résultat, mais toujours possible.
J'ai ensuite introduit une restriction pour limiter le calcul aux valeurs "stabilisées". Pour faire cela, j'ai imposé que la valeur de la puissance ICE, arrondie au kW, était égale à la moyenne
running des dernières 2.5 secondes.
Code:
SELECT
round(avg(f.BSFC)) as avg_BSFC,
round(81.967/avg(f.BSFC),3)*100 as avg_Thr_Rend,
count(*) nCases
FROM Fastlog f
WHERE
f.ICE_PWR>=5 AND
f.ICE_TEMP>70 and
Round(f.ICE_PWR)=(Select round(avg(f1.ICE_PWR)) from fastlog f1
Where f1.TIMESTAMP between (f.TIMESTAMP-2500) and (f.TIMESTAMP-1))
Mon attente c'était de maintenir les 226g/kWh ou, à la limite, une légère amélioration. Pas du tout.
avg_BSFC avg_Thr_Rend nCases |
231.0 35.5 271239 |
J'ai essayé de rendre la contrainte plus restrictive. D'abord en étendant la profondeur de la moyenne
running à 5 secondes.
avg_BSFC avg_Thr_Rend nCases |
230.0 35.6 206553 |
Ensuite en réduisant l’arrondi à 500W
avg_BSFC avg_Thr_Rend nCases |
230.0 35.6 137956 |
La moyenne est restée presque stable après la première restriction.
Il apparaît donc que la restriction initiale est suffisante pour stabiliser le résultat et que l’effet, comparé aux données non stabilisées, c'est une réduction, bien que limitée, du rendement. Je me demande pourquoi.