Software Defined Radio: de zachte kant. Jan van Katwijk



Vergelijkbare documenten
Elektor Live Software Defined Radio. Pascal Schiks & Martin Dudok van Heel

GNU-radio 20 okt 2017 pe2rid. GNUradio.. Linux. internet. veel geduld

Pajottenlandse Radio Amateurs

Digital Signal Processing in Software Defined Radio

DK4DDS. Marc van Stralen. Software Defined Radio Daar kun je niet om heen! SDR Wat is dat?

Software Defined Radio

Verwachtingen? Programma. Aanleg installatie. Aanleg installatie - overzicht installatie

FT-8 in WSJT-X: How To + loggen via HRD - DEMO ON5MB

Alvorens in te gaan op het zelfbouwproject Lima SDR eerst iets over de techniek en de

DIGITALE MODE MET POWER SDR

De bouw van een Software Defined Radio

Van bit naar bit. 19 januari 2011 Henk Schanssema PA2S

Uitwerking studie stimulerende toets Embedded Signal Processing (ESP)

DE VERSCHILLEN TUSSEN DE FLEX-6000 RADIO S

Presentatie HF transceiver explained (a.h.v. een 27 MHz CB zendontvanger)

Programma. Aanleg installatie - overzicht installatie. Verwachtingen? Aanleg installatie

Programma. Aanleg installatie - overzicht installatie. Verwachtingen? Aanleg installatie

Het moederbord van de zendontvanger "PiligrimPro"

DEC SDR DSP project 2017 (2)

Pajottenlandse Radio Amateurs PSK 31

Afdelingsnieuws: Ten-Tec Jupiter HF transceiver:

DEC DSP SDR 5 Dicrete Fourier Transform

LES 3 Analoog naar digitaal conversie

DIGITALE SIGNAALVERWERKING

Je krijgt 2 parabolen kado... Wat doe je ermee?

Software Defined Radio met AVR Deel 6: Decoderingsmethoden voor het ontvangen van BBC

DSLSTL. Handleiding Copyright Handleiding DSLSTL Pagina 1 of 11

Installatie handleiding PowerSDR-IQ v SV1EIA voor het gebruik met de LIMA-SDR

Windows XP Migratie opties. Bart van Dijk

CTCSS Encoder Super Flexibel Ontwerpen met een Arduino Nano

Betaalbaar Home Control. Presentatie op bijeenkomst van EmSE: Embedded Systems Eindhoven

Ruis in amateur ontvangers PA0EHG

JOTA-JOTI 2011 en CAMRAS

Toelichting op Wave Files. Toelichting op Wave Files. Digitaal Audio Processing. Toelichting op Wave Files. Toelichting op Wave Files

De digitale Oscilloscoop (Digital Storage Oscilloscope = DSO) J.P.Goemaere KaHo Sint-Lieven 2006

B3C 70cm converter besturing. v PE5PVB bar.net bar.net

Rekenkunde, eenheden en formules voor HAREC. 10 april 2015 presentator : ON5PDV, Paul

ES1 Project 1: Microcontrollers

Elektor Uno R4 Installatie & Test

ZETA SDR 2014 Software-Defined-Radio-ontvanger voor de 40m-band

Arduino CURSUS. door Willy - 09-juni-2017

Locobuffer Handleiding

Presentatie betreffende de ervaringen met WSPR door PA3EDR een vervolg op de presentatie van Dick PA4VHF

Workshop Arduino voor beginners deel 2

Hoogfrequent technieken.

Wat is Arduino? Arduino = microprocessor (Atmel)

De Arduino-microcontroller in de motorvoertuigentechniek (4)

Een intelligent DMX netwerk

Jaarlijks, in oktober, houdt de Scouting-beweging een weekend waarin draadloze kontakten tussen diverse scouting- groepen over de hele wereld worden

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie

Workshop Arduino voor beginners. door TkkrLab Enschede

Controleer voor aanvang van de installatie of alle benodigde onderdelen aanwezig zijn. In de doos dienen de volgende onderdelen aanwezig te zijn:

Advies, Productie, Reproductie, Faciliteiten, Presentatie, Verhuur, Verkoop

In deze mannual zal ik het voorbeeld van de Led cube gebruiken maar de principes zijn op alles toepasbaar.

Verkrijgbaar bij: Grafi-Call Computers BV. Leiden

Module 1: Wat is een Raspberry Pi?

Vakgroep CW KAHO Sint-Lieven

ATV collectief Amstelland. Digital ATV. Koert Wilmink

College: meestal dinsdag 13:45 (zaal A), donderdag 13:45 (zaal C)

EE 2521: Digitale Signaalbewerking

Zaterdag 15 juni Antenne velddag, BBQ en vossenjacht

Microcontrollers. Robert Langenhuysen, PA0RYL

Watcheye AIS op ipad

PIC Callgever Door PA1RUM

Eenvoudige Frequentie teller

XEMIO-654/664 Gebruikershandleiding. Voor informatie en ondersteuning,

TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE

RS BA-1 settings Opgesteld door Rens, PA1RVL op

Vleermuizen op de radar Resultaten van Doppler radar registraties van gewone dwergvleermuizen langs een vliegroute

Hoe de (very) near-field test methode bijdraagt aan optimale antenne performance

C-Tech TSFP 2010T PROFESSIONELE TERRESTRISCHE SIGNAALMETER

SI-Profibus. Unidrive M700-M702 en Siemens S7-300 PLC (STEP 7)

Introductie EMC. Hét EMC Event 2011 DARE!!

WRC S Soundcard Interface

Gebruikershandleiding. DVB-T/A TV Tuner Stick

Introductie EMC. Hét EMC Event 2011 DARE!!

0 of laag niveau V verboden zone 1 of hoog niveau. Voorbeeld van een digitaal signaal als functie van de tijd

Stroommeter PCE fase stroommeter, energiemeter en harmonischen analyser met geheugen, poort voor PC en software

Hardware-software Co-design

Examenopgaven. Radiotechniek en Voorschriften N-EXAMEN Najaar examencommissie amateurradiozendexamens

* Gratis bij aanschaf PC I/O terugmeldsysteem, zie SOFTLOK info!!

Snel aan de slag in FT8 mode

MULTIMEDIABOX.nl Custom made solutions hardware & software. Advanced Menu

Labo Digitale Systemen

GnuRadio, Software Defined Radio voor iedereen.

Arduino. HCC Vlaanderen - Mechelen 7 februari Luc De Cock

SI-Profinet. Unidrive M200-M400 en Siemens S PLC (TIA portal)

Snel aan de slag op de QO-100 SAT

Geavanceerd EMC Printontwerp

Nederlandse versie. Inleiding. Inhoud van de verpakking. Specificaties. Aanvullende specificaties. BT200 - Sweex Bluetooth 2.0 Class II Adapter USB

Handleiding HCS VB5248

Produkt-Datenblatt. Technische Daten, Spezifikationen. MEsstechnik fängt mit ME an. Kontakt

- Indicatie batterij status - Het LCD scherm van de multimeter heeft achtergrondverlichting en staafdiagram - Multimeter met intern geheugen (32.

EmSE presentatie. Raspberry Pi: Mijn eerste hapjes

Regio 1 HF/VHF/UHF bandplan

Werkbladen voor Arduino workshop 1

MODBUS remote I/O-unit type MODBUS4S110

RTC Opleidingen Beckhoff TwinCAT. Voorbereiding

WORKSHOP ORANGE PI & PYTHON v september 2017

Transcriptie:

Software Defined Radio: de zachte kant Jan van Katwijk

Even voorstellen Typische jaren 50/60-er: Radio's bouwen met buizen en stevige 1 Watt weerstanden MG/KG: van 1 tot N buizen FM (Radio Electronics) In de jaren 70 en 80 aandacht voor gezin en werk Minicomputers: PDP-8, PDP-9, PDP-11 Veel programmeerwerk: Algol 60, Lisp, BCPL, C en Ada Begin jaren '90 kleine opleving van radiotechniek Aanschaf van een Plessey PRG155A programma's voor decoderen van weerkaarten (JVFax,...), RTTY en PSK onder DOS (seriele poort). Al snel weer geabsorbeerd door werk, dus...

Even voorstellen (II) Vanaf 2009 tijd voor een hobby: pensioen Begonnen met een eenvoudige radio met transistoren: componenten te klein, Serie artikelen (Signals samples and stuff (QEX 1998)) en boek (What every engineer should known about DSP): Dus maar wat gaan programmeren: spectrumscope, filters, etc Tools: Laptop met Linux, Qt voor de GUI, Portaudio voor de geluidskaart. Dus werd het C en C++

Even voorstellen (III) Al snel een spectrumscope om via de geluidskaart naar CD's te kijken, In 2009 interface naar Elektor kaart: een radio om de korte golf te beluisteren am, usb, lsb (resultaat vergelijkbaar met de gewone Plessey), In 2009/2010 uitgebreid met verschillende Modes (RTTY, PSK, etc), In 2011 uitgebreid met file handling en pmsdr kit, Januari 2012 eerste versie op pmsdr site, In 2011/2012 FM decoders erbij en de software cross-compiled voor Windows, <www.sdr-j.tk> gaat up, In 2012/2013 uitgebreid met DAB sticks en DAB, In 2014 uitbreiden met DRM decoder en porten naar Raspberry.

Huidige Stand van Zaken 32 bits set voor Windows en Linux SW radio met support voor Elektorkaart (0.. 30 Mhz), Pmsdr (0.. 165 Mhz), dabsticks (24.. 2000 MHz) voor Windows: soundcard-based Winrad-compatible dll's, Analoge en digitale modes (am ssb rtty, (b)psk, mfsk, cw, hell, amtor(b),...). Swbackend met support voor File and soundcard input, Alle beschikbare decoders. AM/FM radio met support voor Elektorkaart (< 30 MHz), pmsdr (0.. 165 Mhz), Dabsticks (24.. 2000 Mhz) en Mirics dongle 64 bits set voor Windows en Linux FM radio met support voor Dabsticks en Mirics dongle DAB radio met support voor DABsticks en Mirics dongle Eenvoudige spectrumviewer

SW ontvanger

FM ontvanger

Spectrum viewer (Mirics dongle)

DAB decoder

Demo tijd Demo 1: DAB: 64 bits Mode II Demo 2: DAB: 64 bits Mode I Demo 3: Swreceiver: 32 bits: lsb Demo 4: Swreceiver: 32 bits: psk

SDR 50-er jaren: systemen met analoge dataverwerking, digitaal/mechanisme verwerking 70-er jaren: analoge dataverwerking met digitale backends 80-er jaren: analoge dataverwerking met digitale backends en digitale control 00-er jaren: (bijna) volledig digitale dataverwerking met digitale control

SDR Er vindt dus een verschuiving plaats waarbij zo VROEG ALS MOGELIJK de analoge data omgezet wordt in digitale data, waarna de verdere bewerking digitaal is Verdere digitale verwerking kan met dedicated hardware (denk aan filteren, convolutional en Reed Solomon decoding en FFT's) of met een PC, mijn voorkeur is een PC Ultieme SDR: antenne direct aan AD converter, alle bewerking digitaal USRP biedt high speed AD conversie (tot in de Ghz) VLF direct aan de geluidskaart (wel protectie nodig) Meeste SDR: downconversie en analoge output voor soundcard (of externe AD converter) ( Normale geluidskaart: tot 192KS/seconde (16/24 bits)) Duurdere SDR: downconversie en eigen sampler.

Eenvoudigste hardware Ontwerp van Kainka: Downconversie naar Zero IF Werkt ook met 402N spoel, afstemcondensator en (bijna) willekeurige transistor Ook leuk voor de buren

Kenmerk serieuze Hardware Programmeerbare VCO (bijvoorbeeld Si570 als gebruikt bij o.a. pmsdr Programmeerbaar bandfilter I/Q samples als output Hetzij analoog, dan bijv. Via de geluidskaart de computer in Hetzij eigen AD converter, bijv DABstick Twee oscillatoren, zelfde freq, 90 graden in fase gedraaid, bij de downconversie naar Zero IF

I/Q Samples Nyquist: een signaal met een breedte van N Hz kan volledig worden beschreven met 2* N equidistante samples per seconde I/Q samples: I is de Inphase (cos) component, Q is de Quadratuur (sin) component Met N (equidistante) I/Q samples per seconde kan een signaal met een breedte van N hz volledig worden beschreven. 6 db per Bit

Real vs I/Q samples Duidelijk is te zien dat bij het gebruik van mono samples er een spiegeling optreedt. Bij gebalanceerde I/Q samples is die spiegel weg.

Bestaande hardware Pappradio Pre-built 150 khz 30 MHz (210 MHz using harmonics) External ADC required (I/Q output)? USB Yes Yes? $85 http://pappradio.de/ http://code.google.com/p/libpappradio/ Soft66AD / Soft66ADD / Soft66LC Pre-built 2.5 30 MHz (70 MHz with Soft66ADD) External ADC required (I/Q output) 0/1 USB Yes Unofficially? $18 http://zao.jp/radio/soft66ad/ easysdr USB Dongle Pre-built 64 1,700 MHz 48, 96 khz 0/1 USB Yes No No $110 http://microsat.com.pl/product_info.php?products_id=35 FUNcube Dongle Pre-built 64 1,700 MHz 96 khz 0/1 USB Yes Yes Yes $160 http://www.funcubedongle.com/ FUNcube Dongle Pro+ Pre-built 0.15 240MHz, 420-1,900 MHz 192 khz 0/1 USB Yes Yes Yes $200 http://www.funcubedongle.com/ FiFi-SDR Pre-built 200 khz 30 MHz 96 khz (integrated soundcard) 0/1 USB Yes Yes? $150 ( 120;[1] converted 2012-09-03) http://o28.sischa.net/fifisdr/trac SDR-IQ PnP 0.1 khz 30 MHz 66.666 MHz 1/1? USB Yes Yes Yes $525 http://www.rfspace.com/rfspace/sdr-iq.html SDR-IP PnP 0.1 khz 34 MHz 80.0 MHz 1/1? Ethernet Yes Yes Yes $2999 http://www.rfspace.com/rfspace/sdr-ip.html NetSDR PnP 0.1 khz 34 MHz 80.0 MHz 0/1? Ethernet Yes Yes Yes $1,450 http://www.rfspace.com/rfspace/netsdr.html SDR-1 Kit and pre-built 530 khz 30 MHz up to 192kHz depending on soundcard 0/1 USB Yes No No $200 http://www.electronicsisfun.com/sdr-1/ website is gone Elektor SDR Kit and pre-built 30 khz 30 MHz Soundcard ADC: 48, 96, and 192 khz 0/1 USB Yes Yes Yes $145 http://www.elektor.com/magazines/2007/may/software-defined-radio.91527.lynkx Elektor AVR SDR Kit and pre-built??????? $160 http://www.elektor.com/magazines/2012/march/avr-software-defined-radio-%281%29.2084135.lynkx DRB 30 Pre-built 30 khz 30 MHz External ADC required (I/Q output)? LPT parallel port Up to XP?? $390 http://www.nti-online.de/edirabox.htm

Goedkope Hardware DABsticks: Downconversie van 24.. 2000 Mhz, per Hz instelbaar Interne AD converter Veel (schema's voor) upconverters (Ne62/605) voor 0.. 50 MHz ==> 100.. 150 Mhz Softrock, PappRadio (0.. 30 Mhz, 0.. 210 Mhz, 85 Euro) Elektor (0.. 30 Mhz, ca 100 Euro) PmSDR (0.. 55 Mhz, 0.. 165 Mhz, 250 Euro) En nog vele anderen

Een Radio in Software

Basis softwarecomponenten Aansturen hardware AD/DA handling voor input/output (soundcard) Frontend processing: Filters en FFT's Mengtrappen Versterker (incl. AGC) Baseband processing: Van waves naar bits Van bits naar data Van data naar output Control GUI met scopes, metertjes en knoppen

Externe bibliotheken voor Linux EN Voor hardware control: Windows Winrad compatible dll's voor Windows Aanpassingen voor Linux: Kainka had een open source Pascal prog voor de elektorkaart Voor de Si570 aansturing van pmsdr: software van Gerrit Polder, PA3BYA + bestaande software van pmsdr zelf Voor de DABsticks: osmocom Voor de Mirics: gebaseerd op Miroslav Slugen Voor geluidskaart: portaudio o.i.d Voor usb: libusb Qt, Qwt voor GUI achtige dingen FFTW voor FFT's Samplerate en libsndfile voor filehandling

Software Winrad: een soort oervader voor Windows software voor SDR Connectie met devices via dll.s, min of meer de standaard Afgeleiden zijn (oa): WinRadHD HDSDR Rocky SDR# Flex Radio SDR-RADIO.com WRPLUS PowerSDR-SR40 Perseus SDR software En nog veel meer

Software (II) Bijzonder is Gnu Radio Een generieke infrastructuur met honderden componenten om alle mogelijke vormen van telecomapplicaties samen te stellen Componenten voor control, frontend processing and baseband processing Wijd verbreid in de research wereld USRP is een hardware device

Samples en de Computer Input via stereo-soundcard: 48-192K I component via left, Q component via right Samennemen tot value type complex Aantal bits bepaalt precisie: 6 db per Bit Clock wel eens een probleem Jitter -> niet gebalanceerde I/Q waarden Snelheid: 96000 of 96001? Programmatische ondersteuning Portaudio (en anderen) bieden een tamelijk eenvoudige C gebaseerde API, uniform over windows, Linux en Osx.

Wat als de samples binnen zijn? Samples zijn niet meer (of minder) dan getalwaarden en dus kan je Bewaren in geheugen en opslaan in bestanden Alle mogelijke berekeningen: Optellen en aftrekken Vermenigvuldigen met reele getallen (versterken en verzwakken, geen vermogensversterking!!!). Precisie is aandachtspunt!! Vermenigvuldigen met andere samples (met andere complexe getallen): mixen Integreren (optellen) en differentieren (aftrekken) Weer naar een geluidskaart (output) sturen

Oscillatoren en mengtrappen Oscillator in Software: Fase = fasehoek * 2 * PI / sampling speed OscillatorSample = Complex (cos (Fase), sin (Fase)) Fasehoek = (Fasehoek + gekozen frequentie) % samplingspeed Mengtrap in software: Outputsample = OscillatorSample * inkomend sample Met F1,complex signaal, O1, een complex oscillatorsignaal geeft F1 * O1 altijd een somsignaal

Filters Filters halen informatie/data weg van een samplestroom door slim data te middelen: Bijvoorbeeld: output = (s1 + s2 + s3) / 3 Of: output = 0.9 * s1 + 0.1 * output Zie bijvoorbeeld: What every engineer should know about DSP, Steven Smith

Filters (II) Finite Impulse Response filters: Een gemiddelde bepalen van product van een aantal gegeven parameters en een aantal inkomende samples (convolutie) Altijd stabiel, wel hoge ordes nodig voor goede steilheid Max demping ca 65 db, afh van modelkeuze Bekende modellen: Hanning, Hamming, Blackman, Kaiser Infinite Impulse Response filters: Een gemiddelde bepalen van product van een aantal gegeven parameters, een aantal inkomende samples en een aantal eerder berekende filterwaarden. Veel lagere ordes brengen goede steilheid kan (numeriek) instabiel worden Bekende modellen: butterworth, chebyshev, elliptic

11-de orde filters

Filters in de sdr-j SW FFT filter voor selectie subband (511 taps) Lowpass filter lagere orde bij decimeren Tweede filter (511 taps) voor selectie usb/lsb etc Decoder filters TIJD VOOR FILTERDEMO

Output frontend = input decoder Een stroom samples, naar keuze 6 12 Ks/s Zo gekozen dat decimeren met geheel getal kan Gefilterd!!! Koppeling decoders en frontend zo los mogelijk, klaar voor verdere decodering Analoog (am, fm, ssb) CW Een aantal andere modes (B Q)Psk, mfsk, rtty, hell, amtor (b),...

AM Detectie Zero IF Elimineren van de omhullende (envelope) door sqrt (I ^ 2 + Q ^ 2)

SSB decoderen USB (LSB) decoding is eigenlijk het herstellen van het complete signaal door een 90 graden in fase gedraaid signaal bij het reele input signaal op te tellen (af te trekken) 90 graden draaien: Hilbert filter Een Hilbert filter is een speciaal (maar niet ingewikkeld) FIR filter.

CW decoderen We filteren wat We tellen het aantal samples met een abs waarde groter dan een drempel We schatten continu de lengte van een dot en een dash in samples Als we de letterscheiding ook goed schatten is het terugkrijgen van letters eenvoudig

Decoderen van RTTY We weten dat de fasehoek tussen opvolgende samples groter is als de frequentie hoger is Dus weten we welke samples bij een mark en welke bij een space horen en kunnen we de marks en spaces bepalen We kunnen zelfs de freq offset bepalen

Psk decoderen We weten hoeveel samples en in een bit gaan. We pakken twee bits en synchronizeren daarop We kijken naar de fase(sprongen) om de bits te bepalen Verder: digitale bewerking van de bitrij

Toekomst De wereld wordt steeds meer digitaal: Experimenteren met de PC blijft leuk Moderne PC kan DAB (2048000 samples/sec, 100 FFT's per seconde, etc) goed aan Met Mirics tot >> 6 Ms MicroPC's, Raspberry etc: software moet daar zeker naar geporteerd worden (DAB draait zeker niet!!) Ofdm voor amateurbanden? Bestaat al wel, biedt zeker perspectieven Belangrijkste is dat het leuk hobbyen blijft.

Over de software? Hoeveel software? Meeste software zit in niet-signaalverwerkende delen, bijv. Control, spectrumscopes aansturen, e.d.: Pmsdr control 1800 regels Dabstick 940 regels (gebruikt bestaande lib) Scopes ca 1000 regels Filters: paar honderd regels C++ FFT: geleend van FFTW Oscillator: 10 regels, een PLL gemiddeld 20 regels AM decoder (incl ssb) 100 regels, Rtty-decoder 706 regels, (B Q)psk 670 regels FM decoder: 7500 regels overall, DAB decoder: ca 9500 regels overall Dus al met al: valt wel mee!!!

Dank U