HOLMImpulse: Measuring Frequency- & Impulse-Response - Page 10 - diyAudio
Go Back   Home > Forums > Design & Build > Software Tools

Software Tools SPICE, PCB CAD, speaker design and measurement software, calculators

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 9th June 2009, 01:59 PM   #91
KSTR is offline KSTR  Germany
diyAudio Member
 
KSTR's Avatar
 
Join Date: Jul 2007
Location: Central Berlin, Germany
soongsc, check out the free S-transform tool from the Acourate website... you need .dbl files for the pulse, though (no .WAV import as of yet).
  Reply With Quote
Old 9th June 2009, 03:22 PM   #92
JohnPM is offline JohnPM  United Kingdom
diyAudio Member
 
Join Date: Oct 2008
Quote:
Originally posted by KSTR
I would find file-I/O for everthing very useful (especially for offline processing) :
- stimulus (and the inverse, too, while you're at it)
- DUT's response
- impulse (that is, additional to the text export we already have)
Is the inverse really of any value if you have the stimulus? Does anyone besides Farina really bother to convolve with the inverse rather than simply do regularised division by the FFT in the frequency domain?

Quote:
My preferred formats for all three would be
- plain array of raw double, .DBL (+ dialog for the samplerate, then), since that is as "lossless" as it gets
- 32bit float .WAV
- 24 oder 16bit int .WAV (w/ normalizing + dither, maybe)
And for the pulse an estimate (or the precise value) of the sample offset between harmonics.
Wouldn't float do the job as well as double, and at half the file size? Your sweep would need to run for hours (days? weeks? ) to exceed the dynamic range of floats.
  Reply With Quote
Old 9th June 2009, 04:20 PM   #93
KSTR is offline KSTR  Germany
diyAudio Member
 
KSTR's Avatar
 
Join Date: Jul 2007
Location: Central Berlin, Germany
Quote:
Originally posted by JohnPM
Is the inverse really of any value if you have the stimulus? Does anyone besides Farina really bother to convolve with the inverse rather than simply do regularised division by the FFT in the frequency domain?
Good point, I indeed intended to try other convolvers to look at the IR they would come up with and compare with Ask's result. From a practial standpoint FFT division would do for FR mag, for correct phase info we'd need to align the response first (or let the SW do that, like ie spectralab does). Also I could just derive the inverse from the stimulus (reversed and with the 6dB/oct mag correction) but there is some uncertainity and guesswork involved.


Quote:
Wouldn't float do the job as well as double, and at half the file size? Your sweep would need to run for hours (days? weeks? ) to exceed the dynamic range of floats. [/B]
float WAVs would suffice in term of precision, thats true. But I have SW's which only accept headerless raw double for input...

- Klaus
  Reply With Quote
Old 9th June 2009, 04:57 PM   #94
JohnPM is offline JohnPM  United Kingdom
diyAudio Member
 
Join Date: Oct 2008
Quote:
Originally posted by KSTR
Also I could just derive the inverse from the stimulus (reversed and with the 6dB/oct mag correction) but there is some uncertainity and guesswork involved.
Just do it in the frequency domain, FFT, element-wise reciprocal (regularised if stimulus content is band limited), IFFT, and the guesswork and magnitude corrections disappear. The whole reversal/magnitude correction thing is only the time domain approximation to the frequency division after all, but without the precision.
  Reply With Quote
Old 9th June 2009, 05:11 PM   #95
KSTR is offline KSTR  Germany
diyAudio Member
 
KSTR's Avatar
 
Join Date: Jul 2007
Location: Central Berlin, Germany
Thanks, John.... but I admit your short description is above my head, I'm just a lowly EE and not a math geek who a) fully understands signal theory in all its sublte details and b) is a MATLAB etc wizard. If I were I wouldn't have participated in this thread....

- Klaus
  Reply With Quote
Old 9th June 2009, 05:15 PM   #96
gedlee is offline gedlee  United States
diyAudio Member
 
gedlee's Avatar
 
Join Date: Dec 2004
Location: Novi, Michigan
Quote:
Originally posted by JohnPM


Just do it in the frequency domain, FFT, element-wise reciprocal (regularised if stimulus content is band limited),
What do you mean by "regularized". Thats not a term in signal processing that I am familiar with.
  Reply With Quote
Old 9th June 2009, 05:34 PM   #97
KSTR is offline KSTR  Germany
diyAudio Member
 
KSTR's Avatar
 
Join Date: Jul 2007
Location: Central Berlin, Germany
sounds like avoiding false results from divisions with "almost" zero values, or something...
  Reply With Quote
Old 9th June 2009, 05:46 PM   #98
diyAudio Member
 
Join Date: Dec 2006
Blog Entries: 1
Quote:
Originally posted by lazycatken

Just ran it for measurement, unfortunately, it terminated abnormally.
Found root cause. Don't set signal length to 21.

BTW, it will be better if signal amplitude can be adjustable.
And a signal such as white noise and VU meter for adjustment of pre-amplifier volume and mic amplifier gain are available will be excellent.
  Reply With Quote
Old 9th June 2009, 05:55 PM   #99
diyAudio Member
 
Join Date: Mar 2003
Location: Denmark, Copenhagen
Exclamation BUG: Don't set signal length to 21.

Quote:
Originally posted by lazycatken
Found root cause. Don't set signal length to 21.
Yes you are right! It also crashes for me at signal length = 21

Thank you for reporting

I'll put it on the list. I'm making an updated list of bugs / feature requests. Below file is updated.

http://www.holmacoustics.com/downloa...lse/Issues.txt

/Ask
  Reply With Quote
Old 9th June 2009, 06:07 PM   #100
diyAudio Member
 
Join Date: Mar 2003
Location: Denmark, Copenhagen
Lightbulb Regulized IFFT - bandpassed IFFT

Now please don't make this complicated

ref page 14 in:
http://pcfarina.eng.unipr.it/Public/...cSound2007.pdf


The computation of the inverse filter is done in
frequency domain:
C[f] = Conj(H[f])/(Conj(H[f])H[f]+ε[f])
Where ε(f) is a small regularization parameter,
which can be frequency-dependent, so that the
inversion does not operates outside the frequency
range covered by the sine sweep


Without ε[f] we would simply have: C[f] = 1/H[f]
Applying ε[f] is nothing else than a bandpass of the resulting response. Like when Klaus is sweeping from 1000 Hz, then he knows that the response below 1000 Hz is not valid.

I'm in doubt if I should adopt this bandpass for the log-sweep - If I did Klaus and Earl would require that it could be disabled, so they could get the raw impulse
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Measuring Frequency Response MCPete Multi-Way 10 10th February 2009 12:36 AM
Measuring Frequency Response furly Planars & Exotics 1 17th March 2006 06:59 AM
Measuring the frequency response of a mic? mr_push_pull Multi-Way 5 30th August 2004 12:26 PM


New To Site? Need Help?

All times are GMT. The time now is 08:41 AM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright 1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2