• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Using two microphones to remove room modes from bass measurements

Why do you think that? If two mics are sufficient to capture the information that you require, there is no need to increase the cost of taking the measurement with more mics.
The information for what listening position particularly? Moving a mic position doesn't cost extra....
 
Here are measurements made on the 15W4531G at 5-10-15cm. The way it's supposed to work is that the second mic is twice the distance from the diaphragm as the first one. If The second mic is supposed to be 6dB down from the first one. This is true if they are both beyond the point at which the driver radiator coalesces to a 6db down slope with distance. What I'm finding is that for the 15W that condition is not met at any point I could measure short of 0.5m. A driver, any driver, has a coalescence that is the change from near-field to far-field that is determined by the driver diameter and the frequency. Therefore it's not a constant, but is a curve that asymptotes to 6dB/octave. Some time ago a friend of mine provided me with a graph that shows this. Unfortunately I don't know the source of it, but I'm posting that here.

SPL Distance for Driver Coalescence - Reduced.jpg


It shows that prior to the transition point from NF to FF the driver output is anything but 6db/octave.

Here are measurements using the Mode Compensator (both mics) with Mic1 (near mic) at 5,10 and 15cm. The distance between Mic1 and Mic2 was always set to equal the distance from diaphragm to Mic1 in the expectation of a 6dB difference. All at the same power output. Note the distinct change in response at all frequencies. Oddly, the two farther ones have the 400-1k range almost identical, something I have yet to understand. But it's obvious how much increased impact there is of the dipole nature with distance. Regarding the dipole response, it never reaches 6dB/octave in the low range. I think that may be due to this being a small midwoofer with restricted rear output. I measured the 90 degree off-axis expecting close to null, but it never had nulls. The closed to null was slight behind the centerline of the baffle which I think supports the idea that the rear output is a bit diminished compared to the front. This is an aside, however.

Scan-Speak 15W4531G on 8in Dipole Baffle - Mode Comp Mic Measurements 5-10-15cm.jpg


I'll see if other graphs may be pertinent tomorrow. Tests I'll conduct on the 10" closed box driver may show the Mode Compensator to be more useful for them.
 
The most telling graph is next. Double the distance is expected to result in 6dB drop in SPL. That did not occur for any distance I tested with the 15W if Mic2 was double the distance of Mic1 from the driver diaphragm. So I set Mic1 at 20cm and repeatedly moved Mic2 until it measured a 6dB drop. In this instance that occured at 63mm from the diaphragm. This was for points at or below 1kHz, though that was not uniform. 63mm was the best guess. Still, note the shape of the combined mic response (black line). I just don't see how this could be used except only from about 200Hz down. The curve above 200Hz is nowhere near the shape measured at 0.5m on-axis.

Scan-Speak 15W4531G on 8in Dipole Baffle - Full 6dB drop - Mic1 20mm - Mic2 63mm.jpg


I'm really interested in the 10" measurement results. I hope to do that soon.
 
The information for what listening position particularly? Moving a mic position doesn't cost extra....

The point of the mode compensator is to take quasi-anechoic measurements of bass transducers. Not to measure room modes at the listening position. Subwoofer measuring schemes are quite difficult. These may involve: (1) ground plane measurement (requires a large indoor space, or an outdoor parking lot ... which may be affected by inclement weather), (2) half space measurement (subwoofer buried in the ground with cone facing upwards, mic suspended above the sub ... not suitable if the port is not on the same side as the driver), (3) tower measurement (subwoofer and microphone elevated to at least 10m off the ground).
 
A driver, any driver, has a coalescence that is the change from near-field to far-field that is determined by the driver diameter and the frequency. Therefore it's not a constant, but is a curve that asymptotes to 6dB/octave. Some time ago a friend of mine provided me with a graph that shows this. Unfortunately I don't know the source of it, but I'm posting that here.

View attachment 522822

Yes, you might like to look up the Fresnel zone and the Fraunhofer distance. This thread might also benefit from our sound fields expert @NTK commenting on taking near-field measurements. You can read a bit more about what NTK said about the acoustic near field in this thread. The method was described by Don Keele in a 1970's paper, there is a nice summary of the paper in AudioXPress here. Keele's paper says that the mic should be spaced 0.11x the diameter of the driver away - so for a 15" driver (38cm) the mic is spaced 4.2cm away.

1775547253479.png

Of more concern to our discussion is the bit I highlighted above. Surely this distance should be well within the acoustic near-field (where particle velocity and sound pressure are not in phase), so the question is - is the measurement valid or not? I don't know the answer either way, all I know is that Keele's paper (and the Audio Chiemgau method) seems to contradict what we know about sound wave behaviour in the near-field.
 
Thank you very much for those links. It's going to take me a long time to go through them and the links within them. I've known since not long after I purchased LAUD for speaker measurements in 1998 that the NF (I always called it close-mic) measurement of the recommended 1/4" was problematic. LAUD provides the technique to measure close-mic, then enter the driver diameter. It then adjusts the resultant measurment to emulate the response at 1m. The other problem with the calculation was and still is...what is the true diameter of a driver? I always used the manufacturer's value, but we know that the surround is part of it, but where in the surround and given it's shape and movement relative to the diaphragm, how do we know what to consider to be the precise diameter? I gave up on using the calculated emulated response and manually merged to "best guess" as to how much to adjust the NF magnitude and where to merge NF and FF. For the amateur home builder I don't see how one can be any more accurate than that.

I've been aware of the Keele research since early on, but never had the paper to read. The point about 0.11x the diameter is new to me. I'll have to study the impact of that.

On that note I have another REW capture I intended to post. After seeing the variance in NF measurements I made it seemed absolutely necessary to have a mic extremely close to the diaphragm for a driver not mounted on an infinite baffle. I will at some point measure on my 2m x 2m quasi-infinite baffle. For now I have only small baffle drivers to work with. Having the Umik2 and (roughly) calibrated Mode Compensator single mic I made close-mic measurements with both at 7mm. This is, of course, the measure to the Umik2 front screen. The actual diaphragm must be about 1mm behind that I would guess. The MCM Mic1, being MEMS, has a very small opening in the middle of a flat section at the end of a pipe. This prevents it from being place with flat section precisely orthoganal to the recessed diaphragm, but it seems not to make a significant difference. It's diaphragm is inside that small opening, how far in can only be guessed, maybe 1mm as well, so I have to go with external positioning guesses.

This comparison is very curious between standard mic and MEMS mic. The responses are nearly identical below 2k down to 40Hz, Below that they diverge. The responses at 0.5m were nearly identical down to at least 20Hz. This is puzzling. There's something happening with the MEMS mike, almost as if it's more sensitive to the dipole influence of the baffle than is the Umik2. I can think of no explanation for this. I added the line about operating range taken from the Scan-Speak specs.

The slope below 40Hz for the Umik2 appears to be close to 12dB/oct, what one would expect on an infinite baffle. However, the MCM slope is closer to 9dB/oct down to 20Hz, more like the final dipole response (given the restricted driver rear side output). This is very odd. I have no explanation for this.

Scan-Speak 15W4531G on 8in Dipole Baffle - Umik2 vs Mode Compensator Measurements - 7 mm from ...jpg


Edit: An important point with regard to NF measurements we might make. You quoted Keele guidance indicating "for a 15" driver (38cm) the mic is spaced 4.2cm away". Certainly that will work on an infinite baffle, but as we see it is problematic for drivers on (relatively) small baffles. The secondary issue is with the Mode Compensator. It requires two mics. They can't both be at the optimal point, of course. so the distance and baffle influence becomes more problematic.
 
Last edited:
Here are measurements made on the 15W4531G at 5-10-15cm. The way it's supposed to work is that the second mic is twice the distance from the diaphragm as the first one. If The second mic is supposed to be 6dB down from the first one. This is true if they are both beyond the point at which the driver radiator coalesces to a 6db down slope with distance. What I'm finding is that for the 15W that condition is not met at any point I could measure short of 0.5m. A driver, any driver, has a coalescence that is the change from near-field to far-field that is determined by the driver diameter and the frequency. Therefore it's not a constant, but is a curve that asymptotes to 6dB/octave. Some time ago a friend of mine provided me with a graph that shows this. Unfortunately I don't know the source of it, but I'm posting that here.

View attachment 522822
You can generate these curves by computing the sound pressure using the Rayleigh integral method. The formula is given below for the on-axis response to a rigid oscillating circular piston. (Generalizing the formula to compute the pressure anywhere in space in front of the piston will require just a little of modification.)
1775576575781.png
1775574555787.png

on-axis-pressure.png

Python:
import numpy as np
from scipy.integrate import quad
import matplotlib.pyplot as plt

c = 343.0    # Speed of sound, SI unit

def dB(x):
    """ dB(x) = 20 log10( abs(x) + 5 eps )
        The added small positive number is to prevent the nuisance error when `x` = 0
    """
    return 20.0*np.log10(np.abs(x) + 5.0*np.finfo(np.float64).eps)

def intg_func(r, x, k):
    """ Integrand function for the Rayleigh integral to compute the on-axis response
          from a rigid oscillation circular piston.
        Note that this function returns a complex number, and `scipy.integrate.dblquad`
          works only with real numbers. The real and imaginary parts of the integral
          need to be separately computed with `scipy.integrate.dblquad`.
    """
    d = np.sqrt(r**2 + x**2)
    return 2*np.pi* r * np.exp(-1.0j*k*d) / d

def press_onaxis(x, k):
    """ Compute the on-axis response from a rigid oscillating circular piston in a
          sinusoidal motion perpendicular to its axis using the Rayleigh integral method.
        The piston motion is normalized to have a volume velocity of 1.
        Because the `scipy` `dblquad` double integral function works only with real numbers,
          to integrate a function which return complex values, the real and imaginary parts
          of the integral need to be computed separately, and the results combined back
          together to return the complex values.
        `x` is the on-axis distance to the center of the piston.
        `k` is acoustic wavenumber. k = 2*pi*f/c, where c is the speed of sound.
    """
    intgl_re = quad(lambda r : np.real(intg_func(r, x, k)),
                    0.0, 0.5*piston_diameter)
    intgl_im = quad(lambda r : np.imag(intg_func(r, x, k)),
                    0.0, 0.5*piston_diameter)
    # Multiply by 1.0j to get the correct phase response since we aren't computing
    #   the pressure from piston surface velocity but from volume velocity.
    # Not important if we are only interested in pressure magnitude.
    return 1.0j*(intgl_re[0] + 1.0j*intgl_im[0])

def plot_press_vs_dist(ka, xmeas):
    """ Plot a normalized on-axis sound pressure (in dB) vs distance curve for
          `ka` (ka = product of acoustic wavenumber and piston radius) at
          distances `xmeas`.
    """
    f = (ka/(0.5*piston_diameter)) * c/(2*np.pi)
    pmeas = np.array([press_onaxis(x, ka/(0.5*piston_diameter)) for x in xmeas])
    label = '{:.0f} Hz, ka = {:.1f}'.format(f, ka)
    ax.semilogx(xmeas, dB(pmeas), label=label)

piston_diameter = 0.115
xmeas = np.logspace(np.log10(0.001), np.log10(10.0), 201)  # X-coordinates of the measurement points, m

fig, ax = plt.subplots(figsize=(8, 5))
for ka in [0.1, 0.5, 1.0, 5.0, 10.0]:
    plot_press_vs_dist(ka, xmeas)
ax.grid(True, axis='both', which='both')
ax.set_title('On-Axis Sound Pressure vs Distance, Piston Diameter = {:.3f} m'.format(piston_diameter))
ax.legend(loc='upper right')
ax.set_xlabel('Distance (m)')
ax.set_ylabel('Normalized Sound Pressure, (dB, Arbitrary)')
ax.set_ylim(-60, 0)
fig.tight_layout()
plt.show()
 
Last edited:
Thank you, NTK, much appreciated. I had been looking for a way to do this, possibly in a spreadsheet, but this approach is way beyond what I was considering. I see that you ran it for the 15W diameter. I can certainly use this. Saves me a lot of time (and frustration I think).

Again, many thanks.
 
The other point not yet mentioned is whether the microphone you own is appropriate. The UMIK-2 is a free-field microphone. I am not sure what your MEMS microphone is equalized for. For close-mic measurements (using your term), a pressure field microphone may be more appropriate. What do you think @NTK?

And what is ka in your graph?
 
The other point not yet mentioned is whether the microphone you own is appropriate. The UMIK-1 is a free-field microphone. For close-mic measurements (using your term), a pressure field microphone may be more appropriate. What do you think @NTK?

And what is ka in your graph?
Just and FYI, this is a calibrated Umik2, certainly much like the Umik1. The specs say it's limit is 125dB. All of my tests have been less than that. I think the MEMS testing has also been within it's limits as well. Should be given that the mics were chosen by Audiochiemgau for just such use. So far I haven't noticed any unusual distortion results in REW. Comparison of Umik2 to MEMS Mic1 are fairly similar.

Also, as reference, Linkwitz used a modified Panasonic omni-directional back electret (omni) microphone cartridge WM-60AY for his distortion testing.
 
After brief study of your graph curves, I see an interesting correlation with my testing posted in #43 wherein I set Mic1 at 20cm and found Mic2 at 63cm to approximate a 6dB drop. If I'm reading the graph correctly, it looks my distances are very close to those points in lines for 949Hz and below ka=1.0 and smaller. I was about to try to create a spreadsheet for this.

This may be an aid to making measurements on other drivers rather than trial-and-error as I did in finding a 6dB differential for distance. That will most often be on my 2m x 2m baffle, so baffle diffraction in that case will be minimal or absent. But my next testing will be with a 10" driver in a closed box.
 
After brief study of your graph curves, I see an interesting correlation with my testing posted in #43 wherein I set Mic1 at 20cm and found Mic2 at 63cm to approximate a 6dB drop. If I'm reading the graph correctly, it looks my distances are very close to those points in lines for 949Hz and below ka=1.0 and smaller. I was about to try to create a spreadsheet for this.

This may be an aid to making measurements on other drivers rather than trial-and-error as I did in finding a 6dB differential for distance. That will most often be on my 2m x 2m baffle, so baffle diffraction in that case will be minimal or absent. But my next testing will be with a 10" driver in a closed box.
Spreadsheet programs don't provide built-in functions for numerical integration which makes using spreadhseets more difficult than with Python. Fortunately, for the on-axis pressure response we have a closed form solution. Below is a screen shot from Mathematica. You can enter the expression for pmagnitude (Out[414]) into your spreadsheet to plot.

1775620078303.png
 
The other point not yet mentioned is whether the microphone you own is appropriate. The UMIK-2 is a free-field microphone. I am not sure what your MEMS microphone is equalized for. For close-mic measurements (using your term), a pressure field microphone may be more appropriate. What do you think @NTK?

And what is ka in your graph?
Not at all knowledgeable with microphones. But from this page from GRAS, my guess is that pressure mics may not be suitable for the purpose.

Please see the screen shot in my post above for the definition of ka. (ka = k×a. k is the acoustic wavenumber, and a in this case is the radius of the piston.)
 
Spreadsheet programs don't provide built-in functions for numerical integration which makes using spreadhseets more difficult than with Python. Fortunately, for the on-axis pressure response we have a closed form solution. Below is a screen shot from Mathematica. You can enter the expression for pmagnitude (Out[414]) into your spreadsheet to plot.
Thanks again. I was able to modify your python code to have either a command line argument or an active query for diameter. I'm a C# developer, never did any python work, but a basic change like that wasn't difficult. I had thought that I'd find a way to use a spreadsheet for a quick-and-dirty way to do something simliar, but I see that was not a realistic option. I may try to build something in C# using that closed form solution, but for now the modified python is working. That level of math coding is not one I would have been able to determine on my own. I should be able to translate it into C#, but it wouldn't be any better that your python solution. And I'd have to do all the background work just to get a duplicate running in C#.

But your comment does raise one question about that closed form solution. You say it's for on-axis response. Can it be modified (without much complication) to show the off-axis or is there not a closed form solution for that (or maybe is it much more complicated)? And if so, what might be the benefit of that? That is, could it be used to analyze the off-axis related to the pressure wave that is involved with the baffle edge, i.e. diffraction? I ask because I've done a lot of experimentation with diffraction control throught measurements, primarily using felt and have been interested in studying how roundovers and felt ameliorate it. That's actually partly why I was interested in the Mode Compensator that provides two calibrated microphones that I hoped might shed some light when used to measure the off-axis as well.

Again, thanks, very much appreciated.
 
I thought off-axis measurements were for when you want to actually SEE the response to room effects.

If the purpose of the device is to SUBTRACT them to emulate the anechoic, speaker-only response then everything must be identical other than the distance, right?

Would there be any point to using this with a coax unit like my OG LS50? I'm looking at whether they should be HPF'd @ 160Hz or a bit higher? And whether that should be using a steep slope or a gentler one?

Or should those decisions be driven by the characteristics of the active MBM coupler speaker I've yet to build/buy to blend with below?
 
I thought off-axis measurements were for when you want to actually SEE the response to room effects.

If the purpose of the device is to SUBTRACT them to emulate the anechoic, speaker-only response then everything must be identical other than the distance, right?

Would there be any point to using this with a coax unit like my OG LS50? I'm looking at whether they should be HPF'd @ 160Hz or a bit higher? And whether that should be using a steep slope or a gentler one?

Or should those decisions be driven by the characteristics of the active MBM coupler speaker I've yet to build/buy to blend with below?

OK the first question you need to ask yourself is whether you NEED to take an anechoic measurement of your woofer or sub down to 20Hz. The answer is "yes" if you are a speaker designer or a reviewer. But as a hobbyist, you DON'T need this type of measurement. Just put your subwoofer in the room, and the measured response, which includes the room response, is what you will get - end of story. That's the response you will hear, and the response you will correct with DSP. There is no need to obtain an anechoic measurement down that low.
 
A. I am in fact planning to DIY all the LF boxen

Perhaps as many as three types, each addressing just a couple/few octaves.

For multichannel "theatre mode", at least 6 DIY boxen in total if stereo bass tests well - I know the MBM couplers must be stereo.

B. As (most of) the system is to be mobile and set up in a variety of listening environments both fixed and ad-hoc, and not only indoors

I'd like to handle the room compensation as a separate layer, keeping the others relatively fixed

at least as selectable profiles music listening vs dance/party vs theater modes for example.
 
Last edited:
you still don't need an anechoic measurement of a subwoofer down to 20Hz for that purpose, just model it properly using accurately measured t/s params and design filters based on that
 
Back
Top Bottom