Emission Correction to Reference Oxygen

Also known as oxygen correction · correction to 3% O2 · dilution correction · NOx corrected to reference oxygen

Ccorr=Cmeas20.9O2,ref20.9O2,measC_{corr} = C_{meas} \, \frac{20.9 - O_{2,ref}}{20.9 - O_{2,meas}}

Enter your known values, leave one input blank, and solves for the missing one. Try different units for next level excitement!

Learning zone

Add air to an exhaust stream and every concentration in it falls, while the mass leaving the stack does not change by a gram. Without a defence against that, any concentration limit could be met with a bigger fan. The defence is to restate every measurement at an agreed oxygen level. Ambient air is 20.9 % oxygen by volume on a dry basis, so the quantity 20.9O220.9 - O_2 is a measure of how much of the sample is combustion products rather than air, and scaling by the ratio of that quantity at the reference and measured conditions removes the dilution exactly: Ccorr=Cmeas(20.9O2,ref)/(20.9O2,meas)C_{corr} = C_{meas}(20.9 - O_{2,ref})/(20.9 - O_{2,meas}). A hundred ppm of NOx measured at 8 % oxygen, corrected to 3 %, is 100×17.9/12.9=138.8100 \times 17.9/12.9 = 138.8 ppm. The reported number is higher than the measured one, which is the point.

The reference oxygen is set by the rule, not by the tester, and the values encode what the equipment is: 3 % for industrial and utility boilers, 6 % for some solid-fuel units, 7 % in several US incinerator rules, 11 % for waste incineration under the European directives, and 15 % for gas turbines, whose enormous dilution air makes any lower reference meaningless. Two limits quoted at different references are not comparable until both are converted, and comparing them directly is a routine error in vendor literature. The correction is a pure ratio, so it works identically on a reading in ppm, in mg/m³ or in grains per cubic foot — nothing about the units enters it.

Where it fails is at high measured oxygen, and the failure is not gentle. The factor is 1/(20.9O2,meas)1/(20.9 - O_{2,meas}), so at 18 % oxygen it is multiplying by six, and any analyser error, drift or air leak in the sample line is multiplied by six along with the reading. At 20.9 % the denominator is zero and the correction is undefined; above it, negative. That is why this solver refuses the calculation there rather than returning a number: an oxygen reading at or above ambient means the probe is sampling air, not exhaust, and the honest answer is to fix the sample train. Most regulations write the same conclusion into the rule, refusing runs above roughly 15 % oxygen for units that are not turbines.

Two habits keep the arithmetic honest. The oxygen and the pollutant must come from the same sample on the same moisture basis — a dry oxygen reading applied to a wet pollutant concentration mixes two different gases, and since water can be 10 to 20 % of flue gas by volume, the error is not small. And the correction is applied exactly once. Feeding an already-corrected value back through, or correcting a concentration that a CEM system has already normalised internally, is a surprisingly common way to report a number twice as large as reality. When a result looks strange, check the oxygen first: it is the input that governs the answer, and it is the one most likely to be wrong.

Emission Correction to Reference Oxygen
Ccorr=Cmeas20.9O2,ref20.9O2,measC_{corr} = C_{meas} \, \frac{20.9 - O_{2,ref}}{20.9 - O_{2,meas}}
CmeasO2,measCcorrO2,ref
Where
  • CcorrC_{corr}= Corrected concentration (ppm)
  • CmeasC_{meas}= Measured concentration (ppm)
  • O2,refO_{2,ref}= Reference oxygen (%)
  • O2,measO_{2,meas}= Measured oxygen (%)
Missing one of these? Work it out first, then come back