This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Acoustic Beamforming application with Tiva TM4C123GXL launchpad

HI Guys,

To start off, I am fairly new to concepts of Acoustic applications but I need to implement a Audio Beamforming demo using the Tiva Launchpad Board with 2 PDM Microphones for my official project. I have basic knowledge of Arm M4 architecture but no knowledge of DSP specific instructions. I have mostly worked with peripherals such as SPI, I2C, UART, Flash Memories etc. I need help to understand the below points:

1> Which PDM Mics will be best and easiest to interface to the platform.

2> For the First Stage of the project, I know the PDM Mic needs to decimated and converted to a 16bit PCM value. Can you please point me to any good Application Note, Standard Library usage example or any kind of documentation, it will be best if its for this particular board. Basically I want to be able to take two take two independent PCM channel outputs and be able to store 1ms value of it to memory.  

3> For the Second Stage, I want to localize the voice arriving at both the channels by calculate the delay in between the two channels (Cross Correlation and Phase transform between the channels followed by a Peak detection to calculate the delay) and the angle of arrival of voice by equating it with Sampling Frequency and Distance. Request regarding this stage is the same, Can you please point me to any good Application Note, Standard Library usage example or any kind of documentation, it will be best if its for this particular board.

4> For the Third Stage, I want to add the delay to the earlier arriving channel only which was detected in between the early arriving and the late arriving channel in the last stage and sum both the signals together as one. This is a Delay and Sum Beamforming Technique which happens form the recording Beam towards the speaker at an angle calculated previously(Please confirm my understanding, if you have done anything similar in past). It would be best if I could show a power versus angle plot regarding the thus formed beam. Request regarding this stage is the same, Can you please point me to any good Application Note, Standard Library usage example or any kind of documentation, it will be best if its for this particular board.

5> Final Stage, I would like to write the recorded voice to an avi file and be able to plot an SNR plot out of it in Matlab in between beamformed voice and non-beamformed voice.

Please help me with this in order to see through this project, I will share all my experiences which I faced or encountered with this community regarding this so it will be very beneficial for others reference purposes as well.

Best Regards

Arindam Sarkar

 

 

 

  • I'd suggest to have a look at the ST website. Besides it's STM32 microcontrollers, ST also produces MEMS devices, including microphones. So naturally, there are application notes and example code. I expect other mixed-signal hardware vendors, like AD, to have good app notes and examples as well.

    To be explicit,I don't suggest to swap to the ST Cortex M platform (or another) - that is totally up to you.

    As another distinction, ST's peripheral libs are based upon CMSIS, which usually include the DSP lib from ARM. The latter comes with implementations for statistics, control, signal analysis and filtering, with several (vendor-independant) examples. Basically, the ST website would be one source for the DSP lib package.

    I would like to write the recorded voice to an avi file and be able to plot an SNR plot out of it in Matlab in between beamformed voice and non-beamformed voice.

    AVI is a video (+ audio) format - I would consider a pure audio format instead. And perhaps you need to use an uncompressed format, to keep the performance load in check. And, you need to consider other limitations of the MCU - there is no unlimited RAM available.

    BTW, ST is about to migrate their (ineffable) forum to a new platform this weekend, so there might be some access issues.

  • "Ineffable" to be kind. Delightful how everything is left to Clive (if he's still there) and other outsiders. (such as you/me etc.)
  • The last year, ST staff had been more present at the forum - mainly to acknowledge CubeMX bugs and promise improvements ...