Skip to content

Measurement Microphone Calibration

This calculates the sensitivity of the measurement microphone in units of Vrms/Pa using a pistonphone.

This is the first link in the calibration chain — every other calibration in cftscal inherits its accuracy from this one (see Calibration Concepts). A measurement microphone is assumed to have a flat frequency response, so the result is a single number rather than a curve.

What you'll need

  • A pistonphone (with good batteries or dedicated power supply).
  • The measurement microphone and its preamp.
  • An analog to digital converter (such as that on a soundcard or NI multifunction DAQ).

Opening the workspace

Launch CFTSCal and select the Measurement Microphone Calibration workspace.

The Measurement Microphone Calibration workspace: the Settings panel at top left, the list of calibrations below it, and the plot of the selected calibrations' recorded voltage on the right.

Two calibrations plotted, one for each ear's microphone. The narrow peak at 1 kHz is the pistonphone tone; its height is what the sensitivity is computed from.

Settings

Field What it means
Pistonphone A free-form label for identifying the pistonphone you used (e.g., product ID, serial number, asset tag, etc.). This is useful if you have more than one so you can trace a calibration back to the specific calibrator used.
Hz @ … dB SPL (the two numbers after Pistonphone) The pistonphone's rated frequency and level (e.g. 1000 Hz @ 114 dB SPL). Must match its actual rated output; cftscal uses them to calculate the sensitivity of the microphone.
Input Channel Which physical input the microphone is wired to.
Target folder Which folder the new calibration is saved in (e.g. by lab, by study). Leave it at (auto create from sensor id) to have a folder named after the Sensor ID. To create a new folder, right-click the Calibrations list. Each input channel remembers its own target folder.
Sensor ID A free-form label for identifying the microphone you used (e.g., product ID, serial number, asset tag, etc.). This is separate from the input channel since the same channel might have different microphones connected to it over time. Click + to add a new one to the drop-down list, or - to remove the selected one from the list (no calibrations are deleted). Whenever adding a new Sensor ID, be sure to select the Set Defaults option under the Workspace menu so that this addition to the list persists across sessions.
dB gain (the drop-down after Sensor ID) The preamp gain, in dB, currently applied to this channel.

The pistonphone frequency, pistonphone level, and gain fields don't control your hardware!

You are responsible for verifying that these values match what is set on the hardware since cftsfcal does not have a way of setting these values or reading them. If incorrect values are entered, the calibration will not be accurate.

Running the calibration

To run the calibration, click the Calibrate button. It stays disabled until a Sensor ID is selected.

Once the calibration window opens, the only setting that will be available for you to modify is the Sample Duration which adjusts the duration of the recording used to calculate the sensitivity of the microphone. To change the default value of this parameter, use the Configuration -> Preferences -> Set Default option in the menu.

Click Start to run the calibration.

How the sensitivity is computed

The pistonphone produces a known sound pressure, so the microphone's sensitivity is just the measured voltage divided by that pressure:

\[ S_{cal} = \frac{V_{cal}}{O_{pistonphone}} \]

where the pistonphone's rated level in dB SPL is first converted to Pascals:

\[ O = 10^{\frac{O_{dBSPL}}{20}} \times 20 \times 10^{-6} \]

A 114 dB SPL pistonphone therefore produces \(10^{114/20} \times 20 \times 10^{-6} \approx 10\) Pa. If the microphone reads 0.1 Vrms against it, its sensitivity is 0.01 V/Pa — reported as 10.00 mV/Pa, or 20.00 dB(mV/Pa). See Calibration Math for the full derivation and for how this feeds every downstream calibration.

cftscal actually computes the microphone voltage three different ways, and saves all three in the calibration's microphone_sensitivity.json:

Value How the voltage is measured
overall Broadband RMS of the whole recording (after detrending). This is the value shown in the Sens and Sens (dB) columns.
nominal Tone power at exactly the Pistonphone frequency you entered.
peak Tone power at the largest peak found within ±10% of the frequency you entered — i.e. at the pistonphone's real frequency rather than its rated one.

Comparing these three is a useful diagnostic. They should agree closely. Overall being noticeably higher than peak means the recording contains energy that isn't the pistonphone tone (a noisy channel, hum, or a poorly seated pistonphone). Nominal differing from peak means the pistonphone isn't running at quite the frequency you told cftscal it was.

This is the one calibration that uses a flattop window

Because the pistonphone generates a single tone, cftscal measures its tone power with a flattop window rather than the Hamming/Hann window appropriate to broadband measurements. A flattop window reads a tone's amplitude correctly even when the tone doesn't land exactly on an FFT bin center, which is exactly what matters when the whole measurement is one peak's height. See Choosing a window for the trade-off involved.

Reviewing the results

Signal view (time) shows the measured microphone voltage and Signal view (PSD) shows the measured microphone voltage in dB re 1 Vrms. With the pistonphone seated and running correctly, you should see a clean, sharp peak exactly at the pistonphone's rated frequency (e.g. 1 kHz). That peak is the tone generated by the pistonphone. Everything else is noise floor. If you don't see an obvious peak there, something's wrong (see Troubleshooting below).

The PSD plot draws two traces, labeled in its legend: one computed with a Hann window (black) and one with a flattop window (red). They're two views of the same recording, and the difference between them is the windowing trade-off in action — the flattop trace gets the peak's height right but spreads it over a wider span of frequencies, while the Hann trace resolves frequency more sharply but can under-read the peak's amplitude if the tone falls between FFT bins. For judging the peak's level, read the flattop trace; for judging how clean and narrow the tone is, read the Hann trace. See Choosing a window for details.

The Microphone Voltage plot shows the spectrum of every calibration ticked in the list.

Calibrations (the list) shows every calibration ever run for this workspace, with the following columns:

Column Meaning
Name The folder the calibration is filed under — by default, named after the Sensor ID. This column groups/organizes the list.
Date When the calibration was run.
Input Which input channel was used.
Sensor ID Which physical microphone was used.
Gain The preamp gain that was in effect.
Sens Computed sensitivity, in mV/Pa.
Sens (dB) The same sensitivity, in dB re 1 mV/Pa. Typically more convenient for comparing units or spotting drift at a glance.
Pistonphone Which pistonphone was used for this calibration.

Working with the list

  • Tick a calibration to plot it; tick a group to plot all of its calibrations.
  • Right-click a calibration for more:
    • Edit note… attaches a free-text note (e.g. "pistonphone battery low"). The note is saved with the calibration, so it moves with the folder.
    • Export as WAV… saves the recording as a WAV file.
    • Set as current / Clear current picks which calibration of this microphone other workspaces use (marked ★). There is no automatic fallback to the newest one: until a calibration is set as current, workspaces that use this microphone as a reference refuse to start and say so.
    • Delete removes the calibration from disk.
  • Double-click a calibration to rename its folder, or drag it onto another folder to move it.
  • Icons after a calibration's name: a sticky note means it has a note, and a warning sign means its files have a problem. Hover over the row to read the note or the problem.

Sanity-checking a calibration

A reasonable sensitivity value depends entirely on your specific microphone model (check its datasheet), but two things are always worth checking after every calibration:

  • Does the sensitivity look like previous calibrations of the same physical mic (same Sensor ID)? A sudden large jump usually means something changed (e.g., a loose or bad connector, wrong gain setting, or a damaged microphone).
  • Is there a clean peak at the expected pistonphone frequency in the plot? No peak, or a peak somewhere else, almost always means a setup problem (see below) rather than a real change in the microphone.
  • Is the measured sensitivity close to the nominal sensitivity? The manufacturer will report the expected (nominal) sensitivity of the microphone. If it's very different, this suggests an issue with the calibration.

Troubleshooting

Common pitfalls

  • Pistonphone not actually on, or not fully seated on the microphone is the most common cause of calibration errors.
  • Gain mismatch between the Settings panel and the physical preamp produces a sensitivity that's off by a fixed, predictable factor (20 dB of gain mismatch, the sensitivity, in dB, will also be off by 20 dB).
  • Wrong pistonphone frequency/level entered resulting in the computed sensitivity being wrong even if the recording itself looks fine.
  • Reusing a Sensor ID for a different physical microphone breaks your ability to track a specific unit's sensitivity over time. Give each physical microphone its own ID (e.g., include both the part ID and the serial number, GRAS40 - SN 1321).