Latest update: 9-Apr-2010 (added GUIs of additional software)

A Software-Defined Radio (SDR) system is a radio communication system that uses software for the modulation and demodulation of radio signals.


A software-defined transceiver (transmitter + receiver) typically consists of three sections:


RF front-end. For the receiver function, it buffers and filters RF signals from the antenna and passes them to the IF-section. Conversely, for the transmit function, it amplifies the RF output from the IF-section and couples that to the antenna.


IF-section. For receive, it digitally down-converts (DDC) the analog output from the RF-front-end and digitizes the down-converted analog signal (ADC) to baseband signals. For transmit, it performs digital-to-analog conversion of baseband signals as well as digital up-conversion (DUC) to RF.


Baseband section. Digital Signal Processing (DSP, in hardware and/or software) filters, demodulates, and otherwise processes the received baseband signals. It also modulates signals to be transmitted, and controls the RF front-end and IF-section. It typically has an audio output to a loudspeaker or headset, and a User Interface for frequency selection, (de)modulation mode control, bandwidth and filter selection, gain settings, display of control settings and of spectral and waterfall displays, etc.

Block diagram of a generic Software Defined Radio

The ideal receiver scheme would be to attach an analog-to-digital converter to an antenna. A digital signal processor would read the converter, and then its software would transform the stream of data from the converter to any other form the application requires. An ideal transmitter would be similar: a digital signal processor would generate a stream of numbers. These would be sent to a digital-to-analog converter, followed by an RF power amplifier connected to the antenna.


There are many advantages to SDR. The first is the flexibility and reconfigurability. This enables radios to be changed, upgraded and enhanced, simply by changing the software.  For amateur radio applications, there are other advantages: modern PCs have enough performance for DSP functions, and an internal or external soundcard can be used for A-to-D and D-to-A conversion of baseband signals. This way, a complete SDR transceiver can be built with relatively simple hardware. Granted, the sample rates supported by soundcards (and some other characteristics), pose limitations. 


One popular implementation of the down-conversion function is to input the buffered and bandpass-filtered RF from the antenna to two identical mixers. Each mixer has a second input that comes from the same local oscillator (LO). The only difference is that one of these two LO signals is passed through a 90º phase shifter before entering the mixer. The output of each mixer is low-pass filtered. The output of one of the mixers is in-phase with the RF signal at its input. This output is referred to as the "I" signal. The output of the second mixer has exactly the same frequency as that of the first mixer, but it lags by 90º. This is referred to as the quadrature or "Q" signal. These two signals are referred to as an I/Q pair. The low-pass filtered frequency at the output of the mixers is equal to the difference of the RF signal frequency and the LO frequency. By properly selecting the LO frequency, the RF input signal can be down-converted to baseband. Once the I-Q signals are digitized, any current or future demodulation scheme can be applied by the DSP section. Similarly, any form of modulation can be transmitted by having the DSP function generate the appropriate I/Q signals, and passing them through a pair of mixers, with direct and phase-shifted LO input, and combining the mixer outputs. For more information on this, check out the articles listed further down on this page.

I and Q generation in receiver

April 2008 I bought a SoftRock-40 RX/TX V6.2 kit for a small (1.1" x 2.4" ), low-cost SDR transceiver for the 20 and 30 meter band. It was designed by Tony Parks, KB9YIG and Bill Tracey, KD5TFD. It is a nice, small, fun, and inexpensive project that will produce a highly portable QRP transceiver. 

The hardware portion of the SoftRock-40 receiver is rather straightforward. See the block diagram below. A crystal-controlled oscillator generates a reference signal that is buffered and divided by four to produce the reference clock frequency for the chosen band (20 or 30 m in my case). Actually, the oscillator for the 30 m band generates a 3rd overtone before the divide-by-4.

Top-level block diagram of the SoftRock40 RXTX 20m/30m receiver hardware

The clocks are fed to a circuit called a Quadrature Sampling Detector (QSD) that simply samples the bandpass-filtered RF signal from the antenna. As a result of the sampling, the QSD outputs two signals at audio baseband frequencies representing the down-converted RF signal. These two signals have the same frequency components but have a 90° phase difference. The in-phase signal ‘I’, and quadrature signal ‘Q’ are amplified and are then delivered as audio signals to the stereo line-in or microphone input of the PC's soundcard where they are digitized (sampled). The digitized I and Q signals are subsequently processed by the DSP software (from MØKGK in my case). The SDR software can determine by the phase relationship between the sampled I-Q audio signals if the RF signal is above or below the center frequency and display the signals properly on the spectrum display. A number of additional functions of the SDR software include demodulation, filtering, and AGC.

The SoftRock transmitter hardware is also straightforward. The SDR software generates digital I-Q audio signals. They are converted to analog I-Q audio signals via the D-to-A output function of the stereo soundcard. These analog signals are passed through amplifier/buffers and then input to a Quadrature Sampling Encoder (QSE), the counterpart of the QSD. The QSE uses the same sampling clock input as the QSD. The output of the QSE is an up-converted modulated RF signal. It goes through a power amplifier (a pair of BS170 MOSFETs followed by another BS170 in the final stage) and then out to the antenna.  Output power is about 1 watt CW or PEP, 0.3 watts AM.

Top-level block diagram of the SoftRock40 RXTX 20m/30m transmitter hardware

Transceiver tuning range is about that of the audio sampling rate, and is centered on the QSD/QSE frequency. At best, a standard PC soundcard with 48 kHz sampling gives about ±24 kHz tuning range on either side of the crystal driven frequency. Yes, good 192 kHz soundcards are available, but are pricey. My laptop PC does have a built-in 48 kHz soundcard, but it only has a mono input. That's no good! So I am looking for an external sound card. Actually I'm contemplating getting a PCMCIA sound card like the Soundblaster Audigy2 ZS Notebook (a discontinued product). It has a stereo input, and up to 96 kHz input sampling. That would give me close to ±48 kHz tuning range with respect to the crystal-driven center frequencies. The crystals included in my kit are for 40.500 and 18.730 MHz, yielding center-frequencies of 14.047 MHz (20 m) and 10.125 MHz (30 m) respectively. I am most often QRV in SSTV mode on 14230 kHz and Hellschreiber around 14074 kHz. Covering 14055-14150 kHz would be nice, as it includes the 14100 kHz beacon frequency, and the standard frequencies for PSK31, Hell, and RTTY. So I'll need to get additional crystals for 20 m (e.g., 14.1 and 14.2 MHz center frequencies, so crystals of 18.800 and ≈18.950 MHz).

This particular SoftRock kit comprises two small circuit boards: a 5.8x7.9 cm (2¼x3⅛") main board and a 1.8x4.0 cm (≈1½x¾") daughter-board for the overtone oscillator. In all, about the size of a pack of cancer-sticks (a.k.a. cigarettes).

Under construction: SoftRock V6.2 transceiver kit for 20 and 30 m
(main board + daughterboard for the overtone oscillator)

I use Virtual Audio Cable to connect the SDR audio I/O to my digi-modes software.


bullet "A Software-Defined Radio for the Masses, Part 1-4", by Doug, KF6DX
bullet "Watch your Is and Qs", by Steve, VK6VZ, and Phil, VK6APH
bullet "Quadrature signals: complex, but not complicated", Richard Lyons
bullet "Digital Modulation in Communication Systems - An Introduction", Agilent Technologies Application Note 1298
bullet "Hands-on Software Defined Radio", by Scott, WA2DFI  (4 MB)

SDR software that I use (all freeware):

bullet Rocky: transceiver software developed by Alex, VE3NEA, with built-in PSK31.
bullet KGK-SDR: transceiver software developed by Duncan, MØKGK.
bullet Winrad: receiver-only software developed by Jeffrey, WA6KBL. Low CPU load. Very nice GUI, nice I/Q calibration function.

GUI of the Rocky SDR transceiver software

GUI of the KGK-SDR transceiver software

GUI of the Winrad SDR receiver software


bullet Yahoo Groups:
bullet SoftRock40
bullet Winrad
bullet KGK SDR
bullet Home of SoftRock kits
bullet Here is what I consider to currently be the ultimate webSDR receiver (7 amateur radio bands, independent tuning etc. for all users). Developed and run by Pieter-Tjerk, PA3FWM, at the University of Twente, The Netherlands.

High Performance Software Defined Radio (HPSDR, an open-source project)


G8JCF's Software Defined Radio

What's next? Once I have all this up & running, I'd like to add at least the receiver part to my website as a "web radio", with of without remote control access by listeners.

I have also built a very compact portable ZM-4 antenna tuner. A compact 10 watt PA (1½x2¼", 5½ x 4 cm; half the size of the SoftRock TX/RX) is under construction. Both are nice kits from QRPprojects. For portable SDR operation with my laptop PC...


The very compact 10 watt portable ZM-4 antenna tuner kit from QRPprojects


Under construction: a tiny 10 watt PA (1½x2¼", 5½ x 4 cm) for use with my SoftRock TX/RX. Kit from QRPprojects. For portable SDR operation with my laptop PC...

©2008-2009 F. Dörenberg N4SPP

 button - radio  top of page   button - home