Klippel Near Field Scanner on a Shoestring

1kHz sized baffle has surprisingly lot effect, all the way down to 100Hz or so, and this is just the front edge on this simple sim. Depending on cabinet shape the back portion of the structure could have effect on lows as well. Unfortunately, no such sim available atm, but quick BEM could provide if needed.
diffraction.png 3pack.png
 
  • Like
Reactions: 1 user
Indeed the textbook examples make it seem so simple, there is the echo, just delete it. But of course it is not so simple.

There is some good information in the Keith Holland paper where he describes methods for cutting through the noise to get a clearer picture. Compensating for bandwidth limitations and some other techniques.

https://pearl-hifi.com/06_Lit_Archi...Keith/Cepstral_Analysis/Cepstral_Analysis.pdf

This pre-processing certainly helps with the data processing because it can be automated easily. However, the arbitrary smoothing/filtering applied in the preprocessing is just another subjective way to assess the source of the wiggles (echo or DUT or noise). Also, we don't want to rely on any smoothing because the whole idea of removing the echoes is to increase the frequency resolution of the result. That's the opposite of smoothing.

I have tried the Holland method, but I wasn't convinced that this is a great solution that would generally work to separate and remove echoes from impulse-response data measured indoors. One thing I could think of to improve on the cepstral liftering idea is to talk to the gurus of seismic data processing. They know a thing or two about reflections and data processing.

As it is, the cepstrum echo liftering is better than nothing, but the Weinreich / Klippel method will provide much better results because it is based on a robust physical model of the sound field.
 
  • Like
Reactions: 1 users
I’m very interested in learning about the variety of techniques available for approximating anechoic measurements in a reflective environment, but also hope we can retain this thread’s original purpose. Should another thread be started for non-Klippel-scanner techniques so the diy Klippel scanner discussion here doesn’t get lost in a blizzard of other topics? Repeated efforts to keep this thread on track seem to lack staying power. Maybe an outlet for other ideas would help.
Few
 
  • Like
Reactions: 1 user
No that is not it. I'll see if I can find it, but others are better at searching out that kind of thing than I am.

My idea is not based on cepstrum. It is based in "Spectral Estimation" theory as used in underwater sonar applications. The basic idea is called Autoregressive Spectral Estimation. The idea uses that "clean" data (gated data) that we have to estimate the spectrum which is the same as extending the impulse response beyond the gated window. Since below 200-300 Hz there is not much going on besides the HP of the woofer, we already have a good estimation of this data based on simple impedance measurements.

Another idea is to use what is called the Prony Method using only the clean data to estimate the parameters of the woofers HP. These are all statistical methods and not exact as the Klippel is, but if they can be made to work then they are much much simpler. This is only for estimating the data below about 200 Hz above which is easily obtained by gating and my methods. I do this in my living room using a simple wooden platform with a rotating plater that I turned by hand. Cost is about 10$ for the stand. To me that is DIY.
 
  • Like
Reactions: 1 users
I have tried the Holland method, but I wasn't convinced that this is a great solution that would generally work to separate and remove echoes from impulse-response data measured indoors.
This sounds similar to the beam forming method from earlier in this thread in that it works better with a "simpler" sound field. Perhaps it would work better outdoors where there is only a single major reflection rather than indoors?
So yes, cepstral liftering works, and it's not difficult to implement in software (MATAA has everything you need).
Would you be able to point me in the direction of some information on how to do that with MATAA? It sounds interesting and I'd like to play around with it, but I also don't want to distract too far from the stated purposes of this thread.
 
No that is not it. I'll see if I can find it, but others are better at searching out that kind of thing than I am.

My idea is not based on cepstrum. It is based in "Spectral Estimation" theory as used in underwater sonar applications. The basic idea is called Autoregressive Spectral Estimation. The idea uses that "clean" data (gated data) that we have to estimate the spectrum which is the same as extending the impulse response beyond the gated window. Since below 200-300 Hz there is not much going on besides the HP of the woofer, we already have a good estimation of this data based on simple impedance measurements.

Another idea is to use what is called the Prony Method using only the clean data to estimate the parameters of the woofers HP. These are all statistical methods and not exact as the Klippel is, but if they can be made to work then they are much much simpler. This is only for estimating the data below about 200 Hz above which is easily obtained by gating and my methods. I do this in my living room using a simple wooden platform with a rotating plater that I turned by hand. Cost is about 10$ for the stand. To me that is DIY.
Your idea sounds like a very useful addition to "Phase One" of this project: using the same speaker stand and microphone/interface that most of us are already using (or would recommend if someone asked), but with the addition of dedicated software or Octave (or other) code that would provide 2D modal analysis and an improvement to existing IR windowing. This would be a huge step forward for DIY'ers.

I'm picturing "Phase Two" as full 3D analysis, sound field separation with its necessary hardware/robotics. I know it's more than most need (DIY or otherwise), and a lot of DIY'ers don't even have a place to store the hardware... but I want the added detail and have a dedicated "lab", so I'm excited about how Phase Two is moving currently. :)
 
Strange, to me they are the same thing.
That is extremely strange, because one has to do with the difference in pi hemisphere radiation.
Or in simple words, radiation goes into fully spherical or a semi spherical.

The other one has to do with second source (= diffraction) acoustic because of impedance jumps locally on an edge for example.
1708713019963.png

The second one is in particular very tricky because we move ourselves into non-linear acoustics territory.
While the other one acts on very basic and predictable math.
On a similar way, diffraction problems can be minimized by making a very smooth/rounded edge, while the baffelstep is totally unaffected by this.

Two totally, completely and wildly different things.

But check your physics and acoustics books, because at this level I am not even gonna discuss these things.
Beats me why some people assume they are the same thing at this level

Of course they are :rolleyes:
No they are definitely NOT the same!!!!
 
Interesting we were talking about respect a couple of pages back.

This is just one very good example that respect is lacking to the maximum amount for me.
Just go open those books or go back to school and read about the fundamental differences between the two.
Or it takes less then 10 seconds to google both terms and read that they are not the same thing at all.
They are in fact not even freaking related.

I am not crazy nor dumb, sorry. Have studied and researched on this stuff for many years.
Reason why I don't feel respected at all is that people very clearly don't even try to show a bit of motivation to look it up again.

Don't appreciate these things for the slightest bit. :(
 
The condition number of a matrix is the ratio of its largest singular value to its smallest singular value.
We take the SVD of a matrix to find the singular values and then take the ratio of the largest to the smallest one.
I am pretty sure that these days, there would be built-in functions in all good scientific computing packages, which compute & return the condition number of a matrix once we give the matrix as an argument to the function. For example, Matlab uses this: https://in.mathworks.com/help/symbolic/cond.html
For context, the matrix that I was talking about was the one we use for solving for the scaling coefficients for the basis functions
As per an example in part 2 of NTK's document, the matrix looks like below for N=1

For NTK's original 3D code the condition number was 2.7

For my latest 2D hack it was humongous.
 
  • Like
Reactions: 2 users