Ultrasonic Acoustic Remote Sensing
Acoustic Sensing: Background & Trivia
Sound waves can be used to sense the environment. This technique has been developed in nature and in our technology.
In Nature
This technique is broadly coined by the term "Echolocation" to describe its variants in different species. Some examples:
- Bats
- Bats echolocate with a frequency of 11-212kHz with most operating between 20-60kHz (Jones & Holderied, 2007).
- Cetaceans (Whales & Dolphins)
- Chong et. al. (2021) performed an experiment to test the ability of dolphins to decipher objects of various materials (but otherwise identical) with their biosonar. In their experiment, their bottlenose dolphin, Ginsan, produced frequencies in the range of 50kHz-130kHz.
- Shews
- Shrews echolocate with a frequency of 30-60kHz (Thomas & Jalili, 2004). According to Chai et. al (2020), genome data suggests that bats, cetaceans and shews experience convergent evolution, sharing the same set of genes for this skill.
In Technology
This technique is employed by different types of technology, for example in SONAR or in Seismic Inversion.
- SONAR
- SONAR is used primarily in underwater related work. Aside from military uses popularized in popular culture, SONAR is used for the study of shipwrecks (Deep Sea Archaelogy). They employ frequencies of up to 600kHz for high resolution sensing or down to 1kHz for deep sensing (Soreide, 2011).
- Seismic Inversion
- Seismic Inversion refers to the use of sound to extract layers of the earth. This is used by geophysicists in environmental remote sensing to understand the rock composition of the region for general purposes or to locate minerals or oil and gas (Chen et. al, 2017). The source of the sound could be actively caused via explosives or passively recorded via external sources such as traffic noise (Dou et. al, 2017). The frequency of such waves can be as low as 0.6-37Hz (Dou et. al, 2017).
Fundamental Principle & Additional Principles
The most basic principle behind this technique rely on round trip Time-Of-Flight (TOF) measurements of reflected sound waves. However, more complicated principles can be involved. For example:
- In Seismic Inversion (oversimplified), one considers a delayed response composed of multiple reflections of waves propagating through a geologic medium to reconstruct structural layers.
- In Echolocation, bats use Doppler Shifts while hunting to locate moving targets.
Project Overview
In this project, we will use sound to sense the environment. From the previous section, it is clear that the use of sound in remote sensing can be quite varied with different techniques from up to 600kHz down to 0.6Hz. Therefore, we should start by defining the scope of the project.
Scope (Operating Wavelength, Choice of Technique) & Justification
In this project, we will use sound in the ultrasonic range (>20kHz) for remote sensing.
- Ultrasonic sound operates beyond the range of human hearing which is ideal for non-intrusive remote sensing.
- Ultrasonic sound, with its shorter wavelength, is more directional. This improves the resolution of our sensing.
We will utilize ultrasonic transducers/sensors on the 30kHz-50kHz range due to the availability of the components.
We will focus on simple Time-of-Flight measurements for remote sensing for now. If possible, we will explore other techniques for remote sensing.
Objectives
- Can we emit & detect ultrasonic sound waves with a pair of transducer-receiver (transceiver) to make Time-of-Flight measurements?
- If so, quantify the performance of the device.
- Can we go beyond simple TOF measurements?
Tools
On the most basic level to run our experiment, we require a source of ultrasonic sound, a receiver sensitive to ultrasonic wavelengths, and a board to control these devices in a manner suitable for remote sensing measurements. Arduino provides a convenient solution for these requirements. On top of that, we have individual transceivers, function generators, oscilloscopes and amplifiers to build our own device with raw data to process.
- Arduino UNO R3
- HC-SR04 Ultrasonic Transceiver
- MCUST16A40S12RO Transducer
- MCUSD14A48S09RS-30C Transducer
- Peak Tech 160MHz Function/Arbitrary Waveform Generator 4046
- Stanford Research Systems Model SR560 Low-Noise Preamplifier
- Keysight InfiniiVision MSOX2004A Mixed Signal Oscilloscope 70MHz
Theory
Distance Measurement HC-SR04 (Experiment 1)
We start with the HC-SR04.
Hardware


We connected the HC-SR04, which serves as the source and receiver, to the Arduino UNO R3 based on the above described circuit. From left to right of the HC-SR04: VCC-5V, Echo-pin 10, Trigger-pin 9, Ground-Ground. This completes the hardware of the set-up.
Software
The software to programme the Arduino to readout the distance is readily available online with little to no minor modifications (Pendergast, 2021). Following which, the programme "CoolTerm" was used to write the readout information into a text file for further processing on Python (Meier, n.d.).
Method


We conducted our experiment on an optical table.
- The transceiver was mounted onto the optical table.
- A magnetic beam height ruler was used as the object for the transceiver to measure its distance from the transceiver.
- Measurements were made for different known distances of the ruler from the transceiver by positioning the ruler based on the mounting hole spacing of the optical table.
- 5kB of measurement data was collected for each measurement in order to obtain sufficient statistics (200 measurements).
Results


Distance measurements were made for 3 straight line distances 10, 20, & 30 spaces from the transceiver corresponding to 25cm, 50cm, 75cm from the transceiver.
- 25cm: 21.849 +- 0.046cm
- 50cm: 46.537 +- 0.049cm
- 75cm: 62.163 +- 0.45cm
Analysis/Reflection on Experiment
Measurement statistics indicate that the HC-SR04 offers great precision in measurement. The inaccuracy of the 3rd measurement can be explained by the presence of other obstacles on the optical table, in this case, the Acrylic board in the background which could cause the sound waves to be prematurely reflected back into the board due to the high divergence of the sound wave. This is because the HC-SR04 works by sending 8 40KHz ultrasound pulses when the trigger pin is set to HIGH. Following which, the echo pin is set to HIGH until receiving the first instance of the echo, indiscriminately (Elecfreaks, n.d.).
- This underscores the limitation of ultrasonic sensors in pin-point distance measurements in the presence of multiple obstacles.
- However, they function as excellent nearest-object proximity sensors useful in applications such as parking sensors.
Distance Measurement Based on Time-Of-Flight Technique (MCUST16A40S12RO) (Experiment 2)






Fine-Grained Distance Measurement Based on Phase Change Technique (MCUSD14A48S09RS-30C) (Experiment 3)
Code Written for the Experiments
import math import matplotlib.pyplot as plt import numpy as np from numpy import nan import pandas as pd from scipy.optimize import curve_fit from scipy import signal
def Process_Data(df):
#read csv file
df = pd.read_csv(df,names = colnames)
df = df.iloc[2:]
X = np.asarray(df["A"],dtype=np.float64)
Y = np.asarray(df["B"],dtype=np.float64)
Y2 = np.asarray(df["C"],dtype=np.float64)
L = []
L2 = []
#remove nan values in data. keep uncorrupted data
for i in Y:
if np.isnan(i) == False:
L.append(i)
for i in Y2:
if np.isnan(i) == False:
L2.append(i)
#find the mean to center y values about 0
Mean_Y = sum(L)/len(L)
Mean_Y2 = sum(L2)/len(L2)
Y = (Y-Mean_Y)
Y2 = (Y2-Mean_Y2)
#find channel corresponding to original sound wave
#works by finding set of data with larger value since original sound wave will have higher value
#original sound wave will happen first
#set start of original sound wave to T = 0
if max(L-Mean_Y) > max(L2-Mean_Y2):
Start = np.nanargmax(Y>max(Y)/10)
Start1 = np.nanargmax(Y>max(Y)/10)
while math.isnan(Y[Start1]) == True:
Start1 = Start1+1
Start2 = np.nanargmax(Y[Start1:]>max(Y[Start1:])/10)
Start = Start + Start2
X = X[Start:]
X = X - X[0]
Y = Y[Start:]
Y2 = Y2[Start:]
else:
Start = np.nanargmax(Y2>max(Y2)/10)
Start1 = np.nanargmax(Y2>max(Y2)/10)
while math.isnan(Y2[Start1]) == True:
Start1 = Start1+1
Start2 = np.nanargmax(Y2[Start1:]>max(Y2[Start1:])/10)
Start = Start + Start2
X = X[Start:]
X = X - X[0]
Y = Y[Start:]
Y2 = Y2[Start:]
return X, (Y), (Y2)
References
Jones, G., & Holderied, M. W. (2007). Bat echolocation calls: adaptation and convergent evolution. Proceedings. Biological sciences, 274(1612), 905–912. https://doi.org/10.1098/rspb.2006.0200
Wei, C., Hoffmann-Kuhnt, M., Au, W.W.L. et al. (2021). Possible limitations of dolphin echolocation: a simulation study based on a cross-modal matching experiment. Sci Rep 11, 6689. https://doi.org/10.1038/s41598-021-85063-2
Thomas, J. A., Moss, C., & Vater, M. (2004). Review of echolocation in insectivores and rodents. In Echolocation in bats and Dolphins. essay, University of Chicago Press. https://www.researchgate.net/publication/258835904_Review_of_echolocation_in_insectivores_and_rodents
Chai, S., Tian, R., Rong, X., Li, G., Chen, B., Ren, W., Xu, S. & Yang, G. (2020). Evidence of Echolocation in the Common Shrew from Molecular Convergence with Other Echolocating Mammals. Zoological Studies 59: 4. https://doi:10.6620/ZS.2020.59-4
Chen, Y., Chen, H., Xiang, Kui., Chen, X. (2017). "Geological structure guided well log interpolation for high-fidelity full waveform inversion". Geophysical Journal International. 209 (1): 21–31. doi:10.1093/gji/ggw343
Dou, S., Lindsey, N., Wagner, A.M. et al. Distributed Acoustic Sensing for Seismic Monitoring of The Near Surface: A Traffic-Noise Interferometry Case Study. Sci Rep 7, 11620 (2017). https://doi.org/10.1038/s41598-017-11986-4
Pendergast, R. L., Santos, R., maurya, K., Ganbat, Joost, Xaalee, Boris, Irfan, A., Imam, Raj, Cathy, David, Dunker, A., Rodrigo, Paul, Gokul, Ali, Gomer, Yannay, … Dynamics, A. (2021, October 7). Complete Guide for Ultrasonic sensor HC-SR04 with Arduino. Random Nerd Tutorials Complete Guide for Ultrasonic Sensor HC-SR04 with Arduino. https://randomnerdtutorials.com/complete-guide-for-ultrasonic-sensor-hc-sr04/
Meier, R. (n.d.). Roger Meier’s freeware. Roger Meier’s Freeware. https://freeware.the-meiers.org/
Elecfreaks. (n.d.). Ultrasonic Ranging Module HC - SR04. https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf