エンジン5のクランク角度に対応するクランクパルスを発生するパルス発生器PCと、前記クランクパルス間隔に基づいてクランク角速度変動量Δωを算出するクランク角速度変動量算出手段412と、前記クランク角速度変動量Δωから図示平均有効圧力IMEPを推定するエンジン負荷推定手段413と、前記推定された図示平均有効圧力IMEPとエンジンの状態とに応じて点火進角量を決定する点火時期決定手段414とを備えていることを特徴とする点火時期設定装置。エンジン温度検出手段21を備えており、前記点火時期決定手段414が、前記エンジンの状態としてのエンジン回転数Neと前記推定された図示平均有効圧力IMEPをもとに点火時期を検索するため、エンジン温度毎に設定された点火時期制御マップを有し、前記エンジン温度検出手段21で検出されたエンジン温度を入力されて前記エンジン温度毎に設定されたマップから一つを選択するように構成されていることを特徴とする請求項1記載の点火時期設定装置。前記クランク角速度変動量算出手段412が、エンジン5の圧縮上死点TDC近傍のクランクパルスに基づいて第1クランク角速度ω1を算出するとともに、エンジンの膨張下死点BDC近傍のクランクパルスに基づいて第2のクランク角速度ω2を算出し、前記第2クランク角速度ω2から前記第1クランク角速度ω1を減じてクランク角速度変動量Δωを算出するように構成されていることを特徴とする請求項1または2記載の点火時期設定装置。前記エンジン負荷推定手段413が、圧縮行程から膨張行程で発生する正の図示仕事のみを扱う図示平均有効圧力IMEPGROSSをエンジン負荷として推定する手段であることを特徴とする請求項3記載の点火時期設定装置。前記パルス発生器PCが、クランク軸1と同期回転するロータから外周方向に突出したリラクタ4を検出してクランクパルスを発生するものであり、前記クランク角速度変動量算出手段412が、エンジン5の圧縮上死点TDC近傍のクランクパルスに基づいて第1クランク角速度ω10を算出するとともに、第1クランク角速度ω1を算出するのに使用したリラクタ4に関して出力されたクランクパルスに基づいてオーバラップトップ上死点近傍の第2クランク角速度ω20を算出し、前記第2クランク角速度ω20から前記第1クランク角速度ω10を減じてクランク角速度変動量Δωを算出するように構成されていることを特徴とする請求項1または2記載の点火時期設定装置。前記エンジン負荷推定手段413が、1サイクル全体の図示仕事を扱う図示平均有効圧力IMEPNETをエンジン負荷として推定する手段であることを特徴とする請求項5記載の点火時期設定装置。前記点火時期制御マップが、推定された図示平均有効圧力IMEPNETを予め設定された全負荷時の図示平均有効圧力IMEPmaxで除したエンジン負荷率LRとエンジン回転速度Neから点火時期を検索するように設定されていることを特徴とする請求項2記載の点火時期設定装置。しかしながら、空燃比や点火時期の違いによって、エンジンの負荷が吸入空気量と比例しなくなる場合がある。したがって、エンジン負荷を吸入空気量との相関で見た場合、特許文献1に記載されている負荷検出装置では、ノッキング発生限界を精度よく見極め、さらに点火時期を進角させることは困難であるという課題があった。本発明の目的は、ノッキング発生領域を精度よく見極めて該ノッキング領域を回避しつつ適正な点火時期を設定することができるエンジンの点火時期設定装置を提供することにある。前記目的を達成するために、本発明は、エンジンのクランク角度に対応するクランクパルスを発生するパルス発生器と、前記クランクパルス間隔に基づいてクランク角速度変動量を算出するクランク角速度変動量算出手段と、前記クランク角速度変動量から図示平均有効圧力を推定するエンジン負荷推定手段と、前記推定された図示平均有効圧力とエンジンの状態とに応じて点火進角量を決定する点火時期決定手段とを備えている点に第1の特徴がある。また、本発明は、エンジン温度検出手段を備えており、前記点火時期決定手段が、前記エンジンの状態としてのエンジン回転数と前記推定された図示平均有効圧力をもとに点火時期を検索するため、エンジン温度毎に設定された点火時期制御マップを有し、前記エンジン温度検出手段で検出されたエンジン温度を入力されて前記エンジン温度毎に設定されたマップから一つを選択するように構成されている点に第2の特徴がある。また、本発明は、前記クランク角速度変動量算出手段が、エンジンの圧縮上死点近傍のクランクパルスに基づいて第1クランク角速度を算出するとともに、エンジンの膨張下死点近傍のクランクパルスに基づいて第2のクランク角速度を算出し、前記第2クランク角速度から前記第1クランク角速度を減じてクランク角速度変動量を算出するように構成されている点に第3の特徴がある。また、本発明は、前記エンジン負荷推定手段が、圧縮行程から膨張行程で発生する正の図示仕事のみを扱う図示平均有効圧力をエンジン負荷として推定する手段である点に第4の特徴がある。また、本発明は、前記パルス発生器が、クランク軸と同期回転するロータから外周方向に突出したリラクタを検出してクランクパルスを発生するものであり、前記クランク角速度変動量算出手段が、エンジンの圧縮上死点近傍のクランクパルスに基づいて第1クランク角速度を算出するとともに、第1クランク角速度を算出するのに使用したリラクタに関して出力されたクランクパルスに基づいてオーバラップトップ上死点近傍の第2クランク角速度を算出し、前記第2クランク角速度から前記第1クランク角速度を減じてクランク角速度変動量を算出するように構成されている点に第5の特徴がある。また、本発明は、前記エンジン負荷推定手段が、1サイクル全体の図示仕事を扱う図示平均有効圧力をエンジン負荷として推定する手段である点に第6の特徴がある。さらに、本発明は、前記点火時期制御マップが、推定された図示平均有効圧力を予め設定された全負荷時の図示平均有効圧力で除したエンジン負荷率とエンジン回転速度から点火時期を検索するように設定されている点に第7の特徴がある。第1~第7の特徴を有する本発明によれば、クランク角速度変動量からエンジン負荷としての図示平均有効圧力を推定し、この推定された図示平均有効圧力によって精度よく負荷を推定して点火時期を決定できるので、ノッキング発生負荷域を回避しつつ適正な点火時期を設定することができる。第2の特徴を有する本発明によれば、エンジン回転速度と推定されたエンジン負荷とによって点火時期を決定する点火時期制御マップを複数設定しているので、ノッキング発生負荷域をより一層正確に判定することができる。第5の特徴を有する本発明によれば、量産公差範囲でリラクタの幅や配置間隔がばらついている場合でも、バラツキによる負荷推定精度が低下するのを防止して適切な点火時期を設定することができる。第7の特徴を有する本発明によれば、無次元化した負荷率を使用することによって、エンジン回転速度により図示平均有効圧力との比例定数が変化することに対応して、点火時期を適切に設定することができる。以下、図面を参照して本発明の好ましい実施の形態について詳細に説明する。図1は、本発明の一実施形態に係る点火時期設定装置を含むエンジン制御装置のシステム構成を示すブロック図である。図1を参照して、4サイクル単気筒エンジン5のシリンダ10の上部には、シリンダヘッド8が取り付けられる。エンジン5は、可変バルブタイミングVVT:VariableValveTiming機構を有することができる。VVT機構は、ECU50の駆動指令に基づいて図示しない制御モータを動かし、これにより、吸気バルブIVおよび排気バルブEVのバルブタイミングを変更する。バルブタイミングの変更に伴って、バルブリフト量も変化する。VVT機構によるバルブタイミングの可変状態は、制御モータの回転角等を検知するセンサ19によってECU50に伝達される。エンジン5のクランク軸1にはクランクパルサロータ2が取り付けられる。クランクパルサロータ2は、クランク軸1と同期回転するロータ3、および該ロータ3から外周方向に突出したリラクタ4からなる。リラクタ4は、ロータ3の周方向において所定の角度範囲に亘る幅B例えば、30°を有している。ロータ3の外周に対向させて磁気ピックアップ式のパルス発生器PCが設けられる。パルス発生器PCはリラクタ4がある位置ではオン信号を出力し、リラクタ4がない位置ではオフ信号を出力する。つまり、リラクタ4の回転方向前端がパルス発生器PCのオン信号によって検知され、後端がオフ信号によって検知される。検知信号つまりクランクパルスはECU50に入力される。クランクパルサロータ2は、リラクタ4が上死点近傍に位置するようにクランク軸1に位置決めして取り付けられる。なお、クランクパルサロータ2として、複数のリラクタを有するものを用いることもできる。図2は複数のリラクタを有するクランクパルサロータの正面図である。図2において、クランク軸1と同期回転するクランクパルサロータ2aが取り付けられる。ロータ3aの外周には、複数のリラクタ4aが、1箇所の歯欠け部リラクタ4aが無い部分Hを除いて等間隔例えば30°間隔で配置される。パルス発生器PCはリラクタ4aの前端および後端の検知信号をECU50に入力する。図2に示すクランクパルサロータ2aを使用する場合は、パルス発生器PCで検知される前端および後端に対応して出力されるクランクパルスの一方のみを使用するので、図1に示したリラクタ4の幅Bと比べて図2のリラクタ4aの幅B1は小さくてよい。図1に戻って、吸気管11の一端部には、吸気を濾過するエアクリーナボックス16が取り付けられる。エアクリーナボックス16の内部には、吸気温度センサ17および大気圧センサ18が設けられる。また、吸気管11には、吸入空気量を計測するエアフローセンサ15、スロットルバルブ13の回転角度を検知するスロットルバルブ開度センサ14、吸気圧力を検知する吸気圧センサ20が取り付けられる。さらに、シリンダ10にはエンジン5の温度を検出する温度センサ21が設けられ、燃焼室の上部には点火装置9が設けられる。スロットルバルブ13の下流側の吸気管11には燃料噴射弁12が配設される。排気管6には、酸素濃度センサ7が取り付けられる。点火装置9には、例えば、圧電素子タイプの筒内圧センサを設けることができる。ECU50は、点火制御部41と点火装置駆動部39とを備える。点火制御部41は、角速度算出部411、角速度変動量算出部412、エンジン負荷推定部413、および点火時期決定部414からなる。角速度算出部411は、入力される前記パルス発生器PCの検知信号がオンとなっている時間の長さに基づいて、エンジン5の圧縮上死点における第1クランク角速度ω10と、圧縮上死点からクランク軸1が360°回転つまり1回転した位置、すなわちオーバラップトップ上死点における第2クランク角速度ω20を算出する。角速度変動量算出部412は、第1クランク角速度ω10と第2クランク角速度ω20との差つまりクランク角速度変動量Δω360を算出する。エンジン負荷推定部413は、クランク角速度変動量Δω360に基づいて図示平均有効圧力IMEPNETを推定する。点火時期決定部414は、推定された図示平均有効圧力IMEPNETとエンジンの状態、少なくとも、エンジン回転数およびエンジン温度をパラメータとしたマップを検索して点火時期進角量を決定する。決定した点火時期は点火装置駆動部39に入力され、点火装置駆動部39は入力された点火時期の指示に従った点火時期で点火装置9に点火信号を供給する。これら点火制御部41および点火装置駆動部39は、マイクロコンピュータのプログラムによって実現でき、ECU50は、そのプログラムを実行するマイクロコンピュータを有する。このように、ECU50はクランク角速度変動量Δω360に基づいて点火時期を制御し、エンジンの回転変動を抑制する制御を行う機能を有する。点火時期が負荷に基づいて決定できる理由を説明する。図3および図4は、ノッキング発生負荷域をエンジン回転速度Neと負荷を表す図示トルクとの関係で示す図である。これは点火時期として最適点火時期MBTを指示した場合のものである。図3は始動直後等、エンジンが比較的低温時の関係であり、図4はエンジンが比較的高温である場合の例を示す。図3に見られるように、エンジンが低温の時は、エンジン回転速度Neが低い場合でも、ノッキング発生負荷域は図示トルクが全負荷近くの狭い領域に留まっており、全体にノッキングは発生しにくい状態といえる。一方、図4に見られるように、エンジンの高温時にはエンジン回転速度Neが低い場合は、ノッキング発生域は図示トルクが全負荷の半分程度の領域にまで拡がっており、高温時は低回転速度かつ低負荷の場合でもノッキングが起こりやすいことが分かる。このことから、負荷とエンジン温度とを検出する手段があれば、ノッキング発生負荷域は推測可能であり、このノッキング発生負荷域を回避するための点火時期を決定することもできる。なお、負荷を示す図示トルクは、排気量に関係なく一般化すると図示平均有効圧力となる。従来、負荷を検出する手段として、体積効率と関係するスロットル開度Thを用いる方法が採られている。図5は、従来の点火時期検索マップの例を示す図である。この従来技術のマップは、スロットル開度Thを用い、エンジン回転速度Neとスロットル開度Thとをパラメータとして点火時期進角量IGを決定するように設定される。この図から理解できるように、同じエンジン回転速度においては、負荷としてのスロットル開度Thが大きくなるほど大きい進角量を与えることができる。しかし、スロットル開度Thによって負荷を代表させると次の点で不具合がある。スロットル開度Thは体積効率と関係するが、実際にエンジンに吸入される空気質量は空気密度で変化するため、同一スロットル開度Thであっても、大気条件気温、気圧、湿度等によって図示平均有効圧力が変化する。図6は、大気条件毎の図示平均有効圧力とノッキング発生負荷域との関係を示す図であり、ラインMBTはエンジン回転速度およびエンジン温度一定の場合の最適点火時期である。図6に示したとおり、スロットル開度Thが100全開という同一条件の場合であっても、高気圧、低気温の大気条件Aでの図示平均有効圧力IMEPaより、低気圧、高気温の大気条件Bにおける図示平均有効圧力IMEPbの方が低い。このように、スロットル全開時に図示平均有効圧力IMEPbとなる大気圧条件Bのもとでは、最適点火時期MBTの近くまで進角した点火時期を与えても、ノッキング発生負荷域を実質的に回避できる。点火時期はノッキング発生負荷域を回避しつつ最適点火時期MBTに沿ってラインLのように設定されるのが望ましい。このように点火時期を設定した場合、図示平均有効圧力IMEPa、bに対して、それぞれ点火時期IGa、IGbが取得される。つまり、図示平均有効圧力IMEPa、bで示される大気条件毎の負荷状態に応じた進角量を選択することができる。しかし、従来技術では、負荷をスロットル開度Thで推定しているので、スロットル開度Thが同一であれば点火時期IGは固定される。例えば、大気条件Aの場合、点火時期IGはノッキング発生負荷域を回避してIGaが与えられ、この点火時期IGaはスロットル開度Thが変化しない限り大気条件Bに変化した場合でも維持される。しかし、大気条件Bにおいては、図示平均有効圧力IMEPbで示されるように事実上の負荷は低下しており、点火時期IGを点火時期IGbまで進角できる余地が残っている。点火時期IGaは点火時期IGbと比べて大幅な遅角制御となるので燃焼効率を損なうことになる。このことから、図示平均有効圧力IMEPに応じて点火時期を決定することができれば大気条件の影響を受けないので、スロットル開度Thに応じた点火時期制御に比べてノッキング発生を回避しつつ、より最適点火時期MBTに近い点火時期IGで点火制御を行うことができることが分かる。次に、クランク角速度の変化量と図示平均有効圧力IMEPとの関係を説明する。図7は、1サイクルにおけるクランクパルスとクランク角速度ωの変動との関係を示したタイムチャートである。図7において、クランク軸1の角速度ωは、クランク軸の変動トルクに起因して、平均回転速度Neを中心にエンジンの1サイクルすなわち圧縮、膨張、排気、および吸気の4行程によって周期的に変動する。最小角速度ω0は圧縮上死点TDC近傍で現れ、最大角速度ω1は膨張行程の終了時つまり排気上死点BDC近傍クランク角150~180°で現れる。具体的には、圧縮行程では、シリンダ内圧の上昇による圧縮抵抗に起因してクランク角速度ωの減少が生じる。一方、膨張行程では、燃焼によるシリンダ内圧の上昇によってクランク回転エネルギが発生し、これに起因してクランク角速度ωは増加に転ずる。圧縮行程で最小値ω0まで低減したクランク角速度ωは、膨張行程の終了間際に最大クランク角速度ω1に到達する。その後、エンジン内の機械的な摩擦抵抗、排気行程における既燃ガスの排出抵抗、吸気行程における吸入抵抗等のポンプ仕事によりクランク角度ωは低下を続けて、再び吸気行程圧縮行程に至る。このようなクランク角速度ωの変動によれば、圧縮上死点TDCの近傍で検知される最小クランク角速度ω0は、平均エンジン回転速度Neより小さくなる。一方、膨張行程終了間際膨張下死点BDCで検知される最大クランク角速度ω1は、平均エンジン回転速度Neより大きくなる。最小クランク角速度ω0と最大クランク角速度ω1との差Δωは、次に述べるように、エンジン5に対する負荷を代表する。膨張行程における回転エネルギの上昇量ΔEジュールは次式1で求められる。ΔE=1/2×Ie×ω12-ω02......式1。ここで、Ieはクランク軸系慣性モーメントkgm2である。このエネルギ上昇量ΔEはエンジンの燃焼による仕事とすると、次式2でも求められる。ΔE=IMEP×Vs......式2。ここで、IMEPは図示平均有効圧力、Vsはエンジンの排気量である。また、式1の右辺は次式3に変換できる。1/2×ω12-ω02=ω1-ω0×1/2×ω1ω0......式3。膨張行程区間のクランク角速度の変化量Δωはω1-ω0で定義する。また、式3の右辺はサイクル平均の角速度ω、すなわち回転速度Neとおおむね一致するので、次式4で近似できる。1/2×ω1ω0=Ne......式4。エンジン回転速度の単位はrad/secである。式1~式4より、クランク角速度の変化量Δωは、次式5で示される。Δω=IMEP×Vs/Ie×Ne......式5。すなわち、クランク角速度Δωは図示平均有効圧力IMEPおよび排気量Vsに比例し、エンジンの回転速度Neとクランク軸系慣性モーメントに反比例する。前記点火制御部41のエンジン負荷推定部413は、式5によってクランク角速度の変化量Δωから負荷を代表する図示平均有効圧力IMEPを算出する機能を有する。このように、エンジンの負荷つまりエネルギ上昇量ΔEはクランク角速度の変化量Δωで代表されるが、リラクタの加工精度やパルス発生器PCの取り付け精度など、実機の計測におけるさまざまなバラツキ要素がある。そこで、このバラツキ要素の影響を排除するため、同一リラクタを用いてクランク角速度の変化量Δωを求める。すなわち、最小クランク角速度ω0は圧縮上死点TDC近傍で検出した第1クランク角速度ω10で代える一方、最大クランク角度ω1は、圧縮上死点TDCからクランク軸が360°回転した位置であるオーバラップトップ上死点OLP近傍で検出した第2クランク角速度ω20で代える。これによって、クランク角速度の変化量Δωを、第1クランク角速度ω10から第2クランク角速度ω20への増分、つまり膨張行程および排気行程に亘るクランク角360°でのクランク角速度変化量Δω360で定義する。図8は単一のリラクタ4を有するクランクパルスロータ2のクランクパルスとクランク角速度ωの変動との関係を示すタイムチャートである。クランク角速度ωは膨張行程の開始位置つまり圧縮上死点TDC近傍で最小値ω0となり、膨張行程の終了間際おおよそTDCから150°の位置で最大値ω1となる。そして、クランク角速度ωは排気行程で徐々に低減し、さらに吸気行程に入った直後に急激に低減する。その後、圧縮行程の中間部までクランク角速度ωはエンジンの平均回転速度より低い値でほぼ維持され、圧縮行程の後半から最小値ω0に向かって低減する。図8に示した例では、リラクタ4の前端および後端を検知してパルス発生器PCから出力されるクランクパルスのうち、後端に対応するクランクパルスが、圧縮上死点TDCの直前例えば、10°手前に対応するようにクランクパルスロータ2の位置を設定してある。したがって、クランクパルスは、圧縮上死点TDCの直前で発生され、エンジンの1回転後つまりオーバラップトップ上死点OLPの直前でも発生されることになる。そして、各位置でのクランクパルスの幅をその位置でのクランク角速度ωつまり第1クランク角速度ω10および第2のクランク角速度ω20として検出し、これらの増分Δω360がクランク角度変化量として算出される。一方、図8には、1枚のリラクタ4に対応するクランクパルスと併せて、図2に示した複数のリラクタ4aを有するクランクパルスロータ2aのクランクパルスを使用した従来のクランク角速度検出位置を示す。従来は、クランクパルスロータ2aを用いて、圧縮上死点TDCをまたぐ2つのクランクパルスと圧縮上死点TDCから150°の位置における2つのクランクパルスに基づいて最小クランク角速度ω0と最大クランク角速度ω1とによりクランク角速度変化量Δωを求めている。すなわち、それぞれ異なるリラクタによるクランクパルスを使用している。図9は複数のリラクタ4aを有するクランクパルスロータ2aのクランクパルスとクランク角速度ωの変動との関係を示すタイムチャートである。図9において、複数のリラクタ4aのうち、圧縮上死点TDCの直前およびオーバラップトップ上死点OLT直前の位置で得られる2つのリラクタ4aからのクランクパルスをそれぞれ用いて、第1クランク速度ω10および第2クランク角速度ω20を求める。この例では、複数のリラクタ4aのうち2つを、第1クランク角速度ω10および第2クランク角速度ω20の検出に共通に使用するので、単一のリラクタ4を有するクランクパルスロータ2を用いる場合と同様、量産公差範囲内の寸法バラツキの影響を排除できる。なお、圧縮上死点TDCの近傍やオーバラップトップ上死点OLTの近傍でクランク角速度ω10、ω20を求める場合、2つのクランクパルスが圧縮上死点TDCやオーバラップトップ上死点OLTを跨ぐようにクランクパルスロータ2aの位置を設定しても良い。図10は、1サイクルにおけるクランクパルスとクランク角速度ωの変動との関係を示すタイムチャートであり、2つのクランクパルスが圧縮上死点TDCやオーバラップトップ上死点OLTを跨ぐようにクランクパルスロータ2の位置を設定した例を示す図である。図10に示した例では、第1クランク角速度ω10は最小クランク角速度ω0とほぼ同一値である。なお、排気行程から吸気行程に移行した直後のクランク角速度ωの急激な低下を考慮すれば、圧縮上死点TDCの直後よりも直前やオーバラップトップ上死点OLTの直後よりも直前でクランク角速度ωを求めるのが好ましい。また、クランク角速度の変化量Δωは図示平均有効圧力IMEPに比例するが、一般的に図示平均有効圧力IMEPは圧縮から膨張行程区間で定義される燃焼による正の仕事のみと相関がある。正の仕事のみと相関する図示平均有効圧力を図示平均有効圧力IMEPGROSSとすると、同一リラクタを用いる場合、角速度変化量Δω360は膨張行程だけでなくエンジンの1サイクル中の仕事を考慮した図示平均有効圧力IMEPNETと比例していると考えられる。そこで、本発明者等は、エンジンの1サイクルにおける角速度の変化量Δω360と、1サイクル全体の図示仕事を扱う図示平均有効圧力IMEPNETとの相関関係を実験調査した。図11は、空燃比A/Fをパラメータとしたクランク角速度変化量Δω360と、1サイクル全体の図示仕事を扱う図示平均有効圧力IMEPNETとの相関関係の実験結果を示す図である。なお、エンジンは一定速度で回転させた場合である。図12は、エンジン潤滑油温度をパラメータとしたクランク角速度変化量Δω360と、1サイクル全体の図示仕事を扱う図示平均有効圧力IMEPNETとの相関関係の実験結果を示す図である。なお、エンジンは一定速度で回転させた場合である。図11、図12に示した実験結果から理解できるように、1サイクルのクランク角度変化量Δω360と図示平均有効圧力IMEPNETとの相互関係は、空燃比A/Fやエンジン潤滑油温度に関わらず、一定であることが確かめられている。このことから、クランク角速度変化量Δω360は吸入空気量やエンジン潤滑温度に依存せず図示平均有効圧力IMEPNETとの相関を有することが確認された。したがって、第1クランク角速度ω10と第2クランク角速度ω20との差分つまりクランク角速度変化量Δω360によって取得できる図示平均有効圧力IMEPNETによってエンジンの負荷を推定できる。図13は、点火時期決定部414に設けられる点火時期検索マップの一例を示す図である。マップはエンジン温度毎に設けられる。この例では、エンジンの低温度域、中温度域、および高温度域の3種類のマップMA、MB、MCを設けているが、この温度区分の区分数は任意に設定できる。各マップは、エンジン回転数Neと負荷負荷を示す図示平均有効圧力IMEPNETとから点火時期IGを求めるように設定する。なお、負荷と図示平均有効圧力IMEPNETとの比例定数がエンジン回転数Ne毎に異なることから、図示平均有効圧力IMEPNETをその最大値つまり全負荷条件時の値IMEPmaxで除することで無次元化した負荷率LRとして定義している。各マップは、負荷率LRが1.0から小さい値になるほど、同一エンジン回転速度Neにおける負荷率LRに対応する点火時期IGが進角側に変化するように設定される。上述のように、本実施形態によれば、クランク角速度変動量Δωに基づいて負荷と相関がある図示平均有効圧力IMEPNETを取得し、この図示平均有効圧力IMEPNETに基づく点火時期を決定するようにしたので、ノッキング発生負荷域を正確に見極めて点火時期をより進角側に設定することができる。なお、本発明は同一リラクタを用いる場合に好都合な1サイクル全体の仕事を扱う図示平均有効圧力IMEPNETによって負荷を推定するようにしたが、正の仕事のみを扱う図示平均有効圧力IMEPGROSSによって負荷を推定する場合にも同様に適用することができる。