This page contains plans for building a low-cost IF downconverter which enables many types of narrow-band digital radio signals to be received and processed using DSP software such as GNU Radio. This principle is known as predetection sampling and is one of the fundamental building blocks in any software-defined radio (SDR) architecture. Receivers of this type are sometimes called I/Q (Inphase/Quadrature) receivers.

This design assumes a 455 KHz IF signal frequency input which must be supplied from a receiver arranged with an IF output jack. The author uses a Collins R-390A. The 455 KHz IF is converted to a signal in the audio range (approx. 7.5 KHz) for capture by a standard PC sound card.

A potential problem with this approach is caused by the host receiver's AGC. See the checkout section for details.


      ***UPDATE***       JULY 2010 - WORKS WITH LSM             My LSM Gallery

A modified version of this circuit has been confirmed to work with CQPSK/LSM! A RS PRO-2006 was tested as the host receiver. No USRP or other hardware is required. The modifications are as follows:


1. Many different crystal and frequency schemes are possible. Any output IF in the range of 12-36 KHz or so is probably workable as long as you don't get too close to the band edge. The 9.5 MHz range seems to be a good place to find some old surplus CB "R" crystals. Equally possible is low-side injection (431 KHz for a 24 KHz IF); the software auto-detects the proper polarity.

2. So in sum any scheme that results in a clock close to 479 KHz or 431 KHz at the input to the mixer driver circuit (R3) should be OK.

3. A JFET buffer using an MPF-102 was installed inside the radio instead of the 455 KHz amp shown in Fig. 3.

4. The lowering of Vcc from +12 to +5 volts also would have lowered the injection voltage available to the mixers. This was compensated by reducing the values of R4. Also, deleting R5 seems to make more power available for injection. Experiment for best results.

5. The 74(LS)192 is connected as follows: ground pins 1, 8, 9, 14; 9,575 KHz oscillator input to pin 5; 1,915 KHz output to U3 from pin 6; interconnect pins 11 and 12; connect pin 16 to +5V.

6. Theoretically a 48K sound card should work but this was tested with difficulty; not followed up.


With these modifications, the circuit is now just a conventional oscillator/mixer downconverter with an input at 455 KHz and IF output at 24 KHz.



C1, C220 pF*
C3, C30.1 uF
D1 - D81N914, 1N4148, etc.
Q1 - Q42N2222A, 2N3904A, etc.
R110 M
R222 K
R3, R6, R9, R121 K
R4, R7, R11470
R5, R847
R105.6 K
T1 - T420T Trifilar on FT82-75 Ferrite Toroid Core*
U14011 (Or 4001*)
U2, U34013 or 74C74
Y13.579545 MHz (TV Colorburst) Crystal
Table I - Component Parts List       * - See Cicuit Notes


Fig. 0 - Block Diagram

The circuit (Fig. 0) consists of an RF buffer/amplifier; divider/oscillator chain with two outputs in quadrature; and two mixers. Oscillator injection frequency is 447 KHz., which with a 455 KHz. IF produces a 455 - 447.4 = 7.6 KHz (nominal) downconverted IF in two channels, I and Q, or Left and Right. Oscillator U1 (Fig. 1) operates at a crystal-controlled frequency of 3.579 MHz. Its output is applied to a divide-by-two [IC U2(a)]. The resulting 1.79 MHz clock, 4x the injection frequency, is applied to the divider/quadrature oscillator flip-flops U3(a) and U3(b) (see Fig. 2). The clock is supplied to the mixers via driver transistors Q1/Q2, configured as emitter followers.

There is a 455 KHz. amplifier (Fig. 3) which provides voltage amplification, provides termination of the input signal (make sure to keep these leads short, especially C3), and finally provides a low-impedance drive for the mixers, hopefully preventing mutual interaction via their RF ports. The voltage gain is determined by the ratio of R10 to R9, which also sets the Q4 emitter voltage.

The low-pass filter that should appear at the mixer outputs has been omitted, we rely on the soundcard for this function.

The downconverted nominal IF frequency is related to the soundcard's sampling rate. First, according to the standard Nyquist formula, the highest frequency in our passband can be no higher than 1/2 the sample rate. For a standard 48K sound card, this translates to a 24 KHz top frequency. Normally, we want the signal spectrum to be centered within the passband, at 1/2 of that top frequency, or 12 KHz. in our example. The band occupied by the downconverted signal can't be closer to the bottom or top edge of the passband than 1/2 of the signal's occupied bandwidth. Given an example signal with a 15 KHz. bandwidth (or 7.5 KHz half-bandwidth) our nominal IF could not be lower than 7.5 KHz nor higher than 24 - 7.5 = 16.5 KHz. The IF used in this project (approx. 7.6 KHz) was chosen to allow use of a standard TV color crystal.


0. Supply voltage (Vcc) should be non-critical; any value from +9 to +15V should work OK.
1. C2 and/or C1 may need to be adjusted slightly for sure oscillator starting.
2. A 4001 instead of 4011 may be used at U1 by connecting its second input lead to ground (and omit the pull-up resistor).
3. Be sure to connect all unused input leads [U1 and U2(b)] to ground.
4. T1 - T4 were hand-wound using No. 24 insulated solid copper wire, on Amidon FT82-75 Ferrite Toroid cores. These types of transformers are easy to make and the parts shouldn't be hard to locate - scrap PC power supply units often contain a small handful of them (Fig. 10). Ideally, all four should be identical units. However, if you have two cores of one type "A" and two of another type "B", use the "A" cores in Fig. 4 and the "B" pair in Fig. 5. YMMV, but most likely, the result would just be an oval-shaped pattern (Fig. 6) instead of a circular one, which is easily correctable in software.
You can start the process with a few-foot length of scrap CAT-5 network cable. Remove the outer insulation. Separate into eight separate conductors, and straighen out the lengths of wire. Do not remove the color coded insulation from the wires at this time. Take three of these wires, long enough for 15-20 turns worth of windings through the coil, and twist them together, triple-helical style, with a pitch of about 6 to 8 twists per inch. The result is a single fat "wire"which is wound onto the coil core for a total of 15-20 turns (see Fig. 8). Clip the excess leaving an inch or so remaining for connection to the circuit. Each transformer will have six leads - you can use the color coded wiring to verify the proper conductor; also, make sure that the polarity of each winding is correct (according to the dots as shown on the schematic).
5. The emitter followers (Q1 and Q2) as shown place the voltage divider in the emitter leg. It's possible that a redesign adding a voltage divider in the base leg (and omitting R4/R7, leaving just the 47-ohm emitter resistor) would provide fully equivalent operation but use less current...
6. Keep all connecting leads and wires as short as possible
7. R10 might be made adjustable, perhaps a 10K or 20K pot (add a 1K in series if you do this) so as to have a variable manual RF gain control.
8. The toroidal mixers could no doubt be replaced with an IC design, but they do seem have excellent dynamic range - even without matching the mixer diodes, which the A.R.R.L. old-timers recommend...


First, verify the oscillator is working. For this test, you can tune the host receiver to one of the system frequencies (3580, 1790, or 447 KHz or a harmonic) with the antenna lead located near the oscillator. Next, with an unmodulated carrier applied to the 455 KHz input (Fig. 3), the resulting signal as seen by the soundcard should appear as shown in Fig. 11, a time-domain oscilloscope plot of the two channels. The appearance of the same signal in I/Q space is simply a circle (Fig. 6). Fig. 7 shows a two-level data (FSK) signal. Making your own plots such as Figures 6 and 7 is as simple as a few Linux commands:
% arecord -c2 -f S16_LE -r 48000 -d1 test.wav
% cat test.wav  | od -t d2 -w4 -An  | tail -750 > gnuplot.txt
% gnuplot                 [GNU Plot banner appears] 
gnuplot> plot "gnuplot.txt" with points

If possible, the host receiver AGC should be defeated, and its RF gain manually adjusted for optimum reception. If that isn't possible, the receiver's auto-AGC function might help you or fight you, depending on certain things. AGC works best when only one signal appears within the IF passband, and when its received signal strength is more or less constant. The usual envelope AGC detector, followed by a first- or second-order low pass filter with its associated time constants, may hinder you on rapidly-varying signals, or when receiving a weak signal in the presence of a strong one.

Another similar potential problem occurs due to the limited dynamic range available with soundcards. If the passband contains many signals, such as RTTY stations, the strongest one can sometimes drown out the others.

A strange problem was observed with one of the author's sound cards. It appears that at least this card ("sound-blaster audigy") records in quadrature all on its own. With the same sine-wave signal connected at once to both the Left and Right inputs, the result was as shown in Fig 11. This didn't occur with any other sound card tested.

In an I/Q system, two different and independent sources of error exist: amplitude and phase error. Amplitude error can be corrected in the host software but you might want to investigate its hardware cause(s) if one channel is more than, say, 10-20% louder than the other. Phase error (deviation from the optimum value of 90 degrees separation) should be eliminated from the external hardware as carefully as possible. Ideally the complex I/Q plot (Fig. 6, unmodulated carrier) should appear as a perfect circle. If it's egg- or oval-shaped, or worst case a diagonal band, check for amplitude and/or phase errors...

Fig. 1 - 3.579 MHz Oscillator

Fig. 2 - Divider, Quadrature Oscillator

Fig. 3 - 455 KHz. Buffer / Amplifier

Fig. 4 - Osc. Driver / Mixer (1 of 2)

Fig. 5 - Osc. Driver / Mixer (2 of 2)

Fig. 6 - I/Q Plot: Unmodulated Carrier (Complex Input)

Fig. 7 - I/Q Plot: 9600 Baud 2L FSK Data (Complex Input)

Fig. 8 - Mixer Circuit (2 Required)

Fig. 9 - Main Circuit Board

Fig. 10 - Salvaged Toroid Cores.
As Removed From Equipment (Top).
After Old Wire Removed (Bottom)

Fig. 11 - System Checkout
(Unmodulated Carrier - I and Q Channels - Oscilloscope View)

2L FSK Data

4L FSK Data
Fig. 12 - Eye Pattern Diagrams (Demodulated Baseband Input)


1. Don Lancaster, "CMOS Cookbook", Sams, 1977
2. Wes Hayward, Doug Demaw, "Solid State Design", A.R.R.L., 1977

Questions? Email me ikj1234i at yahoo dot com