内燃機関に取付けた振動センサから出力される振動波形により異常燃焼を検出する異常燃焼検出装置において前記振動センサから出力される振動波形を増幅若しくは減衰するゲイン回路と、前記内燃機関のクランク軸の回転に同期した異常燃焼判定期間を設定する異常燃焼判定期間設定手段と、前記ゲイン回路から出力された波形をデジタルデータに変換するAD変換回路と、前記デジタルデータに基づいて異常燃焼を判断する判断手段と、前記異常燃焼判定期間において大きな異常燃焼から小さな異常燃焼の発生期間を区分け可能な所定タイミングにおいて前記ゲイン回路のゲインを小さいゲインから大きいゲインに切替えるゲイン切替手段と、を備えたことを特徴とする内燃機関の異常燃焼検出装置。前記ゲイン切替手段は、前記内燃機関の点火時期でゲインを切替えることを特徴とする請求項1記載の内燃機関の異常燃焼検出装置。前記AD変換回路は前記ゲイン回路からの波形をオーバーサンプリングするように設けられ、前記AD変換回路からのデジタルデータから所定周波数帯域を選択するデジタルフィルタと、前記AD変換回路からのデジタルデータをゲイン切替前後のゲイン差を無効化するように補正した状態で前記デジタルフィルタに出力する補正手段とを備えたことを特徴とする請求項1または2記載の内燃機関の異常燃焼検出装置。前記ゲイン回路のゲインは2進数の倍率に設定されており、前記補正手段は、前記AD変換回路からのデジタルデータを2進数で示したビット数に前記2進数の倍率に相当するビット数を加えたビット数のシフトレジスタであり、当該シフトレジスタにその時点で前記ゲイン回路に設定されているゲインの2進数の倍率に応じてシフトした状態で格納することを特徴とする請求項3記載の内燃機関の異常燃焼検出装置。前記振動センサからの波形の振幅が一定値以上となったことを検出する検出手段と、前記ゲイン切替手段は、前記切替タイミングで前記検出手段が一定値以上の振幅を検出していた場合は、ゲイン切替を実行しないことを特徴とする請求項1ないし4の何れかに記載の内燃機関の異常燃焼検出装置。前記デジタルフィルタは、ゲイン切替タイミングから一定時間は動作を停止することを特徴とする請求項3ないし5の何れかに記載の内燃機関の異常燃焼検出装置。請求項1ないし6の何れかに記載の内燃機関の異常燃焼検出装置を備え、前記異常燃焼検出装置が検出した異常燃焼の大きさに応じて前記内燃機関の燃料噴射量、燃料噴射時期、点火プラグの点火時期などを制御することを特徴とする内燃機関の制御装置。例えば過給式小型エンジンにおいて、振動センサから出力される波形を確実に取得するためには、正常燃焼による波形からその約40倍となる大きな異常燃焼による波形までを取得する必要がある。1つのAD変換回路を用いて異常燃焼を検出する場合、AD変換回路の入力レンジ範囲に波形入力電圧を収める必要があることから、大きな異常燃焼による波形に合わせると、ゲイン回路のゲインを小さく例えば1/40倍設定しなければならない。このため、小さな異常燃焼による波形が小さくなってしまうので、小さな異常燃焼の検出が困難となるという課題を生じる。このような課題を解決する方法として、特許文献2では、通常のノック判定手段とは別に大ノック判定手段を備え、大ノック判定手段からの判定出力に基づいてゲインを切替えることで、大ノックによってノック検出信号がオーバーフローすることを防ぐノッキング制御装置を提案している。しかしながら、波形の大きさを検出してからゲインを切替える構成であることから、ゲイン切替の遅延時間が生じ、ノック判定期間毎にノック検出信号振幅が激しく変化する場合にゲインが適切に追従できないため、微小ノックを正しく検出できないという問題がある。本発明は上記事情に鑑みてなされたもので、その目的は、振動センサから出力される波形をAD変換回路でデジタルデータに変換することにより内燃機関の異常燃焼を検出する構成において、ゲインを切替える場合であっても波形振幅の変化を確実に検出することができる内燃機関の異常燃焼検出装置及び内燃機関の制御装置を提供することにある。請求項1の発明によれば、異常燃焼判定期間においては大きな異常燃焼の後に小さな異常燃焼が発生することから、それらの発生期間を区分け可能な所定タイミングでゲイン回路のゲインを小さいゲインから大きいゲインに切替えることにより、AD変換回路のダイナミックレンジを最大限に有効活用することができる。この場合、ゲインが切替わる所定タイミングでは大きな異常燃焼は終了しているのが通常であることから、このようなタイミングでゲイン回路のゲインを切替えるにしても検出に支障を生じることはない。請求項2の発明によれば、大きな異常燃焼は自然着火であり点火時期よりも前に発生するのが一般的であることから、内燃機関の点火時期の前後で異常燃焼の大きさが変化する。従って、点火時期を基準としてゲイン回路のゲインを切替えることにより、適切なタイミングでゲインを切替えることができる。AD変換回路においてオーバーサンプリングしたデジタルデータをデジタルフィルタに通過させることで、デジタルデータの信号帯域の雑音を抑制することができる。しかし、デジタルフィルタは過去に遡って入力した複数のデジタルデータを使用するため、このような構成において振動波形の入力中にゲインを切替えた場合には、ゲイン切替前後のデジタルデータが大きく変動してしまってリンギングが発生する恐れがある。そこで、請求項3の発明によれば、ゲイン切替前後のゲイン差を無効化するようにしたので、ゲイン切替前後のデジタルデータが大きく変動することがなくなり、リンギングの発生を防止することができる。この場合、デジタルフィルタからの出力データに基づいてゲイン切替前後の振動波形の振幅の差を求めるにはゲイン差を無効化するデータ処理が本来必要となるが、請求項3の発明では、デジタルフィルタからの出力データをそのまま比較することが可能となるので、データ処理の負担を軽減することができる。請求項4の発明によれば、シフトレジスタを利用することによりゲイン切替前後のゲイン回路のゲイン差を簡単に無効化することができる。つまり、シフトレジスタにはその時点のゲイン回路のゲインの2進数の倍率に応じてシフトされた状態でデジタルデータが格納されるので、そのシフトレジスタに格納されたデジタルデータをデジタルフィルタのデータとして使用することで、ゲイン切替前後のゲイン回路のゲイン差を簡単に無効化することができる。請求項5の発明によれば、大きな異常燃焼により大きな振動波形の信号がAD変換回路に入力している途中でゲインを切替えることはないことから、ゲイン切替前後でゲイン切替による振幅値の補正演算を省略することができる。請求項6の発明によれば、異常燃焼の大きさに応じて内燃機関を適正に制御することができる。以下、本発明の一実施形態について図面を参照して説明する。図1は、エンジン制御装置の構成を示すブロック図である。このエンジン制御装置1異常燃焼検出装置、制御装置に相当は、4気筒式のガソリン式エンジン内燃機関に相当を制御するものである。図示しないエンジンのシリンダブロックには振動センサ2が取付けられている。この振動センサ2はシリンダブロックの振動を検出するセンサで、異常燃焼検出時にシリンダブロックの振動に対応する信号以下、異常燃焼信号というを出力する。この異常燃焼信号の波形の大きさに基づいて燃焼の大きさ、つまり小さな異常燃焼か大きな異常燃焼かが判定される。図2は振動センサ2から出力される異常燃焼信号を示している。異常燃焼信号が示す異常燃焼は、小さな異常燃焼と大きな異常燃焼とに分類することができる。小さな異常燃焼ノックとは、燃焼室内の混合気中に燃料と空気の混合状態が不均一となっている部分特に、燃料が濃くなっている部分等、シリンダの端のガスエンドガスで自己着火し得る状態の燃料が残っている部分が存在し、スパークプラグの点火により火炎伝播される前にその不均一部分で自己着火してしまう異常燃焼に起因してシリンダブロックが振動する現象である。大きな異常燃焼プレイグニッションとは、スパークプラグで点火する前にエンジン内部のカーボンが燃焼により赤熱状態になったものやスパークプラグそのものが過熱したヒートスポット熱源により自然着火してしまう異常燃焼に起因してシリンダブロックが振動する現象である。尚、図2では小さな異常燃焼の振幅を実際よりも大きく示している。振動センサ2からの異常燃焼信号は、コネクタ3を介してエンジン制御装置1に入力される。エンジン制御装置1は、入力回路4とマイクロコンピュータ5異常燃焼判定期間設定手段、判断手段に相当とから構成されている。入力回路4は、入力信号のうち、異常燃焼信号に対応した高周波信号成分を通過させ、直流成分を含む不要な低周波信号成分例えば5KHz以下を除去し、2.5Vを中心の信号に変換する。マイクロコンピュータ5は、ゲイン回路6、アナログフィルタ7、16ビットのAD変換回路8、18ビットのシフトレジスタ9補正手段に相当、18ビットのデジタルフィルタ10、オーバーレンジ検出回路11検出手段に相当、ゲイン切替回路12ゲイン切替手段に相当、クランクタイマ13、CPU14、図示しないROM、及びRAM等から構成されている。ゲイン回路6は、入力回路4から入力された信号を所定のゲインで増幅する。本実施形態では、ゲイン回路6のゲインとして2進数の倍率、つまり、1倍、2倍、4倍の3種類の増幅率が設定可能となっている。アナログフィルタ7は、AD変換回路8による1MHzサンプリングに対するエイリアシング除去を目的としたアンチエイリアスフィルタであり、遮断周波数は318KHzに設定されている。AD変換回路8は16bitの分解能を有し、サンプリング周波数は1MHzである。このようにサンプリング周波数が1MHzに設定されている理由は、異常燃焼信号に含まれる最大周波数である23KHzに対して十分なオーバーサンプリングとなるように設定することで、23KHz以下の信号帯域の減衰を抑制すると共に、折り返しノイズを縮小するためである。AD変換回路8から出力された16ビットのデジタルデータは18ビットのシフトレジスタ9の最上位ビットから格納されるようになっており、このシフトレジスタ9に格納された18ビットのデジタルデータがデジタルフィルタ10のデータとして使用される。この場合、シフトレジスタ9は、その時点でゲイン回路6に設定されているゲインに応じてCPU14により下位側にシフトされるようになっている。つまり、ゲインが1倍の場合はシフトされず、2倍の場合は1ビットシフトされ、4倍の場合は2ビットシフトされる。これは、後述するようにゲイン切替前後のゲイン回路6に設定されているゲイン差を無効化することにより、デジタルフィルタ10で発生するリンギングを防止するためである。デジタルフィルタ10は、デシメーションに対するエイリアシング除去と、オーバーサンプリングによるナイキスト周波数サンプリング周波数の1/2以上の雑音低下を目的として設けられており、通過帯域は23KHz以下に設定されている。一方、エンジンにはクランクセンサ15が取付けられており、クランク軸が所定のクランク角度例えば180°回転する毎にクランクタイマ13にパルス信号を出力する。クランクタイマ13は、クランクセンサ15からの信号に基づいて圧縮行程上死点以下、TDCというから次のTDCとなるまでのTDC間周期を検出してCPU14に出力する。CPU14は、ROMに記憶された各種のエンジン制御プログラムを実行することで、燃料噴射弁の燃料噴射量、燃料噴射時期、点火プラグの点火時期、吸気バルブ及び排気バルブの開弁タイミング等を制御する。また、CPU14は、上記TDC間周期に基づいてTDCタイミングを基準としてクランク角度を推定し、推定したクランク角度が所定範囲角となる期間を異常燃焼判定期間に設定している。本実施形態では、各気筒のTDCタイミングの-20°CA前のタイミングBTDC20°CAのタイミングから、TDCタイミングの70°CA後のタイミングATDC70°CAタイミングまでの期間を異常燃焼判定区間に設定している。さて、CPU14は、異常燃焼信号の波形から異常燃焼の大きさを判定するために異常燃焼判定期間を設定する。図4は、CPU14による異常燃焼判定期間設定処理を示すフローチャートである。CPU14は、クランクタイマ13からTDC間周期、つまりクランクが180°回転する時間を入力したときはS401:YES、そのTDC時間に基づいて5°CA時間、つまりクランクが5°回転する時間を演算するS402。次に、TDCタイミングに基づいて-20°CABTDC20°~70°CAATDC70°となる期間を異常燃焼判定期間として設定するS403。図5はCPU14によるゲイン切替処理を示フローチャートである。CPU14は、上述のように設定した異常燃焼判定期間の開始であると判定したときはS501:YES、初期設定としてゲイン切替回路12によりゲイン回路6のゲインを小、つまり1に設定する。これは、異常燃焼判定期間において点火時期よりも前に発生する異常燃焼は大きな異常燃焼であり、その振動振幅が大きいことから、AD変換回路8のダイナミックレンジを最大限に有効活用するために異常燃焼信号の信号波形をAD変換回路8にそのまま入力させるためである。図6はCPU14による異常燃焼判定処理を示すフローチャートである。CPU14は、上述のように設定した異常燃焼判定期間の開始であると判定したときはS601:YES、AD変換回路8のサンプリングタイムとなったかを判定しS602、サンプリングタイムとなったときはS602:YES、デジタルフィルタ10から出力されるデジタルデータを積算することを繰返すS603、S604。そして、5°CA時間経過したときはS604:YES、クランクが5°回転したと判定し、積算値を記憶するS605。ところで、上述したように異常燃焼判定期間において点火時期よりも前に発生する異常燃焼は、AD変換回路8のダイナミックレンジを最大限に有効活用することができるのに対して、点火時期よりも後に発生する異常燃焼は小さな異常燃焼であることから、AD変換回路8のダイナミックレンジを最大限に有効活用することができない。そこで、点火時期をゲイン切替タイミングに設定し、そのゲイン切替タイミングでゲインを切替えるようにした。即ち、CPU14は、上述した動作を繰返して実行しながら、点火時期であるゲイン切替タイミングとなったかを判定するS503。点火時期は、現在の運転条件例えば、始動時や始動後の暖気制御中であるか否かや、エンジン回転速度、エンジン負荷、冷却水温、吸気温度などに基づいて算出される。ゲイン切替タイミングとなったときはS503:YES、オーバーレンジを検出したかを判定しS504、オーバーレンジを検出していないときはS504:NO、ゲインを大、つまり2倍に設定してからS505、異常燃焼判定期間が終了したかを判定しながらS506、上述した動作を繰返して実行する。ここで、CPU14は、ゲイン回路6のゲインを大に切替えた状態では、図3に示すようにAD変換回路8からのデジタルデータをシフトレジスタ9の最上位ビットから格納した後、1ビットだけ下位側にシフトする。つまり、ゲイン回路6により2倍となったデジタルデータを1/2倍することによりゲイン回路6で増幅された分を無効化しているのである。これは、デジタルフィルタ10の特性を考慮したものである。つまり、AD変換回路8においてオーバーサンプリングし、AD変換したデジタルデータの信号帯域の雑音をデジタルフィルタ10により下げることができる。しかし、デジタルフィルタ10は過去の複数のデジタルデータを使用するため、このような構成においてゲインを切替えた場合、ゲイン切替前後のデジタルデータが大きく変動してしまってリンギングが発生する。そこで、ゲイン切替後のゲイン分を無効化することで、ゲイン切替前後のデジタルデータが大きく変動することがなくなり、リンギングの発生を防止することができるからである。この場合、デジタルフィルタ10からの出力データに基づいてゲイン切替前後の振幅の差を求めるにはゲイン分を無効化するデータ処理が必要となるが、デジタルフィルタ10の出力データをそのまま比較することが可能となる。尚、ゲイン回路6のゲインを4倍に設定した場合は、シフトレジスタ9に格納されたデジタルデータを下位側に2ビットシフトすればよい。CPU14は、異常燃焼判定期間が終了したときはS606:YES、異常燃焼を判定するS607。つまり、上述したようにBTDC20°~ATDC70°のサンプリングタイム毎のデジタルデータが5°CA毎に積算して記憶されているので、その積算値のレベルから異常燃焼を判定することができる。異常燃焼の判定の結果、異常燃焼を検出したときはS608:YES、波形の大きさを判定するS609。つまり、波形振幅が大きいときはS609:大、大きな異常燃焼を特定してからS610、クランク角度を特定しS611、波形振幅が小さいときはS609:小、小さな異常燃焼を特定してからS612、クランク角度を特定するS613。そして、CPU14は、上述のようにして特定した異常燃焼の大きさに基づいて、エンジンの点火タイミングを制御したり、燃料噴射量を制御したりする。さて、点火時期であるゲイン切替タイミングで、AD変換回路8に入力する振幅がAD変換回路8の入力レンジを上回った場合は、大きな異常燃焼が生じていることから、このような大きな振幅の信号が出力されている状態でゲインを切替えた場合には、振幅のゲインが途中で変更されたことを見込んで演算する必要があり、異常燃焼を判定するための演算が複雑化する。そこで、CPU14は、ゲイン切替タイミングでオーバーレンジ検出回路11がオーバーレンジを検出したときはS504:YES、ゲイン切替えを行わないようになっている。これにより、大きな異常燃焼の振幅のゲインが途中で切替わることがなくゲインの連続性を担保することができるので、異常燃焼を判定するための演算を簡素化することができる。このような実施形態によれば、以下の効果を奏することができる。異常燃焼判定期間において大きな異常燃焼から小さな異常燃焼の発生期間を区分け可能な点火時期においてゲイン回路6のゲインを小さいゲインから大きいゲインに切替えるようにしたので、AD変換回路8のダイナミックレンジを最大限に有効活用することができる。この場合、ゲインが切替わる点火時期では大きな異常燃焼は終了しているのが通常であることから、このようなタイミングでゲイン回路のゲインを切替えるにしても検出に支障を生じることはない。AD変換回路8からのデジタルデータをゲイン切替前後のゲイン差を無効化するようにシフトレジスタ9で補正するようにしたので、ゲイン切替前後のゲイン差を無効化することで、ゲイン切替前後のデジタルデータが大きく変動することがなくなり、リンギングの発生を防止することができる。この場合、デジタルフィルタ10からの出力データに基づいてゲイン切替前後の振動波形の振幅の差を求めるにはゲイン差を無効化するデータ処理が必要となるが、デジタルフィルタ10からの出力データをそのまま比較することが可能となるので、データ処理の負担を軽減することができる。ゲイン回路6のゲインを2進数の倍率に設定するようにしたので、シフトレジスタ9を用いることによりゲイン切替前後のゲイン回路6のゲイン差を簡単に無効化することができる。オーバーレンジ検出回路11がオーバーレンジを検出しているとき、つまり、大きな異常燃焼により大きな振動波形の信号がAD変換回路8に入力している途中でゲインを切替えないようにしたので、ゲイン切替前後でゲイン切替えによる振幅値の補正演算を省略することができる。その他の実施形態上記実施形態では、ゲイン切替タイミングでシフトレジスタを用いて除算するのに代えて、ゲイン切替後一定時間はデジタルフィルタ10を停止するようにしてもよい。これにより、ゲイン切替前後で発生するリンギングによる影響を回避することができる請求項6に相当。ゲイン回路6のゲインとしては、2倍、4倍に限定されることなく、8倍、16倍......に設定するようにしてもよい。シフトレジスタ9に代えて演算回路を設けるようにしてもよいし、CPU14が演算するようにしてもよい。オーバーレンジ検出回路11、ゲイン切替回路、クランクタイマ13の全て、或いは一部をCPU14により実行するようにしてもよい。マイクロコンピュータ5に入力回路4を含めて構成してもよいし、マイクロコンピュータ5を構成する回路の一部をマイクロコンピュータ5に含まないように構成してもよい。