Klippel Near Field Scanner on a Shoestring

Now I understand your ratchet idea...
Woohoo! Repeatability is the key to doing this well. Manually for a DIY person or remotely for a power user.

As Earl mentioned there could be a chasm in between the two camps here. If that Chasm has an appropriate bridge across it we meet together and get this working for both groups.

The ratchet is a mechanisim that will work. There is also much simpler holes and a pin like you would see on a dividing head. This works radially or linearly.

1708521692530.jpeg

You drill the required number of holes in a circle pattern, and have a mic boom rotate in the center with an arm that has a pin matching the holes. This is possible with hand tools or with a drill press or mill, or if you have a CNC.

The same principle in a straight line will allow vertical adjustments that are very repeatable. And again for the mic boom moving forward to towards the DUT and away from the DUT you can have a linear series of holes.

I'm actively trying to reduce this to the minimum amount of work. I like a ratchet conceptually, but it is not really that DIY accessible.
 
The very vast majority of time of such project is gonna be in software development.

Mostly the user interface, as well as making sure that all measurements sync up correctly with the right angles etc. ...

The difficulty of it lays in just the sheer bulk of it.
I have no clue how to make software talk to a stepper motor or similar to get the microphone to a specific position, but I guess that's not exactly rocket science. If someone told me how to do it (or would provide the code for it), and once I'd figured out how to run that from within Octave, it would be relatively straight forward to do the measurements and manage the data within Octave using MATAA.

Speaking of user interface, it really depends on what you mean by that. If doing it with Octave + MATAA, there simple is no user interface to speak of. Makes things much easier if you ask me :)
 
  • Like
Reactions: 1 user
I have no clue how to make software talk to a stepper motor or similar to get the microphone to a specific position, but I guess that's not exactly rocket science. If someone told me how to do it (or would provide the code for it), and once I'd figured out how to run that from within Octave, it would be relatively straight forward to do the measurements and manage the data within Octave using MATAA.

Speaking of user interface, it really depends on what you mean by that. If doing it with Octave + MATAA, there simple is no user interface to speak of. Makes things much easier if you ask me :)
Talking to stepper motors is by far the easy part.
If you're just curious, google is your friend, absolutely thousands and thousands of projects available where inspiration can be taken from.

The embedded part is rarely a problem.

With software I don't meant microcontrollers, I meant the actual software with a user interface.

You can rely on packages like Octave and alike, the issue is that the vast majority of people has never worked with these things.
 
I meant the actual software with a user interface.
Not sure what exactly you mean by "user interface". Octave has a nice terminal and graphical display to interface with the user. If you want a graphical user interace (GUI), there are maaaaany ways to do it, and maaany are not that difficult to do. I am not a fan of GUIs for this kind of work, though, because scripting is so much more efficient for this stuff. If the Shoestings Klippel must have a GUI, it should be done after everything else is done and works well.
 
  • Like
Reactions: 1 users
It’s a command to move a single stepper using a Tic control board. A 3D command would need three of them. Identifying which controller which command was to be sent to.

For automating a single axis of movement whether rotational or straight a Tic controller is a very simple solution. For three axis automation of a microphone using smaller steppers I would imagine a 3D printer control board with one of the open source firmwares to be a better option.

Then it could just be a gcode command.
 
Last edited:
  • Like
Reactions: 2 users
Ok, so the full measurement routine would look something like this:

fs = 44100; % sample rate s = mataa_signal_generator ('sweep', fs, 0.2, [50 20000]); % test signal r = [1,2]; % radii of inner and outer sphere theta = [-180:10:180]; % theta angle phi = [-180:10:180]; % phi angLE h = []; % init empty data matrix for rr = r for tt = theta for pp = phi system (<gcode cmd rr tt pp>); % move microphone to (rr,tt,pp) coordinate h = [ h ; mataa_measure_IR (s, fs, ... ) ]; % measure impulse response and add to data matrix end end end
 
Not sure what exactly you mean by "user interface". Octave has a nice terminal and graphical display to interface with the user. If you want a graphical user interace (GUI), there are maaaaany ways to do it, and maaany are not that difficult to do. I am not a fan of GUIs for this kind of work, though, because scripting is so much more efficient for this stuff. If the Shoestings Klippel must have a GUI, it should be done after everything else is done and works well.
I never said it was difficult, I said it was tedious.

I am no fan of scripting for this kind of working because it requires me to remember lines of code and scripting language.
(which I know most people are absolutely terrible at as well)
Clicking buttons is so much more efficient for this stuff. ;) ;) :D :D
No offense, and totally understand and respect your way of working, but I can predict that with scripting this will result in yet another project only able to run by just a handful of nerds that like working in scripting and code.
The vast majority of people don't find that working well and often even scary.

I have done quite a lot of these projects with teams and I most certainly don't agree that it should done after, but should start first right from the beginning for the reasons I said before.
It's tedious and takes A LOT of time, much more than the hardware, math and embedded guys need.

Since I have plenty of experience with these kind of projects, I am not gonna discuss that last part, no and zero offense intended.
 
Last edited:
I don't really understand the idea with the ratchet?
But these days steppers with a rotary encoder are easy to make.
So you know always the exact position everywhere you are.

This is also being used in CNC's and 3D printers.
Most of these devices have a (much) higher resolution then we will ever need.

So I would recommend just to copy-paste the fundamentals from there.
 
@mbrennwa

Something like that. Probably initialize h to the correct size directly. That's faster :)

In theory it's really simple. I've been contemplating writing what you did, but it's so simple, it doesn't reduce the risks in this project.

I'm really interested in the math of @gedlee. I've been playing with NTK's stuff and I get the feeling its not enough to measure in a circle on the horizontal plane. I'm curious what Earl is doing to circumvent that. I think some people in this thread and I should be able to understand the math and with the help of modern math programs it shouldn't be too hard to make the computer do the calculations and show the results.
However, at least I need a bit more help with the math than what I could find in this thread (e.g. the MathCad screenshots). The dreaded 'a little algebra yields' or '... is left as an exercise for the reader' won't do it for me.
 
  • Like
Reactions: 1 users
I think some people in this thread and I should be able to understand the math and with the help of modern math programs it shouldn't be too hard to make the computer do the calculations and show the results.
I am happy to help, but the problem I currently have is just even to find a document where the higher level physics (math) is explained followed by the math itself.

It's now very much a big and unclear puzzle on itself.
Mostly with vague reference to papers that are even harder to find.
Since I don't have all the time of the world, it's kinda hard to dive in that deeply unfortunately.
 
I don't really understand the idea with the ratchet?
If you want to do this manually. A ratchet mechanism cut into the circumference of the microphone mount could provide positive indexing for a given angle. So could a series of radial holes at 5 degree intervals. This is to enable anyone with patience to get the job accomplished. And let me prove out the mechanics before I go to steppers.
 
  • Like
Reactions: 1 user
I think I know what you want to do, but in this day and age steppers are just so much easier and WAY cheaper instead of making a custom mechanical construction ;) 👍
Literally I want to make a total manual DIY setup and document it. If it is useful for someone this will gain traction. Personally I want a computer controlled setup. So one will lead to the other.

Second thought. An option for multiple mics? Should cut the measurement time in half no? As already known there are many audio interfaces that have more than one channel available and software switching between channels is not impossible I'd imagine.
 
@mbrennwa
I'm really interested in the math of @gedlee. I've been playing with NTK's stuff and I get the feeling its not enough to measure in a circle on the horizontal plane. I'm curious what Earl is doing to circumvent that.
If I'm understanding correctly, Earl was using his method for 2D modal analysis, but NTK's code is for 3D model analysis + sound field separation. I was curious if NTK's code could be used for 2D analysis, but maybe it doesn't work for that?

To me, this adds value to developing the hardware to do a 3D scan (be it automated or manual) since the only way to empirically test if that code can be used with real 3D data is to collect real 3D data to give it.
 
  • Like
Reactions: 1 user