複数の気筒を有し前記複数の気筒のそれぞれに燃料噴射弁を備えた内燃機関において、前記それぞれの燃料噴射弁の燃料噴射量を別の量に設定する燃料噴射量設定手段と、前記複数の気筒から選択した気筒である特定気筒について、所定の増量噴射量または所定の減量噴射量となるように、燃料噴射量の設定を行う第1設定手段と、前記第1設定手段で設定した燃料噴射量による燃焼の後のサイクルにおいて、前記第1設定手段で設定した燃料噴射量の変化とは反対の方向に変化するように、前記特定気筒についての燃料噴射量の設定を行う第2設定手段と、前記第1設定手段で設定した燃料噴射量による燃焼時における、前記特定気筒についての発生熱量を算出する第1算出手段と、前記第2設定手段で設定した燃料噴射量による燃焼時における、前記特定気筒についての発生熱量を算出する第2算出手段と、前記第1設定手段で設定した前記燃料噴射量、前記第1算出手段で算出した前記発生熱量、前記第2設定手段で設定した前記燃料噴射量、および前記第2算出手段で算出した前記発生熱量に基づいて、前記内燃機関の燃料のアルコール濃度を推定する推定手段と、を備えることを特徴とする内燃機関燃料のアルコール濃度推定装置。前記特定気筒は、前記複数の気筒のうち一部の気筒であり、前記内燃機関燃料のアルコール濃度推定装置は、前記第1設定手段で設定した前記燃料噴射量での前記特定気筒の燃焼と同じサイクルにおける前記特定気筒以外の他の気筒のうち少なくとも1つについての燃料噴射量を、前記第1設定手段で設定した燃料噴射量の変化とは反対の方向に変化するように設定する第3設定手段と、前記第2設定手段で設定した前記燃料噴射量での前記特定気筒の燃焼と同じサイクルにおける前記特定気筒以外の他の気筒のうち少なくとも1つについての燃料噴射量を、前記第2設定手段で設定した燃料噴射量の増量または減量とは反対の方向に変化するように設定する第4設定手段と、のうち少なくとも一方の手段を備えることを特徴とする請求項1記載の内燃機関燃料のアルコール濃度推定装置。前記第3設定手段と前記第4設定手段のうちの、前記少なくとも一方の手段は、前記特定気筒の空燃比と前記特定気筒以外の他の気筒の空燃比とを合わせた空燃比が一定となるように、前記燃料噴射量の前記設定を行うことを特徴とする請求項2に記載の内燃機関燃料のアルコール濃度推定装置。前記第3設定手段と前記第4設定手段のうちの、前記少なくとも一方の手段は、前記特定気筒の燃料噴射量として設定した前記所定の増量噴射量における増量分または前記所定の減量噴射量における減量分が前記特定気筒以外の他の気筒に設定される燃料噴射量の増量分または減量分により相殺されるように、前記燃料噴射量の前記設定を行うことを特徴とする請求項3に記載の内燃機関燃料のアルコール濃度推定装置。前記第3設定手段と前記第4設定手段のうちの、前記少なくとも一方の手段は、前記特定気筒の燃料噴射量として設定した前記所定の増量噴射量における増量分または前記所定の減量噴射量における減量分が前記特定気筒の次に点火を迎える気筒である次点火気筒に設定される燃料噴射量の増量分または減量分により相殺されるように、前記次点火気筒の燃料噴射量を設定する手段を、含むことを特徴とする請求項4に記載の内燃機関燃料のアルコール濃度推定装置。複数の気筒を有し前記複数の気筒のそれぞれに燃料噴射弁を備えた内燃機関において、前記それぞれの燃料噴射弁の燃料噴射量を別の量に設定する燃料噴射量設定手段と、前記複数の気筒から選択した気筒である第1気筒について、所定の増量噴射量または所定の減量噴射量となるように、燃料噴射量の設定を行う第1設定手段と、前記第1気筒以外の気筒から選択した気筒である第2気筒について、前記第1設定手段で設定した燃料噴射量による前記第1気筒の燃焼と同じサイクルにおいて前記第1設定手段で設定した燃料噴射量の変化とは反対の方向に変化するように、燃料噴射量の設定を行う第2設定手段と、前記第1設定手段で設定した燃料噴射量での燃焼に応じた発生熱量と前記第1設定手段で設定した燃料噴射量での燃焼に応じた発生熱量とのうち少なくとも一方に基づいて、燃料噴射量の変化と発生熱量の変化との関係を用いて、前記内燃機関の燃料のアルコール濃度を推定する推定手段と、を備えることを特徴とする内燃機関燃料のアルコール濃度推定装置。前記第1気筒の空燃比と前記第2気筒の空燃比とを合わせた空燃比が一定となるように、前記燃料噴射量の前記設定を行うことを特徴とする請求項6に記載の内燃機関燃料のアルコール濃度推定装置。前記第1気筒の燃料噴射量として設定した前記所定の増量噴射量における増量分または前記所定の減量噴射量における減量分が前記第2気筒に設定される燃料噴射量の増量分または減量分により相殺されるように、前記燃料噴射量の前記設定を行うことを特徴とする請求項7に記載の内燃機関燃料のアルコール濃度推定装置。前記第2気筒が、前記第1気筒の点火順についての対向気筒であることを特徴とする請求項8に記載の内燃機関燃料のアルコール濃度推定装置。前記第2気筒が、前記第1気筒の次に点火を迎える気筒であることを特徴とする請求項8または9に記載の内燃機関燃料のアルコール濃度推定装置。前記推定手段は、前記第1設定手段で設定した燃料噴射量による燃焼時における、前記第1気筒についての発生熱量を算出する第1算出手段と、前記第2設定手段で設定した燃料噴射量による燃焼時における、前記第2気筒についての発生熱量を算出する第2算出手段と、前記第1設定手段で設定した前記燃料噴射量、前記第1算出手段で算出した前記発生熱量、前記第2設定手段で設定した前記燃料噴射量、および前記第2算出手段で算出した前記発生熱量に基づいて、前記内燃機関の燃料のアルコール濃度を推定する手段と、を含むことを特徴とする請求項6乃至10のいずれか1項に記載の内燃機関燃料のアルコール濃度推定装置。上記従来の技術では、筒内圧センサにより検出した筒内圧の値を用いて発生熱量を算出し、この発生熱量の値をアルコール濃度推定に利用している。ここで、内燃機関は、燃料量燃料噴射量を変化させたときの影響度が、リッチ側への変化とリーン側への変化との間で異なっていることが普通である。仮に、特定の気筒に対してリッチ側変化とリーン側変化のうち片方のみに基づいてアルコール濃度推定を行うとすると、そのようなリッチ側変化とリーン側変化の影響度の相違をアルコール濃度推定において考慮に入れることができない。この点においてアルコール濃度推定精度の向上の余地が残されており、上記従来の技術は未だ改善の余地を残すものであった。また、上記従来の技術のように筒内圧センサによって検出した筒内圧をアルコール濃度推定のための情報として用いることができるが、そのような情報を得るときに、精度良くアルコール濃度推定を行う観点から内燃機関の運転中に燃料噴射量を所定の量に強制的に変更するという考え方がある。これは、気筒へ供給する燃料量燃料噴射量の変化に対して発生熱量がどの程度変化するかという情報、つまり燃料量と発生熱量との関係に基づいてアルコール濃度推定を行う場合に有効な措置である。しかしながら、そのような強制的な燃料噴射量変更は、内燃機関の空燃比を通常の運転状態における空燃比から乖離させることに繋がり、その結果、内燃機関のエミッション特性や、トルク変動、車両のドライバビリティに影響をもたらしてしまう。そこで、本願発明者は、鋭意研究を行うことにより、アルコール濃度推定に用いる情報を得るために燃料噴射量の変更を行うに際し、内燃機関全体の空燃比の変動を低減することができる新規な技術を見出した。この発明は、アルコール濃度を精度良く推定することができる内燃機関燃料のアルコール濃度推定装置を提供することを目的とする。この発明の他の目的は、アルコール濃度推定に用いる情報を得るために燃料噴射量の変更を行うに際し、内燃機関全体の空燃比の変動を低減することができる内燃機関燃料のアルコール濃度推定装置を提供することを目的とする。第1の発明は、上記の目的を達成するため、内燃機関燃料のアルコール濃度推定装置であって、複数の気筒を有し前記複数の気筒のそれぞれに燃料噴射弁を備えた内燃機関において、前記それぞれの燃料噴射弁の燃料噴射量を別の量に設定する燃料噴射量設定手段と、前記複数の気筒から選択した気筒である特定気筒について、所定の増量噴射量または所定の減量噴射量となるように、燃料噴射量の設定を行う第1設定手段と、前記第1設定手段で設定した燃料噴射量による燃焼の後のサイクルにおいて、前記第1設定手段で設定した燃料噴射量の変化とは反対の方向に変化するように、前記特定気筒についての燃料噴射量の設定を行う第2設定手段と、前記第1設定手段で設定した燃料噴射量による燃焼時における、前記特定気筒についての発生熱量を算出する第1算出手段と、前記第2設定手段で設定した燃料噴射量による燃焼時における、前記特定気筒についての発生熱量を算出する第2算出手段と、前記第1設定手段で設定した前記燃料噴射量、前記第1算出手段で算出した前記発生熱量、前記第2設定手段で設定した前記燃料噴射量、および前記第2算出手段で算出した前記発生熱量に基づいて、前記内燃機関の燃料のアルコール濃度を推定する推定手段と、を備えることを特徴とする。また、第2の発明は、第1の発明において、前記特定気筒は、前記複数の気筒のうち一部の気筒であり、前記内燃機関燃料のアルコール濃度推定装置は、前記第1設定手段で設定した前記燃料噴射量での前記特定気筒の燃焼と同じサイクルにおける前記特定気筒以外の他の気筒のうち少なくとも1つについての燃料噴射量を、前記第1設定手段で設定した燃料噴射量の変化とは反対の方向に変化するように設定する第3設定手段と、前記第2設定手段で設定した前記燃料噴射量での前記特定気筒の燃焼と同じサイクルにおける前記特定気筒以外の他の気筒のうち少なくとも1つについての燃料噴射量を、前記第2設定手段で設定した燃料噴射量の増量または減量とは反対の方向に変化するように設定する第4設定手段と、のうち少なくとも一方の手段を備えることを特徴とする。また、第3の発明は、第2の発明において、前記第3設定手段と前記第4設定手段のうちの、前記少なくとも一方の手段は、前記特定気筒の空燃比と前記特定気筒以外の他の気筒の空燃比とを合わせた空燃比が一定となるように、前記燃料噴射量の前記設定を行うことを特徴とする。また、第4の発明は、第3の発明において、前記第3設定手段と前記第4設定手段のうちの、前記少なくとも一方の手段は、前記特定気筒の燃料噴射量として設定した前記所定の増量噴射量における増量分または前記所定の減量噴射量における減量分が前記特定気筒以外の他の気筒に設定される燃料噴射量の増量分または減量分により相殺されるように、前記燃料噴射量の前記設定を行うことを特徴とする。また、第5の発明は、第4の発明において、前記第3設定手段と前記第4設定手段のうちの、前記少なくとも一方の手段は、前記特定気筒の燃料噴射量として設定した前記所定の増量噴射量における増量分または前記所定の減量噴射量における減量分が前記特定気筒の次に点火を迎える気筒である次点火気筒に設定される燃料噴射量の増量分または減量分により相殺されるように、前記次点火気筒の燃料噴射量を設定する手段を、含むことを特徴とする。第6の発明は、上記の他の目的を達成するため、内燃機関燃料のアルコール濃度推定装置であって、複数の気筒を有し前記複数の気筒のそれぞれに燃料噴射弁を備えた内燃機関において、前記それぞれの燃料噴射弁の燃料噴射量を別の量に設定する燃料噴射量設定手段と、前記複数の気筒から選択した気筒である第1気筒について、所定の増量噴射量または所定の減量噴射量となるように、燃料噴射量の設定を行う第1設定手段と、前記第1気筒以外の気筒から選択した気筒である第2気筒について、前記第1設定手段で設定した燃料噴射量による前記第1気筒の燃焼と同じサイクルにおいて前記第1設定手段で設定した燃料噴射量の変化とは反対の方向に変化するように、燃料噴射量の設定を行う第2設定手段と、前記第1設定手段で設定した燃料噴射量での燃焼に応じた発生熱量と前記第1設定手段で設定した燃料噴射量での燃焼に応じた発生熱量とのうち少なくとも一方に基づいて、燃料噴射量の変化と発生熱量の変化との関係を用いて、前記内燃機関の燃料のアルコール濃度を推定する推定手段と、を備えることを特徴とする。また、第7の発明は、第6の発明において、前記第1気筒の空燃比と前記第2気筒の空燃比とを合わせた空燃比が一定となるように、前記燃料噴射量の前記設定を行うことを特徴とする。また、第8の発明は、第7の発明において、前記第1気筒の燃料噴射量として設定した前記所定の増量噴射量における増量分または前記所定の減量噴射量における減量分が前記第2気筒に設定される燃料噴射量の増量分または減量分により相殺されるように、前記燃料噴射量の前記設定を行うことを特徴とする。また、第9の発明は、第8の発明において、前記第2気筒が、前記第1気筒の点火順についての対向気筒であることを特徴とする。また、第10の発明は、第8または第9の発明において、前記第2気筒が、前記第1気筒の次に点火を迎える気筒であることを特徴とする。また、第11の発明は、第6乃至10の発明のいずれか1つの発明において、前記推定手段は、前記第1設定手段で設定した燃料噴射量による燃焼時における、前記第1気筒についての発生熱量を算出する第1算出手段と、前記第2設定手段で設定した燃料噴射量による燃焼時における、前記第2気筒についての発生熱量を算出する第2算出手段と、前記第1設定手段で設定した前記燃料噴射量、前記第1算出手段で算出した前記発生熱量、前記第2設定手段で設定した前記燃料噴射量、および前記第2算出手段で算出した前記発生熱量に基づいて、前記内燃機関の燃料のアルコール濃度を推定する手段と、を含むことを特徴とする。第1の発明によれば、特定気筒について、燃料を増量リッチ側変化した場合と燃料を減量リーン側変化した場合との双方の場合についての発生熱量変化量を求めることができる。これらの双方についての発生熱量変化量に基づいてアルコール濃度推定を行うことにより、発生熱量に対するリッチ側変化の影響とリーン側変化の影響との双方の影響を考慮することができるので、アルコール濃度を精度良く推定することができる。第2の発明によれば、第1の発明で燃料噴射量の変更を行うに際して特定気筒における燃料噴射量変更に応じて他の気筒の燃料噴射量を調節することにより、特定気筒と他の気筒とを合わせた全体の空燃比が大きく変動することを抑制し、トルク変動や排気ガス空燃比の変化を抑制することができる。第3の発明によれば、特定気筒と他の気筒とを合わせた全体の空燃比が一定に保たれるようにすることで、トルク変動や排気ガス空燃比の変化をより一層抑制することができる。第4の発明によれば、点火順が連続した特定気筒と他の気筒とで燃料噴射量の変化分を相殺することができ、内燃機関の角速度変動を抑制することができる。第5の発明によれば、特定気筒と他の気筒とで燃料噴射量の変化分を相殺することができ、内燃機関の角速度変動を抑制することができる。第6の発明によれば、アルコール濃度推定に用いる情報を得るために燃料噴射量の変更を行うに際し、一の気筒における燃料噴射量の増量または減量リッチ側変化またはリーン側変化の影響を、他の気筒における燃料噴射量の調整によって緩和することができる。その結果、内燃機関全体の空燃比の変動を低減し、トルク変動や排気ガス空燃比の変化を抑制することができる。第7の発明によれば、第1気筒と第2気筒とを合わせた全体の空燃比が一定に保たれるようにすることで、トルク変動や排気ガス空燃比の変化を抑制することができる。第8の発明によれば、第1気筒と第2気筒とで燃料噴射量の変化分を相殺することができ、内燃機関の角速度変動を抑制することができる。第9の発明によれば、1サイクルのなかで点火順が互いに対向する関係にある気筒となるように第1気筒と第2気筒を設定し、この第1気筒および第2気筒について燃料噴射量の変化分を相殺することができ、内燃機関の角速度変動を抑制することができる。第10の発明によれば、点火順が連続した第1気筒と第2気筒とで燃料噴射量の変化分を相殺することができ、内燃機関の角速度変動を抑制することができる。第11の発明によれば、アルコール濃度推定に用いる情報を得るために燃料噴射量の変更を行うに際し、内燃機関全体の空燃比の変動を低減しつつ、複数の情報を効率よく取得することができる。実施の形態1.[実施の形態1のシステム構成]図1は、本発明の実施の形態1にかかる内燃機関燃料のアルコール濃度推定装置の構成を、これが適用される内燃機関の構成とともに示す図である。図1に示すように、本実施形態のシステムは、車両の動力源として用いられる内燃機関2を備えている。内燃機関2は、気筒4を有している。図1では1つの気筒のみが描かれているが、一般的な車両用のエンジンは複数の気筒から構成されている。そのうち少なくとも1つの気筒には筒内圧を測定するための筒内圧センサ16が取り付けられており、本実施形態では好ましい形態として複数の気筒すべてに対してそれぞれ筒内圧センサ16が取り付けられているものとする。本実施形態では、内燃機関2を直列4気筒式の内燃機関であるものとして説明する。ただし、本発明はこれに限られるものではなく、直列6気筒型、V型6気筒型、水平対向気筒型を含め、少なくとも車両用内燃機関において適用される各種の気筒数かつ各種の気筒配列方式の内燃機関に対して本発明を適用することができる。各気筒4にはピストン6が配置されている。ピストン6は、クランク機構を介してクランクシャフトと接続されている。クランクシャフトの近傍には、クランク角センサ8が設けられている。クランク角センサ8は、クランクシャフトの回転角度に応じた出力を発するセンサである。また、内燃機関2にはノックセンサ10が設けられている。気筒4それぞれには、気筒4の燃焼室内に燃料を噴射する筒内直噴インジェクタ12と、燃焼室内の混合気に点火するスパークプラグ14が設けられている。筒内圧センサ16は、燃焼室内の圧力筒内圧に応じた出力を発するセンサであり、CPSCombustionPressureSensorとも称される。各気筒4には、吸気ポートと燃焼室との間を開閉する吸気バルブ18と、排気ポートと燃焼室との間を開閉する排気バルブ20とが設けられている。各気筒4の吸気ポートには吸気通路22が連通している。吸気通路22にはサージタンク24が設けられている。サージタンク24には、吸気圧センサ23が配置されている。サージタンク24の上流には、スロットルバルブ26が配置されている。スロットルバルブ26は、スロットルモータによって開閉駆動される電子制御式スロットルバルブである。吸気通路22におけるスロットルバルブ26のさらに上流には、エアクリーナ21が設けられている。各気筒の排気ポートには排気経路30が連通している。排気経路30の合流部の下流には、排気ガスの空燃比を検出する空燃比センサ32が取り付けられている。空燃比センサ32の下流の排気経路30には、排気ガスを浄化するためのSC触媒34とUF触媒36とが設置されている。本実施の形態1にかかるシステムは演算処理装置40を備えている。内燃機関2の制御を司るエンジンECUElectronicControlUnitが、この演算処理装置40の役割を担ってもよい。演算処理装置40の入力側には、筒内圧センサ16の出力Pc、クランク角センサ8の出力CA、ノックセンサ10の出力KNK、吸気圧センサ23の出力KL、スロットルポジションセンサ、空燃比センサ32等の他、車両運転に係るアクセルポジションセンサ等の各種センサの出力が入力される。また、演算処理装置40の出力側には、前述の筒内直噴インジェクタ12、スパークプラグ14、スロットルモータ等の他、各種アクチュエータが接続されている。演算処理装置40は、各種センサからの入力情報に基づいて所定のプログラムを実行し、各種アクチュエータを作動させる。[実施の形態1の動作]実施の形態1にかかる内燃機関燃料のアルコール濃度推定装置は、次に述べる内容の計算処理を実施することにより、アルコール濃度を推定する。実施の形態1にかかるアルコール濃度推定の基本的な処理の内容は、次のとおりである。まず、内燃機関2の燃料量を、強制的に、複数の点実施の形態1では、ストイキを基準として、リッチ側の1つおよびリーン側の1つへと変更する。この変更した燃料量に相当する発生熱量を、筒内圧センサ16を含む燃焼圧検出装置によって検出する。この変更による、燃料噴射量の変化量および発生熱量の変化量とから、燃料中のアルコール濃度実施の形態1では、特に、エタノール濃度を推定する。この基本的処理内容を実施の形態1のハードウェア上で実行するにあたっては、より具体的には、次の構成としてもよい。まず、予め、基準とする状態における、燃料量の変化と発生熱量の変化との間の関係を、異なるエタノール濃度の燃料について複数個取得しておく。この取得した複数個の燃料量の変化と発生熱量の変化との間の関係を、基準データとして演算処理装置40内のメモリに参照可能に記憶しておく。内燃機関2の運転中その他のアルコール濃度推定実行タイミングが到来したら、アルコール濃度推定処理中において、筒内直噴インジェクタ12の燃料噴射量を所定量変化させ、この所定量変化に応じた燃焼圧筒内圧センサ16の出力から求めた筒内圧を求める。燃焼圧から、発生熱量を算出する。燃料噴射量の所定量変化分と、発生熱量の変化分との関係を表すデータを求める。この求めたデータを、演算処理装置40に記憶済みの上記の基準データとの間で比較し、アルコール濃度の同定を行う。実施の形態1にかかる内燃機関燃料のアルコール濃度推定装置は、上記の基本的処理内容における燃料噴射量の変更を下記のように行う。すなわち、実施の形態1では、内燃機関の燃焼のサイクル毎に、同一の気筒における燃料噴射量の増量と減量とを入れ替える。このような入れ替えに応じて、燃料噴射量を増量した場合リッチ側へ空燃比を変化させた場合と燃料噴射量を減量した場合リーン側へ空燃比を変化させた場合との両方について、燃料噴射量変化に応じた発生熱量の変化量についての量的な測定データを取得する。この取得した両方の測定データを上記の基本的処理内容におけるアルコール濃度推定に利用することによって例えば、それら両方の測定データの平均値を利用することによって、リッチ影響とリーン影響の両方の特性を考慮してアルコール濃度推定を行う。内燃機関は、燃料量燃料噴射量を変化させたときの影響度が、リッチ側への変化とリーン側への変化との間で異なっていることが普通である。仮に、特定の気筒に対して、リッチ側変化とリーン側変化のうち片方のみに基づいてアルコール濃度推定を行うとすると、そのようなリッチ側変化とリーン側変化の影響度の相違を考慮に入れることができない。この点、実施の形態1によれば、リッチ影響とリーン影響の両方の特性を考慮してアルコール濃度推定を行うことができるので、推定精度を向上させることができる。さらに、実施の形態1においては、上記の燃料噴射量の変更の仕方を、空燃比制御という観点からさらに改良することにした。すなわち、実施の形態1では、内燃機関2の全気筒のうち、少なくとも1つの気筒単一の気筒、または一部の複数の気筒についての燃料噴射量を、増量と減量のうち所定方向に変化させる。さらに、実施の形態1では、上記の少なくとも1つの気筒以外の他の気筒についての燃料噴射量を、上記所定方向とは反対の方向に変化させる。具体的には、上記少なくとも1つの気筒の燃料噴射量を増量させた場合には、上記他の気筒の燃料噴射量を減量する。このとき、実施の形態1では、上記の少なくとも1つの気筒と他の気筒は、同じ数であるものとする。例えば、1番乃至4番の4つの気筒のうち、上記の少なくとも1つの気筒を1番気筒とした場合には、上記の他の気筒は、2乃至4番の気筒から選択した1つの気筒である。例えば、1番乃至4番の4つの気筒のうち、上記の少なくとも1つの気筒を1番気筒および2番気筒という2つの気筒とした場合には、上記の他の気筒は、3番気筒および4番気筒という2つの気筒とする。なお、燃料噴射量を増量させたり減量させたりする気筒の数が多いほど、多数のデータを取得することができる。より多数のデータに基づき平均化等を行ってアルコール濃度を推定することにより、さらに精度良くアルコール濃度を推定することができる。個々の内燃機関の具体的構成のばらつき例えば燃焼室容積のばらつきや、エンジン水温のばらつきが燃焼に影響を与えることにより、筒内圧のばらつきが生じる。筒内圧センサの測定結果にこのばらつきが含まれることで、アルコール濃度の推定結果にもその影響が及ぶ。こういった一台ごとの内燃機関のばらつきを考慮に入れないと、推定精度の低下をまねくおそれがある。この点、実施の形態1によれば、各内燃機関において複数の検出データを用いることによって、個々の内燃機関の燃焼に関するより詳しい情報をアルコール濃度推定に算入することができ、そのような各内燃機関の間に存在するばらつきが推定精度にもたらす影響を低減することができる。さらに、実施の形態1においては、上記のように選択した少なくとも1つの気筒および他の気筒についての燃料噴射量の増量または減量に際し、全体の空燃比が一定となるようにバランスを取るという制御を取り入れることにした。ここでいう全体の空燃比とは、内燃機関2についてみた場合には、1番気筒乃至4番気筒までを全体として見た場合の内燃機関2の空燃比を意味している。実施の形態1においては、この全体の空燃比が一定となるように、燃料噴射量を増量した気筒2つ以上の場合は、気筒群と表現できると、燃料噴射量を減量した気筒2つ以上の場合は、気筒群と表現できるとの間で、空燃比のバランスを取る。例えば、全体の空燃比をストイキに保つ場合には、増量気筒の空燃比と減量気筒の空燃比とを含めた全体の空燃比がストイキとなるように、燃料噴射量の増量の程度および減量の程度を定める。エミッション特性の良否は排気通路の触媒の入口における空燃比に影響を受けるので、この触媒入口の空燃比をストイキに保つようにすることが好ましい。この点、実施の形態1によれば、個々の気筒の空燃比を相違させたとしても上述したように全体の空燃比をストイキに保つことができるので、内燃機関2の各気筒から排出されて排気経路30を経て触媒34の入口に至る排気ガスの組成を、良好なエミッション特性を実現するように、所望にコントロールすることができる。もちろん、必要に応じて、全体の空燃比をストイキ以外の所定空燃比に保つように、燃料噴射量の増量の程度および減量の程度を定めても良い。実施の形態1では、上記の場合において、さらに、燃料噴射量変更を行う前の制御空燃比つまり、アルコール濃度推定にかかる制御を開始する前の制御空燃比に対して、アルコール濃度推定にかかる燃料噴射量制御中の全体の空燃比を一致させるものとする。これにより、実施の形態1にかかるアルコール濃度推定を実行する前と実行を開始した後とで空燃比を同じ値に制御することができる。その結果、空燃比の変化に伴うエミッション悪化を抑制することができる。さらに、実施の形態1では、上記の全体の空燃比の一致を行うことによって、燃料噴射量すなわち燃料消費量についても、ベースの値あるいは、アルコール濃度推定にかかる制御を開始する前の制御空燃比に応じた燃料噴射量から変化させないようにする。つまり、燃料噴射量の増量分と減量分とを相殺する。このようにすることで、実施の形態1にかかるアルコール濃度推定の上記制御を開始する前後に渡って、消費燃料を同じ量に保つことができる。これにより発生トルクの変化を抑制し、ドライバビリティ悪化を抑制することができる。実施の形態1にかかるアルコール濃度推定装置で実施される上記の燃料噴射量変更は、運転者の意図或いはアクセルペダル開度等とは関係なく燃料噴射量を変更するものではあるが、通常状態実施の形態1の燃料噴射量変更をしない状態と比べてトータルの燃料消費量を同量にすることができる。従って、運転者の意図とは関係なく行われる強制的な制御ではあるものの、通常状態との相違を小さくすることができ、ドライバビリティの悪化を抑制することができる。[実施の形態1の具体的処理]図2は、本発明の実施の形態1にかかる内燃機関燃料のアルコール濃度推定装置において演算処理装置40が実行するルーチンのフローチャートである。図2に示すルーチンでは、先ず、演算処理装置40が、E濃度エタノール濃度検出条件が成立しているか否かを判定する処理を実行するステップS100。このステップにより、内燃機関2およびこれが搭載された車両の運転状態が安定しており、実施の形態1にかかる空燃比変更燃料噴射量変更を行ったときにそのばらつきを十分に少なくできる状態にあるかどうかが判定される。具体的には、演算処理装置40が、エンジン回転速度、エンジン負荷率、車速、およびそれらの変化率定常判定等に利用などを各種センサ値から取得し、これらの値に基づいて予め定めた運転状態の範囲内に該当するかどうかを判定する処理を実行する。このステップの条件が成立しない場合には、今回のルーチンが終了する。ステップS100の条件が成立した場合には、演算処理装置40が、基本条件の発熱量を把握するための処理を実行するステップS102。このステップでは、内燃機関2の筒内圧力を筒内圧センサ16で検出し、発生熱量を計算する。この検出および計算を気筒毎に実施の形態1では1番気筒から4番気筒までそれぞれ行い、基本データを収集する。この基本データは、後ほどステップS112の処理において利用される。続いて、演算処理装置40が、等回転で、気筒Aの燃料量を所定値a1に、気筒Bの燃料量を所定値b1に変更する処理を実行するステップS104。この気筒A気筒Bは、それぞれ、演算処理装置40側で気筒を識別するために便宜上導入した気筒識別データである。気筒A気筒Bに何番の気筒を設定するかに応じて、図2のルーチンにおける燃料噴射量変更制御の対象となる気筒を変更することができる。実施の形態1では、気筒Aを1番気筒とし、気筒Bを4番気筒とする。このステップにおいて、演算処理装置40が、気筒A1番気筒の燃料噴射量を基本値基準となる燃料噴射量から所定の割合所定値a1、所定値b1だけ変化させる。所定値a1は、基準となる燃料噴射量ステップS102における燃料噴射量に、所定増量分を加えた燃料噴射量である。所定値b1は、所定値a1における所定増量分を、基準となる燃料噴射量からマイナスにした減量したことにより求めた燃料噴射量である。従って、所定値a1と所定値b1は、基準となる燃料噴射量に対して、ちょうど同等量を反対の増減方向に変化させた燃料噴射量に相当している。つまり、b1はマイナスa1の値に相当する。実施の形態1では、所定値a1は、基本値を10増加させた値に設定する。これに応じて、所定値b1は、基本値を10減量つまり基本値からマイナス10した値に設定する。次に、演算処理装置40が、気筒Aの所定値a1に応じた燃焼および気筒Bの所定値b1に応じた燃焼について、発生熱量を把握する処理を実行するステップS106。このステップでは、演算処理装置40が、ステップS104における2つの燃料噴射量変更に応じて、筒内圧センサ16の出力に基づいて筒内圧を検出し、その検出値に基づいて発生熱量を計算する。次に、演算処理装置40が、等回転で気筒Aの燃料量を所定値a2に、気筒Bの燃料量を所定値b2に変更する処理を実行するステップS108。このステップにおいて、演算処理装置40が、気筒A1番気筒の燃料噴射量を基本値基準となる燃料噴射量から所定の割合所定値a2、所定値b2だけ変化させる。ステップS104のときと同様に、気筒Aは1番気筒であり、気筒Bは4番気筒である。また、実施の形態1では、所定値a2は、基本値を20増加させた値に設定する。これに応じて、所定値b1は、基本値を20減量つまり基本値からマイナス20した値に設定する。次に、演算処理装置40が、気筒Aの所定値a2に応じた燃焼および気筒Bの所定値b2に応じた燃焼について、発生熱量を把握する処理を実行するステップS110。このステップでは、演算処理装置40が、ステップS108における2つの燃料噴射量変更に応じて、筒内圧センサ16の出力に基づいて筒内圧を検出し、その検出値に基づいて発生熱量を計算する。次に、演算処理装置40が、基本条件での発生熱量と所定値a1、a2、b1、b2に基づく平均の発生熱量との差分を求める処理を実行するステップS112。このステップでの計算には、ステップS106で求めた所定値a1に応じた発生熱量および所定値b1に応じた発生熱量、並びにステップS110で求めた所定値a2に応じた発生熱量および所定値b2に応じた発生熱量が用いられる。これらの各発生熱量は、基本条件における発生熱量ステップS102で求めた発生熱量との間に、それぞれ異なる大きさの差分を有している。このステップでは、演算処理装置40がこれらの各差分を計算し、4つの差分値所定値a1の発生熱量と基本条件の発生熱量との差分、所定値a2の発生熱量と基本条件の発生熱量との差分、所定値b1の発生熱量と基本条件の発生熱量との差分、所定値b2の発生熱量と基本条件の発生熱量との差分を計算する。次に、このステップでは、増量側所定値a1、a2についての2つの差分値と減量側所定値b1、b2についての2つの差分値とについて差分をそれぞれ平均し、増量側と減量側とで別々に基本条件と燃料噴射量変更後との間の発生熱量差を計算する。このようにして、気筒毎に求めた差分を平均して、その平均値と基本条件との差を計算する。このように増量側と減量側とで別々に計算を行う理由は、燃料噴射量変化に応じた発生熱量への影響度が増量側と減量側とで異なるからである。次に、演算処理装置40は、ステップS112で求めた燃料量変化分と発生熱量変化分との関係により、エタノール濃度を推定する処理を実行するステップS114。このステップでは、ステップS112で求めた基本条件と燃料噴射量変更後との間の発生熱量の差が指し示す基本条件からの燃料量変化に応じた、発生熱量の変化の特性を、演算処理装置40に記憶させておいた基準データを用いて比較対照することによりエタノール濃度を推定同定する処理を、演算処理装置40が実行する。比較対照に用いるこの基準データは、所定エンジン条件等回転速度などについて予め作成し、演算処理装置40に記憶しておいたデータである。その後、今回のルーチンが終了する。以上説明した処理によれば、リッチ影響とリーン影響の両方の特性を考慮してアルコール濃度推定を行うことができるので、推定精度を向上させることができる。なお、上述した実施の形態1の具体的処理では、気筒Aについて燃料噴射量を増量し、気筒Bについて燃料噴射量を減量した。しかしながら、本発明はこれに限られるものではない。リッチ影響とリーン影響の両方の特性を考慮するという点に鑑みれば、1つの気筒例えば1番気筒または気筒群1番気筒他の1以上の気筒について、ある燃焼サイクルではリッチ影響を検出し、その後の燃焼サイクルでリーン影響を検出する、という構成としてもよい。つまり、サイクル毎に同一気筒の燃料の増減を交互に入れ替えるという構成としても良い。実施の形態2.本発明の実施の形態2にかかる内燃機関燃料のアルコール濃度推定装置は、実施の形態1にかかる内燃機関燃料のアルコール濃度推定装置と同様のハードウェア構成システム構成を有している。すなわち、本発明の実施の形態2にかかる内燃機関燃料のアルコール濃度推定装置は、実施の形態1と同様に、直列4気筒型の内燃機関2に対して、吸気系の構成、排気系の構成、各種センサおよび演算処理装置40が備えられたシステム構成に対して適用される。以下、重複を避けるために、実施の形態1で述べた構成と同一あるいは相当する構成には同じ符号を付し、適宜に説明を省略ないしは簡略化する。[実施の形態2にかかる燃料噴射量変更パターンのバリエーション]実施の形態2によれば、実施の形態1にかかるアルコール濃度推定装置において、複数の気筒のそれぞれについて燃料噴射量の変更増減をどのように行うかについての具体的形態が提供される。図3は、本発明の実施の形態2にかかる内燃機関燃料のアルコール濃度推定装置に適用される、気筒毎の燃料噴射量の増減のパターン例を示す図である。なお、実施の形態2にかかる内燃機関2の点火順は、1番気筒→3番気筒→4番気筒→2番気筒→1番気筒の順番とする。図3aには、1番気筒1から4番気筒4までの全気筒の燃料噴射量を、基準となる燃料噴射量に一致させた状態を示している。図3bからhまでのそれぞれは、各気筒において燃料噴射量を増量または減量した状態の様々なパターンを示している。図3bには、1番気筒について燃料噴射量を減量しあるいは空燃比をリーン側変化させ、他の気筒2番乃至4番気筒については、燃料噴射量を増量あるいは空燃比をリッチ側変化させた状態を示している。図3において、2番乃至4番気筒における燃料噴射量の増量の度合は、1番気筒における燃料噴射量の減量の度合に比して、少なく設定されている。つまり、基準燃料噴射量に対する偏差が、1番気筒のほうが相対的に大きく、2番乃至4番気筒のほうが相対的に小さく設定されている。とくに、図3bにおいては、1番気筒におけるリーン側への空燃比変化を残りの3つの気筒におけるリッチ側への空燃比変化によって平均的に相殺し、全体の空燃比を図3aの場合と同等にするように、各気筒の増量分と減量分の関係が設定されている。図3cは、図3bとは増量と減量の関係を逆にしたパターンを示している。図3dは、4つの気筒のうち2つの気筒の燃料噴射量を変化させ、残りの2つの気筒は基準の燃料噴射量のままに設定したパターンを示している。図3dでは、1番気筒の燃料噴射量が減量され、4番気筒の燃料噴射量が増量されており、その減量と増量は同程度の大きさに設定されている。実施の形態2においては、このようなパターンにおいて順番に噴射量変化気筒を変えていく。具体的には、実施の形態2にかかる図3dのパターンにおいては、1番気筒リーン側変化および4番気筒リッチ側変化のペア、3番気筒リーン側変化および2番気筒リッチ側変化のペア、4番気筒リーン側変化および1番気筒リッチ側変化のペア、2番気筒リーン側変化および3番気筒リッチ側変化のペア、の順に、燃料噴射量変更の対象とする気筒と噴射量増減の方向とを切り換えてゆく。図3eは、図3dとは増量と減量の関係を逆にしたパターンを示している。図3fは、複数の気筒からなる気筒群を複数個設定し、この複数の気筒群について、一方の気筒群の燃料噴射量と他方の気筒群の燃料噴射量とを反対の増減方向に変化させたパターンを示している。図3fでは、一方の気筒群1番気筒および4番気筒において燃料噴射量の減量が、他方の気筒群2番気筒および3番気筒において燃料噴射量の増量が、それぞれ行われている。実施の形態2においては、このようなパターンにおいて順番に噴射量変化気筒を変えていく。具体的には、実施の形態2かかる図3fのパターンにおいては、点火順1番気筒→3番気筒→4番気筒→2番気筒のなかの2つおきのリーンリッチ組合せとなり、リッチ気筒やリーン気筒が連続しないようにする。つまり、図3fのパターンは、1番気筒リーン側変化→3番気筒リッチ側変化→4番気筒リーン側変化→2番気筒リッチ側変化というように、リーン側変化噴射量減量とリッチ側変化噴射量増量とが交互に実施されるパターンである。図3gは、図3fとは増量と減量の関係を逆にしたパターンを示している。上記の図3d乃至gにかかるパターンによれば、アルコール濃度推定に用いる情報を得るために燃料噴射量の変更を行うに際し、内燃機関2全体の空燃比の変動を低減し、トルク変動や排気ガス空燃比の変化を抑制することができる。これにより、内燃機関2の角速度変動を抑制できるという利点が得られる。図3hは、4つの気筒全てについて、燃料噴射量を同一の方向に変化させたパターンを示している。図3hでは、1番乃至4番気筒の全てにおいて、燃料噴射量の増量が、それぞれ行われている。このパターンは、発生熱量変化を調査することのみを目的とした場合の燃料噴射量パターンである。図3hのパターンでは、上記の図3b乃至gと比べて、トルク変化、空燃比変化が大きく発生する。なお、図示しないが、図3hの対称パターンとして、1番乃至4番気筒の全てにおいて、燃料噴射量の減量を行うパターンもある。図3hのパターンと、図3hの対称パターン逆のパターンとをサイクル単位で切り換えて実施の形態1にかかるアルコール濃度推定を行っても良く、必要に応じてその2つのパターンを交互に繰り返してもよい。[実施の形態2の動作]以下、実施の形態2にかかる内燃機関燃料のアルコール濃度推定装置において行われる燃料噴射量変更動作の好ましい形態を、上記の図3で示した燃料噴射量変更のバリエーションの用い方とともに説明する。2-1実施の形態2にかかる一つの形態は、図3b、cで示した1つの気筒の噴射量増減と当該1つの気筒の噴射量増減分を平均的に相殺するような、他の複数の気筒の噴射量増減とを行うパターンを利用するものである。増量や減量を行う気筒図3bcでは1番気筒を点火順に切り換えていくことにより、全気筒に対して、図3bcの1番気筒のごとく燃料噴射量の増量と減量を行う。そのような燃料噴射量の増量と減量を行っていく過程で、増量に応じた筒内圧データおよび減量に応じた筒内圧データをそれぞれ取得していくことにより、実施の形態1で説明したアルコール濃度推定手法において用いるための燃料量変化に応じた発生熱量の変化量を取得する。なお、同一の気筒に対する燃料噴射量の増減のタイミングは、交互でも、全気筒実施後でもよい。交互とは、1つの気筒について燃料噴射量の増量を行った後、その1つの気筒について続けて燃料噴射量の減量を行うというように、各気筒について増量と減量を交互に適用していくことにより、複数の気筒に対して1つの気筒ずつ筒内圧データ収集を済ませていく進め方のことを差しており、具体的には次のイ~への形態である。イ図3bのように、1番気筒について減量を行い、2番~4番気筒は増量を行う。ロ次に、図3cのように、1番気筒について増量を行い、2番~4番気筒は減量を行う。つまり、上記のイの場合と反対基準の燃料噴射量に対して対称のパターンで、燃料噴射量の変更を行う。これにより、1番気筒についての燃料噴射量の増減が完了する。ハ1番気筒についての燃料噴射量の増減が完了したため、次に、点火順が次の順番の気筒3番気筒に対して、図3bの1番気筒と同様の減量を行う。このとき、1番、2番および4番気筒に対しては、図3bの2番乃至4番気筒に対して行ったのと同様の増量を行う。ニさらに、3番気筒に対して、図3cの1番気筒と同様の減量を行う。このとき、1番、2番および4番気筒に対しては、図3bの2番乃至4番気筒に対して行ったのと同様の増量を行う。これにより、3番気筒についての燃料噴射量の増減が完了する。ホ次に、3番気筒の次に点火順の気筒である4番気筒に対して、上記のイロで1番気筒に対して適用し上記のロハで3番気筒に対して適用したのと同様に、燃料噴射量の増量と減量を行う。これに応じて、4番気筒以外の他の気筒は、4番気筒の燃料噴射量の増量や減量を平均的に相殺するための燃料噴射量変更を行う。へ次に、4番気筒の次に点火順の気筒である2番気筒に対して、上記のイ乃至ホで1番、3番、4番気筒に対して順次適用してきたのと同様に、燃料噴射量の増量と減量を行う。これに応じて、2番気筒以外の他の気筒は、2番気筒の燃料噴射量の増量や減量を平均的に相殺するための燃料噴射量変更を行う。一方、全気筒実施後とは、上記の交互とは異なり、増量に応じた筒内圧データ取得が全気筒について実施された後、減量に応じた筒内圧データ取得が全気筒について実施されるという形態である。上記の燃料噴射量変更方法によれば、気筒間における燃料量の変化の差分を小さくすることができ、変化の周期を長くできるため、角速度変動回転変動が少なくなり、ドライバビリティ悪化を少なくすることができる。また、排気ガスの変化の偏りを少なくでき変動が安定し、空燃比が安定し、エミッション悪化を抑制することができる。なお、上記の交互と全気筒実施のうち、交互のほうがより好ましい形態である。2-2実施の形態2にかかる他の形態は、図3deに示した1つの気筒の噴射量増減と他の1つの気筒の噴射量増減とを行うパターンを、増量や減量を行う気筒を点火順に切り換えていき、全気筒に対して燃料噴射量の増量と減量を行うものである。これにより、燃料噴射量の増減による空燃比変化を1気筒おきに生じさせることができ、角速度変動を小さくすることができる。また、1つのサイクルにおいて1つの気筒の増量と他の1つの気筒の減量とを行うことができる。その結果、各気筒についてリッチ側変化とリーン側変化の双方についての筒内圧測定データを取得する場合に、1つのサイクルについて2つずつ筒内圧測定データを取得していくことができるため、アルコール濃度推定に用いるための発生熱量データの検出にかかる時間を短くすることができる。速やかにデータ収集を完了することで、強制的な燃料噴射量変更を実施する期間を短くできその影響を受ける期間を減らすことができる。2-3実施の形態2にかかる更に他の形態は、図3fgに示した複数の気筒からなる気筒群を複数個設定し、この複数の気筒群について、一方の気筒群の燃料噴射量と他方の気筒群の燃料噴射量とを反対の増減方向に変化させたパターンを利用するものである。この形態は、上記の2-2にかかる燃料噴射量変更方法を、複数個の気筒について同時に行っていく形態に相当している。これにより、全気筒の筒内圧データを取得する時間を短くすることができ、効率的なデータ収集が可能である。この2-3にかかる形態は、4気筒の場合に限られるものではない。例えば6気筒V型内燃機関ではバンク毎に1気筒ずつ、例えば8気筒V型内燃機関ではバンク毎に2気筒ずつ、それぞれ、上記の2-2にかかる燃料噴射量変更方法を用いることができる。なお、上記の2-1、2-2および2-3にかかる手法に共通する効果としては、全気筒の筒内圧データを取得して、そのデータに基づく発生熱量をアルコール濃度推定に用いることができるため、各気筒の偏りばらつきの影響を抑制して、精度良くアルコール濃度を推定することができる。[実施の形態2の具体的処理]図4は、実施の形態1において演算処理装置40が実行するルーチンのフローチャートである。図4に示すルーチンでは、先ず、演算処理装置40が、E濃度エタノール濃度検出条件が成立しているか否かを判定する処理を実行するステップS200。このステップでは、図2におけるステップS100と同様のルーチンが実行されるものとする。このステップの条件が成立しない場合には、今回のルーチンが終了し、処理がリターンする。ステップS200の条件が成立した場合には、演算処理装置40が、基本条件の発熱量を把握するための処理を実行するステップS202。このステップでは、図2のルーチンのステップS102と同様に、この検出および計算を気筒毎に実施の形態1では1番気筒から4番気筒までそれぞれ行い、基本データを収集する。基本データの収集にあたっては、図3aに示すように、全気筒の燃料噴射量を同一の値に保った状態で、各気筒について筒内圧センサ16の出力値取得、発生熱量計算を行うことができる。この基本データは、後ほどステップS212の処理において利用される。次に、演算処理装置40が、CylinderNoEの条件が成立しているか否かの判定処理を実行するステップS204。このステップでは、現時点において、本ルーチンのために予め用意した識別データであるCylinderNoの値として、Eが設定されているか否かが判定される。図4のルーチンにおいては、CylinderNoには、1、2、3、4およびEのいずれかの値が設定されている。このステップの条件が成立している場合には、実施の形態2にかかる燃料噴射量変更制御は実施されず、今回のルーチンが終了し、処理がリターンする。ステップS204の条件が成立していない場合には、演算処理装置40は、CylinderNoに応じた番号の気筒を燃料噴射量変更制御の対象気筒として設定する処理を実行するステップS206。前のステップで述べたように、CylinderNoには、1、2、3、4およびEのいずれかの値が設定されている。本実施形態では、このCylinderNoの内容を、燃料噴射量変更制御の対象気筒を特定するための情報として利用するものとする。以下、便宜上、現時点で、CylinderNo1であるものとして説明を進める。本ステップにおいて、CylinderNo1に応じて、気筒Aとして1番気筒が設定される。また、本実施形態では、好ましい実施形態として、気筒Bを1番気筒の対向気筒本実施形態では、4番気筒がこれに当たるに設定する。なお、この気筒Aおよび気筒Bは、実施の形態1にかかる具体的処理において説明したように、それぞれ、演算処理装置40側で気筒を識別するために便宜上導入した気筒識別データである。図4のルーチンにおいても、図2のルーチンと同様、気筒A気筒Bに何番の気筒を設定するかに応じて燃料噴射量変更制御の対象となる気筒を変更することができるものとする。上記のように、本実施形態では、好ましい実施形態として、気筒Bを1番気筒の点火順についての対向気筒である4番気筒に設定する。ここでいう点火順についての対向気筒以下、単に対向気筒とも称すとは、1サイクルの中で物理的に点火順が対向する位置にある気筒を意味しており、4サイクルエンジン4ストロークエンジンの場合はクランク角2回転=720°CAの中で物理的に点火順が対向する位置にある気筒を指している。具体的には、例えば4気筒内燃機関において点火順が1番気筒→3番気筒→4番気筒→2番気筒である場合には、720°CAの1サイクル中で、1番気筒の点火時期と4番気筒の点火時期とが互いに対向している。さらに、720°CAの1サイクル中で、3番気筒の点火時期と2番気筒の点火時期も互いに対向している。従って、この場合には、1番気筒と4番気筒が対向気筒の関係にあり、2番気筒と3番気筒が対向気筒の関係にある。また、例えば6気筒内燃機関において点火順が1番気筒→2番気筒→3番気筒→4番気筒→5番気筒→6番気筒である場合には、1番気筒と4番気筒が対向気筒の関係にあり、2番気筒と5番気筒が対向気筒の関係にあり、3番気筒と6番気筒が対向気筒の関係にある。その後、実施の形態1における図2のルーチンのステップS104乃至S110の処理が実行される。ステップS110の処理が終了した後、次に、演算処理装置40は、1番気筒についてのデータ検出発生熱量計算のための筒内圧データ取得が済んでいるか否かを判定する処理を実行するステップS216。このステップでは、1番気筒が本ルーチンにおける燃料噴射量変更制御の対象気筒として設定済みであるか否かが判定される。このステップの条件の成立が認められない場合には、CylinderNoに1がセットされてステップS218、今回のルーチンが終了し、処理がリターンする。ステップS216の条件が成立している場合には、演算処理装置40は、1番および3番気筒についてのデータ検出が済んでいるか否かを判定する処理を実行するステップS220。このステップでは、1番気筒につづけて、3番気筒が本ルーチンにおける燃料噴射量変更制御の対象気筒として設定済みであるか否かが判定される。このステップの条件の成立が認められない場合には、CylinderNoに3がセットされて、今回のルーチンが終了し、処理がリターンする。ステップS216の条件が成立している場合には、演算処理装置40は、1番および3番気筒についてのデータ検出が済んでいるか否かを判定する処理を実行するステップS220。このステップでは、1番気筒につづけて、3番気筒が本ルーチンにおける燃料噴射量変更制御の対象気筒として設定済みであるか否かが判定される。このステップの条件の成立が認められない場合には、CylinderNoに3がセットされてステップS222、今回のルーチンが終了し、処理がリターンする。ステップS220の条件が成立している場合には、演算処理装置40は、1番、3番および4番気筒についてのデータ検出が済んでいるか否かを判定する処理を実行するステップS230。このステップでは、1番気筒、3番気筒につづけて、4番気筒が本ルーチンにおける燃料噴射量変更制御の対象気筒として設定済みであるか否かが判定される。このステップの条件の成立が認められない場合には、CylinderNoに4がセットされてステップS232、今回のルーチンが終了する。ステップS230の条件が成立している場合には、演算処理装置40は、1番、3番、4番および2番気筒についてのデータ検出が済んでいるか否かを判定する処理を実行するステップS220。このステップでは、1番、3番および4番気筒につづけて、2番気筒が本ルーチンにおける燃料噴射量変更制御の対象気筒として設定済みであるか否かが判定される。このステップの条件の成立が認められない場合には、CylinderNoに2がセットされてステップS242、今回のルーチンが終了する。ステップS240の条件が成立している場合には、CylinderNoにEがセットされるステップS242。この時点で、内燃機関2の全気筒4つの気筒に対して、燃料噴射量変更に応じた筒内圧測定データ取得が完了したことになる。その後、実施の形態1における図2のルーチンのステップS112およびS114の処理が実行され、各気筒についての発生熱量等を利用したエタノール濃度推定が行われる。以上の処理によれば、実施の形態1にかかるエタノール濃度推定処理を、複数の気筒について、点火順に、順次適用していくことができる。これにより、全気筒についての発生熱量等の情報に基づいて、精度良くアルコール濃度を推定することができる。また、実施の形態2によれば、前述した図3の燃料噴射パターンを利用して、アルコール濃度推定に用いる情報を得るために燃料噴射量の変更を行うに際し、内燃機関2全体の空燃比の変動を低減し、トルク変動や排気ガス空燃比の変化を抑制することができる。