1
\$\begingroup\$

I am going to be doing some beam forming. I understand the concept and plan to record all the data then analyze the signals from multiple microphones to figure out locations of some noises (there will be multiple locations per trial). I am stuck on how to record the data from multiple microphones at the same time. I can use a computer or a designated micro controller to do this. I plan on using 3 to 10 microphones.

Thank you in advance.

\$\endgroup\$
  • 1
    \$\begingroup\$ Why not generate a multichannel audio file? \$\endgroup\$ – Ignacio Vazquez-Abrams Feb 15 '16 at 3:00
1
\$\begingroup\$

The problem you're imagining doesn't exist, unless you create it. If you use a PC with a sound card with a multi-channel input, you will get frames of data where the samples from each channel are aligned. If you use a microcontroller, you can do the same thing yourself, provided the chip has enough ADC channels, and you can start the conversion on all of them at once (or close enough as doesn't matter). Other than responsiveness, it doesn't matter what order you copy the data in, or how long it takes to process; it only matters that all of the samples with the same index were sampled at the same time.

\$\endgroup\$
  • 1
    \$\begingroup\$ K.Doe is wanting simultaneous sampling for purpose of post-processing for sound origin direction/location finding (like the "boomerang"/"sniper finder" devices in use by many militaries) in post-processing. Many MCUs & sound cards actually multiplex channels through the same ADC, skewing the input "frame" timing by sampling each line at a separate time. For best results, a unit which actually contains a seperate ADC for each line being sampled should give more accurate results. \$\endgroup\$ – Robherc KV5ROB Feb 15 '16 at 4:04
1
\$\begingroup\$

I did my masters thesis on this. We used an FPGA, so all the sampling could be done in parallel. Processing was done in real-time, with only the directional data actually reported anywhere. That eliminated a lot of the storage and time-stamping concerns.

\$\endgroup\$
0
\$\begingroup\$

Here is one device a Google search turned up...records 16 live channels for you; costs about $400.

Otherwise, if you're more the "DIY Type," a search of Digikey will turn up several MCUs with 20+ ADC inputs that'll record at up to 1MHz or so. I've been considering a few of them that cost less than $10 USD/ea for a multi-channel audio speaker sync. delay + recorder project that I'm working on.

\$\endgroup\$
  • \$\begingroup\$ Why not consider the delay between samples taken from multichannel multiplexed ADC. If the delay is N*Ts you can rearanfe them in a matrix, for ex. you store 1st sample on 10th index, then 2nd on 9th index ... so on 10th sample on 1st index. Then when doing cross-correlation on FFT/DFT they are all aligned. \$\endgroup\$ – Marko Buršič Feb 15 '16 at 9:21
  • \$\begingroup\$ @MarkoBuršič I'd personally prefer to use a recording device/chip with multiple ADC circuits to record with as little muxing delay as possible. Makes the phasing calculations far simpler; esp. if you can use the full ~1MHz ADC sampling speed in order to maximize timing accuracy & thus avail. directional precision & adds the possibility of distance determination from wavefront cjrveature, if OP's microphone constellation is adequate. \$\endgroup\$ – Robherc KV5ROB Feb 15 '16 at 14:56
  • \$\begingroup\$ No doubt it is more deterministic, but before you can process all the data with 1M sampling, you need fast RAM transfer (probably DMA), large RAM and a huge power of CPU to do all the math. Now, who knows if OP realy needs top of the top at the begining, he has to implement all the math behind this phased array first. \$\endgroup\$ – Marko Buršič Feb 15 '16 at 16:05
  • \$\begingroup\$ Very true. In the end, either method could work; depending on actual 'in-use' requirements we haven't yet been given. My intent was to offer a solution with potential/flexibility to record at whatever level needed; then allow the math to be run as post-processing 'in the lab' later, as OP already asked about doing lab-based post-processing in their first question: When to process beam forming algorithms? electronics.stackexchange.com/questions/217176/… \$\endgroup\$ – Robherc KV5ROB Feb 15 '16 at 16:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.