シリンダ内の吸気密度を検出するシリンダ内吸気密度検出手段と、シリンダ容積と前記シリンダ内の吸気密度を用いて前記シリンダ内に収まるシリンダトラップ吸入空気量を算出するシリンダトラップ吸入空気量算出手段と、前記シリンダの上流側における空気の質量流量を検出する質量流量検出手段と、前記質量流量検出手段で検出した吸入空気量と前記シリンダトラップ吸入空気量との差を、吸気通路から排気通路への新気の吹き抜け量である推定掃気量と推定する推定掃気量算出手段と、を有することを特徴とする内燃機関。当該内燃機関のシリンダ内での燃焼に寄与する空気が導入されるシリンダ実効容積を算出するシリンダ実効容積算出手段を有し、前記シリンダ容積は、前記シリンダ実効容積算出手段で算出されたシリンダ実効容積であることを特徴とする請求項1に記載の内燃機関。吸気通路から排気通路への新気の吹き抜け量の多寡によって影響を受ける当該内燃機関の制御量を補正する際に用いる基本掃気量を算出する基本掃気量算出手段を有し、基本掃気量算出手段は、吸気弁と排気弁の双方が開弁するバルブオーバーラップ期間と吸気マニホールド内の吸気圧の関係から基本掃気量を算出するものであって、前記推定掃気量算出手段で算出された推定掃気量が、前記基本掃気量算出手段で算出された基本掃気量に対して一定以上の定常偏差を生じた場合に、前記基本掃気量の値に異常があると判定することを特徴とする請求項1または2に記載の内燃機関。機関弁のバルブタイミングを可変する可変動弁機構を有し、前記推定掃気量が前記基本掃気量に対して一定以上の定常偏差を生じた場合には、吸気弁と排気弁の双方が開弁するバルブオーバーラップ期間が予め設定された所定期間よりも長くならないように、前記可変動弁機構による機関弁のバルブタイミングが制御されることを特徴とする請求項3に記載の内燃機関。前記推定掃気量が前記基本掃気量よりも予め設定された所定値以上大きい場合には、当該内燃機関の空燃比をリーン側に補正することを特徴とする請求項3に記載の内燃機関。所定の学習許可条件が成立すると、前記基本掃気量に対する前記推定掃気量の偏差をそのときの運転状態と関連づけて学習値として記憶し、吸気通路から排気通路への新気の吹き抜け量の多寡によって影響を受ける当該内燃機関の制御量を前記学習値を用いて補正することを特徴とする請求項4に記載の内燃機関。しかしながら、排気通路の酸素濃度を用いて吸気通路から排気通路への新気の吹き抜け量を推定する場合、燃料噴射量によっても排気通路の酸素濃度は変化してしまうことや、吹き抜けた新気と、燃料リッチな排気ガスが排気通路内で後燃えして酸素濃度が変化してしまうことから、必ずしも常に精度良く新気の吹き抜け量を推定することができないという問題がある。そこで、本発明の内燃機関は、質量流量検出手段で検出した吸入空気量と、シリンダ容積とシリンダ内の吸気密度を用いて算出されたシリンダトラップ吸入空気量との差を、吸気通路から排気通路への新気の吹き抜け量である推定掃気量と推定することを特徴としている。本発明によれば、排気通路に吹き抜けていく新気の吹き抜け量を、質量流量検出手段による実測値を用いて、間接的にではあっても計測することが可能となり、燃料噴射量や排気通路内での排気ガスの後燃えの影響を受けることなく、新気の吹き抜け量を推定することができる。以下、本発明の一実施形態を図面に基づいて詳細に説明する。図1は、この発明が適用された直列4気筒の内燃機関1の全体的構成を示している。この内燃機関1は、燃料噴射弁2によって燃焼室を構成するシリンダ3内に直接燃料を噴射する筒内直接噴射式である。各シリンダ3は、吸気弁図示せず及び吸気ポート図示せずを介して吸気マニホールド4に接続されていると共に、排気弁図示せず及び排気ポート図示せずを介して排気マニホールド5に接続されている。本実施形態においては、吸気弁側の動弁機構として、吸気弁のバルブリフト特性を変更する可変動弁機構6が設けられている。この可変動弁機構6は、周知のようにクランクシャフトに対するカムシャフトの位相を変化させる位相可変機構VTCであり、吸気弁を開閉する吸気カムシャフト図示せずの一端に設けられ、クランクシャフト図示せずに対する吸気カムシャフトの相対位相角である変換角を変更することで、吸気弁の開閉時期を変更するものである。尚、可変動弁機構としては、吸気弁と排気弁のいずれもが開弁したオーバーラップ期間が生ずるように、吸気弁閉時期IVCが変化させるものであればよく、例えば、吸気弁の作動角を変化させるものを適用することも可能である。また、排気弁側にも同様の可変動弁機構を設けて、吸気弁及び排気弁のバルブタイミングを可変制御するようにしてもよい。吸気マニホールド4に接続された吸気通路7には、スロットル弁8が設けられていると共に、その上流側には空気の質量流量を検出する質量流量検出手段としてのエアフローメータ9が設けられている。エアフローメータ9は、温度センサを内蔵するものであって、吸気温度を検出可能となっている。排気マニホールド5に接続された排気通路10には、排気浄化用として、三元触媒等の排気触媒11が設けられている。また、この内燃機関1は、吸気通路7に配置されたコンプレッサ13と排気通路10に配置されたタービン14とを同軸状に備えたターボ過給機12を有している。コンプレッサ13は、スロットル弁8よりも上流側で、エアフローメータ9よりも下流側の位置している。タービン14は、排気マニホールド5よりも下流側で、排気触媒11よりも上流側に位置している。吸気通路7には、リサーキュレーション通路15が接続されている。リサーキュレーション通路15は、一端がエアフローメータ9よりも下流側となりコンプレッサ13よりも上流側となる位置で、他端がコンプレッサ13よりも下流側となりスロットル弁8よりも上流側となる位置で、それぞれ吸気通路7に接続されている。このリサーキュレーション通路15には、スロットル弁8上流側の吸気圧と吸気マニホールド4内の吸気圧との差圧が所定値以上になったときに開弁するリサーキュレーション弁16が介装されている。また、吸気通路7には、コンプレッサ13よりも下流側に、図示せぬインタークーラが設けられている。このインタークーラは、リサーキュレーション通路15の他端が接続された位置よりも上流側に位置している。コントロールユニット20には、上述したエアフローメータ9の検出信号のほか、クランクシャフトのクランク角を検出するクランク角センサ21、スロットル弁8の開度を検出するスロットルセンサ22、吸気マニホールド4内の吸気圧を検出する吸気圧センサ23、吸気マニホールド4内の吸気温を検出する吸気温センサ24、吸気弁の開閉時期に対応する吸気カムシャフトの位相変換角を検出する吸気カム角センサ25、タービン14上流側の排気温度を検出する排気温度センサ26、排気通路10における排気触媒11の上流側の酸素濃度を検出する空燃比センサ27、アクセルペダルの踏込量を検出するアクセル開度センサ28、大気圧を検出する大気圧センサ29等のセンサ類の検出信号が入力されている。そして、コントロールユニット20は、これらの検出信号に基づいて、内燃機関1の点火時期、バルブタイミング、空燃比等の制御を実施すると共に、可変動弁機構6により吸気弁と排気弁のバルブオーバラップが設定される運転状態においては、吸気通路7から排気通路10への新気の吹き抜け量を推定して、エアフローメータ9で検出された吸入空気量に基づいて算出される燃料噴射量を補正する。バルブオーバラップがある場合、エアフローメータ9で検出された吸入空気量の一部は新気の吹き抜け量として排気通路10に流れてしまうため、新気の吹き抜け量を考慮して燃料噴射量を設定しないと、必要以上の燃料が噴射されることになり、燃料の燃え残りが後燃えして排気触媒11に悪影響をおよぼす虞がある。吸気圧とバルブオーバーラップ量の関係から、過渡時及び定常時の双方で新気の吹き抜け量は推定可能である。従って、基本的には、新気の吹き抜け量を、吸気圧、機関回転速度、バルブオーバーラップ量等を用いて推定するが、吸気圧を検出する吸気圧センサ23や、バルブオーバーラップ量を算出する際に用いる変換角を検出する吸気カム角センサ25が故障した場合や、これらのセンサの値が実際の値に対してずれている場合には、新気の吹き抜け量を正確に推定できなくなる。そこで、新気の吹き抜け量を推定するにあたって、吸気圧、機関回転速度、バルブオーバーラップ量等を用いて推定した基本掃気量とは別に、エアフローメータ9で検出した吸入空気量を用いて推定掃気量を推定すると共に、定常時においてはこの推定掃気量と基本掃気量を比較してシステムの故障判定を実施する。尚、エアフローメータ9で検出される吸入空気量は、過渡時においては応答遅れが生じるため、実際に流れている吸入空気量に追従しきれない虞がある。そこで、定常時において、エアフローメータ9で検出した吸入空気量を用いて推定された推定掃気量を利用する。図2は、基本掃気量を算出する際に用いる掃気率の演算内容を示すブロック図である。S1では、コレクタ圧力から排気圧力を減算し、それに過渡排気圧力変動を加算して排気弁前後差圧を算出する。尚、定常状態であれば、過渡排気圧力変動の算出は不要である。ここで、コレクタ圧は、吸気圧センサ23で検出された吸気マニホールド4内の吸気圧である。排気圧力は、例えば、排気温度センサ26の検出値とエアフローメータ9の検出値を用いて算出される。過渡排気圧力変動は、過渡運転時における排気圧力変動量であり、エアフローメータ9の検出値と、スロットルセンサ22の検出値を用いて算出される。S2では、機関回転速度、バルブオーバラップ量及び排気弁前後差圧に基づき、予め設定されたマップを用いて、掃気率を算出する。基本掃気量は、S2で算出された掃気率にエアフローメータ9の検出値を乗じることで算出される。機関回転速度は、クランク角センサ21の検出値に基づいて算出される。バルブオーバラップ量は、内燃機関1の運転状態吸気圧、機関回転速度、燃料噴射量等に応じて決まる掃気量上限値に基づいて決定される値であり、内燃機関1の仕様に応じて、掃気量上限値とバルブオーバーラップ量との関係を予め求めておくことで設定することができる。また、S2で用いるマップは、図2に示すように、縦軸が排気弁前後差圧、横軸がバルブオーバーラップ量となっており、コントロールユニット20はこのマップを機関回転速度ごとに複数記憶している。図3は、推定掃気量の演算内容を示すブロック図である。S11では、シリンダ容積にシリンダ内吸気密度を乗じてシリンダ内空気質量を算出する。シリンダ容積は、内燃機関1を運転するに当たってシリンダ3の中での燃焼に寄与する空気が導入されるシリンダ実効容積としている。このシリンダ実効容積は、吸気弁と排気弁のバルブオーバラップ量期間や内燃機関の機関回転速度等から推定されるシリンダ3内の残留ガス量内部EGRを、吸気弁閉時期のシリンダ容量から差し引いた値である。シリンダ内吸気密度は、吸気圧センサ23の検出値と、吸気温センサ24の検出値を用いて算出される。S12では、S11で算出されたシリンダ内空気質量と、機関回転速度と、回転当たりの吸気シリンダ数を用いてシリンダトラップ吸入空気量を算出する。シリンダトラップ吸入空気量は、シリンダ3内に留まって燃焼に寄与するする空気の量でる。S13では、エアフローメータ9で検出された吸入空気量から、S12で算出されたシリンダトラップ吸入空気量を差し引いた値を推定掃気量として算出する。吸気通路7から排気通路10への新気の吹き抜け量がない場合には、エアフローメータ9で検出された吸入空気量とシリンダトラップ吸入空気量とは同じ値となる。この図3に示したように新気の吹き抜け量である掃気量を算出することで、排気通路10に吹き抜けていく新気の吹き抜け量を、エアフローメータ9で検出された吸入空気量を用いて、間接的にではあっても計測することが可能となり、燃料噴射量や排気ガスの後燃えの影響を受けることなく、新気の吹き抜け量である推定掃気量を推定することができる。尚、新気の吹き抜け量が多くなると残留ガスによる影響が小さくなるため、吸入空気量が多くなるほど推定掃気量の推定精度は向上する。また、シリンダ容積を残留ガス分を考慮した新気が導入可能なシリンダ実効容積とすることで、排気通路10に吹き抜けていく新気の吹く抜け量をより精度よく推定することができる。そして、このようにして算出した基本掃気量と推定掃気量とを用いることで、定常時においては、図4に示すように、システムの故障判定を実施することが可能となる。S21では、推定掃気量と基本掃気量の差を算出する。S22では、S21で算出された値の絶対値を求める。S23では、S22で絶対値処理した推定掃気量と基本掃気量の差が、予め設定された所定値A以上であるか否かを判定する。そして、S24では、システムの故障判定を実施し、S23において絶対値処理した推定掃気量と基本掃気量の差が、予め設定された所定値A以上であると判定されている場合には、基本掃気量の値に異常があると判定する。また、絶対値処理した推定掃気量と基本掃気量の差が、予め設定された所定値Aより小さい場合には、基本掃気量の値が正常であると判定する。このように、推定掃気量と、基本掃気量とのずれを認識することで、運転中の内燃機関1に悪影響がでる前に基本掃気量の値に異常があるか否か判定することができる。図5は、図4に示したシステムの故障判定に応じて補正される可変動弁機構6の目標変換角の演算内容を示すブロック図である。上述したシステムの故障判定の結果、基本掃気量の値に異常があると判定された場合、吸気通路7から排気通路10への新気の吹き抜け量が、算出された基本掃気量よりも多いと、必要以上の燃料が噴射されることになり、燃料の燃え残りが後燃して排気触媒11に悪影響を及ぼす虞がある。そこで、基本掃気量の値に異常があると判定された場合には、内燃機関1のトルク要求からくる吸気カムシャフトの目標変換角と、排気触媒11にダメージを与えない範囲で最大となる吸気カムシャフトの変換角とを比較して、小さいバルブオーバラップが小さくなる方の値を目標変換角として選択する。つまり、基本掃気量の値に異常があると判定された場合には、吸気弁と排気弁の双方が開弁するバルブオーバーラップ期間が予め設定された所定期間よりも長くならないように、可変動弁機構6による吸気弁のバルブタイミングが制御される。S31では、内燃機関1の運転状態から決定される可変動弁機構6の目標変換角であるVTC目標変換角と、基本掃気量異常時において許容される可変動弁機構6の変換角の最大値である基本掃気量異常時VTC変換角と、比較し小さい方の値をS32へ出力する。S32には、内燃機関1の運転状態トルク要求から決定される可変動弁機構6の目標変換角と、システムの故障判定の結果と、S31からの情報が入力されており、システムの故障判定の結果、基本掃気量に異常がないと判定された場合には、内燃機関1の運転状態から決定される可変動弁機構6の目標変換角をVTC最終目標変換角として出力し、基本掃気量に異常があると判定された場合には、S31から出力された値をVTC最終目標変換角として出力する。これによって、推定掃気量が基本掃気量に対してずれている場合には、バルブオーバラップ量が制限されて排気系への影響が許容できるように、可変動弁機構6の吸気カムシャフトの変換角が制限され、吸気通路7から排気通路10への新気の吹き抜け量を少なくすることができる。また、システムの故障判定の結果、基本掃気量に異常があると判定されるほどに基本掃気量と推定掃気量とのずれが大きくない場合でも、推定掃気量が基本掃気量よりも予め設定された所定値以上大きい場合には、図6に示すように、内燃機関1の空燃比を補正する。図6は、基本掃気量に異常がある場合に行う空燃比補正の演算内容を示すブロック図である。S41では、推定掃気量と基本掃気量の差を算出する。S42では、S41で算出した推定掃気量と基本掃気量との差が、予め設定された所定値B以上であるか否かを判定する。そしてS43では、内燃機関1の空燃比を補正する。すなわち、S42において推定掃気量と基本掃気量の差が、予め設定された所定値B以上であると判定されている場合には、燃料噴射量の減量補正を行うべく、空燃比をリーン側に補正する。また、推定掃気量と基本掃気量の差が、予め設定された所定値Bよりも小さい場合には、燃料噴射量の減量補正を行う必要はないので、空燃比のリーン側への補正は実施しない。S43で行う空燃比の補正は、空燃比がフィードバック制御されている場合には目標空燃比がリーン側になるよう補正し、空燃比がフィードフォワード制御されている場合には空燃比のフィードフォード設定値がリーン側になるよう補正する。推定掃気量が基本掃気量よりも大きい場合、基本掃気量に対する燃料の減量補正量が不足することになる。過剰に噴射された燃料が、排気通路10に吹き抜けた新気と排気触媒11で反応し燃焼すると、排気触媒11の異常昇温や溶損等の故障を誘発する要因となる。これに対して、推定掃気量が基本掃気量よりも所定値B以上大きい場合には、推定された掃気量に合わせて、燃料噴射量を調整することで排気触媒11の温度上昇を抑制することができる。ここで所定値Bは、図4に示すシステムの故障判定で仕様した所定値Aよりも小さい値に設定されたものである。つまり、推定掃気量が基本掃気量に対するずれが大きい場合には、可変動弁機構6の吸気カムシャフトの変換角を制限して、吸気通路7から排気通路10への新気の吹き抜け量を少なくすることで排気触媒11を保護し、推定掃気量が基本掃気量に対するずれが小さい場合には、空燃比をリーン側に補正し、燃料噴射量を減量補正を行うことで排気触媒11の温度上昇を抑制する。また、推定掃気量と基本掃気量との偏差を記憶して、燃料噴射量等の新気の吹き抜け量の多寡によって影響を受ける所定の制御量を補正するようにしてもよい。図7は、新気の吹き抜け量の多寡によって影響を受ける所定の制御量を補正する際に用いる掃気エラー補正量の演算内容を示すブロック図である。S51では、推定掃気量と基本掃気量の差を算出する。S52では、S51で算出された推定掃気量と基本掃気量の差を目標掃気量で除して掃気エラー比を算出する。そして、S53では、所定の学習許可条件が成立した場合に、S52で算出された掃気エラー比をS54に対して出力する。学習許可条件は、定常時に成立するものであり、具体的には、可変動弁機構6の変換角が目標値に収束し、吸入空気量の変化量が所定の一定範囲内にある場合等に成立するものである。S54では、S53から出力された掃気エラー比を学習値として記憶する。掃気エラー比を学習値として記憶する方法としては、掃気エラー比をそのまま記憶していく方法と、運転領域毎に掃気エラー比を記憶していく方法があるが、S54では、機関回転速度と機関負荷とで割り付けたマップに掃気エラー比を学習値として記憶している。S53から出力された掃気エラー比は、機関回転数と機関負荷により検索された適正な領域に記憶され、また検索することができる。S55では、中央値を1とし、この中央値と、S54にて機関回転数と機関負荷により検索された学習値掃気エラー比との差をとって掃気エラー補正量を算出する。S55で算出された掃気エラー補正量は、例えば、基本掃気量を用いて算出された、吸気通路7から排気通路10への新気の吹き抜けがある時の目標燃料噴射量を補正する際に用いることで、シリンダ内での燃焼に寄与する空気に対して、精度よく所期の燃料噴射量を噴射させることができる。つまり、推定掃気量と基本掃気量との乖離が判ることで、同様の条件における推定掃気量と基本掃気量との偏差を学習値として記憶することで、次回からこの学習値を使って、内燃機関1の所定の制御量を補正することができ、推定掃気量と基本掃気量とが乖離することによって内燃機関1が受ける影響を未然に防止することができる。