Two algorithms for processing the digitized readings of electronic noses, and computer programs to implement the algorithms, have been devised in a continuing effort to increase the utility of electronic noses as means of identifying airborne compounds and measuring their concentrations. One algorithm identifies the two vapors in a two-vapor mixture and estimates the concentration of each vapor (in principle, this algorithm could be extended to more than two vapors). The other algorithm identifies a single vapor and estimates its concentration.

An electronic nose consists of an array of sensors, all of which respond to a variety of chemicals. By design, each sensor is unique in its responses to these chemicals: some or all of the sensitivities of a given sensor to the various vapors differ from the corresponding sensitivities of another sensor. The two algorithms exploit these sensitivities and the differences among them.

The validity of the two-vapor algorithm depends on the validity of the assumption that, of all the vapors of interest, no more than two of them are present at the time of measurement. This algorithm utilizes the following mathematical model of the response of a given sensor to a given pair of vapors:

where z is the sensor response, x and y are the concentrations of the two vapors, and parameters A through F are obtained by least-squares best fit of sensor responses to known concentrations of the individual vapors and to known concentrations of mixtures of the two vapors. The reason for choosing this model is that this research has shown it to be the best for mixtures of vapors. The model equation defines a response surface of the given sensor for the given pair of vapors.

Given the responses of an electronic nose to an unknown single vapor or two-vapor mixture, the first step of this algorithm is to calculate the difference between (1) the actual response of each sensor and (2) the model response of the sensor for an assumed pair of vapors. This calculation yields an error surface for the given sensor for the given two vapors. Next, the error surfaces thus calculated for all the sensors in the array are combined to obtain an error surface for the electronic nose with respect for the assumed two vapors. Next, the process as described thus far is performed for a different pair of vapors. The process is repeated until error surfaces for all possible pairs of vapors have been calculated.