# Is it viable to use a Raspberry Pi with ADC to send, receive and process ultrasonic signals

I want to take a laptop-based ultrasonic radar system and convert it to a hand-held device. I have Tx and Rx filtering circuits already, now I need to decide on what to do the signal processing on. Since I already have a Pi 3B+ it would be helpful to use this to produce a 40 kHz PWM signal, which can be filtered through the Tx circuit to produce a 40 kHz sinusoid, and then sample a received signal through a suitable ADC (perhaps MCP3008?) and process the data on the Pi 3B+. I've read concerns online over the varying rate that is achieved with the pi due to it being a general-purpose device and not receiving data from the MCP3008 in a dedicated fashion. The MCP3008 has a 200 kHz sampling rate but I doubt I will achieve above 60 kHz with the Pi. I ideally need 65 khz sampling rate, so, am I totally wrong here? Will this work with a Pi 3B+ and an MCP3008? Or do I need a different ADC? Or should I consider a DSP? (I have seen also that I could use my arduino with the MCP3008 for sampling then transfer this data to the Pi for processing - perhaps this is the best option given what I already have?)

• ultrasonic radar ... it is not radar, if it does not use radio waves ... you are talking about a sonar Jan 3 at 20:42
• What is the pulse width of the transmitted signal? This will determine the bandwidth of the system, ultimately the sample rate of the ADC once you understand the receiver filter roll-off characteristics (shape factor).
– qrk
Jan 3 at 22:50