Over on GitHub an interesting project that involves using an ultrasound transducer and RTL-SDR to create a low cost 2D ultrasound imager has been uploaded. Ultrasound imagers transmit acoustic sound waves with a transducer at frequencies between 1 - 5 MHz, and then listens for the audio reflections from objects in the audio waves path. This technique is commonly used in the medical field for imaging inside the body without using damaging ionizing radiation like with x-rays.
The project by wlmeng11 is based on the open un0rick hardware, which is an open source ultrasound imager. wlmeng11's idea is to simplify and lower the cost of the un0rick hardware by replacing some expensive components like the FPGA and ADC with a computer and RTL-SDR. The simplified hardware is called "SimpleRick" and PCB and firmware files are also available on GitHub.
Regarding his choice to use SDR and RTL-SDR he writes:
The analog signal produced by a B-mode ultrasound (ie. 2D imaging) is essentially an Amplitude Modulated (AM) signal. The signal's envelope (ie. amplitude) corresponds to boundary information in the physical media, and the signal's carrier frequency is equal to the resonant frequency of the transducer.
Most ultrasound systems take one of two approaches for data acquistion:
- Direct sampling of the ultrasound signal: This method preserves the original signal in the time domain, accomodates any transducer frequency, and offers the best flexibility for post-processing and analysis. Both amplitude and phase information can be extracted the signal, so it is useful for both B-mode and Doppler mode imaging. However, this method requires a high sample rate ADC, as well as high bandwidth and storage for the digital data.
- Envelope detection with analog hardware: Perform Amplitude Demodulation (typically with a diode-based rectifier and low pass filter) to yield an envelope signal, then acquire the envelope signal at a lower sample rate. This method reduces the bandwidth and storage requirements for the digital data, but there are a number of drawbacks:
- Unless the low pass filter is adjustable, this method cannot accommodate different transducer frequencies.
- The non-linearity of the diode may produce harmonic distortion.
- All phase information in the signal is lost, rendering it useless for Doppler mode imaging.
It has been demonstrated by Peyton et al that quadrature sampling can be used to reduce bandwidth requirements in an ultrasound imaging system.
It turns out that quadrature modulation is essential to Software Defined Radio (SDR) because any type of amplitude modulation, frequency modulation, phase modulation, or combination of these can be expressed as a special case of quadrature modulation. Therefore, many of the software and hardware techniques used in SDR can be applied to ultrasound imaging.
The RTL2832U chip in the RTL-SDR takes a hybrid approach for data acquisition. It employs a high sample rate ADC (28.8 Msps), followed by a software-configurable Digital Down Converter (DDC) that produces IQ data at a lower sample rate (up to 2.56 Msps), thus reducing bandwidth and storage requirements. We can then perform envelope detection in software.
Plus, the RTL-SDR is really cheap (under $25 on Amazon in the United States)! As such, there is a lot of software support and a large community for the RTL-SDR.
With a few software tweaks, it should be possible to substitute the RTL-SDR with a more expensive SDR (eg. AirSpy HF+, LimeSDR) for use cases that require better ADC resolution and SNR.
Some of his test results are available in his August 21 writeup. His test involves a pseudo-anechoic chamber with some steel balls to reflect the ultrasound wave. The ultrasound transducer is swept through the chamber using a servo. The results so far have been successful in reliably and repeatedly resolving imaging on objects that are about 1 cm in size.
If you're interested in the combination of acoustic transducers and SDRs, then this previous post shows using a piezo to detect ultrasound echolocation sounds from bats.