I recently took an interest in ultrasonic devices and was hoping someone who understands audio would be able to offer their opinion on my circuit design.
What I currently understand is that ultrasonic is sound that occurs outside of the human range of hearing ( >20kHz). I have created a detection circuit that can locate a device that is emitting this ultrasonic sound. I have looked at many transducers and have found that most transducers have a center frequency at around 25kHz or 40kHz (I don't entirely understand why these values have been chosen, but I've just been rolling with it and praying for the best). I would prefer receiving the entire ultrasonic frequency spectrum instead of just 40kHz (or 25kHz). The current theory I've been going off of is that if a device is emitting some random ultrasonic frequency, then there might be a 40kHz signal in there somewhere.
So back to my ultrasonic receiver circuit now; Currently I have a 40kHz transducer that is DC filtered, amplified by a TL081 (1st stage, x2 gain), filtered through a 4th order band-pass filter with a center frequency of 40kHz and a bandwidth of 5kHz, amplified again by a TL081 (2nd stage, x100 gain), DC filtered again, and finally sent to a DSP device for signal processing (and hopefully ultrasonic sound location capabilities).
Here's where the problems begin. Although I am able to receive a signal that is 40kHz (and with high gain too); the signal is a tad too noisy for my taste. It's most likely due to the solder-less breadboard I'm using, but I'm starting to doubt that way I've gone about receiving and analyzing the signal. Is there a better method of going about this (different op-amps?)? And is there a way to get the entire ultrasonic frequency spectrum (or at least 20kHz to 80kHz)? I was planning on just running the signal I have now through an ADC and having a raspberry pi do a spectrum analysis, but I don't know if what I'm getting is the correct signal (the transducer does respond to direction though, like if I move away from the device, amplitude decreases). Any help that you can offer would be greatly appreciated.
What I currently understand is that ultrasonic is sound that occurs outside of the human range of hearing ( >20kHz). I have created a detection circuit that can locate a device that is emitting this ultrasonic sound. I have looked at many transducers and have found that most transducers have a center frequency at around 25kHz or 40kHz (I don't entirely understand why these values have been chosen, but I've just been rolling with it and praying for the best). I would prefer receiving the entire ultrasonic frequency spectrum instead of just 40kHz (or 25kHz). The current theory I've been going off of is that if a device is emitting some random ultrasonic frequency, then there might be a 40kHz signal in there somewhere.
So back to my ultrasonic receiver circuit now; Currently I have a 40kHz transducer that is DC filtered, amplified by a TL081 (1st stage, x2 gain), filtered through a 4th order band-pass filter with a center frequency of 40kHz and a bandwidth of 5kHz, amplified again by a TL081 (2nd stage, x100 gain), DC filtered again, and finally sent to a DSP device for signal processing (and hopefully ultrasonic sound location capabilities).
Here's where the problems begin. Although I am able to receive a signal that is 40kHz (and with high gain too); the signal is a tad too noisy for my taste. It's most likely due to the solder-less breadboard I'm using, but I'm starting to doubt that way I've gone about receiving and analyzing the signal. Is there a better method of going about this (different op-amps?)? And is there a way to get the entire ultrasonic frequency spectrum (or at least 20kHz to 80kHz)? I was planning on just running the signal I have now through an ADC and having a raspberry pi do a spectrum analysis, but I don't know if what I'm getting is the correct signal (the transducer does respond to direction though, like if I move away from the device, amplitude decreases). Any help that you can offer would be greatly appreciated.
Last edited by a moderator: