HOLMImpulse: Measuring Frequency & Impulse Response

From a numerical analysis point of view smoothing always reduces to some form of integration:

A'(fc) = integral [W(f)A(f)]/ integral[W(f)] over some limits f1 to f2 where fc is between them. W(f) is a weighting function of choice, typically symmetric about fc. Obviously, in the digital domain the integrals are replaced with their representative summations.

Exactly! As in my appendix A.3.3 Absolute smoothing of discrete frequency values in
http://holmacoustics.com/downloads/HOLMImpulse/HOLMImpulseUserGuide.pdf

So what we need to discuss is "only" W(f)
 
To resample at log spacing you really should first smooth the data, otherwise your resampling introduces aliasing. For example, to convert the data to 96PPO log spaced it is best to first smooth to 48PPO before doing the decimation (which is then simply selecting the desired 96PPO samples from the smoothed set).

Except that I am not resampling in the sense of "decimation" so aliasing is not possible - the "sample rate" is not changing, only the spacing of the data points from linear to log.
 
Except that I am not resampling in the sense of "decimation" so aliasing is not possible - the "sample rate" is not changing, only the spacing of the data points from linear to log.
Well I expect there are far fewer points in your log spaced output than there were in the original linearly spaced FFT data, so that constitutes decimation in my book :). The log spaced, filtered result would have a non-uniform sample interval (i.e. the frequency spacing of the samples) but the interval would typically be much greater than that of the FFT data it was derived from, so the usual decimation caveats apply - if the bandwidth is not limited to comply with the effective inter-sample spacing of the final data there will be aliasing artefacts. "Bandwidth" in this context refers to the rate of change in the frequency domain of the frequency response samples, rather than the more usual meaning in the context of a time series.
 
Last edited:
Well I expect there are far fewer points in your log spaced output than there were in the original linearly spaced FFT data, so that constitutes decimation in my book :). The log spaced, filtered result would have a non-uniform sample interval (i.e. the frequency spacing of the samples) but the interval would typically be much greater than that of the FFT data it was derived from, so the usual decimation caveats apply - if the bandwidth is not limited to comply with the effective inter-sample spacing of the final data there will be aliasing artefacts. "Bandwidth" in this context refers to the rate of change in the frequency domain of the frequency response samples, rather than the more usual meaning in the context of a time series.

John

I have to disagree with you here. Since the bandwidth of the final data is the same as the bandwidth of the original there won't be any aliasing. There may be other issues, but aliasing, as usually defined - out of band components folding back down into the passband - isn't one of them. At least not the way that I do it.
 
Importing / Exporting FR

How can I import a FR curve? is there documentation of the proper format? After smoothing the FR curve is purely real there is no phase. Is this a problem?
No it's not a problem - You can import the amplitude only - see the now updated User Guide v0.0.7
Section "3.1 Importing a frequency response"

If I smooth in Holm, can those curves be exported en-mass like the IRs?

No not yet...
 

Attachments

  • Shot-2009-10-19-22-32-001.png
    Shot-2009-10-19-22-32-001.png
    10.6 KB · Views: 487
Last edited:
I just found out I could import/export .wav in LTspice so I had some fun simulating an amp with a music signal.
Then convolved it with HOLM and got perfect result. Agrees with spice own FR curve and phase.
Did a sweep as well and it agrees with the music version, and the plotted distortion seems to be spot on.
 
First of all - Thank You for providing this great piece of Software -" Godt Gået !"

I have an application where i would like HOLMImpulse to work with JACK;
JACK | connecting a world of audio

However whenever i select JACK as my Asio In/out device in HOLMIpulse my Jack server dies.
Since i have been using JACK with a number of other Asio programs with no problems i tend to belive its HOLMImpulse that is causing the problem.

I use Windows XP, JACK V 1.9.3 & HOLMImpulse v1.4.2.0

Fault from JACK server when dying: "JackEngine::ClientCloseAux wait error ref = 2"

Any Clues ?

Morten
 
I don't think you can use ASIO on the same outputs with 2 apps without some sort of a bridge like ReWire or Reaper's ReRoute.

Hmm might be wrong. Does jack work directly on your interface almost like it's the the asio mixer/driver interface? In that case maybe
it should be working.
 
Last edited:
I don't think you can use ASIO on the same outputs with 2 apps without some sort of a bridge like ReWire or Reaper's ReRoute.

Hmm might be wrong. Does jack work directly on your interface almost like it's the the asio mixer/driver interface? In that case maybe
it should be working.

Not trying to use the same "interface" from two applications at the same time - Just from HOLMImpulse is a problem
 
Response to text converter

I'm searching for a program that can convert an ordinary image of an frequency/phase/impedance chart to a text file that can be imported to
HolmImpulse.

Preferably, when you start this program, an empty chart will show up, and then you click on the chart at different points according to the image of the freq/phase/imp. When you have clicked the whole curve, and after interpolating, it can be saved to a custom or HolmImpulse text file.

The idea of this is to make use of accurate freq/phase responses from the driver manufactures.

If there are no such program, maybe I will have a go at it myself....
 
text file anechoic room correction

Far back in my mind, in the dense fogs of Lutzen, I vaguely remember loudspeaker measurement program where you had the possibility to do a simple correction of the impulse response according to the room properties , cant remember the name of it, any clues?

Anyway, it would have been nice with a program that can apply a anechoic room correction for the Holm (or others) response/impulse text file.

The input variables for this program are the physical dimensions of the room, properties of the room surfaces (soft, hard,reflective), speaker/mic location, and so on. You open the response/impulse text file, the program corrects it according to the room variables, and you save the corrected file for use in various loudspeaker simulation programs like LspCad, Soundeasy or Basta.

I know that I'm asking for a lot, but who knows, maybe there is such a program out there!

Regards, Jonas
 
Far back in my mind, in the dense fogs of Lutzen, I vaguely remember loudspeaker measurement program where you had the possibility to do a simple correction of the impulse response according to the room properties , cant remember the name of it, any clues?

Anyway, it would have been nice with a program that can apply a anechoic room correction for the Holm (or others) response/impulse text file.

The input variables for this program are the physical dimensions of the room, properties of the room surfaces (soft, hard,reflective), speaker/mic location, and so on. You open the response/impulse text file, the program corrects it according to the room variables, and you save the corrected file for use in various loudspeaker simulation programs like LspCad, Soundeasy or Basta.

I know that I'm asking for a lot, but who knows, maybe there is such a program out there!

Regards, Jonas
SoundEasy has Cepstrum Editing and Matched filter editing. It's an improvement, but I'm not sure whether it's the ultimate answer.