SDR Software Defined Radios AndyZ – K1RA

Preview:

Citation preview

SDRSoftware 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-to-digital 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

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.

Software Overview

= 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 + delta; X[k01][0] = x[k00][0] - x[k01][0]; X[k01][1] = x[k00][1] - x[k01][1]; X[k00][0] = x[k00][0] + x[k01][0]; X[k00][1] = x[k00][1] + x[k01][1]; }}

Software Overview

Oscilloscope view tope.g. Time DomainSine Wave ~4.2 ms period

Spectrum view bottome.g. Frequency DomainFrequency peak~240 Hz

Fourier Transform converts

SDR Project Implementations Type Ia – sampling by a soundcard of the audio output of a rcvr

PSK31 Packet via Sound Card

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 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

ARRL DSP-10 WinRadio AMSAT SDR OpenSDR (GnuRadio)

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 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

SAQrx11.905 kHz – Russia Alpha-Nav12.649 kHz – Russia Alpha-Nav14.881 kHz – Russia Alpha-Nav15.625 kHz – CRT Horiz. 576i15.734 kHz – CRT Horiz. 480i16.400 kHz – JXN Norway17.200 kHz – SAQ Sweden18.100 kHz – RDL Russia19.600 kHz – GBZ Britain19.800 kHz – NWC Australia

20.270 kHz – ICV Italy20.500 kHz – RJH Russia 20.760 kHz – ICV Italy21.750 kHz – HWU France22.100 kHz – GBZ Britain23.400 kHz – DHO Germany24.000 kHz – NAA Me. USA24.800 kHz – NLF Wa. USA

ZetaSDR Very Simple with off the shelf parts 3 ICs

4052 (Dual 4:1 MUX) 74LS74 (Dual D-type flip flop) LM358 (Dual op-amp)

1 Oscillator chip 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

WebSDRv2 & 3

WebSDRv4 & 5

Demos

WebSDR Real-time demo of multi-user/band web receiver

SoftRock RXTX v6.3 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)

Recommended