Go Down

Topic: Detecting and Processing 40kHz Ultrasonic Data (Read 81 times) previous topic - next topic



I'm looking for a microphone capable of sampling 100kHz frequencies so that it can accurately process 40kHz, but I haven't found anything compatible with Arduino so far. I'm fairly new to Arduino however, so I was wondering if perhaps I am just missing something. One of my main points of confusion is that when a microphone says it's capable of reading 40kHz, does it mean sampling or processing?

Any advice would be appreciated!


Feb 23, 2021, 10:49 pm Last Edit: Feb 23, 2021, 10:50 pm by TheMemberFormerlyKnownAsAWOL
What are you trying to do?
This is not hobby microcontroller territory.

Microphones themselves don't generally "sample" - that's done by additional hardware.
Please don't PM technical questions - post them on the forum, then everyone benefits/suffers equally


I disagree, this absolutely is hobby microcontroller territory, go checkout the bat detector
projects around the Teensy for instance.

I2S MEMS microphones are the obvious "sampling" microphone - although I'm not sure if any
support 96kSPS (standard sampling rates for I2S are 48k, 96k, 192k)

Ultrasonic response of microphones isn't well documented, I'd again refer to people making
bat detectors for this kind of knowledge - from what I glean the right choice of electret mic
will give usual response for bats (note that high sensitivity isn't needed for bats, they are
extremely loud ultrasound emitters)

[ I DO NOT respond to personal messages, I WILL delete them unread, use the forum please ]


Feb 24, 2021, 04:01 pm Last Edit: Feb 24, 2021, 04:01 pm by jremington
An ultrasonic transducer, like the type used on the HC-SR04 ultrasonic ranging module, works fine as a microphone. 

The frequency response is limited, and peaks at around the design frequency, typically 40 kHz.


I'm trying to gather some data for a work project, which involves analyzing and recording ultrasonic frequency data at 40kHz so that the frequency distribution can be tracked. The way it was explained to me was that double the frequency at a bare minimum is required to do so, and that some extra leeway is desired for more precise measurement. I wish I could clarify more but embarrassingly enough I'm trying to understand it myself right now. 

One point of clarification that would be nice though is that do I need a microphone that can detect up to double my desired frequency? Or do I just need my sampling rate to be double?


If you want to capture 40 KHz data, you need a mic that will capture at 40 KHz, and an ADC that can sample at 80KHz minimum, and 400KHz ideally for 10x sample rate.

Could you start with the mic and an oscilloscope instead?
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.


The microphone only needs to cover the frequency range you wish to record.  The digital sampling rate needs to be twice the bandwidth of the signal being sampled which means at least twice the highest frequency of interest for a baseband signal, that is a signal that goes from zero to the highest frequency component in the signal.  Thus if you want to capture a nominal 40 kHz signal with 10 kHz bandwidth, your highest frequency would be 45 kHz so you 'd need a microphone that went to at least 45 kHz and a sample rate of at least 90 k samples/second.

Can you tell us more about the source of the "ultrasonic frequency data at 40 kHz and what sort of bandwidth you might expect?

Go Up