Software Defined Radio presentation

advertisement
SDR
Software Defined Radios
AndyZ – K1RA
http://www.k1ra.us/
Presentation Overview







History of SDR
Technical Overview
SDR Project Implementations
DIY, Kits, Commercial Vendors
Sample Processing Software
Demos WebSDR, SoftRock, WinRadio
Online Resources and Links
Old Style Direct Conversion Rx
History of SDR

The term "Software Defined Radio" was coined in 1991 by Joseph
Mitola, who published the first paper on the topic in 1992

Software-defined radios have their origins in the defense sector since
the late 1970s in both the U.S. and Europe (for example, Walter
Tuttlebee described a VLF radio that used an ADC and an 8085
microprocessor)

One of the first public software radio initiatives was a U.S. military
project named SpeakEasy.

The primary goal of the SpeakEasy project was to use programmable
processing to emulate more than 10 existing military radios, operating
in frequency bands between 2 and 2000 MHz.

SpeakEasy design goal was to be able to easily incorporate new coding
and modulation standards in the future, so that military communications
can keep pace with advances in coding and modulation techniques.
History of SDR

Some early SDR information in QST / QEX

The DSP-10: An All-Mode 2-Meter Transceiver
Using a DSP IF and PC-Controlled Front Panel – 3
Parts (QST Sep-Nov 1999)

Software-Defined Hardware for Software-Defined
Radios (QEX Sep/Oct 2002)

A Software-Defined Radio for the Masses – 4 Parts
(QEX Jul 2002-Apr 2003)
Technical Overview






The ideal receiver scheme would be to attach an analog-to-digital
converter to an antenna to directly convert RF to digital.
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 connected
to a radio antenna.
The ideal scheme is, due to the actual technology progress
limits, not completely realizable.
The main problem in both directions is the difficulty of conversion
between the digital and the analog domains at a high enough
rate and a high enough accuracy at the same time, and without
relying upon physical processes like interference and
electromagnetic resonance for assistance.
SDR Block Diagram
Hardware Overview







Most receivers utilize a variable-frequency oscillator, mixer, and
filter to tune the desired signal to a common intermediate
frequency or baseband
In some applications it is not necessary to tune the signal to an
intermediate frequency
Radio frequency signal is directly sampled by the analog-todigital converter (after amplification).
Real analog-to-digital converters lack the discrimination to pick
up sub-microvolt, nanowatt radio signals.
Therefore a low-noise amplifier must precede the conversion
step and this device introduces its own problems.
The standard solution is to put band-pass filters between the
antenna and the amplifier, but these reduce the radio's flexibility which some see as the whole point of a software radio.
Real software radios often have two or three analog "channels"
that are switched in and out. These contain matched filters,
amplifiers and sometimes a mixer.
SDR IQ Block Diagrams
Simple SDR IQ Implementation
Software Overview




Digital Signal Processing (DSP) software applications
employ the math of Fourier Transforms.
In such applications as signal processing, the domain
of the original function is typically time and is
accordingly called the time domain.
That of the new function is frequency, and so the
Fourier transform is often called the frequency
domain representation of the original function.
FT describes which frequencies are present in the
original function.
= time
= frequency
/* FFT recursion */
void fft_rec(int N, int offset, int delta, double (*x)[2], double (*X)[2], double (*XX)[2])
{
int N2 = N/2;
/* half the number of points in FFT */
int k;
/* generic index */
double cs, sn;
/* cosine and sine */
int k00, k01, k10, k11; /* indices for butterflies */
double tmp0, tmp1;
/* temporary storage */
if(N != 2)
{
/* Perform recursive step. */
/* Calculate two (N/2)-point DFT's. */
fft_rec(N2, offset, 2*delta, x, XX, X);
fft_rec(N2, offset+delta, 2*delta, x, XX, X);
/* Combine the two (N/2)-point DFT's into one N-point DFT. */
for(k=0; k<N2; k++)
{
k00 = offset + k*delta;
k01 = k00 + N2*delta;
k10 = offset + 2*k*delta; k11 = k10 + delta;
cs = cos(TWO_PI*k/(double)N); sn = sin(TWO_PI*k/(double)N);
tmp0 = cs * XX[k11][0] + sn * XX[k11][1];
tmp1 = cs * XX[k11][1] - sn * XX[k11][0];
X[k01][0] = XX[k10][0] - tmp0;
X[k01][1] = XX[k10][1] - tmp1;
X[k00][0] = XX[k10][0] + tmp0;
X[k00][1] = XX[k10][1] + tmp1;
}
}
else
{
/* Perform 2-point DFT. */
k00 = offset; k01 = k00
X[k01][0] = x[k00][0] X[k01][1] = x[k00][1] X[k00][0] = x[k00][0] +
X[k00][1] = x[k00][1] +
}
}
+ delta;
x[k01][0];
x[k01][1];
x[k01][0];
x[k01][1];
Software Overview
Oscilloscope view top
e.g. Time Domain
Sine Wave
~4.2 ms period
Fourier Transform
converts
Spectrum view bottom
e.g. Frequency Domain
Frequency peak
~240 Hz
SDR Project Implementations

Type Ia – sampling by a soundcard of the audio output of a rcvr



R1x-x-xx Type – sampling by a mono soundcard of an IF ~12 kHz





Dream DRM
IFDSP
DiRABox
SAQrx
Q1x-x-xx Type – sampling by a stereo soundcard of audio I/Q IF





PSK31
Packet via Sound Card
SoftRock
FireFly
TinySDR
TimeMachine
Q2x-x-xx Type – sampling by a dedicated stereo audio ADC of I/Q IF

PA3FWM WebSDR
SDR Project Implementations

R2x-x-xx Type – sampling by a dedicated RF ADC of an analog IF





R3x-x-xx Type – sampling of a "direct antenna output" RF signal by a
"off-the-shelf" acquisition board



DOMENECH
LORANC
R4x-A-xx Type – sampling by a dedicated RF ADC of a "direct antenna
output" RF signal, and ASIC based DDC



ARRL DSP-10
WinRadio
AMSAT SDR
OpenSDR (GnuRadio)
SDR-IQ
SDR-14
R4x-F-xx Type – sampling by a dedicated RF ADC of a "direct antenna
output" RF signal, and FPGA based DDC


HPSDR
Perseus
DIY, Kits, Commercial Vendors






SAQrx – (0-24 KHz VLF)
LY1GP ZetaSDR – (40/80m)
SoftRock Lite II I/F (160-2m)
SoftRock TXRX v6.3 (160-10m)
K1RA SoftRock TXRX Construction
WinRadio (0-3 GHz)
SAQrx



Connect Antena directly to soundcard
Receive 0-22,24,48,96 KHz RF (sample rate Nyquist)
SAQ





Varberg Radio Station Sweden
17.2 KHz (Mechanical Generator)
1923-1950 for transatlantic radio telegraphy
Christmas Message every Dec 24th
Other VLF transmissions (US, Rus, UK, FR, AU)

http://en.wikipedia.org/wiki/Very_low_frequency
SAQrx
20.270 kHz – ICV Italy
20.500 kHz – RJH Russia
20.760 kHz – ICV Italy
21.750 kHz – HWU France
22.100 kHz – GBZ Britain
23.400 kHz – DHO Germany
24.000 kHz – NAA Me. USA
24.800 kHz – NLF Wa. USA
11.905 kHz – Russia Alpha-Nav
12.649 kHz – Russia Alpha-Nav
14.881 kHz – Russia Alpha-Nav
15.625 kHz – CRT Horiz. 576i
15.734 kHz – CRT Horiz. 480i
16.400 kHz – JXN Norway
17.200 kHz – SAQ Sweden
18.100 kHz – RDL Russia
19.600 kHz – GBZ Britain
19.800 kHz – NWC Australia
ZetaSDR


Very Simple with off the shelf parts
3 ICs




1 Oscillator chip




4052 (Dual 4:1 MUX)
74LS74 (Dual D-type flip flop)
LM358 (Dual op-amp)
28.322 MHz (/4 = 7.080 MHz) -> 40m
14.318 MHz (/4 = 3.579 MHz) -> 80m
Found on PC Motherboard, VGA card or HD
http://www.qrz.lt/ly1gp/SDR/
ZetaSDR
SoftRock






SR Xtal+Lite 9 - RX-only multi-band
SR Lite II - RX-only single band
SR TXRX v6.3 – RX/TX (1w) multi-band
http://www.kb9yig.com/ – Kits for sale
http://www.wb5rvz.com – Kit instructions
http://groups.yahoo.com/group/softrock40
SoftRock Lite II
SoftRock Lite II
SoftRock RXTX K1RA Construction
SoftRock RXTX K1RA Construction
TXRX-SMT4.avi
SoftRock RXTX v6.3
WinRadio
Sample Processing Software







Rocky – DXAtlas
SDRadio – I2PHD
KGKSDR – M0KGK
SpectraVue – Moetronix
Linrad (Linux) – SM5BSZ
Winrad – WA6KBL
PowerSDR (I/F, IQ, SR40) - FlexRadio
Rocky
SDRadio
KGKSDR
SpectraVue
WinRad
PowerSDR
WebSDR


PA3FWM – Pieter-Tjerk de Boer
Hardware (Version 5)









ADC (100 MHz)
FPGA (208 pins)
Ethernet
7 HF bands (0-30 MHz)
150KHz – 1.2Mhz b/w each
Linux server
>2mbps upload internet
Web client (Java)
http://www.websdr.org/
Version 1
WebSDR
v2 & 3
WebSDR
v4 & 5
Demos

WebSDR


SoftRock RXTX v6.3




Real-time demo of multi-user/band web receiver
Real-time reception demo (or)
Playback of recorded spectrum demo
UI’s - Rocky, SDRadio, SpectraVue, WinRad,
PowerSDR
WinRadio


Real-time demo of stand alone hardware
Control only UI
Online Resource and Links













http://www.vlf.it/fft_beginners/fft_beginners.html (Fourier for beginners)
http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/dft/ (DFT & FFT code examples)
http://www.arrl.org/tis/info/sdr.html (ARRL SDR Technical Articles)
http://f4dan.free.fr/sdr_eng.html (SDR Project Implementations - All Types)
http://groups.yahoo.com/group/softrock40/ (SoftRock Forums)
http://www.kb9yig.com/ (SoftRock Kits For Sale)
http://www.wb5rvz.com/ (SoftRock Build Instructions)
http://groups-beta.google.com/group/linrad (LinRad - Linux)
http://www.winrad.org/ (WinRad – Windows based on LinRad)
http://www.dxatlas.com/Rocky/ (Rocky)
http://www.flex-radio.com/ (Original PowerSDR)
http://www.wu2x.com/sdr.html (PowerSDR I/F)
http://powersdr-sr40.sourceforge.net/ (PowerSDR SoftRock)

http://code.google.com/p/powersdr-iq/ (PowerSDR source)
http://gnuradio.org/redmine/wiki/gnuradio - (GNU Radio)

http://www.websdr.org/ (Online multi-user, multi-band web receiver)

Download