Limitations (or not) of current speaker measurement technology

Status
Not open for further replies.
Could you please expand on why speakers aren't LTI? Does treating them as LTI introduce significant errors? What are those errors? Can they be circumvented?
Large amounts of THD = Non-linear.

If you do a lot of Thiele/Small stuff, you'll know drive units change a lot with time, temperature, humidity, signal history etc. ie they are NOT Time Invariant.

Another good example is Treble Units WITHOUT Ferrofluid. Using Farina's method, measure such a unit with a 1s sweep and then with a 10s sweep and compare the frequency responses.

The IR and Complex Frequency Response are related by the FT only for LTI signal chains. If you are measuring one of these by FT of the other, you will see discrepancies as above.

MLS (or direct Impulse like 1977 KEF) measurements on devices with 'loadsa' THD is another 'gotcha'. Lipsh*tz & Vanderkooy have papers giving chapter & verse on this. It's not just that THD appears as noise. The 'measured frequency response' can be seriously wonky too.

These problems can be 'circumvented' by using methods which are more robust like Farina's method .. as long as you realise what you are measuring (eg complex frequency response) may NOT be constant.

They are juu..ust constant (?!!?) enough for us to pretend these methods are useful. 🙂

I thought this is what this thread was about 😕
______________

I'm disappointed no one is interested in Absolute Listening Tests-Further Progress

The preceding paper Loudspeakers: An Approach to Objective Listening is also worthy of note.

What they show is that most of the stuff in this thread is 'good enough' ie close enough to what we feed the speaker.

The REALLY IMPORTANT STUFF, ie the stuff THE EAR OBJECTS TO AS SPEAKER DISTORTION isn't really measured at all. 😡
 
Last edited:
Farina generates inverse in time domain. Convolution of sweep with its inverse yields a gigantic sync function. Farina's system isn't based on 2^n samples.

Cleanest IR is obtained with single large sweep.
All good practical versions of Farina's method use '2^n samples'. Today, it would be silly to do otherwise.

Whether you see a clear sinc or what is essentially an impulse is actually a 'windowing' issue. Most people don't realise that when you adjust the parameters of the sweep, you are actually tweaking the 'window'.

I have a long standing argument with Angelo on how to process the sweep but both our methods give the same result.

I did the theory for his method circa 1990 to measure response & THD of a speaker in the theoretically shortest possible time in a noisy environment for production testing. But the computing power and more importantly, good DACs were too expensive for the number of test sets we wanted.

I'm quite happy to let Angelo take the credit as he popularized and analysed it.

When I emerged from the bush in 2005, I found computing power of the cheapest laptop was more than sufficient and some IBM laptops had textbook 16b DACs as standard. Today, I can do 'better' measurements in my shed than I could in the previous Millenium with anechoic, $$$ etc.
__________________________

Angelo calls his sweep 'exponential' but it is actually a log frequency sweep.

Whatever it is called 🙂 it should sound like a B&K 2307 driving a B&K 2010 ie sweeps as God intended.
 
All good practical versions of Farina's method use '2^n samples'. Today, it would be silly to do otherwise.

Which versions would this be? All that I see are plugin for Cool Edit/Adobe Audition, and modules for Audacity. Both of these allow user choice of arbitrary length. Yes, extending start of sweep to 1 or 2 octaves below lowest frequency of interest helps.

A 1 second sweep for full audio band is garbage for all but brief survey measurements. Time domain aliasing folds tail of impulse back around into response.
 
Which versions would this be? All that I see are plugin for Cool Edit/Adobe Audition, and modules for Audacity. Both of these allow user choice of arbitrary length.
Angelo's Aurora indeed allows arbitrary sweep lengths but as I said you would be silly to do so.

This is in fact one of my arguments with Angelo.

A 1 second sweep for full audio band is garbage for all but brief survey measurements. Time domain aliasing folds tail of impulse back around into response.
Can you post a sample of your 1s sweep?

My programming environment is still Jurassic and I have problems dealing with arrays greater than 16k so my own routines are often less than 1s.

You shouldn't have time aliasing .. especially if you are just looking at complex freq. resp. You do need to capture & process more than the sweep length.

Short sweeps do have a S/N disadvantage. The effective 'swept filter' is wider. I average a bit to get around this but I would much prefer longer sweeps.

I maximise the bandwidth, sweep speed, frequency resolution, S/N tradeoff cos I come from 'do it in the shortest theoretical possible time'.
________________________

What's your programming environment? I need to move into the 21st century but several HD crashes have foiled me after laboriously downloading modern compilers.

I need to move over to a open source GUI compiler that will allow me to migrate from Windoze if necessary. But being a beach bum for more than a decade makes it difficult to catch up. 😡 🙁 😕

Any advice?
 
not doing much programming nowadays but I would look at SciPy, NumPy, iPython Notebook... Python is very machine independent, the numerical libraries quite optimized

has a major following in Physics, Scientific computing communities



for a more restricted/structured Computer Algebra System Octave is a free MatLab workalike that even runs m-files - lots of open source heavy duty numerical codes works with/is written in it too
 
Last edited:
Status
Not open for further replies.