<!-- canonical: https://jmrplens.github.io/phonometry/signals/metrology/ -->
Source: https://jmrplens.github.io/phonometry/signals/metrology/

# Calibration and uncertainty

A level printed by software is not yet a measurement. Three things separate
the one from the other: knowing that the record deserves to be **averaged at
all**, knowing what the digital samples mean **physically**, and knowing how
much the result could reasonably be **wrong**. This section covers all three,
and they apply transversally to every other page of the documentation. A
fourth page maps the evidence that backs the numbers: what a performance
**class** asserts, the verifiers that grade a chain, and the published
conformance report.

[Calibration and dBFS](https://jmrplens.github.io/phonometry/signals/calibration/) handles the
physical meaning. phonometry works in two reference frames: physical **dB
SPL**, established from a recorded calibrator tone (the IEC 60942 field
ritual), and digital **dBFS**, levels relative to full scale, appropriate when
no physical reference exists or when characterising the digital chain itself.
The page explains how each mode is set up and, just as important, which
quantities are meaningful in which frame.

[Measurement uncertainty (GUM and Monte Carlo)](https://jmrplens.github.io/phonometry/signals/gum-uncertainty/)
handles the second, implementing the *Guide to the Expression of Uncertainty
in Measurement* (**ISO/IEC Guide 98-3:2008**) and its Monte Carlo
**Supplement 1**. The GUM route propagates standard uncertainties analytically
through sensitivity coefficients into a combined and expanded uncertainty,
with Welch-Satterthwaite effective degrees of freedom; the Monte Carlo route
propagates whole probability distributions numerically and yields coverage
intervals that stay honest when the model is non-linear or the inputs are far
from Gaussian. The page shows both on the same models, including where they
diverge and why.

[Compliance and verification](https://jmrplens.github.io/phonometry/signals/compliance-verification/)
carries the evidence story: what a performance class actually claims in
IEC 61672-1 and IEC 61260-1 (same design goals, different acceptance limits),
which public verifier grades each stage of a measurement chain against its
tolerance tables, how to read and cite the numerical conformance report the
site publishes, and the honest boundary against the pattern-evaluation and
periodic tests of IEC 61672-2/-3 and IEC 61260-2/-3, which need an
instrument in a laboratory rather than a library.

[Data qualification](https://jmrplens.github.io/phonometry/signals/data-qualification/) guards the gate
in front of both: every average - a Leq, a Welch PSD, every averaged input
to an uncertainty budget - assumes the record is stationary, and the Bendat & Piersol reverse
arrangement and runs tests decide that objectively from segment mean squares,
with the book's own acceptance regions. The same page carries the Rice
statistics of level crossings and peaks - apparent frequency, peak rates,
the irregularity factor - that characterise a qualified Gaussian record and
screen for one that is not.

The same discipline extends into the frequency domain: the
[Signals and spectra](https://jmrplens.github.io/phonometry/spectra/) pages
apply the Bendat & Piersol error analysis to Welch spectral estimates, so
every PSD carries its effective number of averages, its normalized random
error and a chi-square confidence interval.

The pages meet in practice: an uncertainty budget for an acoustic
measurement almost always contains a calibration term, and several standards
implemented elsewhere in the library (ISO 9612, ISO 12999-1) ship uncertainty
budgets that are specialisations of the GUM machinery described here.

## Pages in this section

- [Calibration and dBFS](https://jmrplens.github.io/phonometry/signals/calibration/): physical SPL
  calibration from a calibrator tone, the stability check it applies to that
  recording, and the digital full-scale mode.
- [Compliance and verification](https://jmrplens.github.io/phonometry/signals/compliance-verification/):
  what a performance class asserts, the verifiers that grade weightings,
  filter banks and intensity spectra against their tolerance tables, the
  conformance report, and the scope of IEC 61672-2/-3 and IEC 61260-2/-3.
- [Measurement uncertainty (GUM and Monte Carlo)](https://jmrplens.github.io/phonometry/signals/gum-uncertainty/):
  the law of propagation of uncertainty and the Monte Carlo method, expanded
  uncertainty and coverage intervals.
- [Data qualification](https://jmrplens.github.io/phonometry/signals/data-qualification/): the reverse
  arrangement and runs stationarity tests on segment statistics, and the
  Rice level-crossing and peak statistics with the irregularity factor.

## What this section does not cover

Nothing here checks an instrument or a calibrator. The IEC 60942 conformance
tests of the calibrator itself — generated level, frequency, distortion, and
the corrections for static pressure and temperature — are not implemented, so
pass an already corrected `target_spl` when the manual asks for one, and the
IEC 61672-3 periodic tests are cited as laboratory practice rather than run;
[Compliance and
verification](https://jmrplens.github.io/phonometry/signals/compliance-verification/) draws
that boundary precisely, part by part. The dBFS half of the calibration page
sits outside any standard and makes no physical claim: it is a reference
frame, not a measurement. Data qualification implements the quantitative core
of Bendat & Piersol's section 10.3 only — classifying a record's type,
validating it against physical limits and editing out glitches remain manual
steps, as the book describes them. And an uncertainty budget is a model of
*your* measurement: the library propagates whatever you declare, and never
invents the terms. Where a standard publishes its own budget the guides say
so, as ISO 9612 does for [occupational
exposure](https://jmrplens.github.io/phonometry/perception/hearing/occupational-exposure/) and ISO
12999-1 for [sound insulation](https://jmrplens.github.io/phonometry/buildings/insulation/).
