• 0
Juliana

How do I interpret these results exported from pmodMic3 ?

Question

Hello all,

I'm using Basys3 board and two pomdMic3 devices to read and analyze sound data. I played sound source of specific frequencies (generated by Matlab) to these two pmodMic3. The SCLK of pmodMic3 were set as 5MHz, and one sample(for each mic) of data would be sent to PC every 400ns. Then I exported the captured data and converted to decimal, and I got the following results:

Test 0: In this test, I played a sound source of 1kHz, first 75dB for 4s, then 110dB for 4s, then 75dB for 10s, and I got the result (simply converted binary data captured from pmodMic3 directly to decimal): 

image.png.ab46202e40802cc51e4d4c001ceda3cc.png

Test 1: In this test, I was still playing a sound source of 1kHz, first at 110 dB, then 75dB, then 110dB again, then 75dB:

image.png.cac3359c606ba18bc7b5d1c4bb1a826a.png

 

Test 2: In this test, I played sound source at 90dB, first 500 Hz, then 1KHz, then 3KHz:

image.png.ff7a12f75d96ebf9e28906ad85fc5bf3.png

So basically my questions are:

1. Why do these two pmodMic3 devices give such different results? I already adjusted the potentiometer to the same position, and I did notice one of them was not responding properly (while the other one performed as expected) when I test on board. 

2. When I tried different volume of the sound source, the absolute decimal value does not change accordingly. Since I referred the following transfer characteristic of the ADC used for pmodMic3:

image.png.c089528f4647511912df18e9da48e363.png

I was expecting higher volume would result in higher analog input, and therefore larger ADC code. So how do I supposed to tell the volume information from the exported ADC code?  

 

3. Can I also get the frequency information of the sound source from the ADC code or do I have to do FFT (or such) to further process the data?

4. I'm just using PC as the power supply of the board for now, and I'm not too sure how stable is it, would using external power supply help getting more accurate results?

 

Thanks in advance!!

 

Regards,

J

 

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Hi @Juliana,

Here is a forum thread that discusses how to interpret the ADC output as well as needing to use an FFT to get the frequency.  The first step for testing to see if a PmodMIC3 is not working correctly would be switching the 2 PmodMIC3's and see if you get the same result or not. Powering the FPGA and PmodMIC's through the USB should be fine. 

best regards,

Jon

Share this post


Link to post
Share on other sites
  • 0
On 7/11/2019 at 11:25 AM, jpeyron said:

Hi @Juliana,

Here is a forum thread that discusses how to interpret the ADC output as well as needing to use an FFT to get the frequency.  The first step for testing to see if a PmodMIC3 is not working correctly would be switching the 2 PmodMIC3's and see if you get the same result or not. Powering the FPGA and PmodMIC's through the USB should be fine. 

best regards,

Jon

Hi Jon,

Thank you so much!!

Just one more question: Is there any Digilent data acquisition/ analysis  tool (or any software you would recommend) I can use to read and analysis the data I got from pmodMic3? I'm using Basys3 FPGA board. I did notice Wavevision form Texas Instruments, but seems it is only adaptable for one specific board, not for Basys3.

 

Thanks,

J

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now