A Mic Calibration How-To

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
I've been doing some mic calibration lately. When I started, I couldn't find much info on the web, so I thought I would post my method here.

First, you have to have a few things:

-a calibrated mic. These are usually omni. I had Kim Girardin (kmgrdn ATT luminet DOOT net) do mine. Nice guy, good work, inexpensive.

-a mic to be calibrated. If this is a cardoid mic, one has to do things a little different (no nearfield measurement).

-measurement software and hardware. I use Soundeasy and an EMU 0404usb interface. ARTA might be another option for software.

-spreadsheet software. I use Excel. I tried OpenOffice but couldn't quickly figure it out, so went back to Excel.

-a wide bandwidth loudspeaker, preferably multiple to make sure you get consistent results. Bass can be measured separately with just a woofer if the speaker doesn't have it down to 20Hz.


Essentially, the method is the same as doing a full bandwidth frequency response measurement for a loudspeaker - measure far field, measure nearfield, then combine the responses somewhere between 100 and 300Hz. The only difference is you have to do it with both mics, placing the capsules in the exact same place in space. I usually do a number of iterations on the same and different loudspeakers to make sure I'm getting consistent results.

Here is what I do when everything is connected and ready for business:

1) With the calibrated mic (mic A), measure far field. I either do a distance of 1 foot from the loudspeaker, and 4 feet off the ground, indoors, which gives me okay resolution in the mid 100s of Hz, or outdoors, mic 3 feet from the loudspeaker, both about 9 feet off the ground. This gets good resolution down to 100Hz. If both mics are well behaved (which omni usually are), there should be no difference in the results between these two methods. Make sure to use the calibration file for the mic! (Outdoors, any wind or noise at all will cause errors below 300Hz, unless you use an average of several long measurements)

Then, in Soundeasy, I click the Export SPL. This gives me a text file with all the data in it (frequency and level). I usually apply 1/3 octave smoothing to the data in SE - otherwise you end up with small (+-.2dB ) 'jaggies' in the final data that probably aren't there in reality. I haven't found sample rate or size to be particularly critical, but I usually do 96000kHz and 131071 samples (96kHz may be important for phase data, as you need extended FR to prevent calculation artifacts from creeping into hilbert bode transforms). Make sure to not change this between measurements. OTOH, gating is very important here - you need to know how long your measurements are reflection free, as this limits the validity of the whole measurement, particularly at lower frequencies. Make sure you set your gating properly with respect to your mic-speaker-ground distances.

Also, I keep all levels the same, although this isn't important as long as one doesn't change them drastically. The second mic might needs its gain adjusted, so its not always possible to keep absolute levels the same.


2) I then setup a 'marker' in space so I know exactly where the mic capsule is, so I can place the uncalibrate mic (mic B) there when I move mic A away. I do this various ways, but essentially use tall, narrow (1cm), stiff, self-supported stick, vertically butted right against the capsule, and then mark the side of the stick where the center of the capsule is. This should provide a fixed point of reference for all three axis, height, width and depth. The more careful one is here, the more accurate high frequency data will be (particularly above 20kHz).

I then move mic A away, setup mic B so it touches the exact same point on the stick, and repeat the measurement. Make sure not to use the calibration file of mic A.

I export this data to another file.

3) Then, I open Excel. I import the data (Insert > Import External Data). I have to tell Excel that the data is 'deliminated', and done so with 'spaces'. I import each set of data, side by side, mic A and then mic B. Then, a couple of columns over, I take the difference in amplitudes between the two, mic B - mic A.

Then I create a X-Y graph of the data (Frequency vs. the difference), just so I can see it. It should look reasonable, hopefully. Adjust the axis as need be. Knowing how excel works makes all this a lot easier - I would guess if you're doing this for the first time, there is a lot I haven't explained here. Realize that each measurement has limits on what section of the data is meaningful, across the whole band, 20Hz to 20k (gating, mic position accuracy, and low frequency noise all need to be accounted for).

You should now have a meaningful correction curve from about 200 or 300Hz up.

4) Now you do the same for the low frequencies, just moving the mics nearfield. Measure mic A, measure its distance from the loudspeaker cone (I did it at 1cm), setup mic B at the same distance, and remeasure, and take the difference between the two curves in Excel. The main difference with this set of measurements is that sample size matters here - very low frequency noise (<25Hz) very easily causes big errors in the measurements, so I set SE to its largest sampling size (256k), and had it repeat the measurement 3 times to get the average. This way I could get smooth data down to about 10Hz. Otherwise there were waves in the responses.

[a side note about SE: in a handful of measurements, I think my computer and SE were not handing the data to each other smoothly, and the impulses show up looking strange, particularly in long and multiple measurements - if you see this happen, don't use the data, it has errors in it.]

So you should now have LF data, hopefully valid up to 200 or 300Hz.

5) Splice the LF and HF data together in another column, somewhere between 100 and 300Hz. If there is an offset between the two data sets, just add or subtract a litlte from one set so they merge smoothly at the splice. Also, I try and keep the whole graph centered around 0dB - again, just add or subtract a little from the final data set to get this.

Then you create a .frd file from the data. On a new sheet in Excel, copy in the whole column containing the frequencies, and in the next column copy in the final, spliced amplitude data. Then the next column I fill with 0's - some programs may expect phase data here, and might not open it properly without some data in the third column. I use SE to reconstruct it later. Then I select the whole thing, and format the cells to use 'scientific numbering', with 5 decimal places. The reason being that when excel exports this data, unless each and every number has the same 'length', the resulting file has irregular spacing between columns of data, and then the .frd file won't be recognized. I then select 'save as' and change the type to tab-deliminated. Save this, and it should be a .txt file. You need to change this manually to a .frd file - if you can see the .txt extension on the file, just rename it, but some computers don't show the extension, so you have to tell the OS to show extensions so you can then change it. I then use the FRD Consortium's 'SPL Tools' to open the .frd file and check it works and looks good.

Again, I do number of iterations to check that things look good. This is helped by having an idea what to expect, and omni mics are good in this respect because they have fairly predictable responses.

I've uploaded my 'scratch' file of all the data and the excel file I made while doing a recent calibration. It's poorly labeled, but you can see how I layed things out, particularly if your new to excel. There is a lot of erroneous data in there too, so don't expect to be able to use this for much. Also the final .frd file is in there, and in the last few tabs in Excel, you can see how things looked when I exported the data for the .frd file.

This should be the link:
http://www.filedropper.com/miccal
 
bear said:
The reciprocal method can be used for dynamic mics I am certain.

I am fairly sure the reciprocal method will work using a tweeter as a microphone, but I haven't tried it yet, maybe this weekend. This should work in free space at high frequencies, then the ARTA pressure chamber method could be used at low frequencies.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.