Abstract:
In an air-fuel ratio feedback control system including a single air-fuel ratio sensor downstream of a three-way catalyst converter, the coarse-adjusting term and the O 2  adjusting term are calculated in accordance with the air-fuel ratio sensor, and an initial timing of the O 2  adjusting term is delayed when the catalyst converter is deteriorated, to thus improve the drivability of a vehicle.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an air-fuel ratio feedback control system in an internal combustion engine having a single air-fuel ratio sensor downstream of a three-way reducing and oxidizing catalyst converter in an exhaust gas passage. 
     2. Description of the Related Art 
     Among known air-fuel ratio feedback control systems using air-fuel ratio sensors (O 2  sensors), there exists a single air-fuel ratio sensor system, i.e., having a only one air-fuel ratio sensor. Note, in this system the air-fuel ratio sensor is disposed either upstream or downstream of the catalyst converter. 
     In a single air-fuel ratio sensor system having an air-fuel ratio sensor upstream of the catalyst converter, the air-fuel ratio sensor is disposed in the exhaust gas passage near to a combustion chamber, i.e., near the concentration portion of an exhaust manifold. In this system, however, the output characteristics of the air-fuel ratio sensor are directly affected by a non-uniformity or non-equilibrium state of the exhaust gas. For example, when the air-fuel ratio actually indicates a rich state but oxygen is still present, the output characteristics of the air-fuel ratio sensor fluctuate. Also, in an internal combustion engine having a plurality of cylinders, the output characteristics of the air-fuel ratio sensor are also directly affected by differences in individual cylinders, and accordingly, it is impossible to detect the mean air-fuel ratio for the entire engine, and thus the accuracy of the control of the air-fuel ratio is low. 
     On the other hand, in a single air-fuel ratio sensor system having an air-fuel ratio sensor downstream of the catalyst converter, the non-uniformity or non-equilibrium state of the detected exhaust gas has little or no effect, and thus the mean air-fuel ratio for the engine can be detected In this system, however, due to the capacity of the catalyst converter, the response characteristics of the air-fuel ratio sensor are lowered, and as a result, the efficiency of the catalyst converter cannot be properly exhibited, and thus the HC, CO and NO x  emissions are increased. 
     To solve the above problems, the following method, for example, is known. Namely, the actual air-fuel ratio is adjusted by a self-oscillating term, and the mean value thereof, i.e., a coarse-adjusting term, is controlled in accordance with the output of the air-fuel ratio sensor disposed downstream of the catalyst converter. 
     Nevertheless, this method cannot eliminate the increase of HC, CO and NO x  emissions, because a convergence error in the stoichiometric air-fuel ratio occurs due to the phase-difference between the input and output of the exhaust gas, which is caused by the low response of the air-fuel ratio sensor. 
     To solve the above problem, the preset inventor have suggested a method of using a proportional O 2  storage term and an integral O 2  storage term, to forcibly shift the coarse-adjusting term when the output of the air-fuel ratio sensor disposed downstream of the catalyst converter is outside a predetermined region, in addition to the air-fuel ratio control by the coarse-adjusting term (see Japanese Unexamined Patent Application (Kokai) No. 1-66441 published on Mar. 13, 1989). 
     Nevertheless, the above method cannot eliminate the increase of HC, CO and NO x  emissions when the catalyst converter is deteriorated, because the O 2   storage effect of the catalyst converter is reduced. 
     As a result, the proportional O 2  storage term is continuously used, and accordingly, the drivability becomes poor because the air-fuel ratio sensor detects the air-fuel ratio of the exhaust gas having a large fluctuation. 
     SUMMARY OF THE INVENTION 
     Therefore, an object of the present invention is to provide a air-fuel ratio control system able to prevent a poor drivability. 
     According to this invention, in an air-fuel ratio feedback control system including a single air-fuel ratio sensor disposed downstream of a three-way catalyst converter, a coarse-adjusting term AFc is calculated integrally when the output of the air-fuel sensor is not inverted, and calculated proportionally when the output is inverted, and an O 2  storage term is calculated at least proportionally when the output of the air-fuel sensor is outside a predetermined region. 
     Namely, a timing of the initiating the proportional O 2  storage term is delayed when the catalyst converter is deteriorated. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention will be more clearly understood from the description as set forth below with reference to the accompanying drawings. 
     FIG. 1 is a schematic view of an internal combustion engine according to the present invention; 
     FIGS. 2, 3, 4, 5, 6, 7, 8, 10, 11 and 12 are flow charts showing the operation of the control circuit of FIG. 1; and, 
     FIG. 9 is a timing diagram for explaining the control operation of the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     In FIG. 1, which illustrates an internal combustion engine according to the present invention, reference numeral 1 designates a four-cycle spark ignition engine disposed in an automotive vehicle, wherein an air-intake passage 2 of the engine 1 is provided with a potentiometer-type airflow meter 3 for detecting an amount of air drawn into the engine 1, and generating an analog voltage signal proportional to the amount of air flowing therethrough. The signal from the air-flow meter 3 is transmitted to a multiplexer-incorporating analog-to-digital (A/D) converter 101 of the control circuit 10. 
     Crank angle sensors 5 and 6, for detecting the angle of the crank-shaft (not shown) of the engine 1, are disposed at a distributor 4. 
     In this case, the crank angle sensor 5 generates a pulse signal at every 720° crank angle (CA) and the crank-angle sensor 6 generates a pulse signal at every 30° CA. The pulse signals from the crank angle sensors 5 and 6 are supplied to an input/output (I/O) interface 102 of the control circuit 10. Further, the pulse signal from the crank angle sensor 6 is then supplied to an interruption terminal of a central processing unit (CPU) 103. 
     Also provided in the air-intake passage 2 is a fuel injection valve 7 for supplying pressurized fuel from the fuel system to the air-intake port of the cylinder of the engine 1. Note, other fuel injection valves are provided for other cylinders, but these are not shown in FIG. 1. 
     A coolant temperature sensor 9 for detecting the temperature of the coolant is disposed in a cylinder block 8 of the engine 1. The coolant temperature sensor 9 generates an analog voltage signal in response to the temperature THW of the coolant, and transmits this signal to the A/D converter 101 of the control circuit 10. 
     A three-way reducing and oxidizing catalyst converter 12, which simultaneously removes three pollutants, CO, HC and NO x  from the exhaust gas is provided in an exhaust system on the downstream-side of an exhaust manifold 11. 
     A air-fuel ratio sensor 14 for detecting the concentration of oxygen composition in the exhaust gas is provided in an exhaust pipe 13 downstream of the catalyst converter 12. This air-fuel ratio sensor 14 generates an output voltage signal and transmits the signal to the A/DF converter 101 of the control circuit 10. 
     Reference 15 designates a throttle valve, and 16 designates a throttle sensor which incorporates an idle switch for detecting a time at which the throttle valve 15 is fully closed. The output LL of the idle switch is supplied to the I/O interface 102 of the control circuit. 
     The control circuit 10, which may be constructed by a microcomputer, further comprises a central processing unit (CPU) 103, a read only memory (ROM) 104 for storing a main routine and interrupt routines such as a fuel injection routine, an ignition timing routine and constants, etc., a random access memory 105 (RAM) for storing temporary data, a backup RAM 106, a clock generator 107 for generating various clock signals, a down counter 108, a flip-flop 109, and a drive circuit 110 and the like. 
     Note, that a battery (not shown) is connected directly to the backup RAM 106, and therefore, the content thereof is not erased even when the ignition switch (not shown) is turned off. 
     The down counter 108, flip-flop 109, and drive circuit 110 are used for controlling the fuel injection valve 7. Namely, when a fuel injection amount TAU is calculated in a TAU routine, as explained later, the amount TAU is preset in the down counter 108, and at the same time the flip-flop 109 is set, and as a result, the drive circuit 110 initiates the activation of the fuel injection valve 7. On the other hand, the down counter 108 counts up the clock signal from the clock generator 107, and finally, a logic &#34;1&#34; signal is generated from the borrow-out terminal of the down counter 108, to reset the flip-flop 109, so that the drive circuit 110 stops the activation of the fuel injection valve 7, whereby an amount of fuel corresponding to the fuel injection amount TAU is injected into the fuel injection valve 7. 
     Interruptions occur at the CPU 103 when the A/D converter 101 completes an A/D conversion and generates an interrupt signal; when the crank angle sensor 6 generates a pulse signal; and when the clock generator 107 generates a special clock signal. 
     The intake air amount data Q from the airflow meter 3 and the coolant temperature data THW from the coolant sensor 9 are fetched by an A/D conversion routine(s) executed at predetermined intervals, and then stored in the RAM 105; i.e., the data Q and THW in RAM 105 are renewed at predetermined intervals. 
     FIG. 2 is a routine for calculating a coarse-adjusting term AFc in accordance with the output voltage Vox of the air-fuel ratio sensor 14, and is executed at predetermined intervals such as 16 ms. 
     At step 201, it is determined whether or not the flag XFB is &#34;1&#34;, which means that the conditions for the feedback control are established. 
     For example, the feedback control is inhibited under the following conditions. 
     i) the engine is in a fuel cut-off state; 
     ii) the engine is in a state of waiting for a predetermined interval after a fuel cut-off condition has been released; 
     iii) the engine is in a fuel increase condition, to prevent an overheating of the catalyst converter; 
     iv) the engine is in a power increase condition. 
     In the above-mentioned conditions, when the flag XFB is &#34;0&#34;, which shows that the feedback control conditions are not satisfied, this routine is directly completed. 
     If the flag XFB is &#34;1&#34;, which shows that the feedback control conditions are satisfied, the control proceeds to step 202, and the output of the air-fuel ratio sensor 14 Vox is compared with the predetermined reference Vr, e.g., 0.45 V. 
     If Vox is smaller than Vr, which means that the current air-fuel ratio is lean, the control proceeds to step 203 and &#34;0&#34; is set in the air-fuel ratio flag XOX. Then, at step 204, it is determined whether or not a previous air-fuel ratio flag XOXO is &#34;1&#34; (rich), i.e., the air-fuel ratio flag XOX is inverted. If the previous air-fuel ratio XOXO is &#34;0&#34;, which means that the rich state is maintained, the control proceeds to step 205. 
     In step 205, it is determined whether or not the counter CNT, which determines the continuance of the rich or lean state, is smaller than the predetermined value KCNT. If CNT is smaller than KCNT, the control proceeds to step 206 and CNT is incremented, and this routine is then completed. 
     If CNT is equal to KCNT, the control proceeds to step 207, and &#34;0&#34; is set in the counter CNT. Then at step 208, the coarse-adjusting term AFc is increased by ΔAFc2, which means that the coarse-adjusting term is integrally increased at predetermined intervals (for example 16 ms)×KCNT, and this routine is then completed. 
     When XOXO is &#34;1&#34;, which means that XOXO is inverted, the control proceeds to step 209, and &#34;0&#34; is set in XOXO. Then at step 210, ΔAFc1 is added to the coarse-adjusting term AFc, which means that the coarse-adjusting term AFc is proportionally increased when the air-fuel ratio is inverted from the rich state to the lean state. At step 211, the counter CNT is reset to &#34;0&#34;, and this routine is then completed. 
     When the output voltage Vox of the air-fuel ratio sensor 14 is larger than the reference Vr, the control proceeds to step 212, and &#34;1&#34; is et in the air-fuel ratio flag XOX. Then at step 213, it is determined whether or not the previous air-fuel ratio flag XOXO is &#34;0&#34;. 
     If XOXO is &#34;1&#34;, the control proceeds to step 214, and the counter CNT is compared with KCNT. 
     When CNT is smaller than KCNT, the control proceeds to step 215 and CNT is incremented and this routine is completed. 
     If CNT is equal to KCNT, the control proceeds to step 216, and &#34;0&#34; is set in the CNT. Then at step 217, ΔAFc2 is subtracted from the coarse-adjusting term AFc, and this routine is completed. 
     If XOXO is &#34;0&#34;, the control proceeds to step 218, and &#34;1&#34; is set in XOXO. At step 219, ΔAFc1 is subtracted from the coarse-adjusting term AFc, and the control then proceeds to step 211. 
     As a result, if the actual air-fuel ratio approaches the stoichiometric air-fuel ratio, the integral action does not function, and only the proportional action functions as the self-oscillating term because the counter is reset within the predetermined period KCNT at step 211. 
     When the air-fuel ratio is far from the stoichiometric air-fuel ratio, however, it takes a long time to converge the air-fuel ratio to the stoichiometric air-fuel ratio with a only the coarse-adjusting term, and it is impossible to lower the HC, Co and NO x  emissions during this time. 
     To solve this problem, the air-fuel ratio is compensated with the O 2  storage term. 
     FIG. 3 is the routine for calculating the O 2  storage term, and is executed at predetermined intervals such as 64 ms. 
     At step 301, it is determined whether or not the flag XFB is &#34;1&#34;. If XFB is &#34;0&#34;, this routine is immediately completed. If XFB is &#34;1&#34;, the control proceeds to step 302, at which Vox is fetched through the A/D converter 101. 
     At step 303, it is determined whether or not the output voltage Vox of the air-fuel ratio sensor 14 is smaller than the first threshold value V 1 . If Vox is larger than V 1 , at step 312 it is determined whether or not Vox is larger than the second threshold value V 2 . Note, a range of the output Vox of the air-fuel ratio sensor 14 is divided into three regions, as follows: 
     &#34;L&#34; (lean) region: 0(Volt)˜V 1   
     &#34;S&#34; (stoichiometric) region: V 1  ˜V 2   
     &#34;R&#34; (rich) region: V 2  ˜1(Volt) 
     As a result, when Vox is smaller than V 1 , which means that the current air-fuel ratio is in the &#34;L&#34; region, the control proceeds to step 304, and it is determined whether or not a flag XS, which shows that the output of the air-fuel ratio sensor was in the &#34;S&#34; region at the previous execution of this routine, is &#34;1&#34;. 
     If XS is &#34;1&#34;, which means that the output of the air-fuel ratio sensor is transferred from the &#34;S&#34; region to the &#34;L&#34; region, CDLYO, which is determined by a routine shown in FIG. 7, is set in a delay counter CDLY, and at step 306, &#34;0&#34; is set in the flag XS and the control proceeds to step 307. 
     If XS is &#34;0&#34;, which means that the output of the air-fuel ratio sensor is remaining in the &#34;L&#34; region, the control directly proceeds to step 307. 
     At step 307, the delay counter CDLY is decremented and at step 308, it is determined whether or not the CDLY is a positive value. 
     If the CDLY is not a positive value, which means that the predetermined interval T calculated by a following equation has passed after the transfer from the &#34;S&#34; region to the &#34;L&#34; region, the control proceeds to step 309. 
     
         T=CDLYO×routine executing interval                   (1) 
    
     At step 309, &#34;0&#34; is set in the CDLY and at step 310, an integral O 2  storage term AFccroi is gradually increased by 
     
         AFccroi←AFccroi+ΔAFccro (definite)              (2) 
    
     Then, at step 311, the O 2  storage term AFccro is calculated by 
     
         AFccro←AFccrop+AFccroi                                (3) 
    
     Therefore, the O 2  storage term AFccro is greatly increased by AFccrop, then gradually increased with the gradual changing speed ΔAFccro. 
     If the output voltage Vox is larger than the second threshold value V 2 , which means that the current air-fuel ratio is in the &#34;R&#34; region, the control proceeds to step 320 through step 312. 
     This process is same as the process which is executed from step 304 to step 311, except followings. 
     At step 319, the integral O 2  storage term AFccroi is gradually decreased by 
     
         AFccroi←AFccroi-ΔAFccro (definite)              (4) 
    
     At step 320, the O 2  storage term AFccro is calculated by 
     
         AFccro←-AFccrop+AFccroi                               (5) 
    
     If the current air-fuel ratio enters the &#34;S&#34; region as the result of an increase or decrease of the O 2  storage term AFccro, the control proceeds to step 321, where &#34;1&#34; is set in the flag XS, and to step 322, where a calculation for the &#34;S&#34; region is executed. 
     Note, the control also proceeds to step 322 when the CDLY is determined to be a positive value at step 308 or step 317. 
     After the calculation for the &#34;S&#34; region is executed, the control proceeds to step 323, where AFccro is made AFccroi, and the routine is then completed. 
     FIG. 4 is the routine for the process of step 322, which is executed together with the routine shown FIG. 3. 
     At step 401, it is determined whether or not Vox is smaller than Vr. If Vox is smaller than Vr, the control proceeds to step 402 and &#34;0&#34; is set in XOY, and then goes to step 404. If Vox is larger than Vr, the control proceeds to step 403 and &#34;1&#34; is set in XOY, and then goes to step 404. 
     At step 404, it is determined whether or not the flag XOY is equal to the flag XOYO. 
     If XOY is equal to XOYO, which means that the air-fuel ratio is in the same state, the control proceeds to step 405 and it is determined whether or not XOY is &#34;0&#34;. 
     When XOY is &#34;0&#34;, which means that the current air-fuel ratio is lean, the control proceeds to step 406, where ΔAFccro is subtracted from the integral O 2  storage term AFccroi, and to step 407, where it is determined whether or not AFccroi is a negative value. 
     If AFccroi is a negative value, the control proceeds to step 410 where AFccro is cleared to avoid an overcompensation, and then goes to step 411. 
     If AFccroi is not a negative value, the control proceeds directly to step 411, where XOY is replaced by XOYO, and the routine is then completed. 
     When XOY is &#34;1&#34;, which means that the current air-fuel ratio is rich, the control proceeds to step 408, where ΔAFccro is added to the integral O 2  storage term AFccroi, and to step 409, where it is determined whether or not AFccroi is a positive value. 
     If AFccroi is a positive value, the control proceeds to step 410 where AFccro is cleared to avoid an overcompensation, and then goes to step 411. 
     If AFccroi is not a positive value, the control proceeds directly to step 411. 
     Note, the delay counter CDLYO is determined by a routine for determining a deterioration of the catalyst converter and a routine for setting a delay time. 
     FIG. 5 is a routine for determining the deterioration of the catalyst converter, and is executed at predetermined intervals such as 4 ms. 
     At step 501, it is determined whether or not the flag XFB is &#34;0&#34;, which means that the conditions of the feedback control are established. 
     If the flag XFB is &#34;0&#34;, the control proceeds to step 502, where the flag XT&amp;A is cleared, and this routine is completed. 
     If the flag XFB is &#34;1&#34;, the control proceeds to step 503. At step 503, an A/D conversion is performed upon the output voltage Vox of the air-fuel ratio sensor 14, and the A/D converted value thereof is then fetched from the A/D converter 101. Then, at step 404, the voltage Vox is compared with the reference voltage Vr such as 4.5 V, to thereby determine whether the current air-fuel ratio detected by the air-fuel ratio sensor 14 is on the rich side or the lean side with respect to the stoichiometric air-fuel ratio. 
     If Vox is smaller than Vr, which means that the current air-fuel ratio is lean, the control proceeds to step 505 and &#34;1&#34; is set in the air-fuel ratio flag XOZ. Then at step 506, it is determined whether or not a previous air-fuel ratio flag XOZO is &#34;1&#34; (rich), i.e., the air-fuel ratio flag XOZ is inverted. 
     When the air-fuel ratio XOZ is &#34;0&#34;, which means that the rich state is continuing, the control proceeds to step 507, where the counter CNTL which designates the interval for holding the lean state, is incremented. Then at step 508, it is determined whether or not the output voltage Vox of the air-fuel ratio sensor is larger than Vmin, where the minimum output voltage is stored. If Vox is smaller than Vmin, the control proceeds to step 509, which makes Vmin become Vox, and the routine is then completed. 
     If the lean state continues, CNTL is incremented at every execution, and the minimum value of the output voltage of the air-fuel ratio sensor is stored in Vmin. 
     As a result of this control, if the current air-fuel ratio is inverted from the lean side to the rich side, the output voltage of the air-fuel ratio sensor Vox becomes larger than Vr. Then the control proceeds to step 515, and &#34;1&#34; is set in the flag XOZ. 
     At step 516, it is determined whether or not a previous air-fuel flag XOZO is &#34;0&#34; (lean), i.e., the air-fuel ratio flag is inverted. As a result, only when the air-fuel ratio flag is inverted, does the control proceeds to step 517, and &#34;1&#34; is set in the flag XOZO. Then at step 518, the inverting interval is calculated by 
     the following equation. 
     
         T=CNTL+CNTR                                                (6) 
    
     Then the control proceeds to step 519, and CNTR is cleared. Then, at step 520, the amplitude of the output of the air-fuel ratio sensor A is calculated by the following equation. 
     
         A=Vmax-Vmin                                                (7) 
    
     At step 521, Vmax is cleared, and the control then proceeds to step 525. 
     At step 525, it is determined whether or not the flag LL is &#34;1&#34;. If the flag LL is &#34;1&#34;, which means that the engine is in an idling state, the control proceeds to step 529, and &#34;0&#34; is set in the flag XT&amp;A, and the routine is completed. 
     If LL is &#34;0&#34;, which means that the engine is under a normal operation, the control proceeds to step 526, which determines whether or not the inverting interval T is smaller than the predetermined period T 0 . If T is larger than T 0 , the control proceeds to step 529. If T is smaller than T 0 , the control proceeds to step 527, which determines whether or not the amplitude A is larger than the pre-determined value A 0 . 
     If A is smaller than A 0 , the control proceeds to step 529. If A is larger than A 0 , the control proceeds to step 528, and &#34;1&#34; is set in the flag XT&amp;A. 
     FIG. 6 is the routine for setting a delay time CDLYO, which is an interval from a time at which the current air-fuel ratio is outside the first threshold value V 1  or the second threshold value V 2  to a time at which proportional storage term is initiated when the catalyst converter is determined to have been deteriorated. 
     At step 601, it is determined whether or not the flag XT&amp;A is &#34;1&#34;. If XT&amp;A is &#34;0&#34;, at step 602, &#34;0&#34; is set in CDLYO. If XT&amp;A is &#34;1&#34;, at step 603, &#34;α 0  &#34; (definite) is set in CDLYO. 
     Note, it is possible to vary CDLYO in accordance with degree of deterioration of the catalyst converter. FIG. 7 is the routine for varying CDLYO. 
     At step 701, it is determined whether or not the flag XT&amp;A is &#34;1&#34;. If XT&amp;A is &#34;1&#34;, the control proceeds to step 702, and the CDLYO is increased by Δ1. At step 703, it is determined whether or not the CDLYO is larger than a maximum value α max . Only when the CDLYO is larger than α max , is the CDLYO made α max  at step 704. 
     If XT&amp;A is &#34;0&#34;, the control proceeds to step 705, and it is determined whether or not CDLYO satisfies the following relationship. 
     
         0≦CDLYO&lt;α.sub.max /k                          (8) 
    
     If the relationship is satisfied, the control proceeds to step 706, and CDLYO is decreased by Δ2. 
     If the relationship is not satisfied, CDLYO is not varied. This means that CDLYO must be a positive value, and once CDLYO has been increased over the value α max  /k, CDLYO is not decreased even when the catalyst converter is determined not to be deteriorated. 
     FIG. 8 is the routine for calculating the fuel injection amount. At step 801, the basic fuel injection amount TAUP is calculated based on the intake air-flow Q measured by the air-flow meter 3 and the engine rotating speed Ne determined by the output of the crank angle sensors 5 and 6 using the following equation. 
     
         TAUP=β×Q/Ne                                     (9) 
    
     where β is a constant. 
     At step 802, the fuel injection amount is calculated by the following equation. 
     
         TAU=TAUP×(AFc+AFccro+γ)+δ                (10) 
    
     where 
     AFc=the coarse-adjusting term 
     AFccro=the O 2  storage term 
     γ, δ=a constant 
     At step 803, the fuel injection amount TAU is set to the counter 108 and the determined amount of fuel is then injected from injector 7. 
     FIG. 9 is a timing diagram for explaining the control operation of the present invention, wherein the abscissa shows time and the ordinate shows the output of air-fuel ratio sensor and the value of the O 2  storage term. 
     If &#34;0&#34; is set in the CDLYO before time t 1  in FIG. 9, the O 2  storage term is greatly decreased as soon as the output of the air-fuel ratio sensor enters the &#34;R&#34; region or is greatly increased as soon as the output of the air-fuel ratio sensor enters the &#34;L&#34; region. 
     If the catalyst converter is found to be deteriorated at t 1 , the CDLY is set as α 0 . The O 2  storage term functions at a time when α 0  has passed from T 1 , but as an interval between T 1  and t 2  is shorter than α 0 , the great change of the O 2  storage term can be avoided. The regions X 2  and X 3  are also negated. But when an interval between t 7  and t 9 , while the rich state is being maintained, is longer than α 0 , the proportional O 2  storage term functions at t 8  when α 0  has passed t 7 . For the same reason, the proportional O 2  storage term functions at t 11  when α 0  has passed t 9 . 
     Note, it is possible to add the self-oscillating-term AFs to the above equation (10), for a more positive use of the O 2  storage effect of the catalyst converter as already suggested by the present inventors (see Japanese Unexamined Patent Publication (Kokai) No. 1-6641 published on Mar. 31, 1989). 
     FIG. 10 shows the routine for calculating the self-oscillating term AFs, and FIG. 11 shows the routine for calculating the fuel injection amount TAU in this case. 
     Note, the present inventors have also suggested that the amplitude and period of the self-oscillating term can be changed according to whether the engine is in an idling operation or in a non-idling operation (see U.S. Pat. No. 487,454 filed on Mar. 1, 1990 or Japanese Unexamined Patent Publication (Kokai) No. 2-230934 published on Sept. 13, 1990). 
     FIG. 12 shows the routine for calculating the self-oscillating term AFs in this case. 
     Note, a Karman vortex sensor, hard-ware type flow sensor, and the like can be used instead of the air-flow meter. 
     Although, in the above-mentioned embodiments, a fuel injection amount is calculated on the basis of the intake air amount and engine speed, it can be also calculated on the basis of the intake air pressure and engine speed, or the throttle opening and the engine speed.