Electronics > Beginners
Making a sound camera
<< < (10/13) > >>
daslolo:

--- Quote from: hamster_nz on May 02, 2018, 04:52:36 am ---The spiral looks like the one used as the core of the Square Kilometer Array.



https://www.skatelescope.org/layout/


--- Quote ---The spiral layout design has been chosen after detailed study by scientists into how best optimise the configuration to get the best possible results.

This spiral configuration gives many different lengths (baselines) and angles between antennas resulting in very high-resolution imaging capability.

The perfect layout would be a random arrangement that maximises the number of different baselines and angles between antennas. However, the practicalities of construction as well as linking the antennas together with cables mean that the spiral configuration is the best trade off between image resolution and cost.

--- End quote ---

--- End quote ---
OK good to see there is a very good reason. Reminds me of what I read about Viktor Schauberger years ago. I wonder what else we can lift from his eminent work on water.


--- Quote from: mikeselectricstuff on May 02, 2018, 07:25:06 am ---
--- Quote from: daslolo on May 01, 2018, 11:03:03 pm ---Yes that one. They all use logarithmic spiral. Anyone knows why?

--- End quote ---
My guess would be something to do with standing waves and/or having a large number of different mic-to-mic distances while maintaining symmetry of sensitivity

Digital-output MEMS mics with I2S or pulse-modulation schemes are very cheap, so it may make sense to trade off number of mics versus processing complexity

--- End quote ---

What do you mean it has to do with  standing wave?
Also can you explain trade off number of mics vs processing complexity? Seems to me that more mic = more FFT to churn

You guys lost me at radix until I saw its synonimous with "base", I'll ask why that matters in your other thread, it's interesting.

Can anyone give me an explanation of why that jambalaya with FFT will give me inter-mic delays? I understand that frequency domain graph will give me a sort of instant signature of the sound but I don't understand how that'll detect that one sound arrived a few ms on this mic vs that mic...
ogden:

--- Quote from: daslolo on May 04, 2018, 12:05:38 am ---Can anyone give me an explanation of why that jambalaya with FFT will give me inter-mic delays?

--- End quote ---

Output of complex FFT is array of complex numbers which means that you get not only magnitude but phase information for each frequency bin of FFT as well. Using simple trigonometry you can calculate phase angle difference between bins of two FFT's. Knowing frequency of the bin and phase angle difference, you calculate signal delay time. This of course is not straightforward operation because at high frequencies phase angle difference most likely will exceed 360 degrees :)

[edit] Real FFT is just spectrum analyzer. Complex FFT is more than that.


--- Quote ---I understand that frequency domain graph will give me a sort of instant signature of the sound but I don't understand how that'll detect that one sound arrived a few ms on this mic vs that mic...

--- End quote ---

During just 1 ms sound travels whooping 0.343m. Your mic array shall be gigantic to get few ms delay between mics :)
MasterT:

--- Quote from: daslolo on May 04, 2018, 12:05:38 am ---
1. Also can you explain trade off number of mics vs processing complexity? Seems to me that more mic = more FFT to churn

2. You guys lost me at radix until I saw its synonimous with "base", I'll ask why that matters in your other thread, it's interesting.

3. Can anyone give me an explanation of why that jambalaya with FFT will give me inter-mic delays? I understand that frequency domain graph will give me a sort of instant signature of the sound but I don't understand how that'll detect that one sound arrived a few ms on this mic vs that mic...

--- End quote ---

1. Correct. Use your analytical skills to sort out rubbish.
2 & 3. Take a crash course http://www.dspguide.com/ch8/8.htm
Equation 8.6. is the key to find a phase.
 
You didn't provide a link to the fft library you are using, if output data set has Re[] and Im[],  than you know what to do.
daslolo:
Alright I returned all my electronic gizmos, going back to basics, I fired up matlab and got this:


--- Code: ---x=.5*cos(2*pi*20*t+20*pi/180) +.1*cos(2*pi*54*t+-60*pi/180);
x2=.5*cos(2*pi*30*t+20*pi/180) +.1*cos(2*pi*54*t+-50*pi/180);
X = 1/N*fftshift(fft(x,N));
X2 = 1/N*fftshift(fft(x2,N));
%phase thingy
phase=atan2(imag(X),real(X))*180/pi;
phase2=atan2(imag(X2),real(X2))*180/pi;
plot(f,phase-phase2);
--- End code ---
which makes 2 curves x and x2 offset by phase of 10 (10 what?) and after calculating the phase and phase2 I get this funky curve when substracting both phases... I was expecting to get that delta of 10 but maybe there is more massaging I need to do  :-DD


daslolo:

--- Quote from: MasterT on May 04, 2018, 01:05:24 am ---You didn't provide a link to the fft library you are using, if output data set has Re[] and Im[],  than you know what to do.

--- End quote ---
https://github.com/kosme/arduinoFFT
Navigation
Message Index
Next page
Previous page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod