Abstract:
A method for correcting a total cylinder air flow during scavenging by way of an oxygen sensor is disclosed. Additionally, cylinder trapped air amount and cylinder scavenging air amount are adjusted based on the corrected total cylinder air flow. The approach may reduce sensitivity between cylinder air flow estimates and fuel supplied for combustion.

Description:
BACKGROUND/SUMMARY 
       [0001]    Performance of an engine can be enhanced via a turbocharger or a supercharger. The turbocharger or supercharger pressurizes ambient air to increase the density of air entering engine cylinders. The cylinder trapped air amount is increased as the cylinder charge may be denser than that of a non-turbocharged engine. This may allow increased amount of fuel injected to be into the engine cylinder compared to a non-turbocharged engine, hence result in increased torque. 
         [0002]    Further performance gains and emissions reduction may be provided for a turbocharged engine via variable intake and/or exhaust valve timing. In particular, intake and exhaust valves of a turbocharged engine may be adjusted to reduce NOx formation, increase engine power, and reduce engine pumping losses. In some examples, intake and exhaust valves of a cylinder may be open at the same time to provide internal (e.g., within a cylinder) exhaust gas recirculation (EGR) or to help evacuate exhaust from a cylinder and increase engine output. 
         [0003]    For example, internal EGR may be provided in an engine cylinder when intake and exhaust valves are simultaneously open and when engine intake manifold pressure is lower than engine exhaust manifold pressure. On the other hand, engine output power may be increased when intake and exhaust valves of a cylinder are simultaneously open and when engine intake manifold pressure is higher than engine exhaust manifold pressure. Pressurized air in the engine intake manifold can drive exhaust gases from the cylinder to the engine exhaust manifold so that cylinder fresh charge (e.g. air and fuel) may be increased. However, if engine control parameters (e.g., spark timing) are adjusted based on an uncorrected air amount or a bulk air amount that passes through a cylinder, the engine control parameters may be adjusted in an undesirable way. Further, the output of modeled systems (e.g., exhaust systems) that rely on cylinder trapped air amount may not track actual system conditions as close as is desired because of errors that may result from the uncorrected cylinder trapped air amount or the bulk air amount. 
         [0004]    The inventors herein have recognized the above-mentioned disadvantages and have developed a method for operating an engine, comprising: adjusting a first actuator in response to an cylinder scavenging air amount, the cylinder scavenging air amount corrected via an oxygen sensor; and adjusting a second actuator in response to a cylinder trapped air amount, the cylinder trapped air amount corrected via the oxygen sensor apart from the cylinder scavenging air amount. 
         [0005]    By correcting both cylinder trapped air amount and cylinder scavenging air amount via an oxygen sensor, it may be possible to improve control adjustments that are related to total cylinder air flow. Additionally, conditions that may affect cylinder trapped air amount but may not be sensed via a mass air sensor or MAP sensor may be compensated when cylinder trapped air amount and cylinder scavenging are adjusted via an oxygen sensor. For example, rather than adjusting spark timing based on a total or bulk air mass passing through a cylinder during a cylinder cycle, spark timing may be adjusted based on a corrected cylinder trapped air amount that reflects the amount of air participating in combustion. Further, intake and exhaust valve opening overlap of a cylinder may be adjusted in response to a corrected cylinder scavenging air amount. In this way, fractions or portions of an air amount flowing through a cylinder during a cylinder cycle that participate in combustion during a cylinder cycle can be corrected and compensated for separately. In addition, correcting cylinder trapped air amount and cylinder scavenging air amount via an oxygen sensor can remove sensitivities to changes in exhaust system manifold pressure and valve timing that may exist when cylinder trapped air amount and cylinder scavenging air amount are determined solely using a mass air flow sensor or a MAP sensor. 
         [0006]    The present description may provide several advantages. In particular, the approach may reduce vehicle emissions by correcting cylinder trapped air amount and cylinder scavenging air amounts. Further, an engine actuator such as a camshaft phase actuator may be adjusted so as to control the amount of scavenging supplied to the exhaust gas after treatment device so that scavenging may closed-loop controlled. Additionally, the method provides for adjusting exhaust manifold pressure estimates so that exhaust gas residuals in a cylinder may be more accurately determined. 
         [0007]    The above advantages and other advantages, and features of the present description will be readily apparent from the following Detailed Description when taken alone or in connection with the accompanying drawings. 
         [0008]    It should be understood that the summary above is provided to introduce in simplified form a selection of concepts that are further described in the detailed description. It is not meant to identify key or essential features of the claimed subject matter, the scope of which is defined uniquely by the claims that follow the detailed description. Furthermore, the claimed subject matter is not limited to implementations that solve any disadvantages noted above or in any part of this disclosure. 
     
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         [0009]      FIG. 1  shows a schematic depiction of an engine; 
           [0010]      FIG. 2  shows a simulated intake MAP versus cylinder trapped air amount relationship for an engine operating at a constant speed; 
           [0011]      FIG. 3  shows a simulated intake MAP versus indicated mean effective pressure (IMEP) relationship for an engine operating at a constant speed; 
           [0012]      FIG. 4  shows a simulated exhaust MAP versus exhaust flow relationship; 
           [0013]      FIG. 5  shows a control block diagram for correcting cylinder trapped air amount and cylinder scavenging with an oxygen sensor; and 
           [0014]      FIG. 6  shows high level flowchart of a method for correcting cylinder trapped air amount and cylinder scavenging with an oxygen sensor. 
       
    
    
     DETAILED DESCRIPTION 
       [0015]    The present description is directed to correcting cylinder trapped air amount and cylinder scavenging of a cylinder of an engine. The corrected cylinder trapped air amount and cylinder scavenging air amount may be used to adjust states of engine actuators.  FIG. 1  shows one example system for determining and correcting cylinder trapped air amount and cylinder scavenging air amount. The system includes a turbocharger operated with a spark ignited mixture of air and gasoline, alcohol, or a mixture of gasoline and alcohol. However, in other examples the engine may be a compression ignition engine, such as a diesel engine.  FIGS. 2 and 3  show how a change in engine backpressure can affect a MAP versus cylinder trapped air amount/IMEP relationship.  FIG. 4  shows how a position of a turbocharger waste gate or vane can affect engine back pressure.  FIG. 5  shows a block diagram for correcting cylinder trapped air amount and cylinder scavenging.  FIG. 6  shows an example method for correcting cylinder trapped air amount and cylinder scavenging air amount. 
         [0016]    Referring to  FIG. 1 , internal combustion engine  10 , comprising a plurality of cylinders, one cylinder of which is shown in  FIG. 1 , is controlled by electronic engine controller  12 . Engine  10  includes combustion chamber  30  and cylinder walls  32  with piston  36  positioned therein and connected to crankshaft  40 . Combustion chamber  30  is shown communicating with intake manifold  44  and exhaust manifold  48  via respective intake valve  52  and exhaust valve  54 . Each intake and exhaust valve may be operated by an intake cam  51  and an exhaust cam  53 . Alternatively, one or more of the intake and exhaust valves may be operated by an electromechanically controlled valve coil and armature assembly. The phase of intake cam  51  and exhaust cam  53  may be adjusted via cam phase actuators  59  and  69 . The position of intake cam  51  may be determined by intake cam sensor  55 . The position of exhaust cam  53  may be determined by exhaust cam sensor  57 . 
         [0017]    Fuel injector  66  is shown positioned to inject fuel directly into cylinder  30 , which is known to those skilled in the art as direct injection. Alternatively, fuel may be injected to an intake port, which is known to those skilled in the art as port injection. Fuel injector  66  delivers liquid fuel in proportion to the pulse width of signal FPW from controller  12 . Fuel is delivered to fuel injector  66  by a fuel system (not shown) including a fuel tank, fuel pump, and fuel rail (not shown). Fuel injector  66  is supplied operating current from driver  68  which responds to controller  12 . In addition, intake manifold  44  is shown communicating with optional electronic throttle  62  which adjusts a position of throttle plate  64  to control air flow from intake boost chamber  46 . 
         [0018]    Exhaust gases spin turbocharger turbine  164  which is coupled to turbocharger compressor  162  via shaft  161 . Compressor  162  draws air from air intake  42  to supply boost chamber  46 . Thus, air pressure in intake manifold  44  may be elevated to a pressure greater than atmospheric pressure. Consequently, engine  10  may output more power than a normally aspirated engine. 
         [0019]    Distributorless ignition system  88  provides an ignition spark to combustion chamber  30  via spark plug  92  in response to controller  12 . Ignition system  88  may provide a single or multiple sparks to each cylinder during each cylinder cycle. Further, the timing of spark provided via ignition system  88  may be advanced or retarded relative to crankshaft timing in response to engine operating conditions. 
         [0020]    Universal Exhaust Gas Oxygen (UEGO) sensor  126  is shown coupled to exhaust manifold  48  upstream of exhaust gas after treatment device  70 . Alternatively, a two-state exhaust gas oxygen sensor may be substituted for UEGO sensor  126 . In some examples, exhaust gas after treatment device  70  is a particulate filter and/or a three-way catalyst. In other examples, exhaust gas after treatment device  70  is solely a three-way catalyst. 
         [0021]    Controller  12  is shown in  FIG. 1  as a conventional microcomputer including: microprocessor unit  102 , input/output ports  104 , read-only memory  106 , random access memory  108 , keep alive memory  110 , and a conventional data bus. Controller  12  is shown receiving various signals from sensors coupled to engine  10 , in addition to those signals previously discussed, including: engine coolant temperature (ECT) from temperature sensor  112  coupled to cooling sleeve  114 ; a position sensor  134  coupled to an accelerator pedal  130  for sensing accelerator position adjusted by foot  132 ; a knock sensor for determining ignition of end gases (not shown); a measurement of engine manifold pressure (MAP) from pressure sensor  121  coupled to intake manifold  44 ; a measurement of boost pressure from pressure sensor  122  coupled to boost chamber  46 ; an engine position sensor from a Hall effect sensor  118  sensing crankshaft  40  position; a measurement of air mass entering the engine from sensor  120  (e.g., a hot wire air flow meter); and a measurement of throttle position from sensor  58 . Barometric pressure may also be sensed (sensor not shown) for processing by controller  12 . In a preferred aspect of the present description, engine position sensor  118  produces a predetermined number of equally spaced pulses every revolution of the crankshaft from which engine speed (RPM) can be determined. 
         [0022]    In some examples, the engine may be coupled to an electric motor/battery system in a hybrid vehicle. The hybrid vehicle may have a parallel configuration, series configuration, or variation or combinations thereof. Further, in some embodiments, other engine configurations may be employed, for example a diesel engine. 
         [0023]    During operation, each cylinder within engine  10  typically undergoes a four stroke cycle: the cycle includes the intake stroke, compression stroke, expansion stroke, and exhaust stroke. During the intake stroke, generally, the exhaust valve  54  closes and intake valve  52  opens. Air is introduced into combustion chamber  30  via intake manifold  44 , and piston  36  moves to the bottom of the cylinder so as to increase the volume within combustion chamber  30 . The position at which piston  36  is near the bottom of the cylinder and at the end of its stroke (e.g. when combustion chamber  30  is at its largest volume) is typically referred to by those of skill in the art as bottom dead center (BDC). During the compression stroke, intake valve  52  and exhaust valve  54  are closed. Piston  36  moves toward the cylinder head so as to compress the air within combustion chamber  30 . The point at which piston  36  is at the end of its stroke and closest to the cylinder head (e.g. when combustion chamber  30  is at its smallest volume) is typically referred to by those of skill in the art as top dead center (TDC). In a process hereinafter referred to as injection, fuel is introduced into the combustion chamber. In a process hereinafter referred to as ignition, the injected fuel is ignited by known ignition means such as spark plug  92 , resulting in combustion. During the expansion stroke, the expanding gases push piston  36  back to BDC. Crankshaft  40  converts piston movement into a rotational torque of the rotary shaft. Finally, during the exhaust stroke, the exhaust valve  54  opens to release the combusted air-fuel mixture to exhaust manifold  48  and the piston returns to TDC. Note that the above is described merely as an example, and that intake and exhaust valve opening and/or closing timings may vary, such as to provide positive or negative valve overlap, late intake valve closing, or various other examples. 
         [0024]    Thus, the system of  FIG. 1  provides for a engine operating system, comprising: an engine; an actuator in communication with the engine; a turbocharger coupled to the engine; an exhaust system coupled to the turbocharger, the exhaust system including an oxygen sensor; a controller including instructions for adjusting a total cylinder air amount in response to an output of the oxygen sensor, the controller including additional instructions for providing a corrected cylinder trapped air amount and a corrected cylinder scavenging air amount based on the total cylinder air amount. The engine operating system further comprises additional instructions for adjusting spark timing of a cylinder in response to the corrected cylinder trapped air amount. 
         [0025]    In some examples, the engine operating system further comprises additional instructions for adjusting valve timing in response to the corrected cylinder scavenging air amount. The engine operating system further comprises including additional instructions to provide an equivalence ratio correction amount based on the output of the oxygen sensor. The engine operating system further comprises including additional instructions to adjust an estimated exhaust flow. The engine operating system includes where the engine includes two cylinder banks, where the total cylinder air amount applies to a cylinder of a first cylinder bank, where the controller includes additional instructions for adjusting a total cylinder air amount of a cylinder of a second cylinder bank, and where the controller includes additional instructions for providing a corrected cylinder trapped air amount and a corrected cylinder scavenging air amount based on the corrected total cylinder air amount of the cylinder of the second cylinder bank. 
         [0026]    Referring now to  FIG. 2 , an intake MAP versus cylinder air amount relationship for an engine operating at a constant speed is shown. The X axis represents cylinder air amount and cylinder air amount increases from the left side of the plot to the right side of the plot. The Y axis represents intake MAP and MAP increases from the X axis in the direction of the Y axis arrow. Cylinder air amount represents a total amount of air passing through a cylinder during a cycle of the cylinder. Consequently, when the engine is operating without scavenging air, the cylinder trapped air amount equals the total cylinder air. Thus, the total cylinder air amount participates in combustion within the cylinder. The total cylinder air amount during scavenging conditions includes a cylinder trapped air amount that participates in combustion and a cylinder scavenging air amount that does not participate in combustion within the cylinder. 
         [0027]    Curve  202  represents intake MAP versus total cylinder air amount when a turbocharger waste gate is in a first position. It can be seen that total cylinder air amount increases with increasing MAP. In the first position, the waste gate position is fully closed. 
         [0028]    Curve  204  represents intake MAP versus total cylinder air amount when a turbocharger waste gate is in a second position. Curve  204  initially follows the same trajectory of curve  202 , but after cylinder air amount begins to increase, cylinder air amount of curve  204  increases at a higher rate for an equivalent MAP increase as compared to curve  202 . In the second position, the waste gate position is fully opened. Arrow  206  shows one region of the MAP versus cylinder air amount plot where there is a 16% of mean difference in total amount of air passing through the cylinder between curve  202  and curve  204 . Thus, a 16% error in engine air-fuel ratio may result if the total cylinder air amount is not corrected when the engine is operating at the MAP level of arrow  206 . 
         [0029]    Thus, from curves  202  and  204 , it can be seen that exhaust manifold pressure can affect an estimate of cylinder air amount that is based on MAP. Further, exhaust manifold pressure can affect an estimate of MAP that is based on cylinder air amount as determined via a mass air flow sensor in an engine intake system. Therefore, it may be desirable to correct air flowing through a cylinder for engine exhaust manifold pressure. However, the inaccuracies in cylinder trapped air amount that are related to exhaust backpressure may not be apparent by simply monitoring MAP or mass air flow (MAF). On the other hand, an exhaust gas oxygen sensor can detect the presence or absence of excess oxygen in engine exhaust gases. And, the presence or absence of excess oxygen in engine exhaust gases may be indicative of a change in engine backpressure that results in an increase or a decrease of engine scavenging. Thus, an output of an oxygen sensor may be a basis for correcting an amount of air passing through a cylinder. 
         [0030]    Referring now to  FIG. 3 , an IMEP versus cylinder trapped air amount relationship for an engine operating at a constant speed is shown. The X axis represents cylinder IMEP and cylinder IMEP increases from the left side of the plot to the right side of the plot. The Y axis represents intake MAP and MAP increases from the X axis in the direction of the Y axis arrow. IMEP may be correlated to the amount of air in a cylinder that participates in combustion within a cylinder. The relationship between cylinder trapped air and IMEP is near linear and may be expressed in an equation as a slope and an offset. 
         [0031]    Curve  302  represents intake MAP versus cylinder IMEP when a turbocharger waste gate is in a first position. It can be seen that cylinder IMEP increases with increasing MAP; however, IMEP does not continue to increase when scavenging is present. In the first position, the waste gate position is fully closed. 
         [0032]    Curve  304  represents intake MAP versus cylinder IMEP when a turbocharger waste gate is in a second position. Curve  304  initially follows the same trajectory of curve  302 , but in curve  304 , cylinder IMEP increases at a higher rate for an equivalent MAP increase as compared to curve  302 . In the second position, the waste gate position is fully opened. 
         [0033]    Arrow  306  shows one region of the MAP versus cylinder IMEP plot where there is a 12% of mean difference in cylinder IMEP between curves  302  and curve  304 . Thus, a 12% error in engine torque estimate may be provided if the cylinder trapped air amount is not corrected when the engine is operating at the MAP level of arrow  306 . 
         [0034]    Thus, curves  302  and  304 , confirm that an amount of air that participates in combustion in a cylinder (e.g., cylinder trapped air amount) may be affected by change in engine exhaust manifold absolute pressure (exhaust MAP). Therefore, it may be desirable to correct cylinder trapped air amount as determined from a MAP or MAF sensor. 
         [0035]    Referring now to  FIG. 4 , a plot of exhaust MAP versus exhaust flow, which equals the sum of total cylinder airflow and fuel injected, is shown. It may be desirable to accurately model exhaust MAP so that burned gas dilution (e.g., EGR) within a cylinder may be accurately determined. Further, in some examples, an accurate estimate of dilution may be desirable to control the position of a turbocharger waste gate so that a desired engine air flow may be provided to the engine while engine exhaust pressure is controlled to less than a threshold amount. In this way, engine efficiency may be maintained. 
         [0036]    Curve  402  represents data of exhaust MAP versus exhaust flow. Curve  404  represents a curve regressed from the data of curve  402 . Thus, the data of curve  402  may be represented by curve  404  so that the exhaust MAP versus exhaust flow may be represented in a simplified form. Curves  402  and  404  represent exhaust MAP versus exhaust flow when a turbocharger waste gate is fully closed. 
         [0037]    Curve  406  represents data of exhaust MAP versus exhaust flow. Curve  408  represents a curve regressed from the data of curve  406 . Thus, the data of curve  406  may be represented by curve  408  so that the exhaust MAP versus exhaust flow may be represented in a simplified form. Curves  406  and  408  represent exhaust MAP versus exhaust flow when a turbocharger waste gate is fully opened. 
         [0038]    Thus, it can be seen from  FIG. 4  that exhaust back pressure may be significantly increased during some engine operating conditions. In some examples, curves  404  and  408  may be boundaries for determining limits to exhaust pressure adaptation. 
         [0039]    Referring now to  FIG. 5 , a control block diagram for correcting cylinder trapped air amount and cylinder scavenging air amount via an oxygen sensor is shown. Instructions to correct cylinder trapped air amount and cylinder scavenging air according to the block diagram of  FIG. 5  may be executed by controller  12  in the system shown in  FIG. 1 . 
         [0040]    At  502 , the controller shown in block diagram  500  multiplies total cylinder air flow (e.g., the total amount of air flowing through a cylinder during a cycle of the cylinder) by one over a stoichiometric air-fuel ratio (e.g., 14.64 for gasoline) of the fuel being combusted by the engine. 
         [0041]    At  504 , the output of  502  is multiplied by desired equivalence ratio φ to provide an open-loop fuel amount fuel_ol. Equivalence ratio is defined as the mixture&#39;s fuel to air ratio (by mass) divided by the fuel to air ratio for a stoichiometric mixture. A stoichiometric mixture has an equivalence ratio of 1.0; lean mixtures have a value of less than 1.0; and, rich mixtures are value greater than 1.0. 
         [0042]    At  508 , total cylinder air flow and engine speed are used to index tables that output empirically determined fuel modulation values for improving catalyst efficiency. For example, if an engine is operating at 1500 RPM with a cylinder air flow of 2.0×10 −3  lb-mass it may be determined that it is desirable to oscillate air-fuel ratio of a cylinder by 0.3 air-fuel ratio (about 2%) at a frequency of 0.5 Hz. The output of  508  provides fuel adjustments to oscillate engine air-fuel ratio at the given total cylinder air amount. The output of  508  is added to the output of  504  at  506 . 
         [0043]    The closed-loop portion of controller block diagram  500  includes summing junction  514  where actual φ as measure by UEGO sensor  126  is subtracted from desired φ to provide a term φ trim . Desired φ may be empirically determined and stored in memory that may be indexed using engine speed and load. The closed-loop portion of controller  500  is also shown with proportional and integral adjustments at block  516  that are based φ trim . 
         [0044]    The proportional and integral adjustments from block  516 , fuel_trim, and the sum of the open-loop fuel amount fuel_ol from  504  and the catalyst modulation fuel from  508  are added together at  510  to determine an amount of fuel to be provided to an engine cylinder based on a total cylinder air flowing through a cylinder during a cylinder cycle. 
         [0045]    At  518 , the amount of fuel to be provided to an engine cylinder is converted to a fuel injector pulse width for driving a fuel injector. In one example, a fuel injector transfer function that relates fuel amount to fuel pulse width is stored in memory and indexed by fuel amount. The transfer function is indexed by fuel amount and the fuel pulse width is delivered to a fuel injector supplying fuel to a cylinder of the engine  10 . The engine expels combustion byproducts which are sampled by UEGO  126  to determine whether or not a desired amount of fuel is matched to the total amount of air determined to be flowing through a cylinder. Note that the total amount of air flowing through the cylinder may be determined via a MAP sensor or a MAF sensor. 
         [0046]    At  522 , controller  500  judges whether or not the engine is operating at a condition for scavenging. In one example, selected engine operating conditions are logically combined to determine if scavenging is present. As an example, scavenging may be determined via the logic: 
         [0000]      if ((RPM&gt;1000) AND (RPM&lt;2500)) AND (MAP&gt; 0.9·BP ) AND (overlap&gt;30)blow_through_region=TRUE; 
         [0000]      else 
         [0000]      blow_through_region=FALSE; 
         [0000]    where RPM is engine speed, BP is barometric pressure, overlap is a number of crankshaft degrees where intake and exhaust valves of a cylinder are simultaneously open, and blow_through_region is a logical variable that reflects scavenging is present when asserted. The scavenging logical variable selects whether cylinder trapped air amount and cylinder scavenging air amount are corrected and output at  530 . 
         [0047]    At  524 , the total cylinder air flow is corrected based on output of an oxygen sensor. In one example, the cylinder air flow is corrected via the equations below: 
         [0000]    
       
         
           
             
                 
             
              
             
               
                 air_phi 
                  
                 _ratio 
               
               = 
               
                 
                   
                     φ 
                     trim 
                   
                   
                     φ 
                     dsd 
                   
                 
                 - 
                 
                   min 
                    
                   
                     { 
                     
                       
                         max 
                          
                         
                           { 
                           
                             
                               
                                 φ 
                                 trim 
                               
                               
                                 φ 
                                 dsd 
                               
                             
                             , 
                             
                               - 
                               q 
                             
                           
                           } 
                         
                       
                       , 
                       q 
                     
                     } 
                   
                 
               
             
           
         
       
       
         
           
             
               air_phi 
                
               _corr 
                
               _tmp 
             
             = 
             
               min 
                
               
                 { 
                 
                   
                     max 
                      
                     
                       { 
                       
                         
                           air_phi 
                            
                           _ratio 
                         
                         , 
                         
                           phi_ratio 
                            
                           _max 
                         
                       
                       } 
                     
                   
                   , 
                   
                     phi_ratio 
                      
                     _min 
                   
                 
                 } 
               
             
           
         
       
       
         
           
             
                 
             
              
             
               
                 air_phi 
                  
                 _corr 
               
               = 
               
                 rolav 
                  
                 
                   ( 
                   
                     tc_corr 
                     , 
                     
                       air_phi 
                        
                       _corr 
                        
                       _tmp 
                     
                   
                   ) 
                 
               
             
           
         
       
       
         
           
             
                 
             
              
             
               
                 air_tot 
                  
                 _corr 
               
               = 
               
                 air_chg 
                  
                 _tot 
                 * 
                 
                   ( 
                   
                     1 
                     + 
                     
                       air_phi 
                        
                       _corr 
                     
                   
                   ) 
                 
               
             
           
         
       
     
         [0000]    where q is a calibratable value fuel-air ratio adjustment boundary limit (e.g., 0.03 or 3%), where air_phi_ratio is a bounded φ adjustment ratio, where φ dsd  is the desired fuel-air ratio, 
         [0000]    
       
         
           
             
               φ 
               dsd 
             
             = 
             
               { 
               
                 
                   
                     1 
                   
                   
                     
                       stoich 
                        
                       
                           
                       
                        
                       exhaust 
                     
                   
                 
                 
                   
                     
                       
                         air_chg 
                         / 
                         air_chg 
                       
                        
                       _tot 
                     
                   
                   
                     
                       
                         stoich 
                          
                         
                             
                         
                          
                         in 
                          
                         
                           - 
                         
                          
                         cylinder 
                       
                       , 
                       
                         lean 
                          
                         
                             
                         
                          
                         exhaust 
                       
                       , 
                     
                   
                 
               
             
           
         
       
     
         [0000]    and where φ trim  is the closed loop fuel-air ratio trim (the ratio of fuel_trim signal, the output of  516 , and total cylinder air charge), where air_phi_ratio_max is a maximum φ ratio correction, where air_phi_ratio_min is a minimum φ ratio correction, where air_phi_cor_tmp is a temporary variable for correcting total cylinder air flow, where rolav is a first order low pass filter having a time constant tc_corr, where air_phi_corr is the amount to correct total cylinder air flow, where air_chg_tot is a total amount of air flowing through a cylinder during a cylinder cycle, and where air_tot_corr is the corrected total cylinder air flow. The total corrected cylinder air flow is directed to  530 ,  526  and  528 . 
         [0048]    At  526 , the cylinder trapped air amount correction is determined. In one example, the cylinder trapped air amount correction is determined according to the following equation: 
         [0000]      air_chg_corr=min{air_tot_corr, air —   c· (1 −r _pb)·MAP}
 
         [0000]    where air_c is volumetric efficiency for full cylinder volume at the bottom dead center of the intake stroke, r_pb is a push-back ratio that account for exhaust entering the engine intake manifold from the cylinder. 
         [0049]    At  528 , the cylinder scavenging air amount correction is determined. In one example, the cylinder scavenging air amount correction is determined according to the following equation: 
         [0000]      air_bt_corr=max{0, air_tot_corr−air —   c· (1 −r _pb)·MAP}
 
         [0000]      or 
         [0000]      air_bt_corr=air_tot_corr−air_chg_corr
 
         [0000]    The corrected cylinder trapped air amount and the corrected cylinder scavenging air amount are supplied to block  530  where corrected cylinder trapped air amount and corrected cylinder scavenging air amount are selectively output based on the state of variable blow_through_region. In particular, if the variable blow_through_region is asserted, then both corrected cylinder trapped air amount air_chg_corr and corrected cylinder scavenging air amount air_bt_corr are output for adjusting cylinder spark advance, engine torque amount, and exhaust temperature. If the variable blow_through_region is not asserted, then (un-corrected) cylinder trapped air amount air_chg is output and corrected cylinder scavenging air amount air_bt_corr is set to zero. 
         [0050]    At  532 , cylinder spark timing is adjusted in response to the corrected cylinder trapped air amount. In one example, the cylinder spark timing is empirically determined and stored in memory that is indexed via engine speed and cylinder trapped air amount. The table outputs the desired spark timing and the spark is delivered to the engine via an ignition coil. 
         [0051]    The corrected cylinder trapped air amount may also be the basis for determining engine torque at  534 . In one example, engine torque may be empirically determined and stored in a table or function that is indexed via engine speed, spark timing, and cylinder trapped air amount. The table outputs the engine torque based on empirical values stored in the table. In some examples, the tables may further include engine torque values that are adjusted according to valve timing. In other examples, engine torque may be determined according to the method described in U.S. Pat. No. 7,072,758 which is hereby fully incorporate by reference for all intents and purposes. 
         [0052]    At  536 , the corrected cylinder trapped air amount and the corrected cylinder scavenging air amount may be input to a model to determine exhaust exotherm temperature. In one example, the exhaust exotherm is determined according to the method described in U.S. patent application Ser. No. 12/481,468 which is hereby fully incorporated by reference for all intents and purposes. 
         [0053]    Thus, the controller of  FIG. 5  provides for adjusting fuel injection amount and fuel injection timing based on oxygen sensor feedback.  FIG. 5  also provides for correcting cylinder trapped air amount and cylinder scavenging air amount based the oxygen sensor output. 
         [0054]    Referring now to  FIG. 6 , a high level flowchart of a method for correcting cylinder trapped air amount and cylinder scavenging air amount with an oxygen sensor is shown. The method of  FIG. 6  may be executed via instructions of controller  12  in the system shown in  FIG. 1 . 
         [0055]    At  602 , method  600  determines engine operating conditions. Engine operating conditions may include but are not limited to engine speed, engine temperature, ambient temperature, MAP, cylinder air amount, exhaust gas oxygen concentration, valve timing, and engine torque requested. Method  600  proceeds  604  after engine operating conditions are determined. 
         [0056]    At  604 , method  600  computes corrected amount of fuel injected to an engine in response to oxygen sensor output. The oxygen sensor may be positioned in an exhaust system as shown in  FIG. 1 . 
         [0057]    An amount of fuel injected to a cylinder may be comprised of two or more fuel injection amounts. In one example, the fuel injected to a cylinder may be expressed as: 
         [0000]    
       
         
           
             
                 
             
              
             
               fuel_cyl 
               = 
               
                 fuel_ol 
                 + 
                 fuel_trim 
               
             
           
         
       
       
         
           
             fuel_ol 
             = 
             
               
                 φ 
                 dsd 
               
               * 
               
                 
                   air_chg 
                    
                   _tot 
                 
                 AF_stoic 
               
                
               
                   
               
                
               
                 ( 
                 
                   
                     
                       
                         
                           φ 
                           dsd 
                         
                         = 
                         1 
                       
                     
                     
                       
                         stoich 
                          
                         
                             
                         
                          
                         exhaust 
                       
                     
                   
                   
                     
                       
                         
                           φ 
                           dsd 
                         
                         = 
                         
                           
                             air_chg 
                             / 
                             air_chg 
                           
                            
                           _tot 
                         
                       
                     
                     
                       
                         
                           stoich 
                            
                           
                               
                           
                            
                           in 
                            
                           
                             - 
                           
                            
                           
                             cyl 
                             . 
                           
                         
                         , 
                         
                           lean 
                            
                           
                               
                           
                            
                           exhaust 
                         
                       
                     
                   
                 
                 ) 
               
             
           
         
       
       
         
           
             fuel_trim 
             = 
             
               
                 φ 
                 trim 
               
               * 
               
                 
                   air_chg 
                    
                   _tot 
                 
                 AF_stoic 
               
                
               
                 ( 
                 
                   
                     
                       
                         φ 
                         trim 
                       
                     
                     
                       
                         is 
                          
                         
                             
                         
                          
                         the 
                          
                         
                             
                         
                          
                         closed 
                          
                         
                             
                         
                          
                         loop 
                          
                         
                             
                         
                          
                         fuel 
                          
                         
                           - 
                         
                          
                         air 
                          
                         
                           - 
                         
                          
                         ratio 
                          
                         
                             
                         
                          
                         trim 
                       
                     
                   
                 
                 ) 
               
             
           
         
       
     
         [0000]    where fuel_cyl is an estimate of the fuel delivered to a cylinder, fuel_ol is an open loop fuel amount, φ dsd  is a desired equivalence ratio for engine operation based on engine speed and cylinder trapped air amount, air_chg_tot is total amount of air flowing through a cylinder during a cylinder cycle, air_chg is a cylinder trapped air amount that participates in combustion within the cylinder, AF_stoic is a stoichiometric air-fuel ratio for the fuel being combusted in the engine, fuel_trim is a closed-loop fuel amount adjustment that is based on a fuel-air ratio trim that is determined via subtracting           determined from output from an oxygen sensor from a desired           as described in  FIG. 5 . It should be noted that the closed loop fuel system allows for trim to not respond to a square wave modulation imposed on fuel injection for catalyst efficiency. By denoting the actual total mass of air that passes by the intake valve in one event by m tot , equivalence ratio as inferred from exhaust gas oxygen content can be described as: 
         [0000]    
       
         
           
             
               φ 
               exh 
             
             = 
             
               
                 
                   
                     fuel_cyl 
                     + 
                     
                       Δ 
                        
                       
                           
                       
                        
                       fuel 
                     
                   
                   
                     m 
                     tot 
                   
                 
                 * 
                 AF_stoic 
               
               = 
               
                 
                   
                     
                       ( 
                       
                         
                           φ 
                           dsd 
                         
                         + 
                         
                           φ 
                           trim 
                         
                       
                       ) 
                     
                     * 
                     air_chg 
                      
                     _tot 
                   
                   
                     m 
                     tot 
                   
                 
                 + 
                 
                   
                     
                       Δ 
                        
                       
                           
                       
                        
                       fuel 
                     
                     
                       m 
                       tot 
                     
                   
                   * 
                   AF_stoic 
                 
               
             
           
         
       
     
         [0000]    where Δfuel is a left-over fuel mass due to inaccuracies in compensating for various other sources (e.g. incomplete transient fuel or purge flow compensation). In quasi steady state conditions, the closed loop fuel correction (fuel_trim) makes the exhaust fuel-to-air ratio φ exh =φ dsd . Solving for φ trim  yields: 
         [0000]    
       
         
           
             
               φ 
               trim 
             
             = 
             
               
                 
                   φ 
                   dsd 
                 
                  
                 
                   ( 
                   
                     
                       
                         m 
                         tot 
                       
                       
                         air_chg 
                          
                         _tot 
                       
                     
                     - 
                     1 
                   
                   ) 
                 
               
               - 
               
                 
                   
                     Δ 
                      
                     
                         
                     
                      
                     fuel 
                   
                   
                     air_chg 
                      
                     _tot 
                   
                 
                 * 
                 AF_stoic 
               
             
           
         
       
     
         [0000]    Thus, it may be observed that the closed loop correction φ trim  compensates for air_chg_tot not being equal to the actual total air mass (m tot ) and for various residual errors in fuel compensation. Method  600  proceeds to  606  after the injected fuel amount compensation is determined. 
         [0058]    At  606 , method  600  judges whether or not scavenging conditions are present. In one example, scavenging may be determined according to the logic described for block  522  of  FIG. 5 . If scavenging conditions are determined, method  600  proceeds to  608 . Otherwise, method  600  proceeds to  614 . 
         [0059]    At  608 , method  600  corrects a total amount of air flowing through a cylinder during a cylinder cycle. In one example, the total amount of air flowing through the cylinder is corrected according to the following instructions: 
         [0000]    
       
         
           
             
                 
             
              
             
               if 
                
               
                   
               
                
               
                 ( 
                 
                   
                     blow_through 
                      
                     _region 
                   
                   = 
                   TRUE 
                 
                 ) 
               
             
           
         
       
       
         
           
             
                 
             
              
             
               
                 air_phi 
                  
                 _ratio 
               
               = 
               
                 
                   
                     φ 
                     trim 
                   
                   
                     φ 
                     dsd 
                   
                 
                 - 
                 
                   min 
                    
                   
                     { 
                     
                       
                         max 
                          
                         
                           { 
                           
                             
                               
                                 φ 
                                 trim 
                               
                               
                                 φ 
                                 dsd 
                               
                             
                             , 
                             
                               - 
                               q 
                             
                           
                           } 
                         
                       
                       , 
                       q 
                     
                     } 
                   
                 
               
             
           
         
       
       
         
           
             
               air_phi 
                
               _corr 
                
               _tmp 
             
             = 
             
               min 
                
               
                 { 
                 
                   
                     max 
                      
                     
                       { 
                       
                         
                           air_phi 
                            
                           _ratio 
                         
                         , 
                         
                           phi_ratio 
                            
                           _max 
                         
                       
                       } 
                     
                   
                   , 
                   
                     phi_ratio 
                      
                     _min 
                   
                 
                 } 
               
             
           
         
       
       
         
           
             
                 
             
              
             else 
           
         
       
       
         
           
             
                 
             
              
             
               
                 air_phi 
                  
                 _corr 
                  
                 _tmp 
               
               = 
               0 
             
           
         
       
       
         
           
             
                 
             
              
             end 
           
         
       
       
         
           
             
                 
             
              
             
               
                 air_phi 
                  
                 _corr 
               
               = 
               
                 rolav 
                  
                 
                   ( 
                   
                     
                       tc_corr 
                        
                       _ 
                     
                     , 
                     
                       air_phi 
                        
                       _corr 
                        
                       _tmp 
                     
                   
                   ) 
                 
               
             
           
         
       
       
         
           
             
                 
             
              
             
               
                 air_tot 
                  
                 _corr 
               
               = 
               
                 air_chg 
                  
                 _tot 
                 * 
                 
                   ( 
                   
                     1 
                     + 
                     
                       air_phi 
                        
                       _corr 
                     
                   
                   ) 
                 
               
             
           
         
       
     
         [0000]    where blow_through_region is a logic variable that indicates the presence or absence of scavenging conditions, where air_tot_corr is the corrected total air-charge (in-cylinder air+scavenging air), where phi_ratio_max and phi_ratio_min are clips or limits for the air-fuel ratio corrections used in total cylinder air flow correction (e.g., +/−0.15), where min and max denotes an operation of taking the minimum or maximum of the respective variables in parentheses, where rolav is a first order low-pass having a time constant tc_corr set to about 2 to 3 times the UEGO closed loop response time constant. Method  600  proceeds to  610  after the total amount of air flowing through the cylinder is corrected. 
         [0060]    At  610 , the cylinder trapped air amount and the cylinder scavenging air amount are separately corrected based on the corrected total amount of air flowing through the cylinder. In one example, the cylinder trapped air amount and the cylinder scavenging air amount are determined according to the following equations: 
         [0000]      air_chg_corr=min{air_tot_corr, air —   c* (1 −r _pb)*MAP} 
         [0000]      air_bt_corr=max{0,air_tot_corr−air —   c* (1 −r _pb)*MAP}
 
         [0000]    where air_c is the volumetric efficiency for full cylinder volume and where r_pb is the push-back ratio. Method  600  proceeds to  612  after cylinder trapped air amount and cylinder scavenging air are corrected. 
         [0061]    At  612 , method adjusts inferred exhaust manifold pressure. In one example, method  600  adjusts inferred exhaust manifold pressure according to the following equations: 
         [0000]      exhmap_slope( k+ 1)=min{slope1, max{slope2,exhmap_slope( k )−ε_adapt*(air_tot_corr( k )−air_chg_tot( k ))]
 
         [0000]    where ε_adapt is a (small) adaptive gain and slope 1  and slope 2  are correction limits that may be set at +/−1.6 based on the slope values shown in  FIG. 4 . The scavenging region entry condition described at  606  may be the basis for updating the exhaust pressure. The slope correction may be used as a basis to adjust the estimate of the exhaust manifold pressure: 
         [0000]      air_exhmap_corr=air_exhmap+exhmap_slope*exh_mass_flow 
         [0000]    where exh_mass_flow may be estimated based on total air flow through the engine. In one example, flow through each engine cylinder may be added together to determine engine air flow and engine exhaust flow may be set equal to engine air flow. Method  600  proceeds to  614  after engine exhaust manifold pressure is corrected. 
         [0062]    At  614 , method  600  adjusts actuators in response to corrected cylinder trapped air amount, corrected cylinder scavenging air amount, and corrected exhaust pressure. Alternatively, when scavenging is not present, actuators are adjusted according to uncorrected cylinder trapped air amount. In one example, timing of spark delivered to an engine cylinder is determined via indexing a table or function of empirically determined spark values using engine speed and corrected cylinder trapped air amount. The table outputs spark advance timing based on the engine speed and corrected cylinder trapped air amount and spark is delivered to the cylinder at the timing output from the table. 
         [0063]    In another example, cam phase is adjusted based on the corrected scavenging air amount. For example, if a scavenging air amount is greater than a desired scavenging air amount, a scavenging error is determined via subtracting corrected scavenging air amount from desired scavenging air amount. The phase of intake and/or exhaust cams is adjusted according to the scavenging error. In one example, when the scavenging error is negative, intake and exhaust valve overlap is reduced so that intake and exhaust valves of a cylinder are simultaneously open for a shorter period of time. In another example, intake and exhaust valve overlap is increased when the scavenging error is positive so that intake and exhaust valves of a cylinder are simultaneously open for a longer period of time. 
         [0064]    PCV valve operation and EGR valve operation similar to the way spark timing is adjusted in response to corrected cylinder trapped air amount. For example, if corrected cylinder trapped air amount is increased to a lower value, flow from PCV and EGR valves may be reduced. Method  600  proceeds to exit after engine actuators are adjusted to corrected cylinder trapped air amount and corrected cylinder scavenging air amount. 
         [0065]    Thus, the methods of  FIGS. 5 and 6  provide for a method for operating an engine, comprising: adjusting a first actuator in response to an cylinder scavenging air amount, the cylinder scavenging air amount corrected via an oxygen sensor; and adjusting a second actuator in response to a cylinder trapped air amount, the cylinder trapped air amount corrected via the oxygen sensor apart from the cylinder scavenging air amount. In this way, cylinder trapped air amount and cylinder scavenging air amount may be separately adjusted base on a corrected total air amount flowing through a cylinder during a cycle of the cylinder. 
         [0066]    The method also includes where the first actuator is a valve timing actuator and where the second actuator is an ignition coil providing spark to the engine. The method also includes where the first actuator and the second actuator are a same actuator. In another example, the method includes where the cylinder scavenging air amount and the cylinder trapped air amount are based on a total cylinder trapped air amount. The method further comprises determining presence of cylinder scavenging air in response to engine speed, MAP, and valve overlap. The method also includes where valve overlap is a duration when intake and exhaust valves of a cylinder are simultaneously open. 
         [0067]    The methods of  FIGS. 5 and 6  also provide for operating an engine, comprising: adjusting fuel injection timing in response to a corrected total cylinder trapped air amount flowing through a cylinder during a cycle of a cylinder; adjusting a cylinder trapped air amount based on the corrected total cylinder trapped air amount flowing through the cylinder; adjusting a cylinder scavenging air amount based on the corrected total cylinder trapped air amount flowing through the cylinder; and adjusting a first actuator in response to the cylinder trapped air amount. In some examples, the method further comprises estimating an exhaust parameter in response to the cylinder scavenging air amount. The method also includes where the exhaust parameter is an exhaust catalyst exotherm. 
         [0068]    The method also includes where the first actuator is an ignition coil, and further comprising adjusting a second actuator in response to the cylinder scavenging air amount. The method further includes where the second actuator is a camshaft phase actuator. The method further comprises increasing intake valve and exhaust valve opening overlap to increase the cylinder scavenging air amount when the cylinder scavenging air amount is less than a desired cylinder scavenging air amount. The method also includes where the corrected total cylinder trapped air amount flowing through the cylinder is corrected via an output of an oxygen sensor. 
         [0069]    As will be appreciated by one of ordinary skill in the art, the methods described in  FIGS. 5 and 6  may represent one or more of any number of processing strategies such as event-driven, interrupt-driven, multi-tasking, multi-threading, and the like. As such, various steps or functions illustrated may be performed in the sequence illustrated, in parallel, or in some cases omitted. Likewise, the order of processing is not necessarily required to achieve the objects, features, and advantages described herein, but is provided for ease of illustration and description. Although not explicitly illustrated, one of ordinary skill in the art will recognize that one or more of the illustrated steps or functions may be repeatedly performed depending on the particular strategy being used. 
         [0070]    This concludes the description. The reading of it by those skilled in the art would bring to mind many alterations and modifications without departing from the spirit and the scope of the description. For example, single cylinder, I2, I3, I4, I5, V6, V8, V10, V12 and V16 engines operating in natural gas, gasoline, diesel, or alternative fuel configurations could use the present description to advantage.