(57)【要約】【課題】  始動時（触媒活性化前）において、エンジンから排出されるＨＣを最小化するには、空燃比と点火時期の双方を最適化する必要がある。本発明では、個々のエンジンにおいて、その時の運転条件（環境条件）でのＨＣ最小性能を得る方式を提案する。【解決手段】  エンジン回転角加速度などのエンジンの燃焼状態を代表する時系列信号から、第一の周波数帯域成分を抽出する手段と、第二の周波数帯域成分を抽出する手段と、前記第一の周波数（帯域）成分に基づいて、空燃比を制御し、前記第二の周波数（帯域）成分に基づいて、点火時期を制御することで、空燃比と点火時期をＨＣが最小となる条件に同時に制御する。【選択図】図１
2010031813.tif 000002
【特許請求の範囲】
【請求項１】
エンジンの運転状態の時系列信号から、
第一の周波数（帯域）成分を抽出する手段と、
第二の周波数（帯域）成分を抽出する手段と、
前記第一の周波数（帯域）成分に基づいて、空燃比を制御するパラメータを演算する手段と、
前記第二の周波数（帯域）成分に基づいて、点火時期を制御するパラメータを演算する手段とを
備えたことを特徴とするエンジンの制御装置。
【請求項２】
請求項１において、エンジンの運転状態は、
少なくともエンジン回転速度もしくはエンジン回転速度のＮ次微分値（Ｎ＝１，２，・・・）
であることを特徴とするエンジンの制御装置。
【請求項３】
請求項１において、エンジンの運転状態は、少なくとも燃焼室内の圧力に基づくことを特徴とするエンジンの制御装置。
【請求項４】
請求項１において、エンジンの運転状態は、エンジントルクに基づくことを
特徴とするエンジンの制御装置。
【請求項５】
請求項１〜４において、
前記第二の周波数（帯域）成分は、少なくとも、前記第一の周波数（帯域）成分よりも高周波の成分を含むことを
特徴とするエンジンの制御装置。
【請求項６】
請求項１〜４において、
前記第二の周波数（帯域）成分は、少なくとも、前記第一の周波数（帯域）成分よりも低周波の成分を含むことを
特徴とするエンジンの制御装置。
【請求項７】
請求項１〜６において、
前記第一の周波数帯域と前記第二の周波数帯域は、エンジンの運転状態に基づいて決める（変更する）ことを
特徴とするエンジンの制御装置。
【請求項８】
請求項１〜７において、
前記第一の周波数成分が所定範囲Ａとなるように、空燃比を制御するパラメータを演算する手段を
備えたことを特徴とするエンジンの制御装置。
【請求項９】
請求項８において、
前記所定範囲Ａは、点火時期に基づいて決める手段を
備えたことを特徴とするエンジンの制御装置。
【請求項１０】
請求項８もしくは請求項９において、
エンジンから排出されるＨＣを最小化する場合は、
前記所定範囲Ａを、空燃比が１５〜１６相当の値となるように設定することを
特徴とするエンジンの制御装置。
【請求項１１】
請求項８もしくは９において、
エンジンから排出される排ガスの温度を最高にする場合は、
前記所定範囲Ａを、空燃比が１４〜１５相当の値となるように設定することを
特徴とするエンジンの制御装置。
【請求項１２】
請求項１〜１１において、
前記第二の周波数成分が所定範囲Ｂとなるように、点火時期を制御するパラメータを演算する手段を
備えたことを特徴とするエンジンの制御装置。
【請求項１３】
請求項１２において、
前記所定範囲Ｂは、エンジンの安定限界相当の値となるように設定することを
特徴とするエンジンの制御装置。
【請求項１４】
請求項１〜１３において、
空燃比が目標空燃比近傍に制御されたことを直接的もしくは間接的に検出する手段と、
空燃比が目標空燃比近傍に制御されていることが検出されていないときと、検出されているときで、
前記第一の周波数帯域と前記第二の周波数帯域を変更する手段を
備えたことを特徴とするエンジンの制御装置。
【請求項１５】
請求項１４において、
空燃比が目標空燃比近傍に制御されていることが検出されていないとき、
前記第一の周波数帯域は、前記第二の周波数帯域より広くすることを
特徴とするエンジンの制御装置。
【請求項１６】
請求項１４もしくは請求項１５において、
エンジン始動時（エンジン始動直後）においては、
前記第一の周波数帯域を、前記第二の周波数帯域より広くすることを
特徴とするエンジンの制御装置。
【請求項１７】
請求項１４において、
前記空燃比が目標空燃比近傍に制御されたことを直接的もしくは間接的に検出する手段は、
前記第一の周波数帯域の成分が所定範囲内にあるとき、前記空燃比が目標空燃比近傍に制御されたと判断する
ことを特徴とするエンジンの制御装置。
【請求項１８】
請求項１４において、
前記空燃比が目標空燃比近傍に制御されたことを直接的もしくは間接的に検出する手段は、燃料補正速度が所定範囲内にあるとき、前記空燃比が目標空燃比近傍に制御されたと判断する
ことを特徴とするエンジンの制御装置。
【請求項１９】
請求項１〜１８において、
前記第一の周波数成分および／もしくは第二の周波数成分は、
前記エンジンの運転状態の時系列信号の絶対値を重み付き移動平均処理した値とする
ことを特徴とするエンジンの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの制御装置に関し、特に、始動時の排気低減を図る制御装置に関するものである。
【背景技術】
【０００２】
近年、北米，欧州，国内など、世界各国の自動車用エンジン排気規制強化に伴い、エンジン排気の更なる低減が要求されつつある。触媒の高性能化および触媒制御の高精度化が進み、最新もしくは今後の排気規制に適合するためには、触媒活性化前のエンジン始動後数十秒間に排出されるＨＣ（炭化水素）量の低減が主課題となっている。
【０００３】
触媒活性化前のＨＣ低減には、点火時期のリタード（遅角）化が有効であることが知られている。特に、点火時期をリタードすると、熱効率が落ちるため、等トルクを維持するためには、燃料量（空気量）を増量する必要があり、それに伴って、燃焼による発生熱量が増える。発生熱量増大により、排気温度も上昇し、未燃燃料が燃焼室および排気管で燃焼することで、ＨＣ濃度が大幅に低減する。さらに、排気温度上昇により触媒の活性化も早期化される。
【０００４】
【特許文献１】特開２００７−３０３３５４号公報
【特許文献２】特開平８−１２２０９９号公報
【特許文献３】特開平９−８８６８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
図２０に示されるように、リタードによるＨＣ低減効果は、空燃比により変化する。特に空燃比１５〜１６において、もっともＨＣ低減効果が高いことがわかる。このことから、エンジンからのＨＣ排出量を最小化するには、空燃比を１５〜１６に制御して、できるだけリタードすれば良いことがわかる。また、図２１に示されるように、触媒の早期活性化に有効な要素である排気温度まで考慮すると、空燃比１４〜１５に制御して、できるだけリタードすれば良いことがわかる。
【０００６】
一方、空燃比をリーン化すると、燃焼の安定性が悪化することが知られている。また、リタード量を増やすと、同じく、燃焼の安定性が悪化することが知られている。実用環境においては、燃料性状のばらつき、各種デバイスの製造誤差および経時変化などの多くの外乱が発生するため、これら外乱に対するロバスト性を確保しなければならず、すなわち、空燃比およびリタード量ともに安定マージンを確保しなければならず、図２０に示されるように、空燃比およびリタード量をＨＣ濃度が最小となる条件、あるいは、排気温度が最高になる条件に設定できなかった。
【０００７】
こうした事情から、特許文献１など、始動時の極初期において、回転変動など空燃比と相関のあるパラメータを用いて、オンボードで空燃比を最適化する方式が多数提案されている。また、特許文献２など、同じく回転変動など燃焼の安定性と相関のあるパラメータを用いて、オンボードで点火時期（リタード量）を最適化する方式も多数提案されている。
【０００８】
しかし、上述のようにリタードによるＨＣ低減効果を最大限得るために、「オンボードで空燃比とリタード量の双方を最適化する方式」に関する出願は、ほとんどない。
【０００９】
特許文献３においては、目標回転変動になるまで点火時期をリタードし、点火時期（リタード量）が所定値より少ないとき、燃料量を増量するという発明が開示されている。しかし、当該発明においては、先ず点火時期をリタードさせているので、図２０に示されるように安定マージン確保時の設定では、リタードを実施しても、ＨＣ低減効果は小さい。加えて、リタード量が、所定値より小さいとき、燃料量を増量するため（空燃比を小さくするため）、ＨＣ排出量はむしろ増大することになる。
【００１０】
以上をまとめると、始動時（触媒活性化前）において、エンジンから排出されるＨＣを最小化するには、空燃比と点火時期の双方を最適化する必要があるが、空燃比と点火時期を同時に最適化する有効な制御方式はなかった。
【課題を解決するための手段】
【００１１】
上記事情に鑑み、本発明では、空燃比と点火時期を同時に最適化する有効な制御方式を提案する。すなわち、エンジンの運転状態の時系列信号から、第一の周波数（帯域）成分を抽出する手段と、第二の周波数（帯域）成分を抽出する手段と、前記第一の周波数（帯域）成分に基づいて、空燃比を制御するパラメータを演算する手段と、前記第二の周波数（帯域）成分に基づいて、点火時期を制御するパラメータを演算する手段とを備えたことを特徴とするエンジンの制御装置を提案する。すなわち、エンジンに取り付けられているセンサの出力信号など、エンジンの運転状態（燃焼状態）を表す時系列信号を周波数解析し、その周波数成分を第一の周波数（帯域）成分と第二の周波数（帯域）成分とに分離し、第一の周波数（帯域）成分に基づいて、空燃比を制御し、第二の周波数（帯域）成分に基づいて、点火時期を制御するものである。エンジンの運転状態（燃焼状態）を表す時系列信号を周波数解析し、２つの帯域に分けて成分を抽出することで、一次元の時系列情報を、二つの情報に分離し、エンジンの運転状態の情報に基づいて、空燃比と点火時期を独立に制御することを実現するものである。
【００１２】
また、エンジンの運転状態は、少なくともエンジン回転速度もしくはエンジン回転速度のＮ次微分値（Ｎ＝１，２，・・・）であることを特徴とするエンジンの制御装置を提案する。すなわち、エンジンの運転状態は、筒内圧（燃焼圧）に基づくものが最たるものであり、エンジン回転速度もしくはエンジン回転速度のＮ次微分値は、筒内圧と物理的（力学的）に因果関係があるため、当該信号を用いるものである。例えば、エンジン回転速度の一次微分成分である角加速度は、筒内圧とほぼ線形の関係にある。
【００１３】
また、エンジンの運転状態は、少なくとも燃焼室内の圧力に基づくことを特徴とするエンジンの制御装置を提案する。
【００１４】
すなわち、先に述べたように、エンジンの運転状態は、筒内圧（燃焼圧）に基づくものが最たるものであるので、これを明記するものである。
【００１５】
また、エンジンの運転状態は、エンジントルクに基づくことを特徴とするエンジンの制御装置を提案する。
【００１６】
すなわち、先に述べたように、エンジンの運転状態は、筒内圧（燃焼圧）に基づくものが最たるものであり、エンジントルクは、筒内圧と物理的（力学的）に因果関係があるため、当該信号を用いることを明記するものである。
【００１７】
また、前記第二の周波数（帯域）成分は、少なくとも、前記第一の周波数（帯域）成分よりも高周波の成分を含むことを特徴とするエンジンの制御装置を提案する。
【００１８】
すなわち、先に述べたように、エンジンの運転状態（燃焼状態）を表す時系列信号の周波数成分を２つの帯域に分けて抽出することで、空燃比と点火時期を独立に制御する。その２つの帯域の相対的関係として、図５に示されるように、第二の周波数（帯域）成分は、少なくとも、第一の周波数（帯域）成分よりも高周波の成分を含むことを明記するものである。第二の周波数（帯域）成分は、第一の周波数（帯域）成分よりも、高周波なので、第二の周波数（帯域）成分に基づいて制御される点火時期制御の制御周期（制御応答性）も、第一の周波数（帯域）成分に基づいて制御される空燃比制御よりも制御周期（制御応答性）は速くなる。すなわち、点火時期制御の制御速度（応答性）を空燃比制御の制御速度（応答性）よりも速く設計したい場合に、本請求項に記載のように、帯域分離するものである。
【００１９】
また、前記第二の周波数（帯域）成分は、少なくとも、前記第一の周波数（帯域）成分よりも低周波の成分を含むことを特徴とするエンジンの制御装置を提案する。
【００２０】
すなわち、先に述べたように、エンジンの運転状態（燃焼状態）を表す時系列信号の周波数成分を２つの帯域に分けて抽出することで、空燃比と点火時期を独立に制御する。その２つの帯域の相対的関係として、図６に示されるように、第一の周波数（帯域）成分は、少なくとも、第二の周波数（帯域）成分よりも高周波の成分を含むことを明記するものである。第一の周波数（帯域）成分は、第二の周波数（帯域）成分よりも、高周波なので、第一の周波数（帯域）成分に基づいて制御される空燃比制御の制御周期（制御応答性）も、第二の周波数（帯域）成分に基づいて制御される点火時期制御よりも制御周期（制御応答性）は速くなる。すなわち、空燃比制御の制御速度（応答性）を点火時期制御の制御速度（応答性）よりも速く設計したい場合に、本請求項に記載のように、帯域分離するものである。
【００２１】
また、前記第一の周波数帯域と前記第二の周波数帯域は、エンジンの運転状態に基づいて決める（変更する）ことを特徴とするエンジンの制御装置を提案する。
【００２２】
すなわち、先に述べたように、分離する帯域は、空燃比制御の制御速度（応答性）と点火時期制御の制御速度（応答性）をどのように設計するか、で決まる。本請求項では、この分離する帯域を不変とするのではなく、エンジンの運転状態（運転条件）に基づいて、変化させることを明記するものである。すなわち、空燃比制御の制御速度（応答性）と点火時期制御の制御速度（応答性）をオンボードで動的に変化させることで、より柔軟な制御とし、前述のＨＣ最小条件への制御速度をより速くすると同時にロバスト性も高めるものである。
【００２３】
また、前記第一の周波数成分が所定範囲Ａとなるように、空燃比を制御するパラメータを演算する手段を備えたことを特徴とするエンジンの制御装置を提案する。
【００２４】
すなわち、第一の周波数成分は、前述したように、エンジンの運転状態（燃焼状態）を表す時系列信号の周波数解析して得られる値である。空燃比をリーンにすると、エンジンの運転状態（燃焼状態）が不安定になり、それが、第一の周波数成分にも現れる。したがって、第一の周波数成分の値から、空燃比を間接的に検出することが可能である。この特性を利用して、所望の空燃比範囲に相当する第一の周波数成分の値を所定範囲Ａとし、第一の周波数成分が所定範囲Ａとなるように空燃比を制御するパラメータ（燃料噴射量）などを補正することで、空燃比を所望の空燃比範囲に制御するものである。なお、所望の空燃比範囲とは、例えば、前述したように、エンジンからのＨＣ排出量を最小化するには、空燃比１５〜１６の範囲とする。また、触媒の早期活性化に有効な要素である排気温度まで考慮すると、空燃比１４〜１５の範囲とするのが望ましい。そして、後述するように、第二の周波数成分に基づいて、点火時期をできるだけ（決められた安定限界まで）、点火時期をリタードする。
【００２５】
また、前記所定範囲Ａは、点火時期に基づいて決める手段を備えたことを特徴とするエンジンの制御装置を提案する。
【００２６】
すなわち、先に述べたように、空燃比をリーンにすると、エンジンの運転状態（燃焼状態）が不安定になり、それが、第一の周波数成分にも現れる。ただし、この不安定のレベルは、空燃比は一定であっても、点火時期によって変化する。したがって、第一の周波数成分の値から、空燃比を一義的に検出するために、点火時期に応じて、所望の空燃比範囲に相当する第一の周波数成分値である所定範囲Ａを決めるものである。
【００２７】
また、エンジンから排出されるＨＣを最小化する場合は、前記所定範囲Ａを、空燃比が１５〜１６相当の値となるように設定することを特徴とするエンジンの制御装置を提案する。
【００２８】
すなわち、前述したように、空燃比１５〜１６において、もっともＨＣ低減効果が高いことがわかる。このことから、エンジンからのＨＣ排出量を最小化するには、空燃比を１５〜１６に制御して、できるだけリタードすれば良いことがわかる。したがって、所定範囲Ａを空燃比が１５〜１６相当の値とすることを明記するものである。
【００２９】
また、エンジンから排出される排ガスの温度を最高にする場合は、前記所定範囲Ａを、空燃比が１４〜１５相当の値となるように設定することを特徴とするエンジンの制御装置を提案する。
【００３０】
すなわち、同じく前述したように、触媒の早期活性化に有効な要素である排気温度まで考慮すると、空燃比１４〜１５に制御して、できるだけリタードすれば良いことがわかる。したがって、所定範囲Ａを空燃比が１４〜１５相当の値とすることを明記するものである。
【００３１】
また、前記第二の周波数成分が所定範囲Ｂとなるように、点火時期を制御するパラメータを演算する手段を備えたことを特徴とするエンジンの制御装置を提案する。
【００３２】
すなわち、上述したように、空燃比は第一の周波数成分が所定範囲Ａとなるように制御される。一方、点火時期は、所定範囲Ａ相当の空燃比において、可能な限りリタードすることで、ＨＣ低減，排気温度上昇が、より効果的に得られる。
【００３３】
点火時期をリタードすると、エンジンの運転状態（燃焼状態）が不安定になり、それが、第二の周波数成分にも現れる。したがって、第二の周波数成分の値から、エンジン（燃焼）の安定度を間接的に検出することが可能である。この特性を利用して、所望のエンジン（燃焼）の安定度に相当する第二の周波数成分の値を所定範囲Ｂとし、第二の周波数成分が所定範囲Ｂとなるまで点火時期をリタード制御することで、ＨＣ低減効果，排気温度上昇効果を得るものである。
【００３４】
また、前記所定範囲Ｂは、エンジンの安定限界相当の値となるように設定することを特徴とするエンジンの制御装置を提案する。
【００３５】
すなわち、先に述べたように、点火時期は、所定範囲Ａ相当の空燃比において、可能な限りリタードすることで、ＨＣ低減，排気温度上昇が、より効果的に得られる。この可能な限りという程度は、一般に各エンジンによって設定される安定限界（商品性限界）相当の値となる。このことから、安定限界に相当する第二の周波数成分の値を所定範囲Ｂとし、第二の周波数成分が所定範囲Ｂとなるまで点火時期をリタード制御することで、ＨＣ低減効果，排気温度上昇効果を最大限得るものである。
【００３６】
また、目標空燃比を設定する手段と空燃比が目標空燃比近傍に制御されたことを直接的もしくは間接的に検出する手段と、空燃比が目標空燃比近傍に制御されていることが検出されていないときと、検出されているときで、前記第一の周波数帯域と前記第二の周波数帯域を変更する手段を備えたことを特徴とするエンジンの制御装置を提案する。
【００３７】
すなわち、前述したように、ＨＣ低減効果，排気温度上昇効果ともに、空燃比を所定範囲に制御しないと、点火時期をリタードするだけでは、その効果は得られない。
【００３８】
すなわち、空燃比が所定範囲に制御されていることがリタード制御を実施することの前提条件となる。このことから、本請求項に記載のように、空燃比が目標空燃比近傍に制御されていないときは、より早期に空燃比を目標空燃比近傍に制御するため、空燃比を制御するために用いる第一の周波数帯域を変更するものである。例えば、後述するように、第一の周波数帯域を第二の周波数帯域より広く（より高周波側まで）、設定することで、空燃比制御の応答性を速くすることなどが考えられる。
【００３９】
また、空燃比が目標空燃比近傍に制御されていることが検出されていないとき、前記第一の周波数帯域は、前記第二の周波数帯域より広くすることを特徴とするエンジンの制御装置を提案する。
【００４０】
すなわち、先に述べたように、第一の周波数帯域を第二の周波数帯域より広く（より高周波側まで）、設定することで、空燃比制御の応答性を速くすることを明記するものである。
【００４１】
また、エンジン始動時（特にエンジン始動直後）においては、前記第一の周波数帯域を、前記第二の周波数帯域より広くすることを特徴とするエンジンの制御装置を提案する。
【００４２】
すなわち、先に述べたように、ＨＣ低減効果，排気温度上昇効果ともに、空燃比を所定範囲に制御しないと、点火時期をリタードするだけでは、その効果は得られない。すなわち、空燃比が所定範囲に制御されて、初めて、リタード制御の効果が得られる。一方で、エンジン始動時は、目標空燃比，目標点火時期（目標リタード量）ともに、デフォルトの設定値に戻されているのが一般的である。このデフォルトの設定値は、燃料性状のばらつき、各種デバイスの製造誤差および経時変化などの多くの外乱に対するロバスト性を確保しなければならず、例えば図２０に示されるように、安定マージン確保時の設定値となっている。デフォルト設定値から、ＨＣ最小条件，排気温度最高条件を実現する場合、上述のように、空燃比を所定範囲に制御することを優先する必要がある。そのため空燃比の制御速度をできるだけ速くすることが有効であり、したがって、本請求項に記載のように、空燃比制御に用いる第一の周波数帯域を、点火時期制御に用いる第二の周波数帯域より広くする（より高周波側まで）ものである。
【００４３】
また、前記空燃比が目標空燃比近傍に制御されたことを直接的もしくは間接的に検出する手段は、前記第一の周波数帯域の成分が所定範囲内にあるとき、前記空燃比が目標空燃比近傍に制御されたと判断することを特徴とするエンジンの制御装置を提案する。
【００４４】
すなわち、先に述べたように、第一の周波数成分の値から、空燃比を間接的に検出することが可能である。この特性を利用して、所望の空燃比範囲に相当する第一の周波数成分の値を所定範囲Ａとし、第一の周波数成分が所定範囲Ａとなるように空燃比を制御するパラメータ（燃料噴射量）などを補正することで、空燃比を所望の空燃比範囲に制御するものである。このことから、本請求項に記載のように、第一の周波数帯域の成分が所定範囲内にあるとき、空燃比が目標空燃比近傍に制御されたと判断するものである。
【００４５】
また、前記空燃比が目標空燃比近傍に制御されたことを直接的もしくは間接的に検出する手段は、燃料補正速度が所定範囲内にあるとき、前記空燃比が目標空燃比近傍に制御されたと判断することを特徴とするエンジンの制御装置を提案する。
【００４６】
すなわち、先に述べたように、第一の周波数成分の値から、空燃比を間接的に検出することが可能である。この特性を利用して、所望の空燃比範囲に相当する第一の周波数成分の値を所定範囲Ａとし、第一の周波数成分が所定範囲Ａとなるように空燃比を制御するパラメータ（燃料噴射量）などを補正することで、空燃比を所望の空燃比範囲に制御するものである。このことから、本請求項に記載のように、空燃比が目標空燃比に近づくにつれ、燃料噴射量補正速度は、一般に小さくなる。したがって、燃料補正速度が所定範囲内にあるとき（小さいとき）、空燃比が目標空燃比近傍に制御されたと判断するものである。
【００４７】
また、前記第一の周波数成分および／もしくは第二の周波数成分は、前記エンジンの運転状態の時系列信号の絶対値を重み付き移動平均処理した値とすることを特徴とするエンジンの制御装置を提案する。
【００４８】
すなわち、周波数成分を演算する方式として、
・フーリエ変換をして、対象とする周波数帯域のパワスペクトルを求める。
・バンドパスフィルタなどのフィルタ処理を用いて、対象とする周波数帯域だけの成分を  持った時系列信号に変換する。
【００４９】
などが考えられる。しかし、これらは、いずれも、マイコン実装時には演算負荷が大きくなるものであり、量産用コントローラには不向きの方式である。そこで、上記の方式より、精度は多少劣るものの、演算負荷が小さく、実装に好適な方式として本請求項に記載の方法を明記するものである。まず、時系列信号の絶対値を演算することで、その信号のパワを求める。その後、重み付き移動平均処理により、通過帯域を制限する。移動平均処理は、一次のローパスフィルタの機能を持つが、その係数を重み付きとすることで、ある程度、通過帯域を制御することが可能である。
【発明の効果】
【００５０】
以上より、本発明では、始動時（触媒活性化前）において、空燃比と点火時期を同時に最適化する制御方式であり、実用環境で発生する種々の外乱に応じて、ロバスト性を確保しつつ、エンジンから排出されるＨＣを最小化することが可能となる。
【発明を実施するための最良の形態】
【００５１】
（実施例１）
図２２は本実施例を示すシステム図である。多気筒で構成されるエンジン９において、外部からの空気はエアクリーナ１を通過し、吸気マニホールド４，コレクタ５を経てシリンダー内に流入する。流入空気量は電子スロットル３により調節される。エアフロセンサ２では流入空気量が検出される。クランク角センサ１５では、クランク軸の回転角１゜と燃焼周期毎の信号が出力される。水温センサ１４はエンジンの冷却水温度を検出する。またアクセル開度センサ１３は、アクセル６の踏み込み量を検出し、それによって運転者の要求トルクを検出する。アクセル開度センサ１３，エアフロセンサ２，電子スロットル３に取り付けられたスロットル開度センサ１７，クランク角センサ１５，水温センサ１４のそれぞれの信号はコントロールユニット１６に送られ、これらセンサ出力からエンジンの運転状態を得て、空気量，燃料噴射量，点火時期のエンジンの主要な操作量が最適に演算される。コントロールユニット１６内で演算された燃料噴射量は開弁パルス信号に変換され、燃料噴射弁７に送られる。またコントロールユニット１６で演算された点火時期で点火されるよう駆動信号が点火プラグ８に送られる。噴射された燃料は吸気マニホールドからの空気と混合されエンジン９のシリンダー内に流入し混合気を形成する。混合気は所定の点火時期で点火プラグ８から発生される火花により爆発しその燃焼圧によりピストンを押し下げエンジンの動力となる。爆発後の排気は排気マニホールド１０を経て三元触媒１１に送り込まれる。排気還流管１８を通って排気の一部は吸気側に還流される。還流量は排気還流量調整バルブ１９によって制御される。Ａ／Ｆセンサ（空燃比センサ）１２はエンジン９と三元触媒１１の間に取り付けられており、排気中に含まれる酸素濃度に対して線形の出力特性を持つ。排気中の酸素濃度と空燃比の関係はほぼ線形になっており、したがって酸素濃度を検出するＡ／Ｆセンサ１２により空燃比を求めることが可能となる。コントロールユニット１６ではＡ／Ｆセンサ１２の信号から三元触媒１１上流の空燃比を算出し、触媒下流Ｏ2センサ２０の信号から、三元触媒下流のＯ2濃度もしくはストイキに対してリッチもしくはリーンであるかを算出する。また、両センサの出力を用いて三元触媒１１の浄化効率が最適となるよう燃料噴射量もしくは空気量を逐次補正するＦ／Ｂ制御を行う。また、吸気温センサ２９で、吸気温が、筒内圧（燃焼圧）センサ３０で、筒内圧（燃焼圧）が、それぞれ検出される。
【００５２】
図３３はコントロールユニット１６の内部を示したものである。コントロールユニット１６内にはＡ／Ｆセンサ１２，スロットル弁開度センサ１７，エアフロセンサ２，クランク角センサ１５，水温センサ１４，アクセル開度センサ１３，触媒下流Ｏ2センサ２０，吸気温センサ２９，筒内圧センサ３０の各センサ出力値が入力され、入力回路２４にてノイズ除去等の信号処理を行った後、入出力ポート２５に送られる。入力ポートの値はＲＡＭ２３に保管され、ＣＰＵ２１内で演算処理される。演算処理の内容を記述した制御プログラムはＲＯＭ２２に予め書き込まれている。制御プログラムに従って演算された各アクチュエータ作動量を表す値はＲＡＭ２３に保管された後、入出力ポート２５に送られる。点火プラグの作動信号は点火出力回路内の一次側コイルの通流時はＯＮとなり、非通流時はＯＦＦとなるＯＮ・ＯＦＦ信号がセットされる。点火時期はＯＮからＯＦＦになる時である。出力ポートにセットされた点火プラグ用の信号は点火出力回路２６で燃焼に必要な十分なエネルギーに増幅され点火プラグに供給される。また燃料噴射弁の駆動信号は開弁時ＯＮ、閉弁時ＯＦＦとなるＯＮ・ＯＦＦ信号がセットされ、燃料噴射弁駆動回路２７で燃料噴射弁を開くに十分なエネルギーに増幅され燃料噴射弁７に送られる。電子スロットル３の目標開度を実現する駆動信号は、電子スロットル駆動回路２８を経て、電子スロットル３に送られる。以下、ＲＯＭ２２に書き込まれる制御プログラムについて述べる。
【００５３】
図２４は制御全体を表したブロック図であり、以下の演算部から構成される。
【００５４】
・基本燃料噴射量演算部（図２５）
・燃料噴射量補正許可部（図２６）
・燃料噴射量補正値演算部（図２７）
・基本点火時期演算部（図２８）
・点火時期補正許可部（図２９）
・点火時期補正量演算部（図３０）
「基本燃料噴射量演算部」で、基本燃料噴射量（Ｔｐ）を演算する。「燃料噴射量補正許可部」で基本燃料噴射量（Ｔｐ）の補正を行うか否かの判断を行う。すなわち、空燃比が所定範囲内に入るように燃料噴射量の補正を行うか否かの判断を行う。補正を行う場合は、燃料噴射量補正許可フラグFp_fuel_hos＝１とする。行わないときは、Fp_fuel_hos＝０とする。「燃料噴射量補正値演算部」では、Fp_fuel_hos＝１のとき、クランク角センサ１５の出力Ｎｅに基づいて、空燃比が所定範囲内に入るように燃料噴射量補正値（Alpha）の演算を行う。
【００５５】
「基本点火時期演算部」で、基本点火時期（Ａｄｖ０）を演算する。「点火時期補正許可部」で基本点火時期（Ａｄｖ０）の補正を行うか否かの判断を行う。すなわち、クランク角センサ１５の出力Ｎｅに基づいて、所定のエンジン（燃焼）安定度まで、点火時期のリタード補正を行うか否かの判断を行う。補正を行う場合は、点火時期補正許可フラグFp_adv_hos＝１とする。行わないときは、Fp_adv_hos＝０とする。「点火時期補正量演算部」では、Fp_adv_hos＝１のとき、クランク角センサ１５の出力Ｎｅに基づいて、所定の安定度まで、点火時期のリタード補正量（Adv_hos）の演算を行う。
【００５６】
以下に、各制御（演算部，許可部）の詳細を述べる。
【００５７】
＜基本燃料噴射量演算部（図２５）＞
本演算部では基本燃料噴射量（Ｔｐ）を演算する。具体的には図２５に示される式で演算する。ここに、Ｃｙｌは気筒数を表す。Ｋ０は、インジェクタの仕様（燃料噴射パルス幅と燃料噴射量の関係）に基づき決める。
【００５８】
＜燃料噴射量補正許可部（図２６）＞
本演算部（許可部）では、基本燃料噴射量（Ｔｐ）の補正を行うか否かの判断を行う。具体的には図２６に示されるように、
１）始動後時間Ｔａｓ≦Ｔｃｏｌｄ
かつ
２）ＴｇＮｅ−Ｋ１≦Ｎｅ≦ＴｇＮｅ＋Ｋ２の状態がＫ３［燃焼回数］以上持続したとき
Fp_fuel_hos＝１とする。
【００５９】
なお、
条件１）における、Ｔｃｏｌｄは、三元触媒１１が活性化するのに必要な時間に相当し、したがって、条件１）が成立している期間は、三元触媒１１が非活性の状態を意味している。
条件２）は、始動後エンジン回転速度がアイドル時目標速度近傍に収束している状態を判定している。ＴｇＮｅは、始動後のアイドル運転における目標回転速度である。また、各パラメータであるＫ１，Ｋ２，Ｋ３は、経験的に決めるのがよい。
【００６０】
Fp_fuel_hos＝１のとき、以下に述べる「燃料噴射量補正値演算部（図３７）」で、燃料噴射量補正値（Alpha）の演算を行う。
【００６１】
＜燃料噴射量補正値演算部（図２７）＞
ここでは、Fp_fuel_hos＝１のとき、クランク角度センサ１５の出力に基づいて、空燃比が所定範囲となるように燃料噴射量の補正値を演算する。具体的には図２７に示されるように、下記の処理を行う。
【００６２】
・クランク角度センサ１５の出力値から１サイクル毎の回転速度の変動量すなわち角加速度ｄＮｅを演算する。
【００６３】
・ｄＮｅの絶対値を演算した後、バンドパスフィルタ１を施す。
・バンドパスフィルタ１の出力値と点火時期（Ａｄｖ）からテーブルを参照して空燃比指  数（ind_abf）を求める。
・空燃比指数（ind_abf）と目標空燃比指数（Ｔind_abf）の差Ｄind_abfを求める。
・偏差（Ｄind_abf）からＰＩ制御により燃料噴射量補正値（Alpha）を求める。
【００６４】
角加速度（ｄＮｅ）の絶対値は、エンジン（燃焼）の安定性と相関がある。その値に対してバンドパスフィルタ１を施すことで、所定の周波数帯域の成分のみを抽出する。本実施例では、バンドパスフィルタ１は、低周波成分を抽出するように設計する。後述するが、点火時期補正量演算部（図３０）で演算される点火時期補正量（Adv_hos）は、角加速度（ｄＮｅ）の絶対値に対してバンドパスフィルタ２を施した値に基づいて演算される。バンドパスフィルタ２は、高周波成分を抽出するように設計する。すなわち、バンドパスフィルタ１とバンドパスフィルタ２の通過帯域が異なるように設計することで、エンジンの安定度に基づいて、燃料噴射量（空燃比）と点火時期を独立に制御するものである。なお、バンドパスフィルタの設計方法については、多くの書籍，文献があるので、ここでは、詳述しない。
【００６５】
バンドパスフィルタ１の出力値と点火時期（Ａｄｖ）から空燃比指数（ind_abf）を求めるテーブルは各エンジンの特性（実験結果）に基づいて決めるのもよい。
【００６６】
目標空燃比指数（Ｔind_abf）は、エンジンからのＨＣ排出量を最小化するには、空燃比を１５〜１６相当の値として設定する。触媒の早期活性化に有効な要素である排気温度まで考慮する場合は、空燃比１４〜１５相当の値として設定する。
【００６７】
Fp_fuel_hos＝０のとき、Alphaは前回値を維持する。
【００６８】
＜基本点火時期演算部（図２８）＞
本演算部では基本点火時期（Ａｄｖ０）を演算する。具体的には図２８に示されるように、実空気量（Ｑａ）とエンジン回転速度（Ｎｅ）から、テーブルを参照して、基本点火時期（Ａｄｖ０）を求める。テーブルは、ＭＢＴになるように設定するのが望ましいが、各運転条件において、安定性も考慮した値（突発的な不安定時に、トルク補正が可能となるようにＭＢＴよりトルク補正マージンを持たせておく）のも良い。
【００６９】
＜点火時期補正許可部（図２９）＞
本演算部（許可部）では、基本点火時期（Ａｄｖ０）の補正を行うか否かの判断を行う。具体的には図２９に示されるように、
１）始動後時間Ｔａｓ≦Ｔｃｏｌｄ
かつ
２）ＴｇＮｅ−Ｋ１≦Ｎｅ≦ＴｇＮｅ＋Ｋ２の状態がＫ３［燃焼回数］以上持続したとき
Fp_adv_hos＝１とする。
【００７０】
なお、
条件１）における、Ｔｃｏｌｄは、三元触媒１１が活性化するのに必要な時間に相当し、したがって、条件１）が成立している期間は、三元触媒１１が非活性の状態を意味している。
条件２）は、始動後エンジン回転速度がアイドル時目標速度近傍に収束している状態を判定している。ＴｇＮｅは、始動後のアイドル運転における目標回転速度である。また、各パラメータであるＫ１，Ｋ２，Ｋ３は、経験的に決めるのがよい。
【００７１】
Fp_adv_hos＝１のとき、以下に述べる「点火時期補正量演算部（図３０）」で、点火時期補正量（Adv_hos）の演算を行う。
【００７２】
＜点火時期補正量演算部（図３０）＞
ここでは、Fp_adv_hos＝１のとき、クランク角センサ１５の出力に基づいて、所定の安定度まで、点火時期のリタード補正量（Adv_hos）の演算を行う。具体的には図３０に示されるように、下記の処理を行う。
【００７３】
・クランク角度センサ１５の出力値から１サイクル毎の回転速度の変動量すなわち角加速度ｄＮｅを演算する。
【００７４】
・ｄＮｅの絶対値を演算した後、バンドパスフィルタ２を施して、安定度指数（ind_stab  ility）を演算する。
・ind_stabilityが所定範囲B_indより小さいとき、Adv_hos＝Adv_hos（前回値）−Ｒｔｄ１とする。
ind_stabilityが所定範囲B_indより大きいとき、Adv_hos＝Adv_hos（前回値）＋Ａｄｖ  １とする。
ind_stabilityが所定範囲B_indにあるとき、Adv_hos＝Adv_hos（前回値）とする。
【００７５】
角加速度（ｄＮｅ）の絶対値は、エンジン（燃焼）の安定性と相関がある。その値に対してバンドパスフィルタ２を施すことで、所定の周波数帯域の成分のみを抽出する。本実施例では、バンドパスフィルタ２は、高周波成分を抽出するように設計する。前述したようにするが、燃料噴射量補正値演算部（図２７）で演算される燃料噴射量補正値（Alpha）は、角加速度（ｄＮｅ）の絶対値に対してバンドパスフィルタ１を施した値に基づいて演算される。バンドパスフィルタ１は、低周波成分を抽出するように設計する。すなわち、バンドパスフィルタ１とバンドパスフィルタ２の通過帯域が異なるように設計することで、エンジンの安定度に基づいて、燃料噴射量（空燃比）と点火時期を独立に制御するものである。なお、バンドパスフィルタの設計方法については、多くの書籍，文献があるので、ここでは、詳述しない。
【００７６】
B_indは、安定限界相当値に設定するのが望ましい。Ｒｔｄ１，Ａｄｖ１などは、リタード速度，進角速度を決めるパラメータである。速いほど（大きいほど）、排気低減の効果が期待できるが、その分、点火時期制御系が不安定になりやすくなる。エンジンの特性（応答性など）に応じて、経験的に決めるのもよい。
【００７７】
本実施例によれば、エンジン始動後、オンボードで、クランク角センサ１５の出力信号の内、低周波成分に基づいて空燃比を最適範囲に制御し、高周波成分に基づいて点火時期を安定限界まで制御する。この場合、空燃比制御の応答性は比較的遅くなり、点火時期制御の応答性は比較的速くなる。また、空燃比と点火時期が独立に最適化制御されるので、実用環境で発生する種々の外乱によらず、当該エンジンの持つ、ＨＣ最小化ポテンシャルを使い切ることができる。
【００７８】
（実施例２）
実施例１では、クランク角センサ１５の出力信号の内、低周波成分に基づいて空燃比を最適範囲に制御し、高周波成分に基づいて点火時期を安定限界まで制御した。
【００７９】
これに対して、実施例２では、クランク角センサ１５の出力信号の内、高周波成分に基づいて空燃比を最適範囲に制御し、低周波成分に基づいて点火時期を安定限界まで制御する。したがって、実施例１と構成は同じであるが、図２７中のバンドパスフィルタ１は高周波成分を抽出するように設計し、図３０中のバンドパスフィルタ２は低周波成分を抽出するように設計する。
【００８０】
この場合、空燃比制御の応答性は比較的速くなり、点火時期制御の応答性は比較的遅くなる。また、空燃比と点火時期が独立に最適化制御されるので、実用環境で発生する種々の外乱によらず、当該エンジンの持つ、ＨＣ最小化ポテンシャルを使い切ることができる。
【００８１】
（実施例３）
実施例１および実施例２では、エンジンのクランク角センサ１５の信号を用いて、空燃比と点火時期を制御する方式とした。これに対して、実施例３では、筒内圧センサ３０の出力信号の内、低周波成分に基づいて空燃比を最適範囲に制御し、高周波成分に基づいて点火時期を安定限界まで制御する。
【００８２】
図２２は本実施例を示すシステム図であり、実施例１と同じであるので詳述はしない。
【００８３】
図２３はコントロールユニット１６の内部を示したものであり、実施例１と同じであるので、同じく詳述しない。
【００８４】
図３１は制御全体を表したブロック図であり、以下の演算部から構成される。
【００８５】
・基本燃料噴射量演算部（図２５）
・燃料噴射量補正許可部（図２６）
・燃料噴射量補正値演算部（図３２）
・基本点火時期演算部（図２８）
・点火時期補正許可部（図２９）
・点火時期補正量演算部（図３３）
「基本燃料噴射量演算部」で、基本燃料噴射量（Ｔｐ）を演算する。「燃料噴射量補正許可部」で基本燃料噴射量（Ｔｐ）の補正を行うか否かの判断を行う。すなわち、空燃比が所定範囲内に入るように燃料噴射量の補正を行うか否かの判断を行う。補正を行う場合は、燃料噴射量補正許可フラグFp_fuel_hos＝１とする。行わないときは、Fp_fuel_hos＝０とする。「燃料噴射量補正値演算部」では、Fp_fuel_hos＝１のとき、筒内圧センサ３０の出力Ｐに基づいて、空燃比が所定範囲内に入るように燃料噴射量補正値（Alpha）の演算を行う。
【００８６】
「基本点火時期演算部」で、基本点火時期（Ａｄｖ０）を演算する。「点火時期補正許可部」で基本点火時期（Ａｄｖ０）の補正を行うか否かの判断を行う。すなわち、筒内圧センサ３０の出力Ｐに基づいて、所定のエンジン（燃焼）安定度まで、点火時期のリタード補正を行うか否かの判断を行う。補正を行う場合は、点火時期補正許可フラグFp_adv_hos＝１とする。行わないときは、Fp_adv_hos＝０とする。「点火時期補正量演算部」では、Fp_adv_hos＝１のとき、筒内圧センサ３０の出力Ｐに基づいて、所定の安定度まで、点火時期のリタード補正量（Adv_hos）の演算を行う。
【００８７】
以下に、各制御（演算部，許可部）の詳細を述べる。
【００８８】
＜基本燃料噴射量演算部（図２５）＞
本演算部では基本燃料噴射量（Ｔｐ）を演算する。具体的には図２５に示されるが、実施例１と同じであるので、詳述しない。
【００８９】
＜燃料噴射量補正許可部（図２６）＞
本演算部（許可部）では、基本燃料噴射量（Ｔｐ）の補正を行うか否かの判断を行う。具体的には図２６に示されるが、実施例１と同じであるので、詳述しない。
【００９０】
＜燃料噴射量補正値演算部（図３２）＞
ここでは、Fp_fuel_hos＝１のとき、筒内圧センサ３０の出力Ｐに基づいて、空燃比が所定範囲となるように燃料噴射量の補正値を演算する。具体的には図３２に示されるように、下記の処理を行う。
【００９１】
・筒内圧センサ３０の出力値Ｐから１サイクルあたりの燃焼圧仕事（図示平均有効圧）Ｗ  を求める。
・燃焼圧仕事（Ｗ）にバンドパスフィルタ１を施す。
・バンドパスフィルタ１の出力値と点火時期（Ａｄｖ）からテーブルを参照して空燃比指  数（ind_abf）を求める。
・空燃比指数（ind_abf）と目標空燃比指数（Ｔind_abf）の差Ｄind_abfを求める。
・偏差（Ｄind_abf）からＰＩ制御により燃料噴射量補正値（Alpha）を求める。
【００９２】
燃焼圧仕事（Ｗ）は、エンジン（燃焼）の安定性と相関がある。その値に対してバンドパスフィルタ１を施すことで、所定の周波数帯域の成分のみを抽出する。本実施例では、バンドパスフィルタ１は、低周波成分を抽出するように設計する。後述するが、点火時期補正量演算部（図３３）で演算される点火時期補正量（Adv_hos）は、角燃焼圧仕事（Ｗ）に対してバンドパスフィルタ２を施した値に基づいて演算される。バンドパスフィルタ２は、高周波成分を抽出するように設計する。すなわち、バンドパスフィルタ１とバンドパスフィルタ２の通過帯域が異なるように設計することで、エンジンの安定度に基づいて、燃料噴射量（空燃比）と点火時期を独立に制御するものである。
【００９３】
バンドパスフィルタ１の出力値と点火時期（Ａｄｖ）から空燃比指数（ind_abf）を求めるテーブルは各エンジンの特性（実験結果）に基づいて決めるのもよい。
【００９４】
目標空燃比指数（Ｔind_abf）は、エンジンからのＨＣ排出量を最小化するには、空燃比を１５〜１６相当の値として設定する。触媒の早期活性化に有効な要素である排気温度まで考慮する場合は、空燃比１４〜１５相当の値として設定する。
【００９５】
Fp_fuel_hos＝０のとき、Alphaは前回値を維持する。
【００９６】
＜基本点火時期演算部（図２８）＞
本演算部では基本点火時期（Ａｄｖ０）を演算する。具体的には図２８に示されるが、実施例１と同じであるので、詳述しない。
【００９７】
＜点火時期補正許可部（図２９）＞
本演算部（許可部）では、基本点火時期（Ａｄｖ０）の補正を行うか否かの判断を行う。具体的には図２９に示されるが、実施例１と同じであるので、詳述しない。
【００９８】
＜点火時期補正量演算部（図３３）＞
ここでは、Fp_adv_hos＝１のとき、筒内圧センサ３０の出力に基づいて、所定の安定度まで、点火時期のリタード補正量（Adv_hos）の演算を行う。具体的には図３３に示されるように、下記の処理を行う。
【００９９】
・筒内圧センサ３０の出力値Ｐから１サイクルあたりの燃焼圧仕事（図示平均有効圧）Ｗ  を求める。
・燃焼圧仕事（Ｗ）にバンドパスフィルタ２を施して、安定度指数（ind_stability）を  演算する。
・ind_stabilityが所定範囲B_indより小さいとき、Adv_hos＝Adv_hos（前回値）−Ｒｔｄ  １とする。
ind_stabilityが所定範囲B_indより大きいとき、Adv_hos＝Adv_hos（前回値）＋Ａｄｖ  １とする。
ind_stabilityが所定範囲B_indにあるとき、Adv_hos＝Adv_hos（前回値）とする。
【０１００】
燃焼圧仕事（Ｗ）の絶対値は、エンジン（燃焼）の安定性と相関がある。その値に対してバンドパスフィルタ２を施すことで、所定の周波数帯域の成分のみを抽出する。本実施例では、バンドパスフィルタ２は、高周波成分を抽出するように設計する。前述したようにするが、燃料噴射量補正値演算部（図３２）で演算される燃料噴射量補正値（Alpha）は、燃焼圧仕事（Ｗ）の絶対値に対してバンドパスフィルタ１を施した値に基づいて演算される。バンドパスフィルタ１は、低周波成分を抽出するように設計する。すなわち、バンドパスフィルタ１とバンドパスフィルタ２の通過帯域が異なるように設計することで、エンジンの安定度に基づいて、燃料噴射量（空燃比）と点火時期を独立に制御するものである。
【０１０１】
B_indは、安定限界相当値に設定するのが望ましい。Ｒｔｄ１，Ａｄｖ１などは、リタード速度，進角速度を決めるパラメータである。速いほど（大きいほど）、排気低減の効果が期待できるが、その分、点火時期制御系が不安定になりやすくなる。エンジンの特性（応答性など）に応じて、経験的に決めるのもよい。
【０１０２】
本実施例によれば、エンジン始動後、オンボードで、筒内圧センサ３０の出力信号の内、低周波成分に基づいて空燃比を最適範囲に制御し、高周波成分に基づいて点火時期を安定限界まで制御する。この場合、空燃比制御の応答性は比較的遅くなり、点火時期制御の応答性は比較的速くなる。また、空燃比と点火時期が独立に最適化制御されるので、実用環境で発生する種々の外乱によらず、当該エンジンの持つ、ＨＣ最小化ポテンシャルを使い切ることができる。
【０１０３】
一方で、筒内圧センサ３０の出力信号の内、高周波成分に基づいて空燃比を最適範囲に制御し、低周波成分に基づいて点火時期を安定限界まで制御するように、バンドパスフィルタ１および２を設計してもよい。この場合、空燃比制御の応答性は比較的速くなり、点火時期制御の応答性は比較的遅くなる。
【０１０４】
（実施例４）
実施例１〜実施例３では、空燃比と点火時期の制御開始時期を同時とした（制御開始条件を同じとした）。
【０１０５】
前述したように、ＨＣ低減効果，排気温度上昇効果ともに、空燃比を所定範囲に制御しないと、点火時期をリタードするだけでは、その効果は得られない。すなわち、空燃比が所定範囲に制御されていることがリタード制御を実施することの前提条件となる。一方で、エンジン始動時は、目標空燃比，目標点火時期（目標リタード量）ともに、デフォルトの設定値に戻されているの一般的である。このデフォルトの設定値は、燃料性状のばらつき、各種デバイスの製造誤差および経時変化などの多くの外乱に対するロバスト性を確保しなければならず、ＨＣ最小条件もしくは排気温度最高条件からは、離れた安定マージン確保の設定となっている。このデフォルト設定値から、ＨＣ最小条件，排気温度最高条件を実現する場合、上述のように、空燃比を所定範囲に制御することを優先する必要がある。そのため空燃比の制御速度をできるだけ速くすることが有効である。このことから、本実施例では、クランク角センサ１５の出力信号に対して、まず、全周波数帯域を用いて、空燃比制御を実施することで、より早期に空燃比をＨＣ最小条件（１５〜１６）もしくは排気温度最高条件（１４〜１５）に制御する。その後、２つの周波数帯域成分に分離し、第一の周波数帯域に基づいて空燃比を制御し、第二の周波数帯域に基づいて点火時期を制御するものである。
【０１０６】
図２２は本実施例を示すシステム図であり、実施例１と同じであるので詳述はしない。
【０１０７】
図２３はコントロールユニット１６の内部を示したものであり、実施例１と同じであるので、同じく詳述しない。
【０１０８】
図３４は制御全体を表したブロック図であり、以下の演算部から構成される。
【０１０９】
・基本燃料噴射量演算部（図２５）
・燃料噴射量補正許可部（図２６）
・燃料噴射量補正値演算部（図３５）
・基本点火時期演算部（図２８）
・点火時期補正許可部（図３６）
・点火時期補正量演算部（図３０）
「基本燃料噴射量演算部」で、基本燃料噴射量（Ｔｐ）を演算する。「燃料噴射量補正許可部」で基本燃料噴射量（Ｔｐ）の補正を行うか否かの判断を行う。すなわち、空燃比が所定範囲内に入るように燃料噴射量の補正を行うか否かの判断を行う。補正を行う場合は、燃料噴射量補正許可フラグFp_fuel_hos＝１とする。行わないときは、Fp_fuel_hos＝０とする。「燃料噴射量補正値演算部」では、Fp_fuel_hos＝１のとき、クランク角センサ１５の出力Ｎｅに基づいて、空燃比が所定範囲内に入るように燃料噴射量補正値（Alpha）の演算を行う。
【０１１０】
「基本点火時期演算部」で、基本点火時期（Ａｄｖ０）を演算する。「点火時期補正許可部」で基本点火時期（Ａｄｖ０）の補正を行うか否かの判断を行う。すなわち、クランク角センサ１５の出力Ｎｅに基づいて、所定のエンジン（燃焼）安定度まで、点火時期のリタード補正を行うか否かの判断を行う。この判断に、空燃比が所定範囲内に制御されているか否かの条件が追加される。より具体的には、空燃比指数１（ind_abf１）が所定範囲内にあるとき、空燃比が所定範囲に制御されていると判断する。点火時期の補正を行う場合は、点火時期補正許可フラグFp_adv_hos＝１とする。行わないときは、Fp_adv_hos＝０とする。「点火時期補正量演算部」では、Fp_adv_hos＝１のとき、クランク角センサ１５の出力Ｎｅに基づいて、所定の安定度まで、点火時期のリタード補正量（Adv_hos）の演算を行う。
【０１１１】
以下に、各制御（演算部，許可部）の詳細を述べる。
【０１１２】
＜基本燃料噴射量演算部（図２５）＞
本演算部では基本燃料噴射量（Ｔｐ）を演算する。具体的には図２５に示されるが、実施例１と同じであるので、詳述しない。
【０１１３】
＜燃料噴射量補正許可部（図２６）＞
本演算部（許可部）では、基本燃料噴射量（Ｔｐ）の補正を行うか否かの判断を行う。具体的には図２６に示されるが、実施例１と同じであるので、詳述しない。
【０１１４】
＜燃料噴射量補正値演算部（図３５）＞
ここでは、Fp_fuel_hos＝１のとき、クランク角度センサ１５の出力に基づいて、空燃比が所定範囲となるように燃料噴射量の補正値を演算する。具体的には図３５に示されるように、下記の処理を行う。
【０１１５】
・クランク角度センサ１５の出力値から１サイクル毎の回転速度の変動量すなわち角加速度ｄＮｅを演算する。
・ｄＮｅの絶対値を演算した後、バンドパスフィルタ１を施す。
・バンドパスフィルタ１の出力値と点火時期（Ａｄｖ）からテーブルを参照して空燃比指  数１（ind_abf１）を求める。
・ｄＮｅの絶対値を演算した後、ローパスフィルタ２を施す。
・ローパスフィルタ２の出力値と点火時期（Ａｄｖ）からテーブルを参照して空燃比指数  ２（ind_abf２）を求める。
・点火時期補正許可フラグ（Fp_adv_hos）が０のとき、空燃比指数（ind_abf）を空燃比  指数１（ind_abf１）とする。
・点火時期補正許可フラグ（Fp_adv_hos）が１のとき、空燃比指数（ind_abf）を空燃比  指数２（ind_abf２）とする。
・空燃比指数（ind_abf）と目標空燃比指数（Ｔind_abf）の差Ｄind_abfを求める。
・偏差（Ｄind_abf）からＰＩ制御により燃料噴射量補正値（Alpha）を求める。
【０１１６】
後述するが、点火時期補正許可フラグ（Fp_adv_hos）が０のときは、空燃比が所定範囲に制御されていないときである。このとき、空燃比を速やかに所定範囲に制御する必要があるため、クランク角センサ１５の出力信号に対して、まず、ほぼ全周波数帯域を用いて、空燃比制御を実施することで、より早期に空燃比をＨＣ最小条件（１５〜１６）もしくは排気温度最高条件（１４〜１５）に制御する。そのために、バンドパスフィルタ１の通過帯域は、ほぼ全帯域となるように設計する。
【０１１７】
同じく後述するが、点火時期補正許可フラグ（Fp_adv_hos）が１のときは、空燃比が所定範囲に制御されているときである。このとき、空燃比よりも、点火時期を速やかに、安定限界まで制御する必要があるため、空燃比制御に用いる帯域は、低周波帯域の狭い範囲に限定し、残りの帯域成分は、点火時期制御に用いる（後述）。そのために、ローパスフィルタ２の通過帯域は、低周波帯域の狭い範囲となるように設計する。
【０１１８】
なお、バンドパスフィルタ１の出力値と点火時期（Ａｄｖ）から空燃比指数（ind_abf）を求めるテーブルは各エンジンの特性（実験結果）に基づいて決めるのもよい。同じく、ローパスフィルタ２の出力値と点火時期（Ａｄｖ）から空燃比指数（ind_abf）を求めるテーブルは各エンジンの特性（実験結果）に基づいて決めるのもよい。
【０１１９】
目標空燃比指数（Ｔind_abf）は、エンジンからのＨＣ排出量を最小化するには、空燃比を１５〜１６相当の値として設定する。触媒の早期活性化に有効な要素である排気温度まで考慮する場合は、空燃比１４〜１５相当の値として設定する。
【０１２０】
Fp_fuel_hos＝０のとき、Alphaは前回値を維持する。
【０１２１】
＜基本点火時期演算部（図２８）＞
本演算部では基本点火時期（Ａｄｖ０）を演算する。具体的には図２８に示されるが、実施例１と同じであるので、詳述しない。
【０１２２】
＜点火時期補正許可部（図３６）＞
本演算部（許可部）では、基本点火時期（Ａｄｖ０）の補正を行うか否かの判断を行う。具体的には図３６に示されるように、
１）始動後時間Ｔａｓ≦Ｔｃｏｌｄ
かつ
２）ＴｇＮｅ−Ｋ１≦Ｎｅ≦ＴｇＮｅ＋Ｋ２の状態がＫ３［燃焼回数］以上持続したとき
かつ
３）Ｔｇ＿ind_abf１−Ｋ４≦ind_abf１≦Ｔｇ＿ind_abf１＋Ｋ５の状態がＫ６［燃焼回数］以上
持続したとき  
のとき
Fp_adv_hos＝１とする。
【０１２３】
なお、
条件１）における、Ｔｃｏｌｄは、三元触媒１１が活性化するのに必要な時間に相当し、したがって、条件１）が成立している期間は、三元触媒１１が非活性の状態を意味している。
条件２）は、始動後エンジン回転速度がアイドル時目標速度近傍に収束している状態を判定している。ＴｇＮｅは、始動後のアイドル運転における目標回転速度である。また、各パラメータであるＫ１，Ｋ２，Ｋ３は、経験的に決めるのがよい。
条件３）は、空燃比が所定範囲に制御されているときである。所定範囲を決めるパラメータであるＴｇ＿ind_abf１，Ｋ４，Ｋ５の設定値は、エンジンからのＨＣ排出量を最小化するには、空燃比を１５〜１６相当の値として設定する。触媒の早期活性化に有効な要素である排気温度まで考慮する場合は、空燃比１４〜１５相当の値として設定する。
【０１２４】
Fp_adv_hos＝１のとき、以下に述べる「点火時期補正量演算部（図３３）」で、点火時期補正量（Adv_hos）の演算を行う。
【０１２５】
＜点火時期補正量演算部（図３０）＞
ここでは、Fp_adv_hos＝１のとき、クランク角センサ１５の出力に基づいて、所定の安定度まで、点火時期のリタード補正量（Adv_hos）の演算を行う。具体的には図３０に示されるが、実施例１と同じであるので、詳述しない。
【０１２６】
本実施例では、クランク角センサ１５の出力信号に対して、まず、全周波数帯域を用いて、空燃比制御を実施することで、より早期に空燃比をＨＣ最小条件（１５〜１６）もしくは排気温度最高条件（１４〜１５）に制御する。その後、２つの周波数帯域成分に分離し、第一の周波数帯域に基づいて空燃比を制御し、第二の周波数帯域に基づいて点火時期を制御する。したがって、より短期間で、最適条件へ制御することが可能となる。
【０１２７】
（実施例５）
実施例４では、第一段階として、クランク角センサ１５の出力信号に対して、全周波数帯域を用いて、空燃比制御を実施した。これにより早期に空燃比をＨＣ最小条件（１５〜１６）もしくは排気温度最高条件（１４〜１５）に制御した。その後、第二段階として、２つの周波数帯域成分に分離し、第一の周波数帯域に基づいて空燃比を制御し、第二の周波数帯域に基づいて点火時期を制御した。特に第一段階から第二段階へ移行する条件として、すなわち、空燃比が所定範囲内に制御されているか否かの判断として、空燃比指数１（ind_abf１）が所定範囲内にあるか否かで判断した。
【０１２８】
これに対して、本実施例では、燃料補正速度が所定範囲内にあるとき（小さいとき）、空燃比が目標空燃比近傍に制御されたと判断するものである。
【０１２９】
図２２は本実施例を示すシステム図であり、実施例１と同じであるので詳述はしない。
【０１３０】
図２３はコントロールユニット１６の内部を示したものであり、実施例１と同じであるので、同じく詳述しない。
【０１３１】
図３４は制御全体を表したブロック図であり、以下の演算部から構成される。
【０１３２】
・基本燃料噴射量演算部（図２５）
・燃料噴射量補正許可部（図２６）
・燃料噴射量補正値演算部（図３８）
・基本点火時期演算部（図２８）
・点火時期補正許可部（図３９）
・点火時期補正量演算部（図３０）
「基本燃料噴射量演算部」で、基本燃料噴射量（Ｔｐ）を演算する。「燃料噴射量補正許可部」で基本燃料噴射量（Ｔｐ）の補正を行うか否かの判断を行う。すなわち、空燃比が所定範囲内に入るように燃料噴射量の補正を行うか否かの判断を行う。補正を行う場合は、燃料噴射量補正許可フラグFp_fuel_hos＝１とする。行わないときは、Fp_fuel_hos＝０とする。「燃料噴射量補正値演算部」では、Fp_fuel_hos＝１のとき、クランク角センサ１５の出力Ｎｅに基づいて、空燃比が所定範囲内に入るように燃料噴射量補正値（Alpha）の演算を行う。
【０１３３】
「基本点火時期演算部」で、基本点火時期（Ａｄｖ０）を演算する。「点火時期補正許可部」で基本点火時期（Ａｄｖ０）の補正を行うか否かの判断を行う。すなわち、クランク角センサ１５の出力Ｎｅに基づいて、所定のエンジン（燃焼）安定度まで、点火時期のリタード補正を行うか否かの判断を行う。この判断に、空燃比が所定範囲内に制御されているか否かの条件が追加される。より具体的には、燃料噴射量補正値（Alpha）の変化量が所定範囲内にあるとき（小さいとき）、空燃比が目標空燃比近傍に制御されたと判断するものである。
【０１３４】
点火時期の補正を行う場合は、点火時期補正許可フラグFp_adv_hos＝１とする。行わないときは、Fp_adv_hos＝０とする。「点火時期補正量演算部」では、Fp_adv_hos＝１のとき、クランク角センサ１５の出力Ｎｅに基づいて、所定の安定度まで、点火時期のリタード補正量（Adv_hos）の演算を行う。
【０１３５】
以下に、各制御（演算部，許可部）の詳細を述べる。
【０１３６】
＜基本燃料噴射量演算部（図２５）＞
本演算部では基本燃料噴射量（Ｔｐ）を演算する。具体的には図２５に示されるが、実施例１と同じであるので、詳述しない。
【０１３７】
＜燃料噴射量補正許可部（図２６）＞
本演算部（許可部）では、基本燃料噴射量（Ｔｐ）の補正を行うか否かの判断を行う。具体的には図２６に示されるが、実施例１と同じであるので、詳述しない。
【０１３８】
＜燃料噴射量補正値演算部（図３８）＞
ここでは、Fp_fuel_hos＝１のとき、クランク角度センサ１５の出力に基づいて、空燃比が所定範囲となるように燃料噴射量の補正値を演算する。具体的には図３８に示されるように、下記の処理を行う。
【０１３９】
・クランク角度センサ１５の出力値から１サイクル毎の回転速度の変動量すなわち角加速度ｄＮｅを演算する。
・ｄＮｅの絶対値を演算した後、バンドパスフィルタ１を施す。
・バンドパスフィルタ１の出力値と点火時期（Ａｄｖ）からテーブルを参照して空燃比指数１（ind_abf１）を求める。
・ｄＮｅの絶対値を演算した後、ローパスフィルタ２を施す。
・ローパスフィルタ２の出力値と点火時期（Ａｄｖ）からテーブルを参照して空燃比指数  ２（ind_abf２）を求める。
・点火時期補正許可フラグ（Fp_adv_hos）が０のとき、空燃比指数（ind_abf）を空燃比  指数１（ind_abf１）とする。
・点火時期補正許可フラグ（Fp_adv_hos）が１のとき、空燃比指数（ind_abf）を空燃比  指数２（ind_abf２）とする。
・空燃比指数（ind_abf）と目標空燃比指数（Ｔind_abf）の差Ｄind_abfを求める。
・偏差（Ｄind_abf）からＰＩ制御により燃料噴射量補正値（Alpha）を求める。
【０１４０】
後述するが、点火時期補正許可フラグ（Fp_adv_hos）が０のときは、空燃比が所定範囲に制御されていないときである。このとき、空燃比を速やかに所定範囲に制御する必要があるため、クランク角センサ１５の出力信号に対して、まず、ほぼ全周波数帯域を用いて、空燃比制御を実施することで、より早期に空燃比をＨＣ最小条件（１５〜１６）もしくは排気温度最高条件（１４〜１５）に制御する。そのために、バンドパスフィルタ１の通過帯域は、ほぼ全帯域となるように設計する。
【０１４１】
同じく後述するが、点火時期補正許可フラグ（Fp_adv_hos）が１のときは、空燃比が所定範囲に制御されているときである。このとき、空燃比よりも、点火時期を速やかに、安定限界まで制御する必要があるため、空燃比制御に用いる帯域は、低周波帯域の狭い範囲に限定し、残りの帯域成分は、点火時期制御に用いる（後述）。そのために、ローパスフィルタ２の通過帯域は、低周波帯域の狭い範囲となるように設計する。
【０１４２】
なお、バンドパスフィルタ１の出力値と点火時期（Ａｄｖ）から空燃比指数（ind_abf）を求めるテーブルは各エンジンの特性（実験結果）に基づいて決めるのもよい。同じく、ローパスフィルタ２の出力値と点火時期（Ａｄｖ）から空燃比指数（ind_abf）を求めるテーブルは各エンジンの特性（実験結果）に基づいて決めるのもよい。
【０１４３】
目標空燃比指数（Ｔind_abf）は、エンジンからのＨＣ排出量を最小化するには、空燃比を１５〜１６相当の値として設定する。触媒の早期活性化に有効な要素である排気温度まで考慮する場合は、空燃比１４〜１５相当の値として設定する。
【０１４４】
Fp_fuel_hos＝０のとき、Alphaは前回値を維持する。
【０１４５】
＜基本点火時期演算部（図２８）＞
本演算部では基本点火時期（Ａｄｖ０）を演算する。具体的には図２８に示されるが、実施例１と同じであるので、詳述しない。
【０１４６】
＜点火時期補正許可部（図３９）＞
本演算部（許可部）では、基本点火時期（Ａｄｖ０）の補正を行うか否かの判断を行う。具体的には図３９に示されるように、
１）始動後時間Ｔａｓ≦Ｔｃｏｌｄ
かつ
２）ＴｇＮｅ−Ｋ１≦Ｎｅ≦ＴｇＮｅ＋Ｋ２の状態がＫ３［燃焼回数］以上持続したとき
かつ
３）Tg_Dalpha−Ｋ７≦｜Dalpha｜≦Tg_Dalpha＋Ｋ８の状態がＫ９［燃焼回数］以上
持続したとき  
Fp_adv_hos＝１とする。
【０１４７】
ここに、Dalphaは、燃料噴射量補正値（Alpha）の前回演算値との差分値である。
【０１４８】
なお、条件１）における、Ｔｃｏｌｄは、三元触媒１１が活性化するのに必要な時間に相当し、したがって、条件１）が成立している期間は、三元触媒１１が非活性の状態を意味している。
条件２）は、始動後エンジン回転速度がアイドル時目標速度近傍に収束している状態を判定している。ＴｇＮｅは、始動後のアイドル運転における目標回転速度である。また、各パラメータであるＫ１，Ｋ２，Ｋ３は、経験的に決めるのがよい。
条件３）は、空燃比が所定範囲に制御されているときである。所定範囲を決めるパラメータであるTg_Dalpha，Ｋ７，Ｋ８の設定値は、実空燃比が所定範囲に入っているときのDalphaの収束性とから経験的に決めるのもよい
＜点火時期補正量演算部（図３０）＞
ここでは、Fp_adv_hos＝１のとき、クランク角センサ１５の出力に基づいて、所定の安定度まで、点火時期のリタード補正量（Adv_hos）の演算を行う。具体的には図３０に示されるが、実施例１と同じであるので、詳述しない。
【０１４９】
（実施例６）
実施例１〜５においては、周波数成分を抽出する手法として、フィルタを用いた。特に、実施例４，５においては、クランク角センサ１５の出力信号に対して、まず、ほぼ全周波数帯域をバンドパスフィルタの通過帯域に設定して、空燃比制御のみを実施することで、より早期に空燃比をＨＣ最小条件（１５〜１６）もしくは排気温度最高条件（１４〜１５）に制御した。
【０１５０】
これに対して、本実施例では、全周波数帯域を抽出する手法として、統計処理を用いる。具体的には、クランク角センサ１５の出力信号から演算される角加速度の標準偏差で前周波数帯域の成分とするものである。
【０１５１】
図２２は本実施例を示すシステム図であり、実施例１と同じであるので詳述はしない。
【０１５２】
図２３はコントロールユニット１６の内部を示したものであり、実施例１と同じであるので、同じく詳述しない。
【０１５３】
図３７は制御全体を表したブロック図であり、以下の演算部から構成される。
【０１５４】
・基本燃料噴射量演算部（図２５）
・燃料噴射量補正許可部（図２６）
・燃料噴射量補正値演算部（図４０）
・基本点火時期演算部（図２８）
・点火時期補正許可部（図３９）
・点火時期補正量演算部（図４１）
「基本燃料噴射量演算部」で、基本燃料噴射量（Ｔｐ）を演算する。「燃料噴射量補正許可部」で基本燃料噴射量（Ｔｐ）の補正を行うか否かの判断を行う。すなわち、空燃比が所定範囲内に入るように燃料噴射量の補正を行うか否かの判断を行う。補正を行う場合は、燃料噴射量補正許可フラグFp_fuel_hos＝１とする。行わないときは、Fp_fuel_hos＝０とする。「燃料噴射量補正値演算部」では、Fp_fuel_hos＝１のとき、クランク角センサ１５の出力Ｎｅに基づいて、空燃比が所定範囲内に入るように燃料噴射量補正値（Alpha）の演算を行う。
【０１５５】
「基本点火時期演算部」で、基本点火時期（Ａｄｖ０）を演算する。「点火時期補正許可部」で基本点火時期（Ａｄｖ０）の補正を行うか否かの判断を行う。すなわち、クランク角センサ１５の出力Ｎｅに基づいて、所定のエンジン（燃焼）安定度まで、点火時期のリタード補正を行うか否かの判断を行う。この判断に、空燃比が所定範囲内に制御されているか否かの条件が追加される。より具体的には、燃料噴射量補正値（Alpha）の変化量が所定範囲内にあるとき（小さいとき）、空燃比が目標空燃比近傍に制御されたと判断するものである。
【０１５６】
点火時期の補正を行う場合は、点火時期補正許可フラグFp_adv_hos＝１とする。行わないときは、Fp_adv_hos＝０とする。「点火時期補正量演算部」では、Fp_adv_hos＝１のとき、クランク角センサ１５の出力Ｎｅに基づいて、所定の安定度まで、点火時期のリタード補正量（Adv_hos）の演算を行う。
【０１５７】
以下に、各制御（演算部，許可部）の詳細を述べる。
【０１５８】
＜基本燃料噴射量演算部（図２５）＞
本演算部では基本燃料噴射量（Ｔｐ）を演算する。具体的には図２５に示されるが、実施例１と同じであるので、詳述しない。
【０１５９】
＜燃料噴射量補正許可部（図２６）＞
本演算部（許可部）では、基本燃料噴射量（Ｔｐ）の補正を行うか否かの判断を行う。具体的には図２６に示されるが、実施例１と同じであるので、詳述しない。
【０１６０】
＜燃料噴射量補正値演算部（図４０）＞
ここでは、Fp_fuel_hos＝１のとき、クランク角度センサ１５の出力に基づいて、空燃比が所定範囲となるように燃料噴射量の補正値を演算する。具体的には図４０に示されるように、下記の処理を行う。
・クランク角度センサ１５の出力値から１サイクル毎の回転速度の変動量すなわち角加速  度ｄＮｅを演算する。
・点火時期補正許可フラグ（Fp_adv_hos）が０のとき、燃料噴射量補正値１（Alpha１）  を燃料噴射量補正値（Alpha）とする。
・点火時期補正許可フラグ（Fp_adv_hos）が１のとき、燃料噴射量補正値２（Alpha２）  を燃料噴射量補正値（Alpha）とする。
・燃料噴射量補正値１（Alpha１）は、下記のようにして求める。
・ｄＮｅの標準偏差s_dNeを演算する。
・s_dNeが所定範囲A_dNeより小さいとき、Alpha１＝Alpha１（前回値）−Ｌｅａｎ１とす  る。
s_dNeが所定範囲A_dNeより大きいとき、Alpha１＝Alpha１（前回値）＋Ｒｉｃｈ１とす  る。
s_dNeが所定範囲A_dNeにあるとき、Alpha１＝Alpha１（前回値）とする。
・燃料噴射量補正値２（Alpha２）は、下記のようにして求める。
・また、ｄＮｅの絶対値を演算した後、重み付き移動平均処理を施す。
・重み付き移動平均処理の演算値と点火時期（Ａｄｖ）からテーブルを参照して空燃比指  数（ind_abf）を求める。
・空燃比指数（ind_abf）と目標空燃比指数（Ｔind_abf）の差Ｄind_abfを求める。
・偏差（Ｄind_abf）からＰＩ制御により燃料噴射量補正値２（Alpha２）を求める。
【０１６１】
後述するが、点火時期補正許可フラグ（Fp_adv_hos）が０のときは、空燃比が所定範囲に制御されていないときである。このとき、空燃比を速やかに所定範囲に制御する必要があるため、クランク角センサ１５の出力信号に対して、まず、ほぼ全周波数帯域を用いて、空燃比制御を実施することで、より早期に空燃比をＨＣ最小条件（１５〜１６）もしくは排気温度最高条件（１４〜１５）に制御する。そのために、通過帯域が全帯域となる標準偏差演算を行う。
【０１６２】
同じく後述するが、点火時期補正許可フラグ（Fp_adv_hos）が１のときは、空燃比が所定範囲に制御されているときである。このとき、空燃比よりも、点火時期を速やかに、安定限界まで制御する必要があるため、空燃比制御に用いる帯域は、低周波帯域の狭い範囲に限定し、残りの帯域成分は、点火時期制御に用いる（後述）。そのために、重み付き移動平均の重み係数は、通過帯域が低周波帯域の狭い範囲となるように設計する。
【０１６３】
なお、重み付き移動平均処理の演算値と点火時期（Ａｄｖ）から空燃比指数（ind_abf）を求めるテーブルは各エンジンの特性（実験結果）に基づいて決めるのもよい。目標空燃比指数（Ｔind_abf）は、エンジンからのＨＣ排出量を最小化するには、空燃比を１５〜１６相当の値として設定する。触媒の早期活性化に有効な要素である排気温度まで考慮する場合は、空燃比１４〜１５相当の値として設定する。
【０１６４】
Fp_fuel_hos＝０のとき、Alphaは前回値を維持する。
【０１６５】
＜基本点火時期演算部（図２８）＞
本演算部では基本点火時期（Ａｄｖ０）を演算する。具体的には図２８に示されるが、実施例１と同じであるので、詳述しない。
【０１６６】
＜点火時期補正許可部（図３９）＞
本演算部（許可部）では、基本点火時期（Ａｄｖ０）の補正を行うか否かの判断を行う。具体的には図３９に示されるが、実施例５と同じであるので、詳述しない。
【０１６７】
＜点火時期補正量演算部（図４１）＞
ここでは、Fp_adv_hos＝１のとき、クランク角センサ１５の出力に基づいて、所定の安定度まで、点火時期のリタード補正量（Adv_hos）の演算を行う。具体的には図４１に示されるように、下記の処理を行う。
・クランク角度センサ１５の出力値から１サイクル毎の回転速度の変動量すなわち角加速  度ｄＮｅを演算する。
・ｄＮｅの標準偏差s_dNeを演算する。
・s_dNeが所定範囲B_dNeより小さいとき、Adv_hos＝Adv_hos（前回値）−Ｒｔｄ１とする  。
s_dNeが所定範囲B_dNeより大きいとき、Adv_hos＝Adv_hos（前回値）＋Ａｄｖ１とする  。
s_dNeが所定範囲B_dNeにあるとき、Adv_hos＝Adv_hos（前回値）とする。
B_dNeは、安定限界相当値に設定するのが望ましい。Ｒｔｄ１，Ａｄｖ１などは、リタード速度，進角速度を決めるパラメータである。速いほど（大きいほど）、排気低減の効果が期待できるが、その分、点火時期制御系が不安定になりやすくなる。エンジンの特性（応答性など）に応じて、経験的に決めるのもよい。
【０１６８】
以上の実施例では、エンジン始動時（触媒活性化前）において、実用環境で発生する種々の外乱に応じて、ロバスト性を確保しつつ、ＨＣを最小化する空燃比と点火時期に、常時制御する。したがって、従来の安定マージンを考慮した空燃比と点火時期の設定と比較して、大幅に、ＨＣを低減することができる。
【図面の簡単な説明】
【０１６９】
【図１】請求項１にかかる発明の一つの実施例としてのエンジンの制御装置。
【図２】請求項２にかかる発明の一つの実施例としてのエンジンの制御装置。
【図３】請求項３にかかる発明の一つの実施例としてのエンジンの制御装置。
【図４】請求項４にかかる発明の一つの実施例としてのエンジンの制御装置。
【図５】請求項５にかかる発明の一つの実施例としてのエンジンの制御装置。
【図６】請求項６にかかる発明の一つの実施例としてのエンジンの制御装置。
【図７】請求項７にかかる発明の一つの実施例としてのエンジンの制御装置。
【図８】請求項８にかかる発明の一つの実施例としてのエンジンの制御装置。
【図９】請求項９にかかる発明の一つの実施例としてのエンジンの制御装置。
【図１０】請求項１０にかかる発明の一つの実施例としてのエンジンの制御装置。
【図１１】請求項１１にかかる発明の一つの実施例としてのエンジンの制御装置。
【図１２】請求項１２にかかる発明の一つの実施例としてのエンジンの制御装置。
【図１３】請求項１３にかかる発明の一つの実施例としてのエンジンの制御装置。
【図１４】請求項１４にかかる発明の一つの実施例としてのエンジンの制御装置。
【図１５】請求項１５にかかる発明の一つの実施例としてのエンジンの制御装置。
【図１６】請求項１６にかかる発明の一つの実施例としてのエンジンの制御装置。
【図１７】請求項１７にかかる発明の一つの実施例としてのエンジンの制御装置。
【図１８】請求項１８にかかる発明の一つの実施例としてのエンジンの制御装置。
【図１９】請求項１９にかかる発明の一つの実施例としてのエンジンの制御装置。
【図２０】空燃比と排気中のＨＣ濃度の関係。
【図２１】空燃比と排気温度の関係。
【図２２】実施例１〜６におけるエンジン制御システム図。
【図２３】実施例１〜６におけるコントロールユニットの内部を表した図。
【図２４】実施例１〜２における制御全体を表したブロック図。
【図２５】実施例１〜６における基本燃料噴射量演算部を表したブロック図。
【図２６】実施例１〜６における燃料噴射量補正許可部を表したブロック図。
【図２７】実施例１〜２における燃料噴射量補正値演算部を表したブロック図。
【図２８】実施例１〜６における基本点火時期演算部を表したブロック図。
【図２９】実施例１〜３における点火時期補正許可部を表したブロック図。
【図３０】実施例１，２，４，５における点火時期補正量演算部を表したブロック図。
【図３１】実施例３における制御全体を表したブロック図。
【図３２】実施例３における燃料噴射量補正値演算部を表したブロック図。
【図３３】実施例３における点火時期補正量演算部を表したブロック図。
【図３４】実施例４における制御全体を表したブロック図。
【図３５】実施例４における燃料噴射量補正値演算部を表したブロック図。
【図３６】実施例４における点火時期補正許可部を表したブロック図。
【図３７】実施例５，６における制御全体を表したブロック図。
【図３８】実施例５における燃料噴射量補正値演算部を表したブロック図。
【図３９】実施例５，６における点火時期補正許可部を表したブロック図。
【図４０】実施例６における燃料噴射量補正値演算部を表したブロック図。
【図４１】実施例６における点火時期補正量演算部を表したブロック図。
【符号の説明】
【０１７０】
１  エアクリーナ
２  エアフロセンサ
３  電子スロットル
４  吸気マニホールド
５  コレクタ
６  アクセル
７  燃料噴射弁
８  点火プラグ
９  エンジン
１０  排気マニホールド
１１  三元触媒
１２  Ａ／Ｆセンサ
１３  アクセル開度センサ
１４  水温センサ
１５  クランク角センサ
１６  コントロールユニット
１７  スロットル開度センサ
１８  排気還流管
１９  排気還流量調節バルブ
２０  触媒下流Ｏ2センサ
２１  コントロールユニット内に実装されるＣＰＵ
２２  コントロールユニット内に実装されるＲＯＭ
２３  コントロールユニット内に実装されるＲＡＭ
２４  コントロールユニット内に実装される各種センサの入力回路
２５  出力ポート
２６  点火プラグに適切なタイミングで駆動信号を出力する点火出力回路
２７  燃料噴射弁に適切なパルスを出力する燃料噴射弁駆動回路
２８  電子スロットル駆動回路
２９  吸気温センサ
３０  筒内圧センサ
【図１】
2010031813.tif 000003
【図２】
2010031813.tif 000004
【図３】
2010031813.tif 000005
【図４】
2010031813.tif 000006
【図５】
2010031813.tif 000007
【図６】
2010031813.tif 000008
【図７】
2010031813.tif 000009
【図８】
2010031813.tif 000010
【図９】
2010031813.tif 000011
【図１０】
2010031813.tif 000012
【図１１】
2010031813.tif 000013
【図１２】
2010031813.tif 000014
【図１３】
2010031813.tif 000015
【図１４】
2010031813.tif 000016
【図１５】
2010031813.tif 000017
【図１６】
2010031813.tif 000018
【図１７】
2010031813.tif 000019
【図１８】
2010031813.tif 000020
【図１９】
2010031813.tif 000021
【図２０】
2010031813.tif 000022
【図２１】
2010031813.tif 000023
【図２２】
2010031813.tif 000024
【図２３】
2010031813.tif 000025
【図２４】
2010031813.tif 000026
【図２５】
2010031813.tif 000027
【図２６】
2010031813.tif 000028
【図２７】
2010031813.tif 000029
【図２８】
2010031813.tif 000030
【図２９】
2010031813.tif 000031
【図３０】
2010031813.tif 000032
【図３１】
2010031813.tif 000033
【図３２】
2010031813.tif 000034
【図３３】
2010031813.tif 000035
【図３４】
2010031813.tif 000036
【図３５】
2010031813.tif 000037
【図３６】
2010031813.tif 000038
【図３７】
2010031813.tif 000039
【図３８】
2010031813.tif 000040
【図３９】
2010031813.tif 000041
【図４０】
2010031813.tif 000042
【図４１】
2010031813.tif 000043