43
SDR Software Defined Radios AndyZ – K1RA http://www.k1ra.us/

SDR Software Defined Radios AndyZ – K1RA

Embed Size (px)

Citation preview

Page 1: SDR Software Defined Radios AndyZ – K1RA

SDRSoftware Defined Radios

AndyZ – K1RA

http://www.k1ra.us/

Page 2: SDR Software Defined Radios AndyZ – K1RA

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

Page 3: SDR Software Defined Radios AndyZ – K1RA

Old Style Direct Conversion Rx

Page 4: SDR Software Defined Radios AndyZ – K1RA

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.

Page 5: SDR Software Defined Radios AndyZ – K1RA

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)

Page 6: SDR Software Defined Radios AndyZ – K1RA

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.

Page 7: SDR Software Defined Radios AndyZ – K1RA

SDR Block Diagram

Page 8: SDR Software Defined Radios AndyZ – K1RA

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.

Page 9: SDR Software Defined Radios AndyZ – K1RA

SDR IQ Block Diagrams

Page 10: SDR Software Defined Radios AndyZ – K1RA

Simple SDR IQ Implementation

Page 11: SDR Software Defined Radios AndyZ – K1RA

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

Page 12: SDR Software Defined Radios AndyZ – K1RA

/* 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]; }}

Page 13: SDR Software Defined Radios AndyZ – K1RA

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

Page 14: SDR Software Defined Radios AndyZ – K1RA

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

Page 15: SDR Software Defined Radios AndyZ – K1RA

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

Page 16: SDR Software Defined Radios AndyZ – K1RA

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)

Page 17: SDR Software Defined Radios AndyZ – K1RA

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

Page 18: SDR Software Defined Radios AndyZ – K1RA

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

Page 19: SDR Software Defined Radios AndyZ – K1RA

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/

Page 20: SDR Software Defined Radios AndyZ – K1RA

ZetaSDR

Page 21: SDR Software Defined Radios AndyZ – K1RA

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

Page 22: SDR Software Defined Radios AndyZ – K1RA

SoftRock Lite II

Page 23: SDR Software Defined Radios AndyZ – K1RA

SoftRock Lite II

Page 24: SDR Software Defined Radios AndyZ – K1RA

SoftRock RXTX K1RA Construction

Page 25: SDR Software Defined Radios AndyZ – K1RA

SoftRock RXTX K1RA Construction

TXRX-SMT4.avi

Page 26: SDR Software Defined Radios AndyZ – K1RA

SoftRock RXTX v6.3

Page 27: SDR Software Defined Radios AndyZ – K1RA
Page 28: SDR Software Defined Radios AndyZ – K1RA
Page 29: SDR Software Defined Radios AndyZ – K1RA
Page 30: SDR Software Defined Radios AndyZ – K1RA

WinRadio

Page 31: SDR Software Defined Radios AndyZ – K1RA

Sample Processing Software

Rocky – DXAtlas SDRadio – I2PHD KGKSDR – M0KGK SpectraVue – Moetronix Linrad (Linux) – SM5BSZ Winrad – WA6KBL PowerSDR (I/F, IQ, SR40) - FlexRadio

Page 32: SDR Software Defined Radios AndyZ – K1RA

Rocky

Page 33: SDR Software Defined Radios AndyZ – K1RA

SDRadio

Page 34: SDR Software Defined Radios AndyZ – K1RA

KGKSDR

Page 35: SDR Software Defined Radios AndyZ – K1RA

SpectraVue

Page 36: SDR Software Defined Radios AndyZ – K1RA

WinRad

Page 37: SDR Software Defined Radios AndyZ – K1RA

PowerSDR

Page 38: SDR Software Defined Radios AndyZ – K1RA

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

Page 39: SDR Software Defined Radios AndyZ – K1RA

WebSDRv2 & 3

Page 40: SDR Software Defined Radios AndyZ – K1RA

WebSDRv4 & 5

Page 41: SDR Software Defined Radios AndyZ – K1RA
Page 42: SDR Software Defined Radios AndyZ – K1RA

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

Page 43: SDR Software Defined Radios AndyZ – K1RA

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)