HOLMImpulse: Measuring Frequency & Impulse Response

Yes, if you (think) that you hear something and that's good enough for you, that's fine. I'm more scientific than that. I don't believe something until it can be shown subjectively AND objectively. I'm not willing to except one OR the other.

I'd be interested in the nonlinearities more for electronics than loudspeakers because nonlinearities in electronics IS audible (loudspeaker nonlinearities CAN BE audible, but they can also be inaudible. In my speakers they are inaudible). But without having the distinct orders seperated out you can't tell the good from the bad for anything. Thats why HOLM is so valuable.
I am curious, what amplifiers have you measured with HOLMImpulse? If amplifier nonlinearities are in the higher order, it's even more difficult to prove beyond reasonable doubt that a certain order is due to a certain part of the design. Still reasonable amount of engineering intuition must be applied. Otherwise, just trying to model the amplfier in SPICE to get data comparible with measurements would really take years of dedication. Does this mean you are starting to focus on amplifier design?:p

All my improvements are based on sound engineering judgement. Some are actual measurement data, and some are "Thomas Edison" type trail and error based on engineering intuition and consolidating the results. I can't argue about what types of nonlinearities are audible or not unless very conmplicated conditions are known. Most people refer to large signal nonlinearity when they refer to speakers, but the situation is much more complicated than that. I don't know of anyone whom can answer all the issues, but there are a few whom are very interested in actual understanding and improvement. Much is being learned.
 
I am really interested in the significance of the benefits of of HOLMImpulse that Earl has mentioned, but up to now, all I hear is "This is the best" type statements while comparing with other software designed with a different purpose in mind. It would be much appreciated if someone could really point out a specific problem that had be solved because of this unique capability that HOLMImpulse has, which could not have been possible otherwise.
 
Does this mean you are starting to focus on amplifier design?:p
NO!! Amplifiers are far too good and readily available for me to worry about them. I focus on the stuff that matters, not those that don't.

But you really do need to read up on nonlinear systems theory. There is no one to one correspondence between a nonlinear order and a component in the design. That grossely over simplifies the problem.

I am really interested in the significance of the benefits of of HOLMImpulse that Earl has mentioned, but up to now, all I hear is "This is the best" type statements while comparing with other software designed with a different purpose in mind. It would be much appreciated if someone could really point out a specific problem that had be solved because of this unique capability that HOLMImpulse has, which could not have been possible otherwise.

HomImpulse improved my measurement resolution by several dB allowing me to refine my crossovers to an even better precision than was possible before. Thats a pretty real and specific problem that was solved. Now chill out.
 
Nonlinearities due to XO design? and the improvements were audible even though you mentioned nonlinearity is inaudible in your speaker designs? I am lost.

George,

I've tested SE, Arta, the IMP, Audiotester, and HomImpulse, and I haven't seen any significant differences between the measurement made with any of them. Certainly not several dB in regards to SPL measurements. Of course, Earl hasn't stated to what he is comparing. Maybe he was using a Rdaio Shack SPL meter before. :) I think maybe Earl should take a step back, get off pedestal and chill out himself.
 
Last edited:
I think he was referring to distortion levels instead of just SPL. But there is just conflicting statements that just confuse the issue. I'm always on the lookout for tools that complement what I'm using, but it just seems very difficult to get informative answers. Maybe we are getting old.

Having my father live with us really gives me a better idea what I might expect as I grow old. I see him forgetting that he had a meal just an hour ago, forget he put something on the stove, etc... It's humbling to think about what I would be like by 90. But it is a new experience to other members in our family.
 
Last edited:
Nonlinearities due to XO design? and the improvements were audible even though you mentioned nonlinearity is inaudible in your speaker designs? I am lost.

I was NOT refering to nonlinearities, I don't look at those for loudspeakers. You did not say anything about nonlinearity in your question, only examples of how Holm made things better. For me it was a big improvement in capability as well as ease of use.
 
Last edited by a moderator:
Curve addition and subtraction

I've been using Holm to measure some speakers at home and greatly enjoy it. Thanks a lot! I am a long time professional loudspeaker designer and now have a usefull FFT package in my laptop.

I have a question regarding curve manipulations (and sorry if this has been answered, I did a search and didn't find anything).

I'm not sure how the curve adding/subtracting is working. As far as I can tell it is adding or subtracting the impulse response and then FFTing the curve. The usual desire is to add or subtract the dB curves. For example I have measured a speaker with two microphones. If I subtract the two measured responses I would expect to see the difference of my second mic vs. my reference mic.

Since the curves are dB representations then subtraction is similar to complex devision of the transfer functions. Likewise dB addition is the same as complex multiplication. A raw driver response complex multiplied times a crossover transfer function, or alternatively the sum of the dB curves, would give the response of the two blocks cascaded. That is very useful

Am I doing something wrong? Is there a way to do what I am trying to do?

D. Smith
Toronto
 
Okay, I have some new speakers built (no crossovers yet, just baffles/boxes) and I would love to learn how to measure them with HOLM.

Does it come with documentation on how to do a gated response in room or is that in this thread?

What about figuring out the phase and CTC stuff?

Thanks
Doug
 
Okay, I have some new speakers built (no crossovers yet, just baffles/boxes) and I would love to learn how to measure them with HOLM.

Does it come with documentation on how to do a gated response in room or is that in this thread?

What about figuring out the phase and CTC stuff?

Thanks
Doug

You can read the manual but you are probably better off just trying all the options to see what they do.

For room response you can set gating for each measurement. Push "Options" and you can choose "raw response" (no gating and no smoothing). You can frequency smooth an ungated response to 1/3 ocatve, 1/6 octave or any width you like. Alternativley you can set a gating window anywhere along the impulse response. You can type in the number of samples before gating or just grab the window in the impulse display and pull it across in real time. This is one of the nicest feature because you can see the effect of every reflection. (Zoom in on the lower impulse response window to best see the reflections.) I would be nice to be able to time window and frequency smooth together but that doesn't seem to be an option.

Phase response is included, inherent in the FFT process. (See the check box at the top to turn it on and off.) It tends to auto center the impulse, so when measuring systems you will want to measure the tweeter or system with tweeter first and then fix the time delay so the woofer doesn't recenter. This is important to preserve the relative phase difference between sections. This is under the data analysis tab.

Have a play with it and you should be able to figure out what a lot of the features do.

Good luck,
David
 
You can read the manual but you are probably better off just trying all the options to see what they do.

For room response you can set gating for each measurement. Push "Options" and you can choose "raw response" (no gating and no smoothing). You can frequency smooth an ungated response to 1/3 ocatve, 1/6 octave or any width you like. Alternativley you can set a gating window anywhere along the impulse response. You can type in the number of samples before gating or just grab the window in the impulse display and pull it across in real time. This is one of the nicest feature because you can see the effect of every reflection. (Zoom in on the lower impulse response window to best see the reflections.) I would be nice to be able to time window and frequency smooth together but that doesn't seem to be an option.

Phase response is included, inherent in the FFT process. (See the check box at the top to turn it on and off.) It tends to auto center the impulse, so when measuring systems you will want to measure the tweeter or system with tweeter first and then fix the time delay so the woofer doesn't recenter. This is important to preserve the relative phase difference between sections. This is under the data analysis tab.

Have a play with it and you should be able to figure out what a lot of the features do.

Good luck,
David

Thanks!

My first step is to I guess download the latest version and setup my calibration (mic cal file and soundcard calibration).

Any links/suggestions on how to do the soundcard calibration.

My sound card is the M-audio mobilepre USB
 
Hi Ask,
I have a suggestion for the program (I know, I know - there's a lot of them floating around out there), but I think this would be relatively easy and doesn't involve anymore math ;-)

How about a way to annotate measurements? Something as simple as a text box that could get printed to the file along with the graphs.

I just spent the day measuring several different speaker sets and had to write notes about the set-up on each print-out. It would be really nice to just have that part of each file.

Just a thought, and, BTW, great software! Very easy to understand and use!
Bill
 
unhandled exception while performing loop-back calibration

Ask, I encountered this exception while performing a loop-back calibration. The repro step for me was to perform the test, clear the measurement, then perform it a second time. I seem to recall that someone else in this thread had the same problem. Exiting the app and performing the calibration again resulted in the same problem. The only way I could successfully rerun the calibration was to reboot my laptop.

JSE v1.6.0_17-b04
OS: Win7 Home Premium (64-bit)

Code:
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at HOLM.Measure.Calibrator.Import(Calibrator* , Measurement* , Double , Double )
   at HOLM.HOLMImpulse.AudioHelper.Action_CalDacAdcMake(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
HOLMImpulse
    Assembly Version: 0.0.0.0
    Win32 Version: 1, 4, 2, 0
    CodeBase: file:///C:/Program%20Files/HOLM%20Acoustics/HOLMImpulse/HOLMImpulse.exe
----------------------------------------
msvcm90
    Assembly Version: 9.0.30729.4926
    Win32 Version: 9.00.30729.4926
    CodeBase: file:///C:/Windows/WinSxS/amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4926_none_08e1a05ba83fe554/msvcm90.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Deployment
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Deployment/2.0.0.0__b03f5f7f11d50a3a/System.Deployment.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
y2g84khm
    Assembly Version: 0.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
lu1dhusm
    Assembly Version: 0.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
 

Attachments

  • HOLMImpulse-loopback_unhandled_exception.jpg
    HOLMImpulse-loopback_unhandled_exception.jpg
    148.5 KB · Views: 403
DC offset

I'm having some trouble with my measurements due to DC offset that seems to drift in value.

The attached jpg shows a system measured on two different days. For the second measurement in orange the DC component is enough to give a pretty bad LF response. The impulse can be seen to be way off the zero line and the time gating then turns that into an LF error that obscures much of the system's range.

I remember at KEF we actually measured alternating polarity impulses. The negative polarity ones were subtracted from the positive polarity ones, cancelling out the DC. Can something similar be done here?

I suppose a better quality DAC would help but I love the convenience of plugging a small mic into my Toshiba laptop without any extra boxes.

I did find that the issue is bad with Square Noise and better with the chirp. (Love to know what all the parameters are here).

By the way, I've been using Holm to make a tutorial on crossover design over at the Classic Speakers site.

Crossover mods for the AR4x - The Classic Speaker Pages Discussion Forums

Any ideas?
 

Attachments

  • Snell w wo DC offset.jpg
    Snell w wo DC offset.jpg
    166.5 KB · Views: 356