Acoustic Leq and A-Weighting: Measuring How Loud a GPU Really Is

|By Assurd Engineering Lab|The Playbook

"Quiet" is the most common claim in a used-GPU listing and the least checkable. A Premium Assurd certificate replaces it with a number: the A-weighted equivalent sound level of the card under load, in dB(A) SPL, measured with a calibrated microphone at a fixed distance during the thermal trace.

This post explains what that number means and how the Kairoscope backend computes it from the recording (SOP-GPU-001 v1.1, Step 3.5). It also covers the rules that decide whether a recording can be compared with others. The technician never types a decibel value: every level below is computed by the server from the uploaded audio.

Sound pressure and the decibel

Sound is a small, fast fluctuation p(t)p(t) of air pressure around atmospheric pressure. Loudness tracks its mean square, and the range is enormous: the loudest sound you can tolerate carries about a million times the pressure of the faintest you can hear. So levels are expressed logarithmically, relative to the reference pressure p0=20 μPap_0 = 20\ \mu\text{Pa}:

Lp=10log⁡10p2‾p02=20log⁡10prmsp0  dB SPL.\begin{gathered} L_p = 10 \log_{10}\frac{\overline{p^2}}{p_0^2} \\ = 20 \log_{10}\frac{p_{\text{rms}}}{p_0}\ \ \text{dB SPL}. \end{gathered}

An RMS pressure of 1 Pa is

20log⁡10120⋅10−6=93.98 dB SPL,20 \log_{10}\frac{1}{20\cdot10^{-6}} = 93.98\ \text{dB SPL},

which is why acoustic calibrators produce 94 dB SPL.

Two consequences of the logarithm matter later:

  • adding 3 dB doubles the mean-square pressure;
  • adding 10 dB multiplies it by 10.

A-weighting

The ear is far less sensitive to low frequencies than to the 1–5 kHz range. A fan's 50 Hz rumble and a 2 kHz whine at the same sound pressure do not sound equally loud. A-weighting (IEC 61672) is a fixed filter that approximates this, attenuating each frequency by a standard amount before the level is computed:

FrequencyA(f)A(f)
50 Hz−30.3 dB
100 Hz−19.1 dB
200 Hz−10.8 dB
500 Hz−3.2 dB
1 kHz0.0 dB
2 kHz+1.2 dB
4 kHz+1.0 dB
8 kHz−1.1 dB

The filter is defined by fixed pole frequencies and normalised to exactly 0 dB at 1 kHz. The table evaluates it at exactly these frequencies; published tables, which use the standard's band-centre frequencies, can differ by 0.1 dB. A level computed through it is written dB(A). A-weighting is not perfect. It underweights low-frequency hum at higher levels, for example. But it is the universal convention, so a dB(A) figure can be compared with others.

Acoustic Leq

A GPU's noise is not steady: fan speed hunts, and the load itself varies. The equivalent continuous sound level LeqL_{\text{eq}} is the level of the steady sound that would carry the same A-weighted energy over the segment of length TT:

Leq=10log⁡10 ⁣(1T∫0TpA2(t)p02 dt),L_{\text{eq}} = 10 \log_{10}\!\Bigl(\frac{1}{T}\int_0^T \frac{p_A^2(t)}{p_0^2}\,dt\Bigr),

where pAp_A is the A-weighted pressure. In practice the backend estimates the segment's power spectrum, weights it by ∣A(f)∣2|A(f)|^2 and integrates over frequency, which gives the same mean square.

Leq averages energy, not decibels. Fifteen seconds at 40 dB(A) followed by fifteen at 50 dB(A) is not 45 dB(A):

10log⁡10104.0+105.02=47.4 dB(A).10 \log_{10}\frac{10^{4.0} + 10^{5.0}}{2} = 47.4\ \text{dB(A)} .

The louder half dominates, as it does for the listener. Averaging the decibel values would understate any card whose noise comes in bursts.

Calibration: from dBFS to dB(A) SPL

A sound file only knows numbers between −1 and +1. Its levels are in dBFS, decibels relative to digital full scale, where a full-scale sine reads 0 dBFS. Converting to sound pressure requires knowing the whole chain's sensitivity, microphone and preamp gain together. The recording therefore starts with a calibrator tone: a sealed coupler over the microphone capsule produces exactly 94 dB SPL at 1 kHz. If that tone reads LcalL_{\text{cal}} dBFS, the chain's offset is

C=94−Lcal  dB,LSPL=LFS+C.\begin{gathered} C = 94 - L_{\text{cal}}\ \ \text{dB}, \\ L_{\text{SPL}} = L_{\text{FS}} + C . \end{gathered}

Because A-weighting is 0 dB at 1 kHz, the tone needs no weighting correction. The backend checks the tone before trusting it:

  • its spectral peak must lie within 1000 ± 50 Hz;
  • at least 90 % of the segment's power must sit in that band.

A segment that fails either check is rejected and the session is re-recorded.

The offset is only valid while the chain is unchanged. The preamp gain is set once, before the tone, with auto-gain and noise suppression off, and must not change until the load segment is recorded.

The recording

One recording per session, at most 120 s, with four marked segments in this order:

SegmentWhenMinimum
Calibrator tonebefore power-on3 s
Noise floorbench powered off, every fan stopped5 s
Idleduring idle pre-conditioning, after at least 60 s of idle5 s
Loadat 1500–1560 s of the thermal trace's load5 s

The SOP recommends 10 s for the tone and 30 s for the other segments. Segments must not overlap.

The load segment sits inside the final window of the 1800 s trace, so the card is measured hot and at its settled fan speed rather than during warm-up. Why that window exists is covered in The Thermal Time Constant and the 1800 s Trace.

Geometry. The microphone stands 50 cm (± 0.5 cm) from the centre of the card's fan side, on the axis perpendicular to the fans, on an open bench. The distance is measured with a rule and recorded. The tolerance is tight for a reason. Under a simple point-source model, level falls with distance as 20log⁡10(r2/r1)20 \log_{10}(r_2 / r_1):

  • the ± 0.5 cm tolerance moves the level by at most 0.09 dB;
  • measuring at 40 cm instead of 50 cm would read 1.9 dB louder.

That second error is larger than many of the differences a comparison is meant to show.

The noise floor and the 6 dB rule

The microphone hears the room as well as the card. The certificate reports the measured load Leq as recorded: the room's contribution is not subtracted. What the rules ensure is that the room is small enough not to matter.

If the card alone produces LcL_c and the room LfL_f, energies add:

Lload=10log⁡10(10Lc/10+10Lf/10).L_{\text{load}} = 10 \log_{10}\bigl(10^{L_c/10} + 10^{L_f/10}\bigr).

Let m=Lload−Lfm = L_{\text{load}} - L_f be the load margin over the floor. The room's share of the reported level is

δ=−10log⁡10(1−10−m/10) dB.\delta = -10 \log_{10}\bigl(1 - 10^{-m/10}\bigr)\ \text{dB} .
Margin mmRoom's share δ\delta
3 dB3.0 dB: the card is no louder than the room
6 dB1.3 dB
9.6 dB0.5 dB

Hence the rule. If the load level is less than 6 dB above the noise floor, the measurement is invalid (ACOUSTIC_LOAD_WITHIN_6DB_OF_NOISE_FLOOR). The card cannot be separated from the room. The flag is a Soft Limit: the technician re-records in a quieter room where possible, or justifies continuing. A near-silent card is a legitimate reason. Either way, an invalid measurement is never ranked, even after the justification is approved.

Tonal peaks

A level is one number; a whine is a tone. The backend also searches the load segment's spectrum, between 20 Hz and 16 kHz, for narrow peaks standing at least 10 dB above the local median of the spectrum, and keeps at most ten. Each peak is classified for the technician's review:

  • Fan harmonic: a low-order multiple (up to the 16th) of the fan's shaft rate, from the trace's maximum fan speed. These are bearing and blade-pass tones.
  • Coil whine: otherwise, a peak between 1 and 10 kHz.
  • Unclassified: everything else.

For example, with fans at 2400 RPM the shaft rate is 40 Hz. A peak at 440 Hz is its 11th multiple, a fan harmonic. A peak at 4200 Hz would be the 105th multiple, far beyond the harmonics considered, and it falls in the coil-whine band. The certificate stores the peak frequencies only. The classification helps the technician; it is not a certified finding.

Worked example

These are test vectors, not a measured card. A session's calibrator tone reads −26.0 dBFS, so C=94−(−26.0)=120.0C = 94 - (-26.0) = 120.0 dB. The A-weighted segment levels convert as follows:

SegmentdBFS(A)dB(A) SPL
Noise floor−88.032.0
Idle−86.533.5
Load−78.441.6

The load margin is 41.6−32.0=9.641.6 - 32.0 = 9.6 dB, so the measurement is valid and the room accounts for about 0.5 dB of the reported 41.6 dB(A).

A quieter card in the same room, at −83.0 dBFS(A) under load, reads 37.0 dB(A). Its margin is 5.0 dB, under the 6 dB minimum. The measurement is flagged invalid, never ranked, and about 1.7 dB of its reported level is the room.

Test vector

Calibrator at −26.0 dBFS: offset 120.0 dB. Floor 32.0, idle 33.5, load 41.6 dB(A): margin 9.6 dB, valid. A load of 37.0 dB(A) gives a 5.0 dB margin: invalid, never ranked.

Absent or invalid data

Several conditions are recorded but never ranked:

  • Standard and Re-Certification. The acoustic recording is Premium only. A Standard or Re-Certification certificate carries no acoustic data, and that is fully SOP-compliant. Its absence is not a zero, and it is not a "quiet" result.
  • Uncalibrated. A recording without the calibrator segment is stored with calibrated = false. Its levels are relative dBFS(A), the certificate labels them as relative, and they are never ranked. For a Premium job, an uncalibrated recording does not satisfy Step 3.5, so the job cannot proceed until a calibrated one is recorded.
  • Off-geometry. A microphone distance outside 50 ± 0.5 cm is flagged ACOUSTIC_MIC_DISTANCE_NOT_SOP, and the recording is never ranked.

Only a calibrated recording, at SOP geometry, with a valid load margin contributes to the fleet acoustic ranking. Like every ranked metric, a percentile is shown only when the cohort holds at least n=30n = 30 cards.

What the number cannot tell you

  • It is one position. The level at 50 cm on the fan axis, on an open bench, is not the level inside your case, at your desk, with your fan curve.
  • It is one operating point. The load segment is the settled fan speed under the trace's load. A different workload, room temperature or fan curve gives a different number.
  • A-weighting is a convention. Two cards with equal dB(A) can sound different: one broadband, one tonal. That is why the tonal peaks are recorded alongside the level.

Calibration status

Every threshold in this post is an engineering prior pending fleet calibration (n ≈ 300):

  • the 6 dB load margin;
  • the 10 dB tonal prominence;
  • the 90 % tone purity and the ± 50 Hz band;
  • the segment minimums;
  • the ± 0.5 cm geometry tolerance.

We do not describe them as empirical or statistically validated. The definitions themselves, Leq as a mean of A-weighted energy and the calibration offset from a 94 dB tone, are standard acoustics and will not change with calibration.

See it on a certificate

The sample certificate shows the acoustic panel of a Premium certificate: noise floor 24.6, idle 25.1 and load 36.8 dB(A) at 50.0 cm, a 12.2 dB margin. Its numbers are illustrative: no recording was made.

Notation

SymbolMeaningUnit
p(t)p(t), pA(t)p_A(t)Sound pressure, and its A-weighted versionPa
p0p_0Reference pressure, 20 µPaPa
A(f)A(f)A-weighting gain at frequency ffdB
LeqL_{\text{eq}}A-weighted equivalent level over a segmentdB(A)
LFSL_{\text{FS}}, LcalL_{\text{cal}}A level in dBFS; the calibrator tone's leveldBFS
CCCalibration offset, 94−Lcal94 - L_{\text{cal}}dB
LloadL_{\text{load}}, LfL_f, LcL_cLoad, noise-floor and card-only levelsdB(A)
mm, δ\deltaLoad margin over the floor; room's share of the loaddB