Abstract:
A method of filtering an oxygen sensor signal is provided. The method includes obtaining the oxygen sensor signal from the oxygen sensor on a periodic basis. The oxygen sensor signal is then compared to an average oxygen sensor signal value. If the oxygen sensor signal is greater than the average oxygen sensor signal value, a high signal counter is incremented. If the high signal counter is greater than a high signal count threshold, the oxygen sensor signal is forced to a high signal value. If the oxygen sensor signal is less than the average oxygen sensor signal value, a low signal counter is incremented. If the low signal counter is greater than a low signal count threshold, the oxygen sensor signal is forced to the low signal value. The high and low signal count thresholds correspond to a preselected period of time indicating a low or high signal trend within the oxygen sensor signal.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Technical Field  
           [0002]    The present invention generally relates to oxygen sensor signal filtering and, more particularly, to a method of selectively forcing an oxygen sensor signal to a high or low signal state.  
           [0003]    2. Discussion  
           [0004]    Modern automotive vehicles are commonly equipped with oxygen sensors in the exhaust system. The oxygen sensors indicate a lean or rich operating condition by sensing the amount of oxygen in the emissions. Switching type oxygen sensors provide a voltage which is either low or high depending upon the amount of oxygen in the system.  
           [0005]    A switching type oxygen sensor emits a low voltage signal under a lean condition and a high voltage signal under a rich condition. Depending upon the signal received from the oxygen sensor, the engine controller can vary the fuel to air ratio within the vehicle engine to vary the emissions output. As such, closed loop or feedback control is established.  
           [0006]    The sensitivity of modern oxygen sensors allows detection of lean and rich conditions at an extremely high frequency. For example, modern oxygen sensors can sense the varying conditions within the emissions caused by individual cylinder firing events. Since such switching is not associated with the true chemical condition of the emissions, the type of switching is commonly known in the art as chemical noise.  
           [0007]    Chemical noise causes the output of the oxygen sensor to be somewhat unreliable. That is, the oxygen sensor may switch between low and high voltage signal states due to an individual cylinder firing event where over a greater time period the true condition of the emissions may not be accurately reflected in the signal. Such “false” switching may lead to a variation in the fueling of the engine which would otherwise be unnecessary.  
           [0008]    Conventional attempts to reduce false switching include changing the frequency of the oxygen sensor signal and also filtering out voltage spikes. One such attempt averages the input of the oxygen sensor signal. By slowing down the filter rate, the output signal experiences a change in frequency and a decrease in noise level. Unfortunately, such output signals are too slow for most operating systems. As such, the system can not reliably detect sensor signal switching between a low signal state and a high signal state.  
           [0009]    Another attempt to reduce false switching involves the detection of the slope of the input signal. When enough of a positive slope is detected, the output signal is forced high. When enough of a negative slope is detected, the output signal is forced low. Unfortunately, the output signal still has noise in it and this technique does not have a significant impact on the frequency of the oxygen sensor signal.  
           [0010]    In view of the forgoing, there continues to be a need in the art for a method of filtering an oxygen sensor signal so that reliable switching between the low and high voltage signal states can be readily detected.  
         SUMMARY OF THE INVENTION  
         [0011]    The above and other objects are provided by a method of filtering an oxygen sensor signal. The method includes obtaining an oxygen sensor signal from the oxygen sensor on a periodic basis. The oxygen sensor signal is then compared to the average oxygen signal voltage. If the oxygen sensor signal is greater than the average oxygen signal voltage, a high signal counter is incremented. If the high signal counter is greater than a signal count threshold, the oxygen sensor signal is forced to a high signal value. If the oxygen sensor signal is less than the average oxygen signal voltage, a low signal counter is incremented. If the low signal counter is greater than a signal count threshold, the oxygen sensor signal is forced to a low signal value. The high and low signal count thresholds correspond to a preselected period of time indicating a low or high signal trend within the oxygen sensor signal.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0012]    The various advantages of the present invention will become apparent to one skilled in the art upon reading the following specification and by reference to the drawings in which:  
         [0013]    [0013]FIG. 1 is a graph illustrating the oxygen sensor voltage signal over a period of time and a filtered oxygen sensor signal over the same period of time; and  
         [0014]    [0014]FIGS. 2 a  and  2   b  are flowcharts illustrating the methodology of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0015]    The present invention is directed towards filtering an oxygen sensor signal to reduce the noise within the signal and reduce the number of detected false switches. The methodology forces the oxygen sensor signal to a high signal value if the oxygen sensor signal is greater than an average oxygen signal value over a preselected period of time. The oxygen sensor signal is forced to a low signal value if the oxygen sensor signal is less than the average oxygen signal value over a preselected period of time. Since a preselected period of time elapses prior to accepting the oxygen sensor signal as reliable, fewer false switches are detected and noise within the signal is reduced. For the purpose of this description, a raw oxygen sensor signal refers to the raw voltage produced by an oxygen sensor as it measures the varying air to fuel ratio in the exhaust gas stream of a vehicle. A filtered oxygen sensor signal refers to the output of the method described and which is used in a vehicle in place of the raw oxygen sensor voltage to modify the fuel to air ratio delivered for combustion.  
         [0016]    Turning now to the drawing figures, FIG. 1 illustrates a raw (i.e., unfiltered) oxygen sensor signal output  10  and a filtered oxygen sensor signal  12  over time. As can be seen, the raw oxygen sensor signal  10  switches between a low state from about 0.1 to about 0.3 volts and a high state from about 0.6 to about 0.8 volts over time. This is because the emissions detected by the oxygen sensor producing the raw signal  10  are varying between a lean and rich condition. As will be described in greater detail below, the methodology of the present invention filters the raw oxygen sensor signal  10  so as to produce the filtered oxygen sensor signal  12 . As can be seen, the frequency of the filtered oxygen sensor signal  12  is much slower than the frequency of the raw oxygen sensor signal  10 . Further, the peaks and valleys of the filtered oxygen sensor signal  12  are more consistent than the peaks and valleys of the raw oxygen sensor signal  10 . In addition, the demarcation between the peaks and valleys of the filtered oxygen sensor signal  12  is more clear than between the peaks and valleys of the raw oxygen sensor signal  10 .  
         [0017]    Turning now to FIG. 2, the methodology for producing the filtered oxygen sensor signal  12  of FIG. 1 is illustrated. The methodology begins at bubble  100  and falls through to block  102 . Preferably, the methodology is performed periodically such as every 11 ms or every engine cycle.  
         [0018]    In block  102 , the methodology obtains the raw oxygen sensor signal from an oxygen sensor associated with the exhaust system of the vehicle in which the methodology is employed. The raw oxygen sensor signal may be produced by any one of a number of oxygen sensors disposed along a conventional exhaust system. As one skilled in the art will readily appreciate, the amount of filtering required for the individual output of any given oxygen sensor depends upon the location of that oxygen sensor within the exhaust system and the particular oxygen sensor employed.  
         [0019]    After obtaining the oxygen sensor signal at block  102 , the methodology continues to block  104 . In block  104 , the methodology determines the average raw oxygen sensor signal. To accomplish this, a filter value is selected, for example, a 10% filter. With this filter value, the average raw oxygen sensor signal is calculated by multiplying the raw oxygen sensor signal obtained in block  102  by 10% and adding to this 90% of the average raw oxygen sensor signal calculated in block  104  from the previous loop (in this example, the value of the average raw oxygen sensor signal from 11 ms ago). In other words: New average=(100%−filter factor)×Old average+filter factor×Raw 02 signal.  
         [0020]    After determining the average raw oxygen sensor signal value in block  104 , the methodology continues to decision block  106 . In decision block  106 , the methodology determines whether the current raw oxygen sensor signal value obtained at block  102  is greater than the average oxygen sensor signal value determined at block  104 . The average oxygen sensor signal value provides a demarcation between a high voltage signal state and a low signal state of the oxygen sensor.  
         [0021]    If the raw oxygen sensor signal is greater than the average oxygen sensor signal value at decision block  106 , the methodology continues to decision block  108 . In decision block  108 , the methodology determines whether a filtered oxygen signal (described below) has been set equal to a low voltage level or whether a high sensor signal value counter (also described below) is less than a low threshold value. This low threshold value may be set equal to the number of consecutive readings desired for deeming the sensor signal to be in a low regime such as, for example, 2.  
         [0022]    If the filtered oxygen signal is not low and the high counter is not less than the low threshold at decision block  108 , the methodology advances through connector A to FIG. 2B. On the other hand, if the filtered oxygen sensor signal is low, or if the high counter is less than the low counter threshold, the methodology advances to block  110 . In block  110 , the methodology increments a high sensor signal voltage counter.  
         [0023]    After incrementing the high sensor signal voltage counter at block  110 , the methodology continues to decision block  112 . In decision block  112  the methodology determines whether the high counter is greater than or equal to a high counter threshold. The high counter threshold value preferably corresponds to an amount of time sufficient to ensure a reliable signal. This time preferably equals about 66 ms which may be tabulated by a timer or by counting process loops. If loops are used, the high counter threshold value is equal to 6.  
         [0024]    If the high sensor signal voltage counter is less than the high counter threshold at decision block  112 , the methodology advances through connector A to FIG. 2B. On the other hand, if the high sensor signal voltage counter is greater than or equal to the high counter threshold at decision block  112 , the methodology continues to block  114 . In block  114 , the methodology forces the filtered oxygen sensor signal to a high sensor value. Preferably, the high sensor value corresponds to the most recent high peak of the raw oxygen sensor signal value. Alternatively, the high sensor signal voltage may be set equal to a preselected voltage value such as 0.75 volts.  
         [0025]    After forcing the oxygen sensor signal to a high value at block  114 , the methodology continues to block  116 . In block  116 , the methodology sets the high counter value equal to zero. From block  116 , the methodology advances through connector A to FIG. 2B.  
         [0026]    Referring again to decision block  106 , if the raw oxygen sensor signal is less than or equal to the average oxygen sensor signal value, the methodology continues to decision block  118 . In decision block  118 , the methodology determines whether the raw oxygen sensor signal is less than the average oxygen sensor signal value.  
         [0027]    If the oxygen sensor signal is equal to the average oxygen sensor signal at decision block  118  (note that it won&#39;t be greater than since this condition was filtered out at decision block  106 ), the methodology advances through connector A to FIG. 2B. On the other hand, if the oxygen sensor signal value is less than the average oxygen sensor signal value at decision block  118 , the methodology continues to decision block  120 .  
         [0028]    In decision block  120 , the methodology determines whether the filtered oxygen sensor signal is equal to an oxygen sensor signal high voltage value, or whether the low counter is less than a low counter threshold value. The low counter threshold value is preferably equal to that used in decision block  108 , or, for example, 2.  
         [0029]    If the filtered oxygen sensor signal value is not high, or if the low counter value is great than or equal to the low threshold value, the methodology advances through connector A to FIG. B.  
         [0030]    On the other hand, if the filtered oxygen sensor signal is high, or if the low counter is less than the low counter threshold value, the methodology continues to block  122 . In block  122 , the methodology increments the low sensor signal counter. After incrementing the low sensor signal counter at block  122 , the methodology continues to decision block  124 .  
         [0031]    In decision block  124 , the methodology determines whether the low counter is greater than or equal to a high counter threshold. The high counter threshold value preferably corresponds to an amount of time sufficient to ensure a reliable signal. This time preferably equals about 66 ms which may be tabulated by a timer or by counting process loops. If loops are used, the high voltage counter threshold value is equal to 6.  
         [0032]    If the low sensor signal voltage counter is less than the high counter threshold at decision block  124 , the methodology advances through connector A to FIG. 2B. On the other hand, if the low sensor signal voltage counter is greater than or equal to the high voltage counter threshold at decision block  124 , the methodology continues to block  126 . In block  126 , the methodology forces the filtered oxygen sensor signal to a low sensor value. Preferably, the low sensor value corresponds to the most recent low peak of the raw oxygen sensor signal value. Alternatively, the low sensor signal voltage may be set equal to a preselected voltage value such as 0.1 volts.  
         [0033]    After forcing the raw oxygen sensor signal to a low value at block  126 , the methodology continues to block  128 . In block  128 , the methodology sets the low counter value equal to zero. From block  128 , the methodology advances through connector A to FIG. 2B.  
         [0034]    Referring now to FIG. 2B, the methodology continues through connector A to decision block  130 . In decision block  130 , the methodology determines whether the filtered oxygen sensor signal is equal to an oxygen sensor signal high voltage value. If not, the methodology advances to decision block  132 . On the other hand, if the filtered oxygen sensor signal is high, the methodology continues to decision block  134 .  
         [0035]    In decision block  134 , the methodology determines whether the raw oxygen sensor signal is greater than the average oxygen sensor signal plus an offset value. The offset value corresponds to a preselected tolerance range for the methodology. For example, such tolerance may be equal to 0.12 volts.  
         [0036]    If the raw oxygen sensor signal is greater than the average oxygen sensor signal plus the offset value at decision block  134 , the methodology continues to block  136 . In block  136 , the methodology sets the oxygen sensor low voltage value equal to the average oxygen sensor signal value. From block  136 , the methodology continues to decision block  138 .  
         [0037]    In decision block  138 , the methodology determines whether the raw oxygen sensor signal value is greater than the oxygen sensor signal high voltage value. If so, the methodology continues to block  140 . In block  140 , the methodology sets the oxygen sensor signal high voltage value equal to the raw oxygen sensor signal value.  
         [0038]    Referring again to decision block  134 , if the raw oxygen sensor signal value is not greater than the average oxygen sensor signal value plus the offset value, the methodology advances to block  142 . Similarly, referring to decision block  138 , if the raw oxygen sensor signal value is not greater than the oxygen sensor high voltage value, the methodology advances to block  142 . Likewise, after setting the oxygen sensor high voltage value equal to the raw oxygen sensor signal value in block  140 , the methodology continues to block  142 .  
         [0039]    In block  142 , the methodology sets the filtered oxygen sensor signal value equal to the oxygen sensor high voltage value. From block  142 , the methodology continues to terminator  144  pending a subsequent execution thereof. For example, the methodology may be run every  11  milliseconds.  
         [0040]    Referring again to decision block  132 , the methodology determines whether the raw oxygen sensor signal value is less than the average oxygen sensor signal value minus an offset value. As in decision block  134 , the offset value corresponds to a tolerance for the average oxygen sensor signal. For example, 0.12 volts may be used. If the raw oxygen sensor signal is less than the average oxygen sensor signal less the offset value at decision block  132 , the methodology continues to block  146 . In block  146 , the methodology sets the oxygen sensor high voltage value equal to the average oxygen sensor signal value.  
         [0041]    From block  146 , the methodology continues to decision block  148 . In decision block  148 , the methodology determines whether the raw oxygen sensor signal is less than the oxygen sensor signal low voltage value. If so, the methodology continues to block  150 . In block  150 , the methodology sets the oxygen sensor signal low voltage value equal to the raw oxygen sensor signal value.  
         [0042]    Referring again to decision block  132 , if the raw oxygen sensor signal value is not less than the average oxygen sensor signal value less the offset value, the methodology advances to block  152 . Similarly, referring to decision block  148 , if the raw oxygen sensor signal value is not less than the oxygen sensor signal low voltage value, the methodology advances to block  152 . Likewise, after setting the oxygen sensor low voltage value equal to the raw oxygen sensor signal value at block  150 , the methodology continues to block  152 .  
         [0043]    In block  152 , the methodology sets the filtered oxygen sensor signal value equal to the oxygen sensor low voltage value. From block  152 , the methodology advances to terminator  144  and ends pending a subsequent execution thereof.  
         [0044]    Thus, a methodology is provided for forcing a raw oxygen sensor signal to a filtered high or low value depending upon the amount of time the raw oxygen sensor signal resides at a value greater than or less than an average oxygen sensor value. The slower frequency of the filtered oxygen sensor signal provides reliable control of the fueling of the engine. Moreover, much of the noise associated with an unfiltered oxygen sensor signal is removed.  
         [0045]    Many modifications and variations of the present invention are possible in light of the above teachings. Therefore, within the scope of the appended claims, the present invention may be practiced otherwise than as specifically described.