COBBやNASIOCなんかからチューニングガイドがダウンロードできるが学習については点火時期ぐらいしか触れられていないので整理してみる。

1.点火時期
Total Timing = Base Timing + (IAM * Timing Advance) + correction + compensations

学習というとIAM(Current value of the ignition advanced multiplier stored in ram)とcorrection

(Fine Learning Knock CorrectionとFeedback Knock Correctionぐらい、Feedback Knock Correctionをみているプライベーターやチューナーは皆無だと思う)が、学習といわれている。
この部分に関しては通常のスバル車であれば一回学習してしまえばまあほとんど変わることがなく、学習時間も急速に学習させる方法を使えば1、2分で学習してしまう。
(例外は86/BRZやDITでちょっと違った学習のさせ方をしている。)
本当に重要な学習というのはcorrectionの一部とcompensationsでここがきちんと学習されるかどうかでエンジンの性能が大きく変わってくる。スバルの公式見解だとECUのリセットから160kmほどで学習されるというが、実際のところは160kmで値が落ち着くだけであって、常にフィードバックがかかっていて、微修正を行っている。

2.空燃比学習
O2センサーとλセンサーからのフィードバック、エアフロセンサー、クランクセンサー、スロットルポジションセンサー、アクセルポジションセンサー等々、複雑に絡みあった学習になっている。サンプリングレートは1/100から1/10程度であるが、何km走れば学習値が安定するとか公になっていないし、かなり個体差が大きいことが知られている。
純正でワイドバンドλセンサーをつけて全域で学習している車両はR35ぐらい(今はもう少し増えていると思うが)、学習領域を外れると学習値から外想した値を使って制御をかける。

3.他のコンピューターとの連係
車には数百個からのコンピューターが付いていてお互いに通信し合っている。ECUだけでなくTCUや統合コンピューター等々と整合を取り合っている。この整合が取れるまでも学習といっていいと思う。

4.学習に対する補正
インジェクターの劣化やスパークプラグの劣化、各種センサーの劣化についても監視できるものは監視していて、常に学習してフィードバックをかけている。当然ECUのリセットや書き換えで消えてしまうので再学習するまでに時間がかかる。これが2.の時間を決定しているのではないかと推測している。

どうも、車に関していうとリアルタイムOSで動いているという概念がアフター業界的に無いように思われる。外乱にさらされることの少ない大規模なプラント(石油精製や発電プラントなど)でさえ外乱に対して、蓄積された学習値を使い同一出力が得られるようにフィードバックがかけられているのに、常に外乱にさらされている車にはなぜその考え方が根付かないのか。車のこそリアルタイムOSであり、学習や補正が重要なのだ。