Slide 1

Slide 1 text

@wa7son

Slide 2

Slide 2 text

Who am I? • Thomas Watson • Open Source developer at github.com/watson • Node.js Engineer at Elastic • Member of the Diagnostics Working Group under the Node.js Foundation • Tweets as @wa7son @wa7son

Slide 3

Slide 3 text

Radio Data Network Building a @wa7son With Node.js

Slide 4

Slide 4 text

In Software Reimplementing WiFi @wa7son

Slide 5

Slide 5 text

Software Defined Radio @wa7son

Slide 6

Slide 6 text

@wa7son Expensive: $5,000+

Slide 7

Slide 7 text

@wa7son • DVB-T • DAB • FM Marketed as TV / radio tuner for: Contains a Realtek RTL2832U chip Supports approx. 24 MHz – 1766 MHz Hackable! Cheap: $10 - $20

Slide 8

Slide 8 text

@wa7son Funded by: Affordable: $299

Slide 9

Slide 9 text

Radio 101 @wa7son

Slide 10

Slide 10 text

@wa7son

Slide 11

Slide 11 text

@wa7son

Slide 12

Slide 12 text

@wa7son

Slide 13

Slide 13 text

@wa7son

Slide 14

Slide 14 text

Demo Time Modulation @wa7son

Slide 15

Slide 15 text

“In electronics and telecommunications, modulation is the process of varying one or more properties of a periodic waveform, called the carrier signal, with a modulating signal that typically contains information to be transmitted.” @wa7son - Wikipedia

Slide 16

Slide 16 text

@wa7son

Slide 17

Slide 17 text

@wa7son

Slide 18

Slide 18 text

@wa7son Girls

Slide 19

Slide 19 text

@wa7son

Slide 20

Slide 20 text

@wa7son

Slide 21

Slide 21 text

Digital Modulation @wa7son

Slide 22

Slide 22 text

@wa7son 0110101110…

Slide 23

Slide 23 text

@wa7son On/Off Keying (OOK)

Slide 24

Slide 24 text

@wa7son Symbols 0: No voltage 1: High voltage Symbol rate = Bit rate 1 bit = 1 symbol

Slide 25

Slide 25 text

The Three Basic Modulation Types @wa7son

Slide 26

Slide 26 text

@wa7son 56K = 56,000 bits/sec 8000 baud = 8,000 symbols/sec 56,000/8,000 = 7 bits/symbol

Slide 27

Slide 27 text

QAM Quadrature Amplitude Modulation One Modulation To Rule Them All @wa7son

Slide 28

Slide 28 text

Remember Trigonometry? @wa7son

Slide 29

Slide 29 text

What is a sine wave? @wa7son

Slide 30

Slide 30 text

What is a sine wave? @wa7son

Slide 31

Slide 31 text

The Unit Circle @wa7son

Slide 32

Slide 32 text

4 QAM Modulation @wa7son

Slide 33

Slide 33 text

16 QAM Modulation @wa7son

Slide 34

Slide 34 text

16 QAM Modulation @wa7son Practical Signal Processing, ISBN: 978-1-107-41182-1

Slide 35

Slide 35 text

Error Correction @wa7son

Slide 36

Slide 36 text

• 1949 - Golay Codes (Voyager 2: Jupiter and Saturn missions in ’79-’81) • 1950 - Hamming Codes (ECC memory) • 1954 - Reed-Muller Codes (Mariner spacecraft in ’69-’77) • 1960 - Reed-Solomon Codes (Voyager 2 in ’77 + CD, DVD, Blueray, Barcodes) • 1993 - Turbo Codes (3G/4G e.g. UMTS+LTE + deep space satellite communication) Error-Correction Codes @wa7son

Slide 37

Slide 37 text

npm install @ronomon/reed-solomon @wa7son

Slide 38

Slide 38 text

Demo @wa7son

Slide 39

Slide 39 text

References github.com / watson / monster-drift github.com / mappum / node-hackrf greatscottgadgets.com / sdr @wa7son @wa7son

Slide 40

Slide 40 text

@wa7son github.com/watson Danke