Sunday, October 30, 2022

An ultrasonic superheterodyne receive converter (e.g. "Bat Listener")

In the mid 90s I decided to throw together what I called a "Bat Listener" - a simple receiver used to convert ultrasonic sound down to the audible range.

Figure 1:
The exterior of the ultrasonic receiver, complete with fancy
Click on the image for a larger version.

Two types of circuits:

There are two common ways to convert a higher (ultrasonic) signal to the audible range, whether this is done using analog or DSP (Digital Signal Processing) techniques.

Frequency division

There are several ways to do this, the simplest being the "divider" type which digitally converts ultrasonic frequencies to audible by integer division of the input to a lower frequency.

The problem with this simple approach is that it does not preserve the amplitude (loudness) of the original sound since it must take the input signal, amplify/convert it to a series of logic-level pulses - which loses any amplitude reference - and do a brute-force digital division.  Additionally, if there are multiple signals present, for the most part only the strongest one will be converted down.

Clearly, one cannot "tune" this type of circuit:  A signal at 40 kHz will always be divided down by a fixed integer amount,  Let's say that the circuit digitally divides by 32:  That 40 kHz signal will be at 1.25 kHz.

Additionally, the direct "A-B" frequency differences between ultrasonic signals is lost, instead being "(A-B)/N" where "N" is the number of divisions.  In other words, the relative frequency differences between signals is not preserved.

Heterodyne conversion

The other way to do this is to convert the frequency.  In this technique, two signals - the ultrasonic to be converted - and another generated by the device (the "local" oscillator) are mixed together.  The result is an arithmetic shift in frequency.

The biggest advantages of this method are the fact that that not only are the differences in frequency preserved (e.g. two tones 1 kHz apart at ultrasonic will appear as two tones 1 kHz apart at audio) but the relative amplitudes (loudnesses) of the received signals are preserved as well.

Frequency conversion:

I chose to build a heterodyning receiver to convert the input frequency to a lower one.  This can preserve the amplitude and frequency relationships  - plus it is fully tunable, allowing one to choose the frequency range to convert to audible sounds - and since it is a simple conversion, multiple signals present will also be preserved.

When it comes to frequency conversion, there are two ways:  The simplest - direct conversion - would involve mixing a variable oscillator with the incoming signal and filtering/amplifying the resulting audio.  This has the advantage of being the easiest, and it is the method described in this article:

     April, 2006 QST article, A Home-made Ultrasonic Power Line Arc Detector - link)

While I could have easily built something like this a decade before the above article was published, as I'm sometimes wont to do I decided to make it a bit more complicated, constructing a superheterodyne converter.

While a direct-conversion receive simply mixes an oscillator with the desired signal to cause a frequency conversion, a superheterodyne receiver operates like a conventional AM or FM radio:  The desired signal is first converted to an IF (Intermediate Frequency) - and this IF is then converted to audio.  The advantage of the superheterodyne scheme is that filtering may be applied at the IF to limit the receive bandwidth - and since the IF is fixed, its width remains constant over the tuning range, just like that in a conventional radio/receiver.

Circuit description

Figure 2:
Schematic diagram of the superheterodyne ultrasonic receiver.
See text for a circuit description.
Click on image for a larger version.

As noted above, this circuit is more complicated than it needs to be, so make of it what you will!


The heart of the unit is U1, the VCO (Voltage Controlled Oscillator) which uses the venerable CD4046 PLL chip.  Often used for frequency synthesis, we are using (only) the oscillator portion, which provides a linearly-tuned and fairly stable frequency source, adjusted by the voltage applied via R101 (and scaling resistor R102).  The values were chosen to provide an approximate frequency range of 125 to 185 kHz (more on this later) to allow tuning of audio signals from (ostensibly) 0 to about 60 kHz.  The actual tuning range is closer to 115-190 kHz as a bit of extra margin for the frequency range.

The only critical component here is C101 which should be a frequency-stable capacitor.  I used a polystyrene capacitor, but an NP0 (a.k.a. C0G) or silver-mica could be used, instead.  When I reverse-engineered this device, I noted that the marked capacitance value was unreadable, but back-of-the-envelope calculates indicate that a value of "about 150pf" should be in the ballpark.

R103, connected to the "R1" pin of U1, sets the approximate center frequency range while R104, connected to the "R2" pin - sets the lowest frequency - which important, since we want to constrain the tuning to 125-185 kHz.  Additionally, the low end of the tuning range was further refined by R102 on the "ground" side of the tuning potentiometer, which sets the minimum voltage that may be applied to the "VCOIN" pin.

The VCO output, a square wave, is buffered by U2, a hex inverter, and several sections are used to provide both a VCO signal and its inverted version to drive the mixer.

While the 4000 series CMOS chips throughout this receiver will happily run from 3-15 volts, they are operated from a regulated 5 volt supply - mainly to improve frequency stability and to provide a nice, stable voltage for a few other low-level circuits and to provide isolation from the main battery supply which will vary a bit, particularly at higher receive volumes:  This variance, if it gets back into some earlier stages, could cause instability of the receiver in the form of "motorboating" or some other type of feedback.


Another circuit is the BFO (Beat Frequency Oscillator) which is used to convert the IF signal back down to audio - both being processes that we'll discuss shortly.  This uses an inexpensive 500 kHz ceramic resonator to form an oscillator using one of the sections of U2C, the signal being buffered by U2B.  This signal is divided-by-two using U3A, one half of a 4013 dual flip-flop - and then divided by two again using U3B, yielding a stable 125 kHz signal.  As with the VCO, two phases of this signal (normal and inverse) are available, this time using the "Q" and "!Q" outputs of the 4013.

Input signal path:

J1, a disconnect-type 3.5mm stereo jack is wired so that an internally-mounted electret "capsule" microphone is connected by default.  This microphone element (M301) is of the "2 wire" type or electret microphone in which a bias voltage is applied to the same pin from which audio is drawn - this voltage being applied via R301 from the 5 volt regulated supply.  The specific make/model of this electret element is unknown as it was selected from a small collection to find the best performer at ultrasonic.

At some point in the future, I'll replace this with a more modern MEMs microphone as described in Another article:  Improving my ultrasonic sniffer for finding power line arcing by using MEMs microphones - link.

The signal from the microphone is applied to U4A which is wired as a unity-gain buffer.  For this, an LM833 is used, an inexpensive, low-noise dual op amp:  An LM358 or many other types may be used here as well - just make sure that it is is fairly low noise:  I'd avoid the use of the LM1458 here as it is quite noisy by comparison!

Section U4B amplifies the signal voltage by 10 (20 dB of power gain) and this signal is applied via R305 to a simple L/C high-pass filter consisting of C303, C304, L301 and L302 the latter two components being inexpensive 18 milliHenry inductors.  Certainly, an R/C-based high-pass filter could have been constructed using U4B, but I chose not to do that for some reason.

Figure 3:
Inside the ultrasonic receiver, constructed on
prototype board and having been modified
several times over the years.
Click on the image for a larger version.

In simulation, the C303/C304/L301/L302 filter has a -3dB roll-off of about  23 kHz, it's down by 10dB at about 19.5 kHz, by 20dB at about 16 kHz and by 40 dB at 9 kHz and with the values shown, it's flat to within 1 dB between about 24 and 100 kHz.

The output of the filter is amplified by U5B - and then even more by U5A (which has a bit of roll-off from C307) to yield a whole lot of gain.  It's very possible that I over-did the gain here, but unless the signal source is quite close, there is no clipping observed on the output of U5A.

Its worth noting that a mid-supply voltage is created using R309/R310 to provide a "virtual ground" for the op amps and to maintain stability, it is heavily filtered by C306 and C302, each located near the respective op amp shown on the diagram.

Mixer and band-pass filter:

It is this next section that may seem unfamiliar to some - the use of a CMOS analog switch as a signal mixer.  For this, a CD4066 is used which consists of four separate analog switches.  The filtered and amplified ultrasonic input signal from U5A via C308 is applied to pins 2 and 10 of U6A/U6D.  When the respective signals on the control pins "VCO_A" and "VCO_B" go high, the switches are activated, and because VCO_A and VCO_B are inverts of each other, each of these switches is closed in turn.  The result of this is that the inputted signal is chopped up at the rate of the 125-185 kHz VCO and this produces two mixing products.  

For example, let's assume that there is a 40 kHz signal is present on the input that we wish to hear.  If the VCO is tuned 40 kHz above the 125 kHz IF (again, more on that momentarily) - to a frequency of 165 kHz - the switching action of U6A and U6D produces both the sum (165 + 40 = 205 kHz) and the difference (165 - 40 = 125 kHz).

T301 is a filter/transformer that passes only the 125 kHz signal - the difference signal in this case.  This transformer consists of two separate windings, each resonated using its internal capacitors and the externally-added 820 pF capacitors on each winding (e.g. C309/C310) to "pad" it down to 125 kHz.  This forms a fairly wide (8-10 kHz) filter that rejects signals outside the immediate vicinity of its 125 kHz frequency.  Because this filtering is at a fixed frequency, it does not vary with input tuning which means that its bandwidth is constant over frequency.

Of all of the components in this device, this transformer is unique:  It was originally a 262.5 kHz IF transformer from a 1970s/1980s Philco (Ford) AM-only car radio.  While I could have certainly used the original 262.5 kHz frequency - or even 250 kHz, when I built this I decided to pad it down to 125 kHz using C309/C310  - a frequency that is conveniently 1/4th of the 500 kHz resonator.

It's been so long since I built this, I don't recall why I didn't simply divide the 500 kHz by two and readjust that transformer to 250 kHz.  Practically speaking, I could have also up-converted to 455 kHz and used either transformers or ceramic filters from a modern AM radio as 455 kHz ceramic resonators were certainly available at the time - but I didn't do that.

Each half of T301 has a center tap and to this, a bias voltage is applied via R315 to assure that the voltage on these switches was in the middle of the supply range, away from the protection diodes on the 4066's I/O pins, which could cause clipping/distortion should they be allowed to conduct if the signal voltage got too near the ground or supply rails.  To prevent coupling between the two halves of the transformer via the center tap, R314/C311 was added, the resistor adding isolation with the capacitor bypassing the remainder of the signal.  Practically speaking, being able to adjust the bias voltage was unnecessary as a simple resistive voltage divider to set the bias at 2.5 volts (1/2 the supply voltage) would have been just fine.

On the "other" side of the transformer is the other half of U6 (e.g. U6B/U6C) - this time, clocked from the fixed 125 kHz oscillator.  From this, the signal - previously converted up to 125 kHz is now converted back down to audio.

Post-mixer amp/LPF:

The output of the down-converting mixer is applied to U7B via R316, a 1k resistor and a 0.001uF capacitor, both of which form a simple R/C low-pass filter to attenuate any high-frequency leakage signals from the mixer.  Because the mixing process itself is a bit lossy (about 25% efficient) as is transformer/filter T301, U7B boosts the signal by a factor of 10 (20dB) and then applies it to U7A, which is configured as a variable gain amplifier section.  The output of this is then boosted again by U8, an LM386 which is capable of driving headphones or even a small speaker.

A few comments about the design:

Originally, the circuit lacked U7 at all, but it was added when the gain of U8 (the audio amplifier), by itself, was found to be inadequate.  Since U7 was "patched" into place, this explains the odd gain distribution:  If I were rebuilding this from scratch, I'd certainly not need two post-mixer amplifier sections and I could have likely eliminated one full dual op-amp package.  As it is, I may add a "high/low" gain switch somewhere around U5 to allow reduction of the gain somewhat when in the presence of possibly-high ultrasonic signal levels to prevent clipping prior to the band-pass filter which would surely degrade overall performance.

If I were to build this again I would likely use a 455 kHz IF, instead.  While not as plentiful, 455 kHz ceramic resonators are available to use for the BFO as are either transformer or ceramic-based band-pass filters.  I would also likely reconfigure U4B or U5 to perform the high-pass filter function rather than using harder-to-find inductors.

Again, I built this unit in the mid 1990s and have since lost my original notes, but I do recall that I modified it a few times since, simply tacking changes onto the old circuit rather than completely revising it.

Use as a longwave receiver:

While primarily intended to "hear" ultrasonic sounds such as those produced by bats, insects, leaking pipes, arcing power lines, etc., it is just a longwave radio receiver connected to a microphone:  If one connects a few 10s of feet/meters of wire to to J1 - and provides an Earth/ground reference to its shield connection - one can easily tune in the high-power transmitters used for submarine communications (around 20-30 kHz) plus the WWVB time signal at 60 kHz.  This must, of course, be done away from man-made noise sources such as power lines.

Alternatively, I have used a loop of about 1 foot (25cm) diameter of a dozen or so turns of wire along with a 10uF capacitor in series (to optionally block DC from R301) and been able to hear such signals - even in suburbia - but with this arrangement you'll also likely hear plenty of similar signals from the myriad switching supplies that likely inhabit your house as well!

Final comments:

The reader should be under no illusion that this is an optimized circuit or that I would do it this way again:  It was assembled fairly quickly to suit a need and to test a few random ideas, just to see if they would work.  Will I rebuild it at some point?  I don't know - it works as it should, so I don't plan to re-make something that is currently fit for purpose.

While I've heard very few bats with this - probably due to the deficiencies of the electret microphone at ultrasonic frequencies (which explains the future switch to MEMS-type microphones) - I've used it to find powerline noise (arcs are noisy at ultrasonic) and to test longwave receive antennas.

This page stolen from