"エンジンのクランク軸の回転に伴い所定の角度間隔で発生する信号列であるクランク角信号の信号周期を計測する計測手段と、前記計測手段が計測した前記信号周期のうち調整対象となる基準信号周期を調整して前記基準信号周期よりも後の前記信号周期を予測する周期予測手段と、前記計測手段が計測した実際の実信号周期と前記周期予測手段が予測した前記信号周期である予測信号周期との比較結果を学習し、前記周期予測手段が前記予測信号周期を予測するときの前記基準信号周期に対する調整量を学習結果に基づいて補正する学習手段と、前記学習手段による補正後の前記予測信号周期の範囲において前記所定の角度間隔よりも詳細なクランク角度位置を求める角度位置予測手段と、を備えることを特徴とするエンジン制御装置。前記周期予測手段は、調整係数により前記調整量を決定し、前記学習手段は、前記調整係数を補正することにより前記調整量を補正する、ことを特徴とする請求項1に記載のエンジン制御装置。前記学習手段は、前記比較結果として前記実信号周期と前記予測信号周期との差分である周期誤差を学習し、前記周期誤差が所定の誤差範囲内になるように前記調整係数を補正することを特徴とする請求項2に記載のエンジン制御装置。前記学習手段は、学習対象である前記予測信号周期の前記周期誤差を複数回学習して前記調整係数を補正することを特徴とする請求項3に記載のエンジン制御装置。前記学習手段は、前記周期誤差を複数回学習したうち、前記周期誤差が前記所定の誤差範囲を外れた回数と前記周期誤差が前記所定の誤差範囲内であった回数との少なくともいずれか一方の回数に基づいて前記調整係数を補正するか否かを決定するための補正判定値を設定することを特徴とする請求項3または4に記載のエンジン制御装置。前記学習手段は、前記周期誤差が前記所定の誤差範囲を外れた回数と前記周期誤差が前記所定の誤差範囲内であった回数とのうち少なくとも前記周期誤差が前記所定の誤差範囲を外れた回数に基づいて前記補正判定値を設定し、前記周期誤差の学習中に前記周期誤差を学習するために予め設定された複数回の学習回数の過半数に前記補正判定値が達すると、前記周期誤差の学習を中止して前記調整係数の補正処理に移行することを特徴とする請求項5に記載のエンジン制御装置。前記学習手段は、前記周期誤差が前記所定の誤差範囲を外れた回数と前記周期誤差が前記所定の誤差範囲内であった回数とのうち少なくとも前記周期誤差が前記所定の誤差範囲を外れた回数に基づいて前記補正判定値を設定し、前記補正判定値が所定の上限値より大きい場合に前記調整係数を増加し、前記補正判定値が所定の下限値より小さい場合に前記調整係数を減少させることを特徴とする請求項5または6に記載のエンジン制御装置。前記所定の上限値および前記所定の下限値は予め任意に設定されることを特徴とする請求項7に記載のエンジン制御装置。前記所定の上限値および前記所定の下限値の少なくともいずれか一方は前記補正判定値に対して複数設定され、設定された値毎に前記調整係数を補正する補正量が設定されていることを特徴とする請求項7または8に記載のエンジン制御装置。前記学習手段が前記調整量を補正して前記予測信号周期を予測できる範囲内では、前記周期誤差が前記所定の誤差範囲から外れる場合に異常を報知する報知手段を備えることを特徴とする請求項3から9のいずれか一項に記載のエンジン制御装置。複数の前記クランク角度からなる角度区間において共通の前記調整係数が設定されており、前記学習手段は、前記角度区間の各クランク角度において前記比較結果を学習し、それぞれの前記比較結果に基づいて前記角度区間に共通の前記調整係数を補正する、ことを特徴とする請求項2から10のいずれか一項に記載のエンジン制御装置。前記調整係数は、前記クランク角度およびエンジン回転数のうち少なくとも前記クランク角度に応じて設定されることを特徴とする請求項2から11のいずれか一項に記載のエンジン制御装置。外部から禁止信号を入力すると前記学習手段による処理を禁止する学習禁止手段を備えることを特徴とする請求項1から12のいずれか一項に記載のエンジン制御装置。前記学習手段は、前記比較結果の学習処理および前記調整量の補正処理を複数の前記クランク角度において実行することを特徴とする請求項1から13のいずれか一項に記載のエンジン制御装置。前記学習手段は、前記所定の角度間隔離れた前記クランク角度毎に前記学習処理および前記補正処理を順次実行することを特徴とする請求項1から14のいずれか一項に記載のエンジン制御装置。前記学習手段が前記比較結果を学習する前記クランク角度は前記エンジンの気筒毎に設定されていることを特徴とする請求項1から15のいずれか一項に記載のエンジン制御装置。前記学習手段が前記比較結果を学習する前記クランク角度は、前記エンジンの気筒間で同じ位置に設定されていることを特徴とする請求項1から15のいずれか一項に記載のエンジン制御装置。前記学習手段は、前記エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間だけ、前記比較結果を学習することを特徴とする請求項1から17のいずれか一項に記載のエンジン制御装置。前記学習手段は、前記エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間の学習頻度を他の角度区間よりも増加することを特徴とする請求項1から18のいずれか一項に記載のエンジン制御装置。前記学習手段は、前記エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間だけ、前記比較結果を学習することを特徴とする請求項1から19のいずれか一項に記載のエンジン制御装置。前記学習手段は、前記エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間の学習頻度を他の角度区間よりも増加することを特徴とする請求項1から20のいずれか一項に記載のエンジン制御装置。前記学習手段による処理は回路で実行されることを特徴とする請求項1から21のいずれか一項に記載のエンジン制御装置。前記回路は集積回路であることを特徴とする請求項22に記載のエンジン制御装置。前記学習手段による処理はソフトウェアで実行されることを特徴とする請求項1から21のいずれか一項に記載のエンジン制御装置。前記周期予測手段は、前記エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間において前記信号周期を予測する場合、この所定の角度区間の前後よりも前記調整量を大きくすることを特徴とする請求項1から24のいずれか一項に記載のエンジン制御装置。前記エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間において前記予測信号周期が前記基準信号周期よりも小さくなる場合、前記周期予測手段による予測を禁止する予測禁止手段を備えることを特徴とする請求項1から25のいずれか一項に記載のエンジン制御装置。前記周期予測手段は、前記エンジンの少なくとも一つの気筒の上死点を含む前後の所定の角度区間の前記信号周期を予測する場合、この所定の角度区間の直前および直後よりも前記調整量の絶対値を小さくすることを特徴とする請求項1から26のいずれか一項に記載のエンジン制御装置。前記周期予測手段は、前記エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間において前記信号周期を予測する場合、前回よりも前記調整量の絶対値を小さくすることを特徴とする請求項1から27のいずれか一項に記載のエンジン制御装置。前記エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間において前記予測信号周期が前記基準信号周期よりも大きくなる場合、前記周期予測手段による予測を禁止する予測禁止手段を備えることを特徴とする請求項1から28のいずれか一項に記載のエンジン制御装置。前記周期予測手段は、前記エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間におけるエンジン回転速度の減速特性を変換して、該当気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間において前記調整量を算出することを特徴とする請求項1から29のいずれか一項に記載のエンジン制御装置。前記周期予測手段は、前記エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間における前記エンジンの加速特性を変換して、他の気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間において前記調整量を算出することを特徴とする請求項1から30のいずれか一項に記載のエンジン制御装置。前記周期予測手段は、前記減速特性または前記加速特性の一方の特性を変換して他方の特性における前記信号周期を予測する場合、前記調整量の絶対値を、前記減速特性または前記加速特性の一方の特性における前記信号周期の変化量の絶対値よりも大きくすることを特徴とする請求項30または31に記載のエンジン制御装置。前記周期予測手段は、前記エンジンの回転加速度の絶対値が所定値以下となる角度区間において、前記回転加速度の絶対値が前記所定値よりも大きい角度区間よりも前記調整量を小さくすることを特徴とする請求項1から32のいずれか一項に記載のエンジン制御装置。前記周期予測手段は、エンジン回転速度が第1速度以上になると、エンジン回転速度が前記第1速度未満の場合よりも前記調整量を小さくし、エンジン回転速度が前記第1速度よりも遅い第2速度未満になると、エンジン回転速度が前記第2速度以上の場合よりも前記調整量を大きくすることを特徴とする請求項1から33のいずれか一項に記載のエンジン制御装置。前記周期予測手段は、前記基準信号周期と前記調整量とを加算して前記予測信号周期を求めることを特徴とする請求項1から34のいずれか一項に記載のエンジン制御装置。前記周期予測手段は、前記クランク角度およびエンジン回転数のうち少なくとも前記クランク角度に応じて設定された調整係数と前記計測手段により計測された前記信号周期の時間変化により決定される変化量とを乗算して前記調整量を求めることを特徴とする請求項1から35のいずれか一項に記載のエンジン制御装置。前記調整係数は2のべき乗の加減算で決定される値であることを特徴とする請求項36に記載のエンジン制御装置。前記周期予測手段は、前記計測手段により計測された2個の前記信号周期の差分に基づいて前記変化量を求めることを特徴とする請求項36または37に記載のエンジン制御装置。前記周期予測手段は、連続して発生する2個の前記信号周期の差分を前記変化量とすることを特徴とする請求項38記載のエンジン制御装置。前記周期予測手段は、所定の角度区間において前記調整量を0とすることを特徴とする請求項1から39のいずれか一項に記載のエンジン制御装置。前記周期予測手段は、今回までに前記計測手段が計測した前記信号周期のうち前記基準信号周期を調整して、今回よりも後の前記信号周期を予測することを特徴とする請求項1から40のいずれか一項に記載のエンジン制御装置。前記周期予測手段は、前記計測手段により今回計測された前記信号周期を前記基準信号周期とすることを特徴とする請求項1から41のいずれか一項に記載のエンジン制御装置。前記周期予測手段は、今回の直後の前記信号周期を予測することを特徴とする請求項1から42のいずれか一項に記載のエンジン制御装置。前記周期予測手段は、前記計測手段が計測した前記信号周期の履歴を周期記憶部に記憶する履歴記憶手段と、前記周期記憶部に記憶されている前記信号周期から前記信号周期の変化量を算出する変化量算出手段と、前記変化量算出手段が算出する前記変化量に基づいて前記基準信号周期を調整して前記基準信号周期よりも後の前記信号周期を算出する周期算出手段とを有し、前記クランク角信号の信号数から前記クランク角度を検出する角度検出手段と、前記角度検出手段が検出する前記クランク角度に基づいて、前記周期記憶部が出力する前記信号周期の選択と、前記変化量算出手段が前記変化量を算出する算出処理と、前記周期算出手段が前記基準信号周期を調整する調整処理とを制御する制御手段と、を備えることを特徴とする請求項1から43のいずれか一項に記載のエンジン制御装置。前記周期算出手段は、前記クランク角度およびエンジン回転数のうち少なくとも前記クランク角度に応じて設定された調整係数により前記調整量を決定し、前記調整係数を記憶する係数記憶部を有することを特徴とする請求項44に記載のエンジン制御装置。前記周期予測手段は、前記基準信号周期と、前記周期算出手段により前記基準信号周期を調整して算出された前記信号周期とのいずれか一方を選択するセレクタを有し、前記クランク角度またはソフト指令により前記セレクタの出力を切り換えることを特徴とする請求項44または45に記載のエンジン制御装置。しかしながら、クランク角信号の信号周期はクランク角度に応じて変化し、その変化特性はエンジンの機差または経年変化により変化する。したがって、信号周期の変化特性に基づいて、計測した信号周期から信号周期を予測する場合、信号周期の変化特性が変化すると、実際の実信号周期と予測した予測信号周期との誤差が大きくなるという問題が生じる。本発明は、上記課題を解決するためになされたものであり、クランク角度に応じたクランク角信号の信号周期の変化特性が変化しても信号周期を高精度に予測するエンジン制御装置を提供することを目的とする。請求項1から45に記載の発明によると、計測手段は、エンジンのクランク軸の回転に伴い所定の角度間隔で発生する信号列であるクランク角信号の信号周期を計測し、周期予測手段は、計測手段が計測した信号周期のうち調整対象となる基準信号周期を調整して基準信号周期よりも後の信号周期を予測し、学習手段は、計測手段が計測した実際の実信号周期と周期予測手段が予測した信号周期である予測信号周期との比較結果を学習し、周期予測手段が予測信号周期を予測するときの基準信号周期に対する調整量を学習結果に基づいて補正し、角度位置予測手段は、学習手段による補正後の予測信号周期の範囲においてクランク角信号の角度間隔よりも詳細なクランク角度位置を求める。この構成によれば、クランク角度に応じて変化するクランク角信号の信号周期の変化特性がエンジンの機差または経年変化により変化しても、実信号周期と予測信号周期との比較結果を学習して基準信号周期に対する調整量を補正するので、基準信号周期を調整して基準信号周期よりも後の信号周期を高精度に予測できる。請求項2に記載の発明によると、周期予測手段は、調整係数により調整量を決定し、学習手段は、調整係数を補正することにより調整量を補正する。この構成によれば、調整係数に応じて調整量が決定されるので、調整量を算出する処理を共通化できる。請求項3に記載の発明によると、学習手段は、比較結果として実信号周期と予測信号周期との差分である周期誤差を学習し、周期誤差が所定の誤差範囲内になるように調整係数を補正する。この構成によれば、調整係数を補正して周期誤差を所定の誤差範囲まで小さくすることができる。請求項4に記載の発明によると、学習手段は、学習対象である予測信号周期の周期誤差を複数回学習して調整係数を補正する。この構成によれば、周期誤差が計測誤差等によりばらついても、複数回学習することにより周期誤差のばらつきを低減し、周期誤差の学習結果に基づいて調整係数を高精度に補正して調整量を補正できる。これにより、信号周期を高精度に予測できる。請求項5に記載の発明によると、学習手段は、周期誤差を複数回学習したうち、周期誤差が所定の誤差範囲を外れた回数と周期誤差が所定の誤差範囲内であった回数との少なくともいずれか一方の回数に基づいて調整係数を補正するか否かを決定するための補正判定値を設定する。この構成によれば、調整係数を補正するか否かを決定するために補正判定値をカウントすればよいので、周期誤差が所定の誤差範囲を外れた回数と周期誤差が所定の誤差範囲内であった回数とを簡単な回路または少ない処理負荷でカウントして補正判定値を設定できる。請求項6に記載の発明によると、学習手段は、周期誤差が所定の誤差範囲を外れた回数と周期誤差が所定の誤差範囲内であった回数とのうち少なくとも周期誤差が所定の誤差範囲を外れた回数に基づいて補正判定値を設定し、周期誤差の学習中に周期誤差を学習するために予め設定された複数回の学習回数の過半数に補正判定値が達すると、周期誤差の学習を中止して調整係数の補正処理に移行する。この構成によれば、予め設定された複数回の学習回数に達するまでに補正判定値が学習回数の過半数に達すると周期誤差の学習を中止するので、処理時間を低減できる。請求項7に記載の発明によると、学習手段は、周期誤差が所定の誤差範囲を外れた回数と周期誤差が所定の誤差範囲内であった回数とのうち少なくとも周期誤差が所定の誤差範囲を外れた回数に基づいて補正判定値を設定し、補正判定値が所定の上限値より大きい場合に調整係数を増加し、補正判定値が所定の下限値より小さい場合に調整係数を減少させる。この構成によれば、補正判定値と、周期誤差が適切な誤差範囲内であるかを判定するために設定された上限値または下限値とを比較した結果に基づいて調整係数を増減するので、調整係数を高精度に補正して調整量を補正できる。これにより、信号周期を高精度に予測できる。請求項8に記載の発明によると、所定の上限値および所定の下限値は予め任意に設定される。この構成によれば、例えばエンジンの機種毎に所定の上限値および所定の下限値を任意に適切に設定できる。これにより、エンジンの機種毎に調整係数を適切に補正して調整量を補正できる。請求項9に記載の発明によると、所定の上限値および所定の下限値の少なくともいずれか一方は補正判定値に対して複数設定され、設定された回数毎に調整係数を補正する補正量が設定されている。この構成によれば、補正判定値の数値に応じて適切に調整係数を補正できるので、調整量を高精度に補正できる。これにより、信号周期を高精度に予測できる。請求項10記載の発明によると、報知手段は、学習手段が調整量を補正して予測信号周期を予測できる範囲内では、周期誤差が所定の誤差範囲から外れる場合に異常を報知する。この構成によれば、信号周期を計測する計測手段の異常等により、調整量を補正しても実信号周期と予測信号周期との周期誤差が所定の誤差範囲から外れる異常が発生すると異常が報知されるので、異常報知に応じて適切な処置を施すことができる。請求項11記載の発明によると、複数のクランク角度からなる角度区間において共通の調整係数が設定されており、学習手段は、角度区間の各クランク角度において比較結果を学習し、それぞれの比較結果に基づいて同じ角度区間に共通の調整係数を補正する。この構成によれば、複数のクランク角度に同じ調整補正係数を使用できるので、信号周期の予測および補正のための回路または処理負荷を低減できる。ところで、エンジン回転速度は、気筒内の圧力とエンジンが受ける負荷の大きさとによりクランク角度に応じて変化する。したがって、信号周期もクランク角度に応じて変化する。そこで、請求項12記載の発明によると、調整係数は、クランク角度およびエンジン回転数のうち少なくともクランク角度に応じて設定される。この構成によれば、クランク角度に応じて変化する信号周期の変化特性に基づいて基準信号周期を調整係数により適切に調整し、基準信号周期よりも後の信号周期を高精度に予測することができる。請求項13記載の発明によると、外部から禁止信号を入力すると学習手段による処理を禁止する学習禁止手段を備える。この構成によれば、例えばクランク角信号を検出するセンサの異常等により信号周期を適切に計測できない異常が発生して外部から禁止信号を入力した場合、誤った信号周期に基づいて信号周期を予測することを禁止できるので、誤った予測信号周期に基づいてエンジン制御を行うことを防止できる。請求項14記載の発明によると、学習手段は、比較結果の学習処理および調整量の補正処理を複数のクランク角度において実行する。この構成によれば、複数のクランク角度において、補正により周期誤差を低減された予測信号周期に基づいてエンジン制御を実行することができる。請求項15記載の発明によると、学習手段は、所定の角度間隔離れたクランク角度毎に学習処理および補正処理を順次実行する。この構成によれば、所定の角度間隔離れたクランク角度毎に学習処理および補正処理を順次実行するので、信号周期の変化特性の全体について予測信号周期の誤差を低減できる。請求項16記載の発明によると、学習手段が比較結果を学習するクランク角度はエンジンの気筒毎に設定されている。この構成によれば、学習するクランク角度の位置を気筒毎に設定できるので、気筒毎に学習すべき重要なクランク角度が異なる場合に有効である。請求項17記載の発明によると、学習手段が比較結果を学習するクランク角度は、エンジンの気筒間で同じ位置に設定されている。この構成によれば、気筒間で同じクランク角度の位置で学習するので、各気筒において、同じクランク角度において実信号周期と予測信号周期との周期誤差を極力低減できる。その結果、気筒間のエンジン制御のばらつきを低減できる。ところで、エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間、ならびにエンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間においては、エンジン回転速度の変化量が大きいため、信号周期の変化量も大きい。そのため、基準信号周期を調整して基準信号周期の後の信号周期を予測する場合、信号周期の変化特性が経年変化等によりずれると、実信号周期に対する予測信号周期の誤差が大きくなる。そこで、請求項18から21に記載の発明のように、エンジン回転速度の変化量が大きいために信号周期の変化量も大きい角度区間において比較結果を学習したり、他の角度区間よりも学習頻度を増加したりすることにより、予測信号周期の誤差を低減できる。請求項22に記載の発明によると、学習手段による処理は回路で実行される。これにより、エンジン制御装置におけるソフトウェアによる処理負荷を低減できる。請求項23に記載の発明によると、請求項22の回路は集積回路である。これにより、エンジン制御装置を小型化できる。請求項24に記載の発明によると、学習手段による処理はソフトウェアで実行される。これにより、エンジン制御装置における回路量を低減できる。ところで、少なくとも一つの気筒の圧縮行程では、エンジン回転速度が減速する所定の角度区間においてエンジン回転速度の減速量が大きくなり、この区間の前後よりもクランク角信号の信号周期の増加量が大きくなる。そこで、請求項25に記載の発明によると、周期予測手段は、エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間において基準信号周期を予測する場合、この所定の角度区間の前後よりも基準信号周期に対する調整量を大きくする。この構成によれば、エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速するときの信号周期の変化特性に応じて、信号周期を高精度に予測できる。請求項26に記載の発明によると、予測禁止手段は、エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間において予測信号周期が基準信号周期よりも小さくなる場合、周期予測手段による予測を禁止する。この構成によれば、圧縮行程においてエンジン回転速度が減速し信号周期が長くなる角度区間において、基準信号周期を調整して求めた予測信号周期が基準信号周期よりも小さくなる異常が発生すると、周期予測手段による予測を禁止し、適切な処置を施すことができる。また、クランク角度の角度区間のうち上死点を含む前後の所定の角度区間は、上死点に向かって減速していたエンジン回転速度が上死点を超えて加速に転じる区間であり、エンジン回転速度の変化が小さい区間である。そこで、請求項27に記載の発明によると、周期予測手段は、エンジンの少なくとも一つの気筒の上死点を含む前後の所定の角度区間の信号周期を予測する場合、この所定の角度区間の直前および直後よりも基準信号周期に対する調整量の絶対値を小さくする。これにより、エンジンの少なくとも一つの気筒の上死点を含む前後の所定の角度区間のようにエンジン回転速度の変化が小さい角度区間の信号周期を予測する場合、調整量を適切に求めることができる。ところで、少なくとも一つの気筒の燃焼行程では、エンジン回転速度が加速する所定の角度区間においてエンジン回転速度の加速量が小さくなり、信号周期の減少量が前回よりも小さくなる。そこで、請求項28に記載の発明によると、周期予測手段は、エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間において信号周期を予測する場合、前回よりも基準信号周期に対する調整量の絶対値を小さくする。この構成によれば、エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間において、エンジン回転速度が加速するときの信号周期の変化特性に応じて、信号周期を高精度に予測できる。請求項29に記載の発明によると、予測禁止手段は、エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間において予測信号周期が基準信号周期よりも大きくなる場合、周期予測手段による予測を禁止する。この構成によれば、燃焼行程においてエンジン回転速度が加速し信号周期が短くなる角度区間において、予測信号周期が基準信号周期よりも長くなる異常が発生すると、周期予測手段による予測を禁止し、適切な処置を施すことができる。ここで、燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間と、同じ気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間とは、加速と減速とでエンジン回転速度の変化特性は異なるが、逆の変化特性であると考えることができる。そこで、請求項30に記載の発明によると、周期予測手段は、エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間におけるエンジン回転速度の減速特性を変換して、該当気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間において基準信号周期に対する調整量を算出する。これにより、燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間のように、前の角度区間と同じ補正方式では適切に信号周期を予測できない角度区間において、圧縮行程におけるエンジン回転速度の減速特性を燃焼行程における加速特性に変換することにより、適切に基準信号周期を調整できる。また、圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間では、その前の角度区間とエンジン回転速度の変化量の特性が異なるので、前の角度区間と同じ補正方式では適切に信号周期を予測することが困難な場合がある。ここで、圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間と、他の気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間とは、減速と加速とでエンジン回転速度の変化特性は異なるが、逆の変化特性であると考えることができる。そこで、請求項31に記載の発明によると、周期予測手段は、エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間におけるエンジンの加速特性を変換して、他の気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間において基準信号周期に対する調整量を算出する。これにより、圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間のように、前の角度区間と同じ補正方式では適切に信号周期を予測できない角度区間において、燃焼行程におけるエンジン回転速度の加速特性を圧縮行程における減速特性に変換することにより、適切に基準信号周期を調整できる。請求項32に記載の発明によると、周期予測手段は、減速特性または加速特性の一方の特性を変換して基準信号周期を補正する場合、基準信号周期の調整量の絶対値を、減速特性または加速特性の一方の特性における変化量の絶対値よりも大きくする。これにより、同じ気筒において圧縮行程の減速区間から燃焼行程の加速区間に移る場合、あるいは異なる気筒において燃焼行程の加速区間から圧縮行程の減速区間に移る場合のように、エンジン回転速度の変化特性が変わり変化量の絶対値が大きくなる角度区間において、基準信号周期を高精度に調整できる。請求項33に記載の発明によると、周期予測手段は、エンジンの回転加速度の絶対値が所定値以下となる角度区間において、回転加速度の絶対値が所定値よりも大きい角度区間よりも基準信号周期に対する調整量を小さくする。このように、エンジンの回転加速度が所定値以下となる角度区間のように、エンジン回転速度の変化量が小さい、すなわちエンジンの回転加速度の絶対値が所定値よりも小さくノイズにより信号周期が変動しやすい角度区間において調整量の絶対値を小さくすることにより、基準信号周期を調整するときのノイズによる誤調整を極力小さくすることができる。請求項34に記載の発明によると、周期予測手段は、エンジン回転速度が第1速度以上になると、エンジン回転速度が第1速度未満の場合よりも調整量を小さくし、エンジン回転速度が第1速度よりも遅い第2速度未満になると、エンジン回転速度が第2速度以上の場合よりも調整量を大きくする。この構成によれば、エンジン回転速度が第1速度以上になり調整量が大きくなると、エンジン回転速度が第1速度よりも遅い第2速度未満になるまで、調整量は変化しない。また、エンジン回転速度が第2速度未満になり調整量が小さくなると、エンジン回転速度が第2速度よりも速い第1速度以上になるまで、調整量は変化しない。その結果、エンジン回転速度が第1速度または第1速度よりも遅い第2速度付近で変動しても、調整量が頻繁に増減することを防止できるので、調整量が頻繁に増減することにより生じる異常動作の発生を防止でき、信頼性が向上する。請求項35に記載の発明によると、周期予測手段は、基準信号周期と調整量とを加算して予測信号周期を求める。この構成によれば、加算による簡単な演算で予測信号周期を求めることができる。請求項36に記載の発明によると、周期予測手段は、クランク角度およびエンジン回転数のうち少なくともクランク角度に応じて設定された調整係数と計測手段により計測された信号周期の時間変化により決定される変化量とを乗算して前記調整量を求める。この構成によれば、調整係数と信号周期の変化量とを乗算することにより、調整量を容易に算出できる。請求項37に記載の発明によると、調整係数は2のべき乗の加減算で決定される値である。この構成によれば、シフトと加減算とにより調整係数と変化量とを乗算して調整量を容易に算出できる。また、シフタと加減算器とを用いた簡単な回路で調整量を算出できる。請求項38に記載の発明によると、周期予測手段は、計測された2個の信号周期の差分に基づいて信号周期の変化量を求める。この構成によれば、信号周期を減算するという簡単な演算で変化量を求めることができる。請求項39に記載の発明によると、周期予測手段は、連続して発生する2個の信号周期の差分を変化量とする。この構成によれば、間に1個異常の信号周期を挟んだ2個の信号周期の差分から変化量を算出する場合に比べ信号周期の変化量が平均化されないので、信号周期が大きく変化する場合に、信号周期の変化に応じて高精度に変化量を求めることができる。請求項40に記載の発明によると、周期予測手段は、所定の角度区間において基準信号周期を調整する調整量を0とする。この構成によれば、信号周期が殆ど変化しない角度区間において、信号周期を容易に予測できる。請求項41に記載の発明によると、周期予測手段は、今回までに計測手段が計測した信号周期のうち基準信号周期を調整して、今回よりも後の信号周期を予測する。この構成によれば、今回までに計測された信号周期のうち基準信号周期を調整し、今回よりも後の信号周期を高精度に予測することができる。また、請求項41に記載の発明によると、例えば、今回、または今回よりも前の今回に極力近い信号周期を記憶しておき、この信号周期に基づいて基準信号周期を調整することにより、今回よりも後の信号周期を予測することができる。これにより、今回より後の信号周期をクランク角度毎に予測するために今回よりも前の対応する信号周期をすべて記憶しておく必要がないので、今回よりも後の信号周期を予測するための記憶容量を極力小さくすることができる。請求項42に記載の発明によると、周期予測手段は、計測手段により今回計測された信号周期を基準信号周期とする。この構成によれば、今回よりも後の信号周期を今回計測された最新の信号周期を調整して予測するので、予測精度が向上する。請求項43に記載の発明によると、周期予測手段は、今回の直後の信号周期を予測する。この構成によれば、例えば今回までに計測された信号周期の変化特性に応じて、今回の直後の信号周期を高精度に予測できる。請求項45に記載の発明によると、周期算出手段は、クランク角度およびエンジン回転数のうち少なくともクランク角度に応じて設定された調整係数により調整量を決定し、調整係数を記憶する係数記憶部を有する。この構成によれば、クランク角度と係数記憶部に記憶されている調整係数とが対応するので、クランク角度毎にその都度調整係数を算出する必要がない。請求項46に記載の発明によると、周期予測手段は、基準信号周期と、周期算出手段により基準信号周期を調整して算出された信号周期とのいずれか一方を選択するセレクタを有し、クランク角度またはソフト指令によりセレクタの出力を切り換える。この構成によれば、例えば予測される調整量と異なる異常な調整量が算出されたときに算出された調整量を無効にし、調整されていない基準信号周期を選択して今回よりも後の信号周期とすることができる。以下、本発明の実施の形態を図に基づいて説明する。本実施形態によるエンジン制御装置を図1に示す。エンジン制御装置10エンジン制御装置10は、例えば4気筒のディーゼルエンジンにおいて燃料噴射制御等のエンジン制御を実行する電子制御装置ECU:ElectronicControlUnitである。以下、エンジン制御装置10を、単にECU10とも言う。ECU10は、マイコン20、EEPROM50、入力回路60、出力回路62、電源回路64等からなる。ECU10は、入力回路60から各種センサ入力信号、スイッチ等の入力信号を入力し、他のECUへの出力信号、ならびにインジェクタ90への制御信号を出力回路62から出力する。マイコン20は、CPU22、ROM24、RAM26、A/D28、I/O30、タイマ部40等からなる。CPU22は、ROM24に記憶されている制御プログラムを実行することにより、各種センサ検出信号と、クランク角センサ80およびカム角センサ82の検出信号と、スイッチ等の入力信号とを入力回路60からI/O30を介して入力し、他のECUへの出力信号、ならびにインジェクタ90への制御信号をI/O30を介して出力回路62から出力する。CPU22は、各種制御の作業データの記憶領域としてRAM26を使用し、車両走行を停止してバッテリ70から供給される電力を電源回路64で遮断しても保存しておく必要のあるデータはEEPROM50に記憶する。タイマ部40は、クランク角センサ80から入力する信号列であるクランク角信号の信号周期を計測してその後の信号周期を予測するとともに、周期誤差に基づいて予測された予測信号周期を補正する角度予測部100を有している。角度予測部100の詳細については後述する。クランク角度クランク角センサ80は、電磁ピックアップ式のセンサであり、エンジンのクランク軸に固定されたクランクロータ4の外周と向き合って設置されている。クランクロータ4の外周には、所定の角度間隔として例えば10°間隔で歯が形成されている。クランク角センサ80は、クランクロータ4の歯と向き合う位置でパルス状のクランク角信号を出力する。ECU10は、単位時間当たりのクランク角信号のパルス数に基づき、単位時間当たりの回転角度をエンジン回転速度として算出する。カム角センサ82は、クランク角センサ80と同じ電磁ピックアップ式のセンサであり、クランク軸が2回転する間に1回転するカム軸に固定されたカムロータ6の外周と向き合って設置されている。カムロータ6の外周には、4気筒のうち特定の気筒位置を示す歯が形成されている。カム角センサ82が出力するカム角信号は、クランク軸が2回転する720°CAを1サイクルとする。ECU10は、クランク角信号とカム角信号とに基づき、例えば1気筒の上死点TDCを基準角度位置として検出する。そして、基準角度位置からのクランク角信号のパルスの信号数であるパルス数を、吸入行程、圧縮行程、燃焼行程、排気行程からなる1燃焼サイクルの角度周期である720°CA周期でカウントする。ECU10は、このパルスカウント数に基づいて、1燃焼サイクルのうち各気筒がどの行程のどの角度位置にあるかを示すクランク角度を検出する。角度予測部100次に、タイマ部40の角度予測部100について説明する。図2に示すように、角度予測部100は、周期予測部110と周期学習部300とからなる。まず、周期予測部110について説明する。周期学習部300については、図2~図16に基づく周期予測部110についての説明後に説明する。周期予測部110周期予測部110は、周期計測部120、周期調整部130、学習制御部132、および逓倍角度クロック生成部140等から構成されている。周期計測部120周期計測部120は、カウンタ122および計測部124から構成されている。カウンタ122は、クランク角信号の基準角度位置からのクランク角信号のパルス数を720°CA毎に計測する。周期計測部120が計測するクランク角信号のパルスカウント数によりクランク角度が検出される。計測部124は、クランク角信号のパルスカウント数により10°毎に発生するクランク角信号のパルスとパルスとの時間間隔をタイマで計測することにより、クランク角信号の信号周期クランク角信号の信号周期を、単に信号周期とも言う。を計測する。タイマが実際に計測するのはクランク角信号が発生した直後のクロックから次のクランク角信号が発生した直後のクロックまでの周期である。周期調整部130周期調整部130は、周期計測部120が計測する今回のクランク角信号のパルスカウント数により各気筒の今回のクランク角度を検出し、今回計測された信号周期を調整する調整量の算出方法を今回のクランク角度に応じて決定する。そして、周期調整部130は、今回の算出方法により今回までに計測したクランク角信号の信号周期に基づいて調整量を算出し、今回の信号周期を調整して次回の信号周期を予測する。尚、今回計測した信号周期に限らず、信号周期を予測するときに調整対象となる基準の信号周期を基準信号周期とも言う。周期調整部130では、後述する周期学習部300の補正判定部320から調整量に対する補正量を入力すると、該当するクラン角度において信号周期を予測するときに、基準信号周期に対する調整量を補正して信号周期を予測する。学習制御部132は、周期学習部300における学習処理を許可するか否かを指令する学習許可信号を出力する。学習許可信号は、例えば、予測信号周期が基準信号周期よりも小さくなるべき角度区間で基準信号周期よりも大きくなる場合等、異常な予測信号周期が周期調整部130で予測されたときに0が出力され、周期学習部300における学習処理を禁止する。逓倍角度クロック生成部140逓倍角度クロック生成部140は、周期調整部130が予測した予測信号周期を逓倍数で割った周期の逓倍角度クロックを生成する。ECU10は、逓倍角度クロック生成部140が出力する逓倍角度クロックに基づいて、クランクロータ4に形成された歯の角度間隔より詳細なクランク角度に同期して、燃料噴射制御等のエンジン制御を実行する。これにより、燃費やドライバビリティを向上できる。また、生成された逓倍角度クロックに基づいてエンジン制御を実行することで、予測された次回の信号周期からエンジン制御の実行タイミングを算出する処理を削減でき、少ない処理負荷で高精度なエンジン制御が可能である。以上説明した図1および図2において、ECU10は本発明のエンジン制御装置に相当し、周期計測部120は本発明の計測手段に相当し、周期調整部130は本発明の周期予測手段に相当し、逓倍角度クロック生成部140は本発明の角度位置予測手段に相当する。信号周期の変化次に、クランク角信号の信号周期の変化について説明する。エンジンの回転速度は、各気筒の圧縮行程と燃焼行程とにおける筒内圧力の影響を受けて大きく変化する。よって、エンジン回転速度、つまり信号周期の変化は、図3に示すように、クランク角度と強い関係性がある。図3では、4気筒エンジンにおける信号周期と各気筒のクランク角度との関係を示している。着火は1気筒→3気筒→4気筒→2気筒の順である。信号周期はエンジンが受ける負荷トルクと各気筒の筒内圧力、特に圧縮行程および燃焼行程における筒内圧力の影響を受けて大きく変化する。例えば1気筒が圧縮行程のとき、ピストンが1TDCに近づくにつれて1気筒の筒内圧力が増大し、負荷トルクと筒内圧力との合力によってピストンの上昇が妨げられるためエンジン回転速度は大きく減速する。その結果、所定の角度間隔で出力されるクランク信号の信号周期は長くなる。クランク角度が1気筒の1TDCを越えると1気筒は燃焼行程に移行する。すると、TDCの前にクランク軸の回転を減速させる方向に作用していた筒内圧力は、TDCの後で回転を加速させる方向に作用するようになる。この時、筒内圧力と負荷トルクとが相反する方向に作用する。エンジンの有効仕事はTDCから約10°CA後に筒内圧力が最大となるとき最も大きくなるため、燃焼遅れを考慮してTDCから約10°CA後に筒内圧力が最大となるようにインジェクタ90の噴射時期が制御される。そのため、図3の例では、TDCから約10°CA経過する前のTDC直後のクランク角信号が出力される時点では、燃焼による圧力上昇は小さく回転変化が小さくなっている。その後、燃焼によって1気筒の筒内圧力が爆発的に増大すると、エンジン回転速度は急激に加速され信号周期は短くなる。以上より、各気筒の圧縮行程および燃焼行程の筒内圧力の影響により、TDC付近の角度区間の前後ではエンジン回転速度および信号周期が、加速方向または減速方向に大きく変化する。燃焼によって爆発的に増加した1気筒の筒内圧力は、ピストンの下降と共に徐々に減少する。その一方で、3気筒では圧縮行程が進み、3気筒の筒内圧力は徐々に増大していく。1TDCと3TDCとの中間角度付近では、1気筒の筒内圧力および3気筒の筒内圧力と負荷トルクとが釣り合い、エンジン回転速度の変化が小さくなる。この角度区間ではクランク軸の軸ねじれや機械振動といった不規則的なノイズ成分が現れる。3気筒の圧縮行程がさらに進むと、3気筒の筒内圧力と負荷トルクとの合力が1気筒の1筒内圧力を上回り、エンジン回転速度は再び減速を始める。このように、エンジン回転速度および信号周期の変化特性とクランク角度との間には強い関係性がある。周期予測処理1図4に、本実施形態による信号周期の予測処理を実行するフローチャートを示す。図4および以後に説明する各図のフローチャートにおいて、Sはステップを表わしている。図4のフローチャートは、クランク角信号のパルスを検出したタイミングで実行される。図4においてECU10は、まず今回のクランク角度θを読込むS400。前述したように、クランク角度θは、クランク角信号のパルスカウント数に基づいて検出される。次に、今回までに計測された信号周期として、例えば今回と前回とのクランク角信号の信号周期と、前回と前々回とのクランク角信号の信号周期との変化量αを算出しS402、クランク角度に応じて設定された角度特性係数Kθを読込むS404。信号周期を補正するために今回までに計測された各信号周期はレジスタ等に記憶されており、角度特性係数は書き換え可能な不揮発性のEEPROM等に記憶されている。尚、角度特性係数Kθの読込みは変化量αの算出の前に行ってもよい。角度特性係数は、前述した信号周期の変化特性とクランク角度との関係性に基づいて、クランク角度に応じて予め設定されている。角度特性係数は、今回までに周期計測部120が計測したクランク角信号の信号周期に基づいて今回よりも後の信号周期を予測するときに、周期計測部120が計測した信号周期のうち基準信号周期に対する調整量を決定する係数である。次にECU10は、変化量αと角度特性係数Kθとを乗算して、次式1から調整量Hを算出するS406。調整量H=変化量α×角度特性係数Kθ1ECU10は、基準信号周期Tiをレジスタ等から読込みS408、基準信号周期Tiに調整量Hを加算して、今回と次回とのクランク角信号の信号周期である予測信号周期T’i1を算出するS410。逓倍角度クロック生成部140では、図4の周期予測処理1で算出された予測信号周期を逓倍数で割った周期の逓倍角度クロックを生成する。このように、今回の変化量αとクランク角度に応じて設定されている角度特性係数Kθとによって基準信号周期の調整量Hを決定することで、クランク角度に応じた信号周期の変化特性に基づいて、今回より後の次回の信号周期を高精度に予測できる。例えば、図3の圧縮行程においてエンジン回転速度が減速し信号周期が長くなる角度区間のうち所定の角度区間においては、エンジン回転速度の減速量がその前後の角度区間よりも大きいので、この所定の角度区間で次回の信号周期を予測する場合、所定の角度区間の前後よりも基準信号周期を調整する調整量を大きくする。具体的には、図5において、信号周期T2、T3を計測する角度区間において予測信号周期T’3、T’4を予測する場合、信号周期T3、T4を計測する角度区間の前後のT1およびT4でT’2、T’5を予測するよりも角度特性係数を大きくし、調整量を大きくしている。図5では、T1を計測するタイミングでT’2を予測するときの予測式は記載されていないが、1.25よりも小さいものとする。また、図3の燃焼行程においてエンジン回転速度が加速し信号周期が短くなる角度区間のうち所定の角度区間においては、エンジン回転速度の加速量が前回よりも小さいので、この所定の角度区間で次回の信号周期を予測する場合、前回よりも基準信号周期を補正する調整量の絶対値を小さくする。具体的には、図5において、信号周期T7、T8を計測する角度区間において予測信号周期T’8、T’9をそれぞれ予測する場合、前回、信号周期T6、T7を計測したときにT’7、T’8を予測したときよりも角度特性係数を小さくし調整量の絶対値を小さくしている。また、図3の各TDCを含む前後の所定の角度区間においては、エンジン回転速度の変化量の絶対値、つまりエンジンの回転加速度の絶対値が所定値以下であり、この所定の角度区間の直前および直後よりも小さいので、この所定の角度区間の信号周期を予測する場合、所定の角度区間の直前および直後よりも調整量の絶対値を小さくする。具体的には、図5において、TDCを含む前後の所定の角度区間の信号周期T5、T6の予測周期である予測信号周期T’5、T’6を信号周期T4、T5を計測するタイミングで求める場合、信号周期T5の直前の信号周期T4の予測信号周期T’4、ならびに信号周期T6の直後の信号周期T7の予測信号周期T’7を予測するよりも、角度特性係数を小さくし調整量の絶対値を小さくしている。エンジン回転速度と信号周期との関係図6に、エンジン回転速度が低回転時A、中回転時B、高回転時Cにおける信号周期の変化特性を示す。図6において、Tmax、Tave、Tminはそれぞれエンジン回転状態が一定で定常運転した場合の信号周期の最大値、平均値、最小値を示す。信号周期は各気筒の圧縮行程と燃焼行程とにおける筒内圧力の影響を受け720/k[°CA]kは気筒数周期で変化する。エンジンが低回転時には、筒内圧力が長時間作用するためエンジン回転速度の変化は大きく、エンジン回転速度が中回転、高回転と上昇するにしたがい、エンジン回転速度の変化は小さくなる。低回転時および中回転時には信号周期が変化する支配的要因は、圧縮行程および燃焼行程における筒内圧力と負荷トルクであり、クランク角度に応じて規則的で比較的滑らかで大きな変化をする特徴があるのに対し、高回転時では周期的な回転変化は小さく、不規則なノイズ成分が支配的となる。この不規則なノイズ成分はクランク軸の軸ねじれや機械振動によるものである。低回転時において信号周期が滑らかに変化する場合では、今回までの信号周期から次回の信号周期をある程度予測できるが、信号周期が振動的に激しく変動する高回転時では、補正処理によって不要なノイズ成分が強調され却って誤差が大きくなることがある。そこで本実施形態では、クランク角度に加え、エンジン回転速度に応じて信号周期の角度特性係数を設定することで、所定の回転速度以上の高回転域では、例えば信号周期の調整量を小さくしてノイズ成分による信号周期の予測精度の劣化を低減する。角度特性係数によるノイズの低減処理以外にも、平均化等のフィルタ処理により高周波成分を除去してもよい。以上説明した図4の周期予測処理1によると、今回までに計測された信号周期から信号周期の変化量を算出し、算出した変化量とクランク角度に応じて設定された角度特性係数とを乗算して調整量を算出している。そして、今回までに計測された信号周期のうち調整対象とする基準信号周期に調整量を加算して基準信号周期をクランク角度に応じて調整する。これにより、今回までに計測された信号周期に基づき、今回よりも後の信号周期をクランク角度に応じて高精度に予測することができる。また、最大でも今回までに計測された今回、前回および前々回の3個の信号周期に基づいて今回よりも後の信号周期を予測できるので、今回までに計測された信号周期を記憶する記憶容量を低減できる。以上説明した図4の周期予測処理1において、S400~S410の処理は本発明の周期予測手段が実行する機能に相当する。また、図4の説明において、角度特性係数が本発明の調整係数に相当する。周期予測処理2図7に、前述したクランク角度に加え、エンジン回転速度に応じて信号周期の角度特性係数を設定する周期予測処理2のフローチャートを示す。図7において、S420、S424、S430およびS432は、図4のS400、S402、S408およびS410と対応しており、実質的に同一処理である。図7の周期予測処理2では、S420でクランク角度θを読込むことに加え、S422においてエンジン回転速度NEを読込んでいる。そして、クランク角度θおよびエンジン回転速度NEに応じて予め設定されている角度特性係数Kθ,NEを読込みS426、変化量αと角度特性係数Kθ,NEとを乗算して調整量Hを算出するS428。このように、クランク角度θおよびエンジン回転速度NEに応じて予め設定されている角度特性係数Kθ,NEを用いて調整量Hを算出することにより、例えば所定速度以上の高回転時において低回転時および中回転時よりも角度特性係数の値を小さくして調整量の絶対値を小さくする。これにより、高回転時において、ノイズ成分による信号周期の予測精度の劣化を低減できる。尚、エンジン回転速度が第1速度以上になると、エンジン回転速度が前記第1速度未満の場合よりも角度特性係数を小さくして信号周期の調整量の絶対値を小さくし、エンジン回転速度が第1速度よりも遅い第2速度未満になると、エンジン回転速度が第2速度以上の場合よりも角度特性係数を大きくして調整量の絶対値を大きくすることが望ましい。これにより、エンジン回転速度が第1速度以上になり調整量が大きくなると、エンジン回転速度が第1速度よりも遅い第2速度未満になるまで、調整量は変化しない。また、エンジン回転速度が第2速度未満になり調整量が小さくなると、エンジン回転速度が第2速度よりも速い第1速度以上になるまで、調整量は変化しない。その結果、エンジン回転速度が第1速度または第2速度付近で変動しても、調整量が頻繁に増減することを防止できるので、調整量が頻繁に増減することにより生じる異常動作の発生を防止でき、信頼性が向上する。以上説明した図7の周期予測処理2において、S420~S432の処理は本発明の周期予測手段が実行する機能に相当する。変化量算出処理1図8に、図4のS402および図7のS424で実行される変化量αの算出処理のフローチャートを示す。ECU10は、今回までに計測したクランク角信号の2個の信号周期Ti-m、Ti-nを読込みS440、S442、次式2から信号周期の変化量αを算出するS444。式2では、2個の信号周期Ti-m、Ti-nの差分を、2個の信号周期が計測される順番の差の絶対値で除算して変化量αを算出している。α=Ti-m-Ti-n/|n-m|2尚、信号周期Tiは、前回と今回とのクランク角信号のパルスの時間間隔を表わしている。そして、変化量αは、例えば、最新の2個の連続する信号周期の差を算出して求められる。この場合m=0、n=1、|n-m|=1である。式2の分母は、|n-m|≧2の場合に、複数区間離れた2個の信号周期の差を平均して今回よりも後の次回の信号周期に対応させるために1区間の信号周期の差に変換するための項である。間に1個以上の信号周期を挟んだ信号周期の差を信号周期が計測された順番で除算することにより、不規則的なノイズ成分を低減できる。例えば、連続する最新の2個の信号周期から変化量αを求める場合、つまりm=0、n=1、|n-m|=1の場合、例えば信号周期Tiにノイズ成分Nが含まれているとすると、変化量αは次式3で算出される。α=Ti-Ti-1N3式3では、変化量αにノイズ成分Nがそのまま加算される。一方、互いに1区間離れた2個の信号周期から変化量αを算出する場合、つまりm=0、n=2、|n-m|=2の場合、変化量αは次式4で算出される。α={Ti-Ti-2/2}N/24式4では、ノイズ成分Nを半減できる。したがって、2個の信号周期の間の区間をさらに離せば、ノイズ成分の影響をより低減できる。ただし、2個の信号周期の間の区間を離し過ぎると、信号周期の変化特性が平均化され、今回までに計測された信号周期の変化特性に適切に適応できない。したがって、ノイズ成分の発生量および信号周期の変化特性に基づいて、信号周期の間の区間数を適切に設定する必要がある。尚、式2において、間に1個以上の信号周期を挟んだ信号周期の差を|n-m|で除算する代わりに、|n-m|で除算するときよりも角度特性係数Kを小さい値に設定することにより、ノイズ成分を低減してもよい。この場合、間に1個以上の信号周期を挟んでいても、変化量αは次式5で算出される。α=Ti-m-Ti-n5以上説明した図8の変化量算出処理1において、S440~S444の処理は本発明の周期予測手段が実行する機能に相当する。変化量算出処理2図9に、変化量αの他の算出処理のフローチャートを示す。図9の変化量算出処理2では、図3において圧縮行程が終了しTDCから燃焼行程に移行しエンジン回転速度が急激に上昇する角度区間、具体的には図5の角度区間Aにおいて次回の予測信号周期を予測するときの変化量の算出処理が、図8の変化量算出処理1に加わっている。図9のS450において、ECU10は今回検出したクランク角度θが図5の角度区間Aに含まれるか否かを判定する。クランク角度θが角度区間Aに含まれない場合S450:No、ECU10は、S452~S456において図8のS440~S444と同一処理を実行する。クランク角度θが角度区間Aに含まれる場合S450:Yes、ECU10は、圧縮行程の減速区間における2個の信号周期Ti-p、Ti-qを読込みS458、S460、次式6から変化量αを求めるS462。α=Ti-p-Ti-q/|q-p|6図5の角度区間Aでは、p=2、q=1と設定し、今回の信号周期T6を計測したときに、次式7から変化量を算出している。α=T4-T5/|1|7つまり、角度区間Aでは、通常の角度区間で今回と前回とで計測した信号周期を読込んでその差から変化量を算出する代わりに、前々回と前回とで計測した信号周期を読込み、信号周期の差を算出するときも、その順序を反転している。したがって、式7において変化量αの符号は負になる。このように、角度区間Aにおいて次回の信号周期を予測するために変化量を算出する場合、圧縮行程における減速特性を燃焼行程の加速特性に変換して変化量αを算出する。図5の燃焼行程の角度区間Aにおいては、図9の変化量算出処理2で算出された変化量から、次回の予測信号周期T’7を次式8から算出する。T’7=T6{T4-T5/|1|}×1.58このように、燃焼行程の角度区間Aにおいては、角度特性係数を1.5に設定することにより、圧縮行程の減速区間における信号周期の変化量T5-T4の絶対値よりも、調整量の絶対値|T4-T5/1|×1.5を大きくしている。以上説明した図9の変化量算出処理2おいて、S450~S462の処理は本発明の周期予測手段が実行する機能に相当する。変化量算出処理3図10に、変化量αの他の算出処理のフローチャートを示す。図10の変化量算出処理3では、図3において一つの気筒の燃焼行程において加速区間が終了し他の気筒の圧縮行程の減速区間が始まり、エンジン回転速度の変化がこの前後の角度区間よりも小さい角度区間B図5の角度区間Bも参照において、次回の予測信号周期を予測するときの変化量の算出処理が、図9の変化量算出処理2に加わっている。図10のS470において、ECU10は今回検出したクランク角度θが図5の角度区間Aに含まれるか否かを判定する。クランク角度θが角度区間Aに含まれる場合S470:Yes、ECU10は、S472~S476において図9のS458~S462と同一処理を実行する。クランク角度θが角度区間Aに含まれずS470:No、角度区間Bにも含まれない場合S478:No、ECU10は、S480~S484において図9のS452~S456と同一処理を実行する。クランク角度θが角度区間Aに含まれずS470:No、角度区間Bに含まれる場合S478:Yes、ECU10は、角度区間B以外とは異なる選択パターンの2個の信号周期Ti-r、Ti-sを読込みS486、S488、次式9から変化量αを求めるS490。α=Ti-r-Ti-s/|r-s|9図5に示す角度区間Bでは、r=0、s=2と設定し、次式10から変化量を算出している。α=Ti-Ti-2/|2|10このように、角度区間Bでは、間に1個以上の信号周期の挟んだ2個の信号周期の差を、信号周期が計測された順番の差で除算することにより、式4で説明したように、ノイズ成分の影響を低減できる。以上説明した図10の変化量算出処理3において、S470~S490の処理は本発明の周期予測手段が実行する機能に相当する。変化量算出処理4図11に、変化量αの他の算出処理のフローチャートを示す。図11のS500~S504は図8のS440~S444と同一処理である。そして、S506においてECU10は、S504で算出した変化量αの値が負であるか否かを判定する。変化量αの値が正であればS506:No、減速区間において信号周期を予測しており、基準信号周期よりも予測信号周期が大きくなると考えられる。このとき、検出したクランク角度θが加速区間を示しているとS508:Yes、S504で算出した変化量はノイズやセンサ異常の発生により異常であると判断し、変化量αを0に設定しS510、予測を禁止する。変化量αの値が負であればS506:Yes、加速区間において信号周期を予測しており、基準信号周期よりも予測信号周期が小さくなると考えられる。このとき、検出したクランク角度θが減速区間を示しているとS512:Yes、S504で算出した変化量はノイズやセンサ異常の発生により異常であると判断し、変化量αを0に設定しS510、予測を禁止する。図11の変化量算出処理4では、図3において各気筒の圧縮行程の減速区間と燃焼行程における加速区間とにおいて算出した変化量αが、該当角度区間において算出されると考えられる変化量を満たさない場合、ノイズやセンサ異常により生じる変化量の異常と判断し、予測を禁止する。したがって、次回の予測信号周期は今回計測した信号周期基準信号周期と同じ値になる。これにより、信号周期の誤調整を防止できる。以上説明した図11の変化量算出処理4において、S500~S504の処理は本発明の周期予測手段が実行する機能に相当し、S506~S510の処理は本発明の予測禁止手段が実行する機能に相当する。周期調整部の回路構成図12に、図2に示す周期調整部130の回路構成の一例である周期調整部150を示す。周期調整部150は、角度判定部152、履歴記憶部154、変化量算出部156、周期算出部158から構成されている。角度判定部152は、周期計測部120で計測されたクランク角信号のパルスカウント数を入力し、今回検出したクランク角度が各気筒のどの行程のどの角度位置であるかを判定する。そして、角度判定部152は、今回検出したクランク角度に応じて履歴出力制御信号を履歴記憶部154に出力する。履歴出力制御信号は、履歴記憶部154から出力される基準信号周期、履歴信号周期1、2を指定するとともに、履歴記憶部154に記憶されている信号周期を、変化量算出部156で変化量を算出するために使用する履歴信号周期1、2として出力するために信号周期に実施する前処理を指定する。さらに、角度判定部152は、今回検出したクランク角度に応じて、周期算出部158において調整量を算出するときに使用する角度特性係数を選択するための角度特性係数選択信号を出力する。履歴記憶部154は、周期計測部120が今回までに計測した複数の信号周期をレジスタ等に記憶する。そして、角度判定部152から出力される履歴出力制御信号に基づき、出力する基準信号周期、履歴信号周期1、2を選択するとともに、履歴信号周期1、2として出力する信号周期に前処理を実施する。変化量算出部156は、履歴記憶部154に記憶されている今回までの信号周期から、これまで説明した変化量αを算出する。周期算出部158は、角度判定部152から出力される角度特性係数選択信号に基づいてクランク角度に応じた角度特性係数を選択し、変化量算出部156で算出された変化量αと選択した角度特性係数とを乗算し、今回計測した基準信号周期に加算して予測信号周期を算出する。以上説明した図12において、周期調整部150は本発明の周期予測手段に相当し、角度判定部152は本発明の角度検出手段および制御手段に相当し、履歴記憶部154は本発明の履歴記憶手段に相当し、変化量算出部156は本発明の変化量算出手段に相当し、周期算出部158は本発明の周期算出手段に相当する。履歴記憶部の回路構成図13に、図12に示す履歴記憶部154の回路構成の一例である履歴記憶部160を示す。履歴記憶部160は、周期計測部120で計測された信号周期を履歴レジスタ162a、162b、162cに記憶する。本実施形態では、3個の履歴レジスタを備えている。尚、履歴レジスタの数は、基準信号周期を補正するために必要な信号周期の個数によっては、4個以上であってもよい。今回計測された最新の信号周期は履歴レジスタ162aに記憶され、それまで履歴レジスタ162a、162bに記憶されていた信号周期は、履歴レジスタ162bから履歴レジスタ162cに、履歴レジスタ162aから履歴レジスタ162bに順次移動される。MUXMultiplexer166は、角度判定部152から出力される履歴出力制御信号に基づき、変化量を算出するために必要な信号周期を記憶している履歴レジスタを履歴レジスタ162a、162b、162cから選択して出力するとともに、基準信号周期を出力する。基準信号周期は、履歴レジスタ162a、162b、162cのうち今回計測された信号周期でもよいし、それ以外の信号周期でもよい。シフタ164a、164bは、角度判定部152から出力される履歴出力制御信号に基づき、MUX166から出力される信号周期に対し、間に1個以上の信号周期を挟んだ信号周期の差を信号周期が計測された順番で除算する場合に、除算に対応するシフト処理を実行する。したがって、間に1個以上の信号周期を挟んだ信号周期の差は2のべき乗であることが望ましい。尚、間に1個以上の信号周期を挟んだ信号周期の差を信号周期が計測された順番で除算して変化量、すなわち調整量を小さくすることに代えて角度特性係数を小さくする場合、図13のシフタ164a、164bを省略できる。以上説明した図13において、履歴記憶部160は本発明の履歴記憶手段に相当し、履歴レジスタ162a~162cは本発明の周期記憶部に相当する。周期算出部の回路構成図14に、図12に示す周期算出部158の回路構成の一例である周期算出部170を示す。周期算出部170のカウンタ172は、角度判定部152から出力される角度特性係数選択信号、実際にはパルス信号のパルス数をカウントする。そして、角度特性係数記憶部174は、カウンタ172がカウントするカウント数をポインタとして、クランク角度に応じて使用する順番で記憶している角度特性係数を順次出力する。角度特性係数記憶部174は、レジスタ等の書き換え可能な記憶部で構成されている。したがって、角度特性係数記憶部174またはソフトウェアを調整することなく、角度特性係数記憶部174に記憶されている角度特性係数をソフトウェアにより調整することができる。固定係数記憶部176には、固定の角度特性係数以下、固定係数とも言う。が記憶されている。固定係数は、複数のクランク角度において一定の角度特性係数を使用するときに、その角度特性係数を固定係数として固定係数記憶部176に記憶しておくことにより、角度特性係数記憶部174の記憶容量を低減できる。例えば、通常は角度特性係数として固定係数記憶部176に記憶されている1.0を角度特性係数とし、その他のクランク角度において、角度特性係数記憶部174に記憶されているクランク角度に応じた角度特性係数を使用する。セレクタ178は、角度特性係数選択信号のパルスが発生していない0の場合は固定係数記憶部176から出力される固定係数を選択し、角度特性係数選択信号のパルスが発生している1の場合は角度特性係数記憶部174から出力される角度特性係数を選択する。調整量算出部180は、図12の変化量算出部156から出力される変化量αに、セレクタ178から出力される角度特性係数を乗算器等により乗算し調整量を算出する。この調整量は、例えば、圧縮行程の減速区間では正の値であり、燃焼行程の加速区間では負の値である。加算器182は、図12の履歴記憶部154から出力される基準信号周期と調整量算出部180から出力される調整量とを加算して、次回の信号周期として予測される予測信号周期を算出する。以上説明した図14において、周期算出部170は本発明の周期算出手段に相当する。調整量算出部の回路構成図15のAに、図14に示す調整量算出部180の回路構成の一例である調整量算出部190を示す。調整量算出部190は、変化量αと角度特性係数とを乗算して調整量Hを算出する処理を、2個のシフタ194a、194bと1個の加減算器196とで実現している。この場合、角度特性係数は2のべき乗とその加減算で算出される値に設定されている。調整制御部192は、角度特性係数の値に応じてシフタ194a、194bのシフト量を切り換えるとともに、加減算器196の加算または減算を切り換える。図15のBに、角度特性係数と、シフタ194a、194bにより変化量を乗算する乗算値と、加減算器196の加算または減算との関係の一例を示す。シフタ194a、194bの乗算値はシフト演算可能な2のべき乗である。例えば、角度特性係数が1.75の場合、シフタ194aは左1bit、シフタ194bは右2bitのシフト演算を行い、加減算器196は、シフタ194aの出力からシフタ194bの出力を減算する。このように、シフタ194a、194bのシフト量と、加減算器196の加算または減算とを角度特性係数に応じて切り換えることにより、0~2.0の範囲で角度特性係数を設定できる。尚、シフタ194a、194bのシフト量をさらに大きくすることで、角度特性係数の設定範囲を大きくするとともに、乗算値を細かくすることができる。以上説明した図15のAにおいて、シフタ194a、194bおよび加減算器196は、角度特性係数が2のべき乗とその加減算とで算出される値に設定されている場合に、変化量に角度特性係数を乗算する回路である。周期調整部の回路構成図16に周期調整部の回路構成の他の例である周期調整部200を示す。周期調整部200では、最新の信号周期を基準信号周期とし、周期算出部158の出力と基準信号周期とのいずれかを、ソフトウェアの指令によりセレクタ202で選択する構成になっている。この構成によれば、セレクタ202以外の周期調整部200に異常が発生した場合、周期調整部200による信号周期の予測処理を禁止し、補正前の基準信号周期を予測信号周期として出力できる。その結果、周期調整部200の異常時に異常な予測信号周期を次回の信号周期とすることを防止するので、信頼性が向上する。また、例えば、エンジン回転速度が高回転時にソフトウェアの指令によりセレクタ202で基準信号周期を選択し、基準信号周期に対する予測処理を禁止してもよい。これにより、予測処理によって不要なノイズ成分が強調され却って誤差が大きくなる高回転時において、予測処理による信号周期の予測精度の劣化を防止することができる。また、TDC付近、ならびにTDCとTDCとの間の中間部分のように、信号周期の変化の小さい角度区間において、クランク角度に応じて角度判定部152から制御信号をセレクタ202に出力して基準信号周期を選択し、基準信号周期に対する予測処理を禁止してもよい。これにより、信号周期の変化が小さく予測処理によりノイズの影響を受けやすい角度区間において、予測処理による信号周期の予測精度の劣化を防止することができる。以上説明した図16において、周期調整部200は本発明の周期予測手段に相当し、セレクタ202は、基準信号周期と基準信号周期を調整して予測された予測信号周期とのいずれか一方を選択する本発明のセレクタに相当する。周期学習部次に、図2に示す周期学習部300について説明する。周期学習部300は、周期予測部110が信号周期を予測するときに、基準信号周期に対する調整量を補正する必要がある場合、その補正量を決定して補正判定部320から周期調整部130に出力する。周期学習部130は集積回路で構成されている。図2の周期学習部300が実行する学習補正処理のタイムチャートを図17に示す。図17において、クランク角信号1に対応するクランク角度1CA1が図2の学習対象角度を示しており、クランク角信号2に対応するクランク角度2CA2が図2の学習対象角度10°CAを示している。図17のタイムチャートでは、クランク角信号が発生する毎に、周期計測部120において前回と今回とのクランク角信号の信号周期が計測される。そして、信号周期が計測されると、前述したように、今回計測された信号周期を含み今回までに計測された信号周期に基づいて、周期調整部130において周期予測処理が実行され、今回と次回とのクランク角信号の信号周期が予測される。周期予測処理は、クランク角信号が発生した直後のクロックφの立ち上がりに同期して、図17の斜線で示す期間において実行される。周期調整部130で予測された予測信号周期は逓倍角度クロック生成部140の予測信号周期記憶部142に記憶される。周期学習部300は、逓倍角度クロック生成部140から出力される予測信号周期をセレクタ302に入力するとともに、予測信号周期を前回予測信号周期としてレジスタ304に記憶する。セレクタ302は、周期計測部120から出力されるクランク角信号のパルスカウント数がクランク角度1学習対象角度であり、比較器310から出力される選択信号が1のときに逓倍角度クロック生成部140から出力される予測信号周期を選択し、クランク角信号のカウント数がクランク角度2学習対象角度10°CAであり比較器310から出力される選択信号が0のときにレジスタ304に記憶されている前回予測信号周期を選択する。減算器306は、セレクタ302で選択された逓倍角度クロック生成部140から出力される予測信号周期またはレジスタ304に記憶されている予測信号周期のいずれかを、周期計測部120で計測された実信号周期から減算する。尚、減算器306は、外部からの異常信号が0であり、周期予測部110の学習制御部132の出力信号が1であり、クランク角信号のカウント数が学習対象角度または学習対象角度10°CAである減算条件がすべて成立し、論理ゲート314から1が出力されると減算結果を出力し、減算条件のいずれかが成立しない場合には、減算結果を出力しない。クランク角信号のパルスカウント数が学習対象角度または学習対象角度10°CAである減算条件は、比較器310、312のいずれかの出力が1であり論理ゲート316の出力が1のときに成立する。上記の条件にしたがい、今回発生したクランク角信号が学習対象角度であるクランク角信号1CA信号1の場合、セレクタ302は今回の予測信号周期を出力し、減算器306は、今回の予測信号周期から今回計測された実信号周期を減算する。ここで、クランク角信号1が発生したときに計測された実信号周期をTi、クランク角信号1が発生したときに予測されたクランク角信号1とクランク角信号2との間の予測信号周期をT’i1とすると、クランク角信号1が発生したときの減算器306の出力は、T’i1-Tiである。これは、基準信号周期である実信号周期Tiから予測信号周期T’i1を予測するときの基準信号周期Tiからの調整量を表わしている。次に、今回発生したクランク角信号が学習対象角度10°CAであるクランク角信号2CA2の場合、セレクタ302はレジスタ304に記憶されている前回の予測信号周期を出力し、減算器306は、今回計測された実信号周期から前回の予測信号周期を減算する。このときの減算器306の出力は、クランク角信号2が発生したときに計測された実信号周期をTi1とすると、Ti1-T’i1である。これは、クランク角信号2が発生したときに計測された実信号周期Ti1からクランク角信号1が発生したときに予測された予測信号周期T’i1を減算した周期誤差を表わしている。補正判定部320は、減算器306から出力される周期誤差が所定の誤差範囲内であれば、周期予測部110で予測した予測信号周期は適切であると判定する。一方、補正判定部320は、減算器306から出力される周期誤差が所定の誤差範囲から外れると、周期調整部130で決定される基準信号周期に対する調整量を補正すべきであると判定し、その補正量を決定して周期調整部130に出力する。本実施形態では、調整量の補正は角度特性係数を補正することにより行う。図17のタイムチャートでは、クランク角信号1が発生したタイミングで調整量を求め、クランク角信号2が発生したタイミングで周期誤差を求めた。これに対し、図18に示すように、クランク角信号2が発生したタイミングで、調整量および周期誤差を同時に求めてもよい。以上説明した図2の周期学習部300は本発明の学習手段として機能し、論理ゲート314は学習禁止手段に相当する。次に、本実施形態による信号周期の学習補正処理1、学習補正処理1で実行される補正判定処理および補正処理のフローチャートを図19~図21に示す。図19~図21に示すフローチャートは周期学習部300で実行される。図19のS520において、ECU10は補正判定処理を実行する。S520の補正判定処理では、少なくとも、予め設定された最大学習回数の過半数回分が実行される。例えば、最大学習回数を10回に設定すると、S520の補正判定処理は少なくとも6回実行される。補正判定処理以下、S520で実行される補正判定処理の詳細を図20のフローチャートに基づいて説明する。図20のS540においてECU10は、角度特性係数を補正すべきか否かを判定するための係数判定閾値を、次式11から求める。周期学習部300は、式11の調整量および現在の角度特性係数を周期予測部110から取得する。係数判定閾値=|調整量/現在の角度特性係数|×係数分解能11式11において、調整量は、エンジン回転速度が減少する角度区間では正になり、エンジン回転速度が増加する角度区間では負になり、角度特性係数の値は角度区間に関わらず正である。そして、|調整量/現在の角度特性係数|の項は、角度特性係数を乗算する前の変化量の絶対値を表わしている。また、図22のAに示すように、角度特性係数を0.25毎に増減して設定する場合には、係数分解能は0.25となる。したがって、係数判定閾値は角度特性係数を分解能単位で増減したときに増減する増減量の絶対値を表わしている。例えば図22において、調整量が10または-10の場合、係数判定閾値は2.5になる。S542においてECU10は、周期誤差の絶対値が式11で求めた係数判定閾値より大きいか否かを判定する。この判定は、実際に計測された実信号周期と、図22のBに示すように、現在の角度特性係数が1.0の場合に調整量が10または-10として求めた予測信号周期との差分である周期誤差の絶対値が2.5より大きいか否かを判定することになる。周期誤差の絶対値が係数判定閾値より大きい場合S542:Yes、調整量が正で周期誤差も正の場合には予測信号周期が実信号周期よりも小さ過ぎるので、角度特性係数を大きくして基準信号周期に加算する調整量を大きくし、調整量が正で周期誤差が負の場合には予測信号周期が実信号周期よりも大き過ぎるので角度特性係数を小さくして基準信号周期に加算する調整量を小さくする必要がある。また、調整量が負で周期誤差も負の場合には予測信号周期が実信号周期よりも大き過ぎるので角度特性係数を大きくして基準信号周期から減算する調整量の絶対値を大きくし、し、調整量が負で周期誤差が正の場合には予測信号周期が実信号周期よりも小さ過ぎるので角度特性係数を小さくして基準信号周期から減算する調整量の絶対値を小さくする必要がある。そこで、周期誤差の絶対値が係数判定閾値より大きくS542:Yes、周期誤差と調整量の符号が一致している場合にはS544:Yes、ECU10は学習値に1を加算しS546、周期誤差と調整量の符号が一致していない場合にはS544:No、ECU10は学習値から1を減算するS548。学習値は、正であれば角度特性係数を増加するか否かを判定するための閾値となり、負であれば角度特性係数を減少するか否かを判定するための閾値となる。周期誤差の絶対値が係数判定閾値以下の場合S542:No、予測信号周期が適切に設定されていると判断できる。この場合、本実施形態では、S546、S548で設定されている学習値の値を0に近づけ、角度特性係数が増減されにくくなるように設定する。そこで、周期誤差の絶対値が係数判定閾値以下の場合S542:No、学習値が負であればS550:Yes、ECU10は学習値に1を加算して学習値を0に近づけS546、学習値が正であればS552:No、ECU10は学習値から1を減算して学習値を0に近づけるS548。学習値が0の場合S550:No、S552:No、ECU10は本処理を終了する。以上説明した図20の補正判定処理は、本発明の学習手段が実行する機能に相当する。また、学習値は本発明の補正判定値に相当する。また、係数判定閾値は本発明の所定の誤差範囲に相当する。図20の補正判定処理では、周期誤差の絶対値が係数判定閾値より大きい場合に学習値を増減するだけでなく、周期誤差の絶対値が係数判定閾値以下の場合に学習値を0に近づける処理を実行した。これに対し、周期誤差の絶対値が係数判定閾値より大きい場合に学習値を増減する処理だけを実行してもよい。学習補正処理1図19のS520で図20の補正判定処理が実行されると、図19のS522においてECU10は、正または負の値を有する学習値の絶対値が最大学習回数の過半数に達したか否かを判定する。最大学習回数はソフトウェアによって任意の回数に設定される。学習値の絶対値が最大学習回数の過半数に達するとS522:Yes、ECU10は、S520の処理に戻らず、S528に処理を移行して補正処理を実行する。これは、本実施形態では、学習値の絶対値が最大学習回数の過半数に達すると、角度特性係数を増減するか否かを決定してもよいと判断するからである。これにより、補正判定処理を実行する回数を低減し、処理時間を低減できる。学習値の絶対値が最大学習回数の過半数に達していない場合S522:No、ECU10は学習回数に1を加算しS524、学習回数が最大学習回数以上であるか否かを判定するS526。学習回数の初期値は0である。学習回数が最大学習回数未満の場合S526:No、ECU10はS520に処理を戻す。学習回数が最大学習回数以上の場合S526:Yes、ECU10はS528に処理を移行して補正処理を実行する。S528においてECU10は、図21に示す補正処理により角度特性係数を増減する補正を実行する。図21の補正処理については後述する。S528を実行すると、ECU10は現在の学習対象角度を更新して次の学習対象角度を設定しS530、学習回数を0に設定して本処理を終了するS532。このように、1個の学習対象角度において学習補正処理が終了すると学習対象角度を順次更新することにより、信号周期の変化特性の全体において周期誤差を低減できる。S530において、学習対象角度は、10°CA毎にクランク角度を増加して順次設定してもよいし、所定の角度だけを選択して設定してもよい。以上説明した図19の学習補正処理1は、本発明の学習手段が実行する機能に相当する。図19の学習補正処理1では、学習対象角度である1個のクランク角度に該当するクランク角信号が発生すると補正判定処理を実行し、学習値の絶対値が最大学習回数の過半数に達するか、学習回数が最大学習回数になると、S528の補正処理を実行して学習対象角度を更新した。これに対し、学習対象角度である全てのクランク角度において、該当するクランク角信号が発生する毎に補正判定処理および判定処理からなる学習補正処理を並列に実行してもよい。補正処理図19のS528で実行される補正処理の詳細を図21のフローチャートに基づいて説明する。図21のS560においてECU10は、図20の補正判定処理により設定された学習値が角度特性係数を増加するときの増加判定閾値よりも大きいか否かを判定する。増加判定閾値は、図19の学習補正処理1で設定されている最大学習回数が例えば10回であれば、学習値の絶対値が最大学習回数の過半数に達したときに図21の処理が実行されることを考慮し、例えば5回に設定される。学習値が増加判定閾値よりも大きい場合S560:Yes、ECU10は現在の角度特性係数が補正範囲の最大値であるか否かを判定するS562。角度特性係数が補正範囲の最大値ではない場合S562:No、ECU10は角度特性係数を分解能の単位で増加するS564。図22の例であれば、角度特性係数を0.25増加する。S564の実行後、ECU10はS576に処理を移行する。角度特性係数がすでに補正範囲の最大値である場合S562:Yes、ECU10は、これ以上角度特性係数を増加することはできず、角度特性係数を補正して予測できる予測信号周期の範囲からする補正範囲では実信号周期と予測信号周期との周期誤差を所定の誤差範囲にすることができない異常であると判断し、異常信号を出力して異常を報知するS566。異常原因としては、周期計測部120による信号周期の誤計測等が考えられる。異常を報知することにより、適切な処置を施すことができる。学習値が増加判定閾値以下の場合S560:No、ECU10は学習値が減少判定閾値より小さいか否かを判定するS568。減少判定閾値は、図19の学習補正処理1で設定されている最大学習回数が10回であれば、学習値の絶対値が最大学習回数の過半数に達したときに図21の処理が実行されることを考慮し、例えば-5回に設定される。学習値が減少判定閾値よりも小さい場合S568:Yes、ECU10は現在の角度特性係数が補正範囲の最小値であるか否かを判定するS570。角度特性係数が補正範囲の最小値ではない場合S570:No、ECU10は角度特性係数を分解能の単位で減少するS572。図22の例であれば、角度特性係数を0.25減少する。S572の実行後、ECU10はS576に処理を移行する。角度特性係数がすでに補正範囲の最小値である場合S570:Yes、ECU10は、これ以上角度特性係数を減少することはできず、角度特性係数を補正する補正範囲では実信号周期と予測信号周期との周期誤差を所定の誤差範囲にすることができない異常であると判断し、異常信号を出力して異常を報知するS574。学習値が増加判定閾値以下でありS560:No、かつ減少判定閾値以上の場合S568:No、ECU10は予測信号周期は適切に設定されている判断し、S576に処理を移行する。S576においてECU10は、学習値を0に設定して本処理を終了する。図21の補正処理では、増加判定閾値および減少判定閾値は、例えばエンジンの機種に応じて任意に設定される。その結果、エンジンの機種毎に角度特性係数を適切に補正して調整量を補正できる。また、図21の補正処理では、増加判定閾値および減少判定閾値を1個設定した。これに対し、増加判定閾値および減少判定閾値の少なくとも一方を異なる値で複数設定してもよい。そして、増加判定閾値および減少判定閾値の少なくとも一方について複数設定された値毎に角度特性係数の増減量が設定される。例えば、図22の例であれば、複数設定された値に応じて、角度特性係数を±0.25単位と±0.5単位とで増減してもよい。これにより、学習値に応じて高精度に角度特性係数を補正して調整量を補正できる。その結果、信号周期を高精度に予測できる。以上説明した図21の補正処理において、S560~S564、S568~S572の処理は本発明の学習手段が実行する機能に相当し、S566およびS574の処理は本発明の報知手段が実行する機能に相当する。そして、増加判定閾値は本発明の所定の上限値に相当し、減少判定閾値は本発明の所定の下限値に相当する。また、図19~図21の学習補正処理、補正判定処理および補正処理を実行することにより、信号周期の変化特性がエンジンの機差または経年変化により変化しても、実信号周期と予測信号周期との周期誤差を学習して角度特性係数を高精度に補正し、基準信号周期に対する調整量を補正できる。その結果、基準信号周期を調整して基準信号周期よりも後の信号周期を高精度に予測できる。学習補正処理2図23に他の学習補正処理2のフローチャートを示す。図19の学習補正処理1では、一つのクランク角度毎に角度特性係数に対する学習補正処理を行った。これに対し、図23の学習補正処理2では、複数のクランク角度において同じ角度特性係数を用いて調整量を設定する角度区間において、同じ角度区間の複数のクランク角度に対して学習補正処理をまとめて実行し、共通の角度特性係数を補正する。まずS580においてECU10は、補正判定処理を実行する。この補正判定処理は、図20で実行される補正判定処理と実質的に同一であるので説明を省略する。次にECU10は、学習回数に1を加算しS582、学習回数が最大学習回数未満であればS584:No、S580に処理を戻す。学習回数が最大学習回数以上の場合S584:Yes、ECU10は補正判定処理で設定した学習値を学習値合計に加算するS586。学習値合計の初期値は0である。次に、ECU10は、現在の学習対象角度を更新して次の学習対象角度を設定しS588、学習値および学習回数を0に設定するS590、S592。図23の学習補正処理2では、学習対象角度は、10°CA毎にクランク角度を増加して順次設定される。S594においてECU10は、学習角度数に1を加算し、学習角度数が最大学習角度数未満の場合S596:No、S580に処理を戻す。学習角度数の初期値は0である。最大学習角度数は、一つの角度区間において共通の角度特性係数を使用する学習対象角度としてのクランク角度の数である。学習角度数が最大学習角度以上になるとS596:Yes、ECU10は学習値合計を学習値に設定しS598、補正処理を実行するS600。この補正処理は、図21で実行される補正処理と実質的に同一であるので説明を省略する。ただし、1個のクランク角度に対して学習した学習値に対し、複数のクランク角度に対して学習した学習値であるから、S600で実行される場合の図21の補正処理では、図19のS528で実行される場合の図21の補正処理よりも、増加判定閾値は大きく減少判定閾値は小さく設定される。S600で補正処理が実行されると、ECU10は、学習値合計および学習角度数を0に設定しS602、S604、本処理を終了する。図23の学習補正処理において、一つの角度区間において学習補正処理が終了すると、ECU10は、次の角度区間の学習補正処理を順次実行する。以上説明した図23の学習補正処理2は、本発明の学習手段が実行する機能に相当する。図23の学習補正処理2では、同じ角度区間において、学習対象角度である1個のクランク角度に該当するクランク角信号が発生すると補正判定処理を実行し、学習値の絶対値が最大学習回数の過半数に達するか、学習回数が最大学習回数になると、角度区間内で学習対象角度を更新した。これに対し、同じ角度区間において学習対象角度である全てのクランク角度において、該当するクランク角信号が発生する毎に補正判定処理を並列に実行してもよい。この場合、角度区間内の全てのクランク角度において補正判定処理が終了すると、補正処理を実行する。他の周期学習部図2に示す周期学習部300では、学習判定処理を集積回路で構成されるハードウェアで実行した。これに対し、図24の周期学習部330では、周期誤差および調整量の算出を演算部340においてソフトウェアで実行し、角度特性係数補正量の算出、補正の異常判定を補正判定部350でソフトウェアで実行する。図24の周期学習部330は、本発明の学習手段として機能する。他の実施形態上記実施形態では、今回までに計測された信号周期の差分である変化量を算出し、この変化量をクランク角度に応じた角度特性係数で調整することにより、今回計測された信号周期に調整量を加算して次回の信号周期を予測している。これに対し、今回計測された信号周期をクランク角度に応じて直接補正してもよい。例えば、今回計測された信号周期に角度特性係数を直接乗算してもよい。また、次回の信号周期ではなく、複数回後の信号周期を予測してもよい。また、信号周期の差分は、今回までに計測された2個の信号周期による1組の差分に限らず、複数組の差分をクランク角度に応じて重みづけして求めてもよい。また、上記実施形態では、今回までに計測した信号周期に基づいて、今回までに計測した信号周期のうち調整対象となる基準信号周期をクランク角度に応じて調整し、今回より後の信号周期を予測した。これに対し、今回よりも前までに計測した信号周期に基づいて、今回よりも前までに計測した信号周期のうち調整対象となる基準信号周期をクランク角度に応じて調整し、基準信号周期より後で、かつ今回より前の過去の信号周期を予測してもよい。また、上記実施形態では、クランク角度におよびエンジン回転速度のうち少なくともクランク角度に応じて設定された角度特性係数により、基準信号周期を調整する調整量を決定して信号周期を予測した。これに対し、クランク角度に関わらず、計測された信号周期の前後の比率、または信号周期の変化量の比率に基づいて基準信号周期に対する調整量を決定し、信号周期を予測してもよい。この場合、実信号周期と予測信号周期との周期誤差に基づいて比率を調整して調整量を補正することが考えられる。上記実施形態に対し、エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間だけ学習補正処理を実行するか、あるいはエンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間の学習頻度を他の角度区間より増加してもよい。また、エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間だけ学習補正処理を実行するか、あるいはエンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間の学習頻度を他の角度区間より増加してもよい。これら角度区間においてはエンジン回転速度の変化量が大きいため、信号周期の変化量も大きい。そこで、これら角度区間において学習補正処理を実行したり、他の角度区間よりも学習頻度を増加したりすることにより、予測信号周期の誤差を低減できる。また、学習補正処理を実行するクランク角度は、エンジンの気筒毎に設定してもよい。これにより、学習すべき重要なクランク角度を気筒毎に設定できる。また、学習補正処理を実行するクランク角度は、エンジンの気筒間で同じ位置に設定してもよい。これにより、各気筒において、同じクランク角度において実信号周期と予測信号周期との周期誤差を極力低減できる。その結果、気筒間のエンジン制御のばらつきを低減できる。また、電動モータにも、回転子が回転する回転速度に回転角度に応じた変化特性がある。したがって、電動モータの回転軸の回転に伴い所定の回転角度で発生する信号列である回転角信号の信号周期にも、回転角度に応じた変化特性がある。そこで、電動モータにおいても、今回までに計測された信号周期に基づき、回転角信号で表わされる回転軸の回転角度に応じて、今回までに計測された信号周期のうち補正対象となる基準信号周期を補正して今回より後の信号周期を補正してもよい。これにより、予測した信号周期の範囲において、回転角信号の角度間隔よりも詳細な回転角度位置を求めることができる。上記実施形態では、車両用ディーゼルエンジンのエンジン制御装置に適用したが、本発明の適用はこれに限定されるものではなく、ガソリンエンジンのエンジン制御装置に適用してもよい。このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。"