Why a classification ?
Software Defined Radio (SDR) is today a hot topic for hams. The number of projects increases quickly and litterature about this subject becomes more and more abundant. Currently, more than 30 detailed SDR amateur realizations can be found over the Internet. No doubt that other projects exist, not always visible from the Web.
Each SDR project has its own particularities and design tricks. A lot of lessons can be learned from the analysis of each hardware. This fact leads to the idea that the perfect SDR design would probably be the one that gathers the best ideas of each project.
Yet, comparing all these projects between them still remains a difficult task : indeed, the number of parameters to take into consideration is large. A methodical and systematic process needs to be carried out in order to make a thorough state of the art analysis.
Hence comes naturaly the necessity to make a classification of existing SDR projects.
The « ideal » classification
What should an « ideal » classification look like ? This is the first question we asked ourselves when starting to build our model. Here are some answers that drove our model design :
1/ the classification should allow us to describe any currently existing SDR architecture
2/ a given SDR architecture should lead to a unique classification.
3/ the classification should be precise enough, to differentiate two different SDR architectures even if they look very similar
4/ the classification should allow us to quickly identify differences and common points between SDR projects.
5/ the classification should remain as open as possible, in order to classify future SDR architectures, that don't exist today but could appear tomorrow.
Finding key parameters
Our SDR classification model is based on technical « key parameters », that are used as entries in the classification.
A « key parameter » is an intrinsic technical characteristic, present in each SDR realization, but taking different values depending on the design of the considered SDR.
After analyzing more than 30 SDR projects, we identified the following 6 key parameters :
Sampling method – is the sampling made on a « complex » (I/Q) signal (quadrature sampling), or on a « real signal » ?
Sampling device – which kind of device is used to make sampling ? Sound card, dedicated ADC, etc. ..
Analog Mixing – is there an analog mixing device before sampling ? If yes, what is its type ?
Digital channel selection – does the SDR allows a digital channel selection ? If yes, how is it made ?
SDR control - how is controlled the SDR ? Through USB, Ethernet, Serial, etc. ...
Digital samples transfer - how are transfered digital samples to the host PC (if any) ? Through USB, Ethernet, etc. ...
We tried to make the key parameter list as exhaustive as possible. Maybe it will be necessary to define other key parameters in the future.
Some potential parameters, that the reader may think of, have been intentionnally discarted. This is for example the case for the RX / TX property of the SDR (does the SDR work in reception, transmission or both ?). Indeed, all analyzed SDR work in RX mode, and those wich also work in TX mode have generally the same arhitecture for RX and TX path.
The SDR classification model
The model consists in describing a SDR with letters and digits, each one indicating the value of the corresponding « key parameter ».
Key parameter #1 : sampling method
This key parameter describes if the SDR makes a sampling of an I/Q « complex » signal (quadrature sampling), or just of a « real » signal. In the first case, two ADC are needed (or one multi-channels ADC), and in the second only one is needed.
In case of an I/Q « complex » signal sampling, this parameter further indicates if the I/Q signal is obtained with a QSD (Quadrature Sampling Detector) or with a dedicated chipset.
Four
values are currently identified for this parameter :
Possible values |
Associated code |
Explanation |
SDR example |
---|---|---|---|
Real signal |
R |
Sampling is done on a « real » signal |
[SDR-14] [Gnuradio USRP] [HPSDR/MERCURY/OZY] |
I/Q, obtained by a QSD |
Q |
Sampling is done on a «complex» I/Q signal, obtained from a Quadrature Sampling Detector (QSD) |
[SDR-1000] |
I/Q, obtained by a dedicated chipset |
D |
Sampling is done on a «complex» I/Q signal, obtained from a dedicated chipset (Quadrature Demodulator : e.g. AD8347/48, AD8333, LT5515/16/17 or IF ADC Front-End e.g. AFEDRI8201) |
[µWSDR] |
I/Q, obtained by a mixer |
M |
Sampling is done on a «complex» I/Q signal, obtained by using 2 passive mixers (e.g. MiniCircuit SBL-1 or home-made diode mixer) and 2 LO with 90° phase offset |
[F1OAT], [LY1GP] |
Note : there are different ways of doing a Quadrature Sampling Detector (QSD). In particular some realizations use a sampling time at 50% of pulse duration time (e.g. [DR1] and [DR2]), and some other at 25% (e.g. [SDR-1000]). Some other realizations use an Intergrating Sampling Detector (ISD : e.g. : [HPSDR/PHOENIX]). We will however assume in our classification that the principle is the same, and the value of the key parameter will be « Q » for all these systems.
Key parameter #2 : sampling device
This key parameter describes the type of sampling hardware that is used in the SDR.
Five values are currently identified for this parameter :
Possible values |
Associated code |
Explanation |
SDR example |
---|---|---|---|
Sound card |
1 |
Off-the-shelf PC sound-card |
[SDR-1000] |
Dedicated audio ADC |
2 |
Use of an audio ADC chipset (e.g. AD1847, AD1836A, PCM1804, AK5394A, PCM4202, PCM2904), independantly of any off-the-shelf PC sound-card. Sampling rates are traditionnaly 44 kHz, 96 kHz or 192 kHz |
[µWSDR] [PA3FWM] [SDTCV] |
Dedicated acquisition board |
3 |
Use of an off-the-shelf acquisition board, which is not a sound-card |
[DOMENECH] [LORAN-C] |
Dedicated RF ADC |
4 |
Use of a RF ADC chipset (e.g. LTC2208, LTC1746, AD9862, AD6645, AD9245). Traditionnaly used in the most advanced SDR, it allows sampling rate of several Msamples/s |
[SDR-14] [Gnuradio USRP] [HPSDR/MERCURY/OZY] |
Dedicated specialized IF front-end ASIC | 5 | Use of an IF front-end specialized chipset that does more than only ADC. E.g. AFEDRI8201 with both ADC and DDC functions | [OH2NLT] |
Key parameter #3 : Analog Mixing
Some SDR are not full digital, because an analog down-conversion is made before sampling takes place. If it exists, this analog mixing can be programmable from the host computer, or sometimes it is not programmable (fixed).
Five values are currently identified for this parameter :
Possible values |
Associated code |
Explanation |
SDR example |
---|---|---|---|
No analog mixing |
N |
No analog mixing in the SDR. See note below |
[SDR-14] [Gnuradio USRP] [HPSDR/MERCURY/OZY] |
Fixed LO |
L |
Analog mixing present, but the LO frequency is fixed (not software programmable or manually programmable) |
[Softrock-40] [IFDSP] [JI3GAB] |
Programmable LO made with a VCO + PLL chipset |
P |
LO is programmable, and made with a VCO and a PLL chipset (e.g. LMX2486, LMX1501A, MC145170) |
[µWSDR], [PA3FWM] |
Programmable LO made with an ASIC DDS |
A |
LO is programmable, and made with an ASIC DDS (specific chipset, e.g. : AD9958/59, AD9951, AD9854, AD9851) |
[SDR-1000] |
Programmable LO made with a FPGA DDS |
F |
LO is programmable, and made with an FPGA DDS (programmable chipset) |
[RT2] |
Note : if no analog mixing is present in the SDR (code = N), this can be for the following reasons :
the SDR is a true full-digital SDR, and the full spectrum is digitized leading to an all-digital channel selection. Example : [SDR-14], [HPSDR/MERCURY/OZY]
the SDR is only used for VLF reception. Example : [LORAN-C], [DOMENECH]
the SDR is used behind the narrow-band IF output of a traditionnal receiver, and the LO is actually configured through the receiver. Example : [IFDSP], [JI3GAB]
Key parameter #4 :
Digital channel selection (Digital Down Conversion)
In an ideal SDR, sampling is made with a high rate in order to digitize a spectrum size much larger than the band occupied by a single channel inside. Channel selection is then made digitally by Digital Down Conversion wich is a combination of digital mixing, filtering and decimation.
This parameter describes how digital channel selection is achieved.
Six values are currently identified for this parameter :
Possible values |
Associated code |
Explanation |
SDR example |
---|---|---|---|
Digital Channel Selection is made by an FPGA |
F |
Digital Channel Selection is done with a FPGA |
[Gnuradio USRP], [HPSDR/MERCURY/OZY] |
Digital Channel Selection is made by an ASIC |
A |
Digital Channel Selection is done with an ASIC (specific chipset. e.g. AD6620, AD6636, HSP50214, HSP50016) |
[SDR-14] |
Digital Channel Selection is made by a dedicated specialized IF front-end ASIC | S | Digital Channel Selection is done with a specialized IF front-end ASIC with both ADC and DDC functions (e.g. AFEDRI8201) | [OH2NLT] |
Digital Channel Selection can be made in an Host PC |
H |
Digital Channel Selection is done through software, in the host PC |
[SDR-1000] |
Digital Channel Selection is made by a DSP Array chip |
D |
Digital Channel Selection is done with a DSP array chip |
|
Digital channel selection not possible |
N |
This case happens for example when channel selection is made in the analog world, and the digitized IF has the width of the wanted channel |
[DSP-10], [F1OAT] |
Note 1 : for this parameter, it is possible to mix different values. For example Digital Channel Selection can be mabe both by ASIC and Host PC. (e.g. [SDR-14]). Some SDR use both FPGA and ASIC based DDC, depending on application (e.g. [QS1R]).
Note 2 : some projects are wideband digitizers, used only for applications like waterfall display. As such, no digital channel selection is made, but it could be made. Hence these SDR projects would be classified as « Digital Channel Selection can be made in an Host PC » and not « Digital channel selection not possible ». This is the case for example with the projects [DOMENECH] and [LORAN-C].
Note 3 : the value « DSP Array chip » has been defined, even if no SDR using this technology has been identified yet. For more information about DSP arrays see www.picochip.com.
Key parameter #5 : Digital samples transfer to the host PC
This parameter describes how digital samples are transfered to the host PC (if any).
Five values are currently identified for this parameter :
Possible values |
Associated code |
Explanation |
SDR example |
---|---|---|---|
USB |
U |
Digital samples are transferes to the host PC through USB |
[SDR-14] [Gnuradio USRP] [HPSDR] [SDTCV] |
Ethernet |
E |
Digital samples are transfered to the host PC through Ethernet |
[PA3FWM] [µWSDR] |
Serial |
S |
Digital samples are transfered to the host PC through a serial interface |
[KD7O] |
Internal |
I |
This is the case when the sampling device is integrated in the host PC (sound card or off-the-shelf acquisition board for example) |
[SDR-1000] [SoftRock-40] |
No transfer (local processing) |
N |
Digital samples are not transfered to a host PC, but are processed locally |
[DSP-10] |
Key parameter #6 : Remote control of the SDR
This parameters describes how the SDR is remotely controlled. Remote control is for example necessary to program the Local Oscillator (LO), or the Digital Down Converter (DDC).
Six
values are currently identified for this parameter :
Possible values |
Associated code |
Explanation |
SDR example |
---|---|---|---|
Serial |
S |
The SDR is controlled through a serial (RS-232) interface (see note 2 below) |
[DSP-10] |
Parallel |
P |
The SDR is controlled through a Parallel (LPT) interface (see note 2 below) |
[SDR-1000] |
Ethernet |
E |
The SDR is controlled through an Ethernet interface |
[µWSDR] |
USB |
U |
The SDR is controlled through an USB interface |
[SDR-14] [SDTCV] |
Local control |
L |
The SDR is controlled locally (see note 1 below) |
|
No remote control |
N |
No remote control |
[IFDSP] [JI3GAB] [Softrock-40] |
Note 1 : this is the case when the SDR can be operated stand-alone rather than attached to a PC. See for example the SASQUATCH board of the [HPSDR] project.
Note 2 : if a SDR uses a serial or parallel port, it can also be controlled through USB by using an external USB/serial or USB/parallel converter. However in this case the SDR will still be classified in the « Serial » or « Parallel » category.
A detailed example
Let's see on a detailed example how our classification model works. For this cases study we will take the SDR-1000 projects.
The SDR-1000 uses a Quadrature Sampling Detector. The « sampling method » key parameter will then take the code « Q ».
I/Q samples are then sampled by the sound card of a PC. The « sampling device » key parameter will then take the code « 1 ».
The SDR-1000 uses an analog mixer to downconvert the wanted I/Q signal around an IF that can be digitized by the sound card. The programmable local oscillator is realized with a DDS (AD9854). The « analog mixing » key parameter will then takes the code « A ».
Using a 96 kHz sampling rate, the SDR-1000 digitizes a spectrum width of 96 kHz. Channel selection among this bandwidth is then made by software (named PowerSDR) on the host PC. The « Digital Channel Selection » key parameter will then take the code « H ».
In the SDR-1000, signal is sampled directly by the sound card, in the host PC. Samples are processed internally by the host PC. The « Digital transfer to the host PC » key parameter will then take the code « I ».
Finally, the SDR-1000 hardware is controlled through a parallel port. The « Remote control » key parameter wil then take the code « P ».
Hence, the classification code of the SDR-1000 will be : Q1A-H-IP
Using the classification
The classification can be useful for different purposes. Some examples are presented below.
First example : imagine you are working on a new SDR project, and you want to use a DDS chipset to make a programmable local oscillator. You're looking for information about this kind of device. By using the classification, you can easily and quickly find projects using this technology : just extract from the classification SDR projects having the key parameter #3 (analog mixing) set to value « A » (LO made with an ASIC DDS). This leads to the following projects : [HPSDR/JANUS/PHOENIX/OZY], [KDG-SR100], [SDR-1000], [SDTCV].
Second example : you're interested in buying a softrock-40 kit, but you want to compare it's price or delivery delay with other similar projects. To do that, you just have to extract from the classification SDR projects having the same classification code as softrock (Q1L-H-IN). This leads to the following projects : [DR2], [FFSDR], [SDRZero].
The SDR classification can also be a useful tool for identifying trends in SDR design. For example SDR architectures with key parameter #1 (sampling method) set to value « Q » (I/Q signal obtained by a Quadrature Sampling Detector) are today very common, since the SDR-1000 project. In the same time, new projects with value « D » (I/Q signal obtained by a dedicated chipset) are rising, showing that this technology may become very widespread in the future.
Improving the model
No doubt that our classification model can be improved if necessary. This could be easily done because the classification is evolutive. Indeed, it would be easy to add values to a given key parameter, if needed, or even add new key parameters.