Microphone Calibration
Microphone Calibration
1/22
Microphone
Calibration
by
This chapter briefly describes the steps necessary to perform a microphone calibration
based on the comparison of an unknown microphone to a reference microphone with
well-known sensitivity and frequency response. Basically, this calibration is simply done
by dividing the frequency response of a loudspeaker measured first with the reference
microphone and then with the MUT (microphone under test) at exactly the same position.
To obtain a sufficient signal-to-noise ratio at all frequencies of interest, it is required that
the loudspeaker emits a reasonably flat test signal. Very often, the loudspeaker will not
fulfill this requirement, especially in the range below, say 100 Hz. In this region,
environmental noise also becomes a problem, as the insulation of the test chambers walls
decrease and hence, background noise increases. So it is a good idea to use a preemphasized test signal that not only compensates the transmission characteristics of the
loudspeaker, but even gives an additional boost in the critical low frequency region. This
will improve the measurement certainty considerably.
Although this case study deals specifically with microphone calibration, the technique to
create a custom-tailored sweep signal described here is applicable in many more cases. So
reading the document could be interesting for anyone who pretends to perform acoustical
transfer function measurements.
The microphone calibration requires the three following steps:
Measuring the loudspeaker with the reference microphone. Based on the obtained
frequency response, creating an appropriate pre-emphasized excitation signal, be that an
n
2/22
2) A fine custom tailored 2-channel sweep with constant envelope shall be used as the
excitation signal.
3) A Monkey Forest (TM) (C) Version newer then May 2000 is available. Only this latest
release will feature all the required tools to make the creation of a pre-emphasized
stimulus a real easy task. If this version did not come pre-installed with your operating
system (look for the monkey icon on the task bar), visit one of the many international
MF-Web servers, pick up one of the free Monkey Forest bonus disks attached to all
mayor weekly magazines, or simply contact your nearest Monkey Forest dealer around
the next corner.
4) You are able to navigate in a DOS environment. If resizing windows and shifting them
around on the screen by mouse is all you ever managed to do with you PC, you will have
a hard time following all the steps described later, requiring some finger acrobatics..
5) You already read the Building excitation signals chapter, as it contains in-depth
information about the BEX menu. Not everything will be repeated here.
1.1 Building an excitation signal to measure the loudspeaker
So lets start with the first step, the measurement of the loudspeaker. Its frequency
response will be used afterwards to create a new excitation signal that shall make the
response essentially flat. First, an appropriate excitation signal has to be selected for this
measurement itself. If it is not yet available on disk, we can easily create one. To do this,
please do the following:
In the frequency domain, enter into the AD/DA, Frequency response menu.
This menu offers the easiest way to measure the response of the loudspeaker if absolute
sensitivity (SPL in 1 meter distance when loudspeaker is fed with 1 W) is not of interest.
But of course, you could also use the LS sensitivity measurement menu. The remaining
steps are substantially the same.
Press R to enter into the Reference and more menu. In this submenu, press N
(Build new sig) to get to the Build Excitation Signal menu. You have now
entered the main playground for excitation signal kiddys.
Enter into the Setup menu (upper line). You are already feeling dizzy from
climbing down this submenu of the submenu of the submenu? Dont worry, from this
point, we will climb up again. But before, you have to do this:
From the preset list on the left, select Loudspeaker/Microphone. This will
3/22
establish reasonable default values in the Excitation Signal menu, including the choice of
a sweep with constant envelope and 20 dB bass boost as the excitation signal.
Back in the Build Excitation Signal Menu, choose an FFT degree if the one you
desire is different from 14 (giving an FFT length of 16384 and thus a frequency resolution
of 44100 / 16384 = 2.69 Hz, assuming 44.1 kHz sample rate).
Change the three last characters of the prefix of the Signal file name from NEW
to something more meaningful. Based on personal experience, you might also want to
change some of the adjustable parameters in the menu (window, start/stop margin, etc.).
Feel free to do so. For a first trial, the default parameters will do. So press the <Enter>
Key to actually create the sweep signal.
4/22
spectral distribution of the excitation signal and the transmission characteristics of the
measurement system itself. Thus, the equalization spectrum is simply obtained by letting
the system measure itself and then inverting the resulting spectrum. To do so, the output
of the measurement has to be connected to the input. If the ITADDA16 9,5 Robo box is
your measurement frontend, this connection will be done automatically during the
reference measurement. The reference measurement can be started by entering into the
Reference and more menu and pressing <Ctrl> <Enter>. Check if the level of the signal
was right by watching the level bar in the lower right corner. If the bar turns pink, an
overload has occurred. If the bar leaves a lot of blue space on the right side, then the level
was weak and the S/N ratio can be expected to be poor. Use the AD fullscale in the
Basic settings menu to correct this. Also observe if the obtained reference signal is
looking more or less like the inverse of the excitation signal, with no noise components
visible. If the spectrum consists of a rugged, noisy trace, something went wrong in the
reference measurement and you have to check out what it was. When the reference
measurement is complete, the equalization spectrum has been stored to disk and can be
used for the actual LS measurement:
Be sure that the reference microphone is connected correctly to the measurement
system. Connect the woofer of the 2-way speaker to the left output of the measurement
amplifier. Turn the volume to the 5 oclock position.
In the Frequency response menu, press <Enter> to start the first measurement.
Check the level of the loudspeaker signal by simply listening for audible distortion. If
distortion is audible or you think your loudspeaker will not sustain this level in the long
term, reduce volume by turning the DA level in the frequency response menu down.
Now check the level of the input signal by looking at the level bar in the lower right
corner. If it is too low, raise the external preamplifier gain, or, if the mic is connected
directly to the ITADDA16, lower the AD fullscale.
When the level relations are fine, you can optionally set a window, especially when
you operate in an non-anecoic environment, to get rid of reflections and noise. To do so,
switch over to the impulse response domain by pressing <Ctrl U>.
In the impulse domain, press the E key the see the entire impulse response.
Now press the M key. The active cursor will jump to the peak of the IR. This will be
the middle of the symmetrical window to be applied later.
Press the = key to drag the passive cursor (the one thats red) to the same position.
Now move the active cursor to the position where you want the right edge of your
5/22
window. This will usually be a point just before the first mayor disturbing reflection.
Press the W key. A window titled the real windows (and its true) will appear,
with the start and length values of the window preset according to the cursor positions.
Dont worry if the start value is negative: This means that the window start will be folded
back to the end of the IR period. In other words: The window starts near the end of the
IR, transits over the 0 s boundary and stops somewhere at the beginning. Remember that
the IR is periodic, so start and end of the period are actually the same point. But be
sure that Slope : symmetrical has been selected. If you do not want this, you can also
select a right-half window. The cursors will then delineate the whole window region from
top to the right edge, which means that their position is the same as in the symmetrical
case. Remember that choosing a window too narrow will falsificate the response at the
low end.
Change back to the magnitude response by pressing <Ctrl M>. Perform the
measurement another time (the window is activated automatically when selecting it in the
impulse response domain) and store the result to disk (by pressing the S key and typing
a meaningful name). Now disconnect the woofer and connect the tweeter to the right
output. Before performing the new measurement, contemplate if the tweeter will handle
the output power delivered by the frontend. If in doubt, lower the DA Level in the
Frequency response menu. This change will have no effect on the level of the resulting
measured spectrum. Start the measurement by typing <Enter> and also store this result
on disk. Remember not to change the position neither of the microphone nor of the
speaker, as the delay and phase relation of the two measurements matters for establishing
the right delay between the 2 channels of the sweep.
1.3 Joining the 2 ways to form a 2-channel spectrum
Now the measurement of the two ways of the loudspeaker is complete. What we would
like to create now is an excitation signal that equalizes the dips and peaks in the frequency
response. Remember that the method of pre-equalizing is not mandatory for the
comparison measurement, but reduces to a great extent the uncertainty at frequency
regions where the loudspeakers response is poor. Furthermore, we would like to
introduce an active crossover function, with the woofer emitting a sweep up to the
crossover frequency, from where on the tweeter will be fed with the rest of the sweep.
Monkey Forest is able to take into account the phase and delay difference of the two ways
at the crossover point. One of the two channels will be shifted in such a fashion that when
transiting the crossover region, the two signals will arrive in-phase at the microphone
position. This way, a sound pressure drop at the x-over frequency is avoided.
6/22
To prepare the construction of the excitation signal, we first have to load the two
measurements previously made into one single spectrum with two channels, which of
course is an easy task for the experienced Monkey Forest user. For the bloody beginner,
here is how it works:
In the spectral domain, enter into the File menu by typing <Alt F>. Select the
woofer file by moving the highlighting selection bar up or down, using the up/down
cursor keys. When you hit the desired measurement file with the selection bar, press the
<Enter> key and the file will be loaded as the new spectrum.
To load the tweeter file as the second channel, do NOT enter into the file menu again
(an error all beginners commit, sigh....). Instead of this, enter into the Edit / Read
file menu by typing <Alt E>, R. Select new channel, and in the file menu appearing,
locate the selection bar to the measurement of the tweeter and hit the <Enter> key.
Store the new 2-channel file (simply strike S) using a new name.
We have now created the target for our equalization game. In the example presented
here to illustrate the process (Figure 2), its a 2-way coaxial speaker with a very irregular
frequency response, ailing from deep dips in the high frequency region and a far-too-early
roll-off at low frequencies. But we will see that its even possible to use such a misplaced
transducer by using the powerful weapon constant envelope sweep with speaker
equalization and crossover.
7/22
8/22
Figure 3: BEX menu with switches set for building a stereo sweep with constant
envelope to equalize the 2-way speaker LHCOAX.
1.4.1 Excitation signal properties
In the Excitation signal properties section, the exciter has already been set to
sweep. The Resolution normally is 16 bits and theres little need to change it.
The FFT degree is a first important thing to consider thoroughly. As you know,
the length of the excitation signal will be 2FFT degree samples. Although the default FFT
degree for loudspeaker/microphone measurements is 14, it is beneficent to use a degree
that is somewhat higher. The reason for this is less to achieve a higher frequency
resolution, but simply to pack more energy into the excitation signal and hence improve
9/22
the signal/noise ratio of the measurement. Another reason is that the spectral details of the
target spectrum (our loudspeaker to be equalized) can be tracked more faithful and with
less overshoot in the time domain when creating a longer signal. On the other hand,
extending the length clearly also extends the measurement time. So you have to
compromise according to your needs. If the highest possible measurement certainty is
your goal and you dont mind that emitting the sweep and calculating the subsequent
FFTs will take many seconds, choose a high degree of up to, say 19 (corresponds to a
sweep length of nearly 12 seconds at 44.1 kHz sampling rate). But if you are a poor
student not really keen on perfect results and an old 486/33 is all they gave you to perform
this task, nobody can blame you for using a shorter length. Restricted RAM installed in
your computer might even force you to do so. By the way, the degree of the loudspeaker
measurement you performed before does not necessarily have to correspond to the
degree chosen here: The target response will be transformed to the time domain and
extended with zeros if the excitation signal is longer than the impulse response. In the
illustration example, we chose a degree of 16 which, under normal conditions, should
yield reasonable measurement certainty while at the same time keeping the measurement
length under 2 seconds on a modern machine.
Dont bother about the Signal file name: It will be created automatically by choices to
be made now in the Spectral Processing menu.
1.4.2 Spectral processing
Position the Base switch to Target file preemp. This simply means that we
want to include a file (the loudspeaker measurement) in the target, and we would further
like to give an additional pre-emphasis to improve the S/N ratio at low frequencies.
Select the target file (the 2-channel measurement of the speaker) by either entering its
name or browsing for it if you forgot the exact name or location.
Generally, when equalizing loudspeakers, its a good idea to smooth their response.
Especially in our illustration case, the loudspeaker is so misbehaved that its mandatory to
do so. Otherwise, the resulting excitation signal would contain large energy peaks at the
frequencies where the tweeter has deep dips. As these dips have their roots in cone breakup or destructive interference, feeding energy particularly at these frequencies would be
counterproductive. Instead of trying to obtain sound pressure at frequencies where the
speaker is trammeled by its physics, we will simply accept that our measurement will lack
signal-to-noise ratio in these very narrow frequency strips. We will later mask them by
smoothing. The smoothing selected here to avoid peaks should be logarithmic and may
range between, say 1/24 and 1/3 octave.
10/22
11/22
keyboard. The value will be placed in the parameter least recently changed (highlighted
with inverted letters in the control bar). The < and > keys can be used to adjust the
selectivity of the crossover filter by changing the filter order. 10 is the maximum. The
gain is functional, but it makes no sense to change it from 0 dB. Many of the
commands you are used to for controlling the display are still functional. For example,
use the Cursor Up/down keys to shift the whole image. If you press Shift at the same
time, the dynamic range will be changed. Use + to zoom in, - to zoom out. When
you have finished adjusting the crossover frequency, simply strike <enter> or <ESC> to
return to the BEX main menu.
12/22
Before confining the band edges, lets adjust the pre-emphasis now. To do this, hit
the D key to access the Design pre-emphasis curve menu.
The interactive tool offers two visualization modes here: You can select to see the
emphasis spectrum all alone (view preemp only = yes) or to see the product of target
file with all subsequent processing steps (smooth, invert, x-over, J-Filter) multiplied by
the emphasis curve. In the case of our exemplary rotten coax-chassis, theres already so
little response at low frequencies that only a very moderate emphasis of 5 dB is chosen
here. If youre speaker has a good response below 100 Hz, you can use 20 or more dB of
emphasis.
13/22
14/22
Figure 11: Window sub menu to confine the impulse response of the target spectrum
1.4.4 Sweep parameters
The increment of the sweep refers to the group delay course. The constant envelope
setting will yield a time signal with an amplitude almost independent of time. However,
two crucial parameters have to be adjusted here to produce beautiful results:
The start margin defines the of the group delay of the lowest frequency. Its
necessary to start with a value > 0s. See the Building excitation signals chapter for
further explanation. Unfortunately, it would be very difficult to set this entry
automatically according to the excitation signal properties. So this task has to be
performed by you, iterating a couple of times the building process and checking both the
time signal and the resulting spectrum. If the spectrums low end is very different from
what you expected, try either increasing the FFT degree, the window size in the impulse
response processing section or this start margin value. If, on the other hand, the time
signal seems to evolve late on the time axis, reduce the value to allow more energy to be
packed in the measurement interval.
The stop margin is less critical as it deals with the high frequency end. Practically the
only constraint is that the stop margin has to be at least as high as the flying time of the
sound plus the loudspeakers decay at high frequencies (normally negligible) plus the
delay introduced by the anti-alias filters. If the chosen value is too small, Monkey Forest
will increment the FFT degree by one when measuring. This would result in a
15/22
measurement period with approximately only half of the signal being filled with the
sweep.
Figure 12: Dual-channel sweep to equalize and crossover the coax-speaker used in
the example.
Principally, these are all the settings we need to create the 2-channel sweep with constant
envelope, speaker equalization and crossover functionality. The result in Figure 12 shows
16/22
low overshoot in the time domain and at the same time high spectral purity without any
dirt effects in the spectral domain. However, such a good result can only be expected
after optimizing the parameters in several iterations. So here we see again: Monkey Forest
is a powerful tool, but only freaks can tame it and squeeze some useful results out of it.
Nothing is done automatically, everything has to be controlled by the user. But hold on,
things get worse, we do not have finished yet.
1.4.5 Reference file generation
The reference file generation is a substitute for the reference measurement that normally
should be performed to obtain accurate results. As we are dealing with a relative
measurement here, meaning that the response error introduced by the measurement
system will be reflected in both the measurement of the reference microphone and the
MUT and hence disappear by the division, it is not crucial to create an ultra-precise
reference. In the contrary, it is even advantageous to emulate the reference for a reason to
be revealed soon.
Set the Frequency response reference switch to yes. Should already be in this
position.
The Inversion of switch should be positioned to preemp. This will cause the
magnitude of the reference spectrum to be simply the inverse of the emphasis filter,
multiplied by the band-pass defined in K-filter. This reference will NOT equalize the
deviation introduced by smoothing the target and windowing its impulse response.
Its also possible to use the ExSig target mode, but this would yield a reference file
which forces all the remaining dips in the equalized speakers frequency response to be
absolutely flat (remember that we used smoothing to avoid that the excitation signal
equalizes very narrow dips). While at first glance this seems to be very nice, it has a
serious drawback. This is a bit difficult to explain, so may be you have to read this
paragraph twice. Here we go: We have accepted that the S/N ration in the narrow dips will
be low. So its better not to correct them by means of the reference file (the latter would
exhibit high peaks to compensate for the dips) in order to avoid that frequency magnitude
values with high uncertainty are raised to a much higher level. Instead of this, its better to
leave them untouched and apply smoothing to take advantage of the smearing from the
neighboring frequency regions where the S/N is sufficient. In other words: By performing
the smoothing, the neighboring magnitude values with high S/N will fill the narrow dip
with reliable and stable information. And only after this smoothing, the MUT should later
be divided by the reference microphone.
17/22
Figure 13: Reference file containing only the inverse emphasis and the confining
band-pass
Figure 14: Reference file created by multiplying the excitation signal with the uninverted target (loudspeaker) response.
18/22
The Use filter should be set to yes to confine the reference spectrum to the
transmission range of the equalized loudspeaker. Normally, you do not have to worry
about the filter settings in the K-Filter menu as they are copied from the J-Filter menu
used to confine the excitation signals frequency response.
1.5 The comparison
Once we have passed through the extensive course of creating a well-done excitation
signal (fortunately, you have to do this only one time when you chose the source speaker
and erected your measurement setup), the comparison itself is fairly easy. First, we will
measure the reference microphone with the new excitation signal. To do so, please
Enter into the Alt AD/DA, frequency response menu again.
The excitation signal kind, name and length should already have been set
automatically by the last BEX session. So principally, after pressing <Enter>, the new
sweep should become audible and shortly afterwards a frequency response similar to
Figure 15 should appear on the screen. Check the connections and the AD level if it
doesnt.
Figure 15: Measurement of the loudspeaker microphone transfer path using the
new excitation signal and reference spectrum
To increase the signal-to-noise ratio considerably and to establish simulated free field
conditions if your measurement setup is not installed in an anecoic chamber, its a very
19/22
good idea to apply a window to the impulse response now. If you want to position the
window automatically, switch window to yes and enter into the real windows
submenu. Select a symmetrical slope and set the range to around max. The length can
be something between 30 and 100 ms. In the case of measurements in a non-anecoic
environment, you probably want to check visually where the first disturbing reflections
appear. To do this, change to the impulse response domain by typing U. Do the
window positioning as described in the second half of chapter 1.2. Now the measurement
could look similar to Figure 16. Note that as usual, windowing primarily affects the
resolution in the bass range. Be sure not to make the window too narrow, as this would
draw excessive low frequency energy from the impulse response and the corresponding
spectrum.
20/22
Figure 18: Spectral post processing menu with settings for microphone calibration
Now repeat the measurement. What should appear here is really a straight line at 0 dB
(the Ref for 0 dB switch in the frequency response measurement menu must be set to
1 for this purpose).
If everything works fine, the moment has come to replace the reference microphone
21/22
by the MUT. Take care to position the MUT at exactly the same position as the reference
microphone previously.
Do the measurement again (generally, you can always repeat the last kind of
measurement by simply hitting the <Enter> key. This will lead you to the last AD/DA
menu that you used). Check the input level, adjust it and repeat the measurement if it was
not fine. What should appear now is the sensibility curve of the MUT, relative to the
reference microphone. None is show here in order not to bring down the suspense! So go
check it out by yourself now.
If you want the sensibility curve in 20 log ( Mic.sens. [V/Pa]), theres an easy trick to
achieve this. Simply load the secondary reference file (MIC1.SPK in our example) and
multiply it with the inverse of the reference microphone sensibility. Example: If the
reference microphone has a sensitivity of 50 mV/Pa (-26 dB), enter into the Alt Edit,
Multiply menu (remember to position the cursors to the borders by typing <Shift> E
first) and enter a level of 26 dB. Type <Enter> and store the multiplied result to disk,
using the same old name. From now on, each microphone you measure will have its
correct sensibility directly displayed.
You will discover that positioning the MUT as exactly as possible will have a big
influence on the result. Even then, the different diffraction patterns of ref mic and MUT
will cause ripple on your measured sensitivity curve. You can increase the smoothing
bandwidth as long as you do not dissolve details of the microphones frequency response
(in general, as you know, a microphones response is much smoother than that of a
loudspeaker) to partially get rid of the ripple. This will also increase your measurement
certainty by averaging out noise components.
Noise problems could occur at the low end of the sensitivity curve because of the
restricted transmission range of our equalized source speaker. In many cases, it should be
o.k. to replace the trace at very low frequencies with a straight line and pass the entire
result through a high pass with the theoretical cut-off characteristics of the microphone (as
dictated by the back orifice of the microphone and the coupling capacitor).
This text has been conceived outside a laboratory using barely simulations. So be
skeptical about the contents and the amount of truth. If you find any errors or would like
to suggest improvements, send a letter (put beautiful stamps, please) to the author
swen.muller@gmx.de.
Good night and good luck in your comparisons.
22/22