open-source sdr on embedded platforms...•great scott gadgets hackrf •nuand bladerf •limesdr...
TRANSCRIPT
![Page 1: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/1.jpg)
Seediscussions,stats,andauthorprofilesforthispublicationat:https://www.researchgate.net/publication/304346578
Open-SourceSDRonEmbeddedPlatforms
Presentation·June2016DOI:10.13140/RG.2.1.1108.4409
CITATIONS
0READS
1,478
1author:
Someoftheauthorsofthispublicationarealsoworkingontheserelatedprojects:
Open-SourceSDRonEmbeddedPlatformsViewproject
AcceleratedSignal-ProcessingonEmbeddedPlatforms:PathsForwardViewproject
RajBhattacharjeaGeorgiaTechResearchInstitute7PUBLICATIONS63CITATIONS
SEEPROFILE
AllcontentfollowingthispagewasuploadedbyRajBhattacharjeaon23June2016.
Theuserhasrequestedenhancementofthedownloadedfile.
![Page 2: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/2.jpg)
1 GTRI
June 1, 2016
Dr. Rajib Bhattacharjea
Georgia Tech Research Institute
Information and Communications Lab
Atlanta, GA 30318, USA
Open-Source SDR on Embedded Platforms
![Page 3: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/3.jpg)
2 GTRI
Part 1 Overview
• Prereqs
• Topics to be covered
• SDR background
• SDR uses and users
• SDR components
• Demo 1
![Page 4: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/4.jpg)
3 GTRI
Prerequisites
• Radio/Comms Fundamentals
- Analog and Digital Modulation
- Mixers, filters, LNA, PA
• Circuit analysis concepts
- Transistors
- Filters
• Software concepts
- High level language source code
- Assembly language
• Digital and analog signal processing concepts
- Convolution
- FFT
- Dot products
![Page 5: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/5.jpg)
4 GTRI
What We’re Going to Learn About(and play with)
![Page 6: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/6.jpg)
5 GTRI
Single Board Computers!
http://hackerboards.com/ringing-in-2016-with-64-open-spec-hacker-friendly-sbcs/
![Page 7: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/7.jpg)
6 GTRI
Embedded Computers from the Living Room!
![Page 8: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/8.jpg)
7 GTRI
Signal Processing with Open Source Tools!
http://wiki.opendigitalradio.org/FM_RDS_Stereo_transmitter_using_gnuradio
![Page 9: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/9.jpg)
8 GTRI
Software Defined Radio Hardware!
![Page 10: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/10.jpg)
9 GTRI
What We’re Going to Learn About
• Overview of available open-source software and embedded hardware tools for SDR development
• Signal processing
• RF signals
• How to get started with SDR on popular embedded platforms
- ARM or x86 embedded CPU
- Linux
• Commercial SDR hardware
• Optimized signal processing capabilities available on embedded platforms
![Page 11: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/11.jpg)
10 GTRI
What We’re Not Going to Learn About
• OpenEmbedded, yocto, poky, bitbake…although those would help you with devices that don’t have packages in the distros, or for developing reproducible builds for distribution.
• Embedded CPU Hardware without available Linux kernel
• IBM Power ISA, µC(Linux), MIPS, SPARC, etc.
- Although the open source SDR ecosystem could be made to run on these kinds of platforms with various degrees of effort
- MIPS is especially low hanging fruit and much of this talk applies to those devices too
- Dedicated DSP chips
• “IoT” but only because we’re not talking directly about what data goes over the radio links we’re talking about. If it was some kind of sensor data, this would be an IoT talk.
• OSSIE (is it dead?)
![Page 12: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/12.jpg)
11 GTRI
Background(who, what, when, where, why, how?)
![Page 13: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/13.jpg)
12 GTRI
What is a Software-Defined Radio?
• A communication system where the capabilities are largely determined by the software running on the system instead of by the radio hardware.
• Consists of radio hardware and something to do the signal processing.
• The term “SDR” can mean the whole system, or just the radio hardware.
• Let’s consider a series of examples
![Page 14: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/14.jpg)
13 GTRI
Conventional Radio Example: Super Regenerative FM Receiver
Design from: http://electronics-diy.com/simple-fm-radio.php
![Page 15: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/15.jpg)
14 GTRI
Conventional Radio Example: Super Regenerative FM Receiver
• It’s purpose built for a specific task
• Designed to tune over 88 MHz – 108 MHz
• It isn’t easily reconfigurable and can perform no other task
- The hardware defines the functionality
- Many functional stages are collapsed into one; the one JFET is the:
• Oscillator
• Mixer
• Amplifier
• Filter
• Uses VERY few components, only enough to achieve the function it is designed for
![Page 16: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/16.jpg)
15 GTRI
Conventional Radio Example: Superheterodyne FM Receiver
![Page 17: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/17.jpg)
16 GTRI
Conventional Radio Example: Superheterodyne FM Receiver
Superheterodyne receiver schematic by Appaloosa released under CC-BY-SA 3.0 license.
https://commons.wikimedia.org/wiki/File:Tuner1.svg
![Page 18: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/18.jpg)
17 GTRI
Conventional Radio Example: Superheterodyne FM Receiver
![Page 19: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/19.jpg)
18 GTRI
Conventional Radio Example: Superheterodyne FM Receiver
Design from:
http://www.daenotes.com/electronics/communication-system/superheterodyne-fm-receiver
![Page 20: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/20.jpg)
19 GTRI
Conventional Radio Example: Superheterodyne FM Receiver
Design from:
http://www.radio-electronics.com/info/rf-technology-design/fm-reception/foster-seeley-fm-detector-discriminator.php
![Page 21: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/21.jpg)
20 GTRI
Conventional Radio Example: Superheterodyne FM Receiver
• It’s purpose-built for a specific task
• Designed to tune over 88 MHz – 108 MHz
• Design is more modular than the super regenerative design
- Amplification, frequency synthesis, frequency mixing, and a multistage demodulator
• Hardware defines the functionality
- Could change out the limiter and discriminator for a simple envelope detector and get an AM radio receiver
- Or a PLL and detect FSK
• Design is more complicated and uses about 7 times the number of overall components and 5 times the number of transistors
![Page 22: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/22.jpg)
21 GTRI
Software Defined Radio: Superheterodyne w/ an ADC
![Page 23: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/23.jpg)
22 GTRI
Software Defined Radio: Superheterodyne w/ an ADC
• Not purpose-built for a specific task!
• Tuning range can be large
• Signal processing is not done by a circuit designed for demodulation or discrimination of a specific type of waveform
• Software signal processing defines the functionality
- Hardware determines characteristics (tuning range, max instantaneous bandwidth, noise performance)
![Page 24: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/24.jpg)
23 GTRI
Who Uses SDR and Why?
• Engineers in R&D
• Academics
• US Military- JTRS
- SCA
• US Intelligence Community
• Amateur radio enthusiasts (hams)
• Others
• Enables cutting edge research
• Speeds prototyping of new radio designs and signal processing algorithms
• Allows one radio to support different waveforms
• Permits radio designs to be upgraded without buying new hardware
• Facilitates detailed offline signal analysis
![Page 26: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/26.jpg)
25 GTRI
SDR Users / Developers in the DoD and IC
• The Army, Navy, Air Force, and Marine Corps
• “No Such Agency” in Fort Meade, MD- https://www.google.com/#q=nsa+redhawk
• Defense Contractors- Harris
http://rf.harris.com/media/RF-7800V-HH_Enlarged_26-12108.jpg
![Page 27: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/27.jpg)
26 GTRI
Components of an SDR
• Analog front end
- Quadrature demodulator
- Wide or narrow tuning range
- Wide or narrow bandwidths
- RX Only, TX/RX half duplex, TX/RX full duplex, TX/RX MIMO configurations typical
• ADC
- Direct sampling ADC is a possibility, limits “tuning” range to (0,fs/2)
• Baseband processor w/ high speed interface
- FPGA
- CPU
- µC
• Signal processing software
![Page 28: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/28.jpg)
27 GTRI
Components of an SDR: Front-end
![Page 29: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/29.jpg)
28 GTRI
Components of an SDR: Baseband Processor
• Embedded device with a CPU or µC
• FPGA
![Page 30: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/30.jpg)
29 GTRI
Demo 1 - CPU Frequency Demodulation
![Page 31: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/31.jpg)
30 GTRI
Questions?
![Page 32: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/32.jpg)
31 GTRI
Part 2 Overview
• Embedded platforms
• Consumer electronics embedded
• Capabilities
• Types
• Will it SDR? Demos 2 – 4
• Embedded ARM landscape
• SDR hardware options
![Page 33: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/33.jpg)
32 GTRI
Embedded Processors(low power brains)
![Page 34: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/34.jpg)
33 GTRI
Ubiquity of Embedded Platforms
• Embedded processors or µCs are in
- Car
- Television
- Speakers
- Sound system
- Wifi router
- GPS receiver
- Cable modem
- Camera
- Vacuum cleaner
- Refrigerator
- Watch
- Calculator, etc.
![Page 35: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/35.jpg)
34 GTRI
Consumer Electronics Embedded Platforms
• Largest consumer electronics companies all sell embedded devices
- Connected TV devices
- Tablets - more than 250 million projected to sell globally in 2016[1]
- Smartphones – 1.4 billion units sold in 2015[2]
• Android and iOS devices drive this market
- Apple
- Samsung
- Amazon
[1] http://www.gartner.com/newsroom/id/2954317
[2] http://www.statista.com/topics/840/smartphones/
![Page 36: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/36.jpg)
35 GTRI
Consumer Electronics Embedded Platforms
• These embedded CPUS go by the name “applications processors”
• Hardware manufacturers amortize investment into a technology; technology trickles laterally into the maker/hacker, educational, and industrial, and commercial communities
- Broadcom markets the BCM2820 as “optimized for high volume markets including mobile phones, mobile TVs, and portable audio/video/game devices”[1]
- Sells the almost identical BCM2835 as a learning platform to the Pi Foundation
- R&D companies ship Raspberry Pi’s to their customers in other products
• This is the class of embedded hardware we are talking about today
[1] https://www.broadcom.com/press/release.php?id=929312
![Page 37: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/37.jpg)
36 GTRI
What Drives the Capabilities?
• Often, the killer app: streaming, decoding, and playback of media
- Special CPU instructions
- Media processor / GPU hardware
- Some of this capability might help in radio signal processing, more on this later
• This talk focuses exclusively on ARM and Intel
- Linux runs effortlessly, entire open-source ecosystem is available
- Can be extended to anything that runs a full, modern Linux kernel (MIPS24K in particular)
![Page 38: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/38.jpg)
37 GTRI
Types of Consumer Electronics Embedded Platforms
![Page 39: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/39.jpg)
38 GTRI
Set Top Boxes
• Class of devices used for consumption of media on TV screens
• Options:
- Roku devices
- Apple TV
- Amazon Fire TV
- WDTV
- NVIDIA Shield
- Many, many lesser known brands (check online retailers for “Android TV” or “set top box”)
![Page 40: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/40.jpg)
39 GTRI
Set Top Boxes: Will it SDR?
http://www.cnx-software.com/2015/12/06/how-to-run-headless-linux-on-amlogic-s905-devices-such-as-mini-mx-or-k1-plus/
Yes it will!
![Page 41: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/41.jpg)
40 GTRI
Stick Computers
• New class of small form-factor computers for vending signs, kiosks, TV streaming, etc.
• Options:- Intel Compute Stick
- Amazon Fire Stick
- Lenovo IdeaCentre
- Asus Chromebit
- Azulle Quantum Access
- MeeGoPad devices
- And others…
![Page 42: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/42.jpg)
41 GTRI
Stick Computers: Will it SDR?
• Demo 2: Dongles on dongles
• Yes it will!
![Page 43: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/43.jpg)
42 GTRI
Mini PCs
• Like a stick computer but slightly larger and the HDMI port goes the other way
• Generally more ports and/or storage
• Options:- Kangaroo MD2B
- Vensmile iPC002
- Compulab MintBox Mini
![Page 44: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/44.jpg)
43 GTRI
Mini PCs: Will it SDR?
• Demo 3: Vensmile Mini PC SDR
• Yes it will!
![Page 45: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/45.jpg)
44 GTRI
Single Board Computers (SBCs)
• Like a mini PC without the case
• Options:- Raspberry Pi
- BeagelBone Black
- Banana Pi
- Banana Pro M2
- Lemaker Guitar
- Adapteva Parallella 16
- CubieBoard4 CC-A80
- DragonBoard 410c
- Odroid XU4
- Odroid C1+
- MinnowBoard Tubot
- Intel Edison
- Nvidia Jetson TK1
- Nvidia Jetson TX1
- And others…
![Page 46: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/46.jpg)
45 GTRI
Single Board Computers
http://hackerboards.com/ringing-in-2016-with-64-open-spec-hacker-friendly-sbcs/
![Page 47: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/47.jpg)
46 GTRI
Single Board Computers: Will it SDR?
• Demo 4 – single board computer SDRs
- Raspberry Pi 2
- BeagleBone Black
- LeMaker Guitar
- NVIDIA Jetson TK1
- ODROID XU4+
- ODROID C1+
• Yes it will!
![Page 48: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/48.jpg)
47 GTRI
Plug Computers
• A computer with AC mains prongs hanging off the case
- Like a wall-wart, but a computer
• The guts are similar ARM processors
• A few vendors on the market sell this form-factor
![Page 49: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/49.jpg)
48 GTRI
Plug Computers
![Page 50: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/50.jpg)
49 GTRI
Plug Computers: Will it SDR?
![Page 51: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/51.jpg)
50 GTRI
Embedded ARM Landscape
Manufacturer Brand Name End Devices
Texas Instruments OMAP Kindle Fire HD, Droid X, Droid 2
Broadcom Raspberry Pi
Allwinner Tablets
Rockchip ASUS Chromebook, TV Boxes/Sticks
MediaTek Tablets, Phones
Qualcomm Snapdragon Google Nexus One, HTC Incredible
Marvell ARMADA Panasonic Toughpad A1, Google Chromecast
Amlogic TV Boxes
Samsung Exynos HP Chromebook, Samsung Galaxy S6
NVIDIA Tegra NVIDIA Shield
Apple AX iPhone, iPad, Apple TV, Apple Watch
Actions Semiconductor Tablets, TV Boxes
NXP i.MX, QorIQ Amazon Kindle
HiSilicon Huawei Devices
Atmel SMART SAMA5 Dev Boards
Renesas Samsung Galaxy Core LTE
![Page 52: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/52.jpg)
51 GTRI
SDR Hardware
• Ettus USRP
• Great Scott Gadgets HackRF
• Nuand bladeRF
• LimeSDR
• Realtek RTL2832U-based devices
• Afedri SDR
• Airspy R820t
• RFSpace
• RedPitaya
• Nutaq PicoSDR, ZeptoSDR
• PicoZed SDR
• FunCube Dongle Pro+
• SDRPlay RSP
• And more...
![Page 53: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/53.jpg)
52 GTRI
SDR Hardware: References
• https://en.wikipedia.org/wiki/List_of_software-defined_radios
• http://sdr-radio.com/Radios
• http://www.rtl-sdr.com/roundup-software-defined-radios/
• http://gnuradio.org/redmine/projects/gnuradio/wiki/Hardware
![Page 54: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/54.jpg)
53 GTRI
Questions?
![Page 55: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/55.jpg)
54 GTRI
Part 3 Overview
• Open-source SDR signal processing software
• Install guides – Demos 5 and 6
• Non-free tools
• Core SDR signal processing operations
• Speed and optimization
• Intro to CPU ISA extensions
![Page 56: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/56.jpg)
55 GTRI
SDR Software Options
• GNU Radio
• Mathworks MATLAB*
• NI LabVIEW*
• REDHAWK
• Scilab
• Custom signal processing code (C++, Python, etc.)
* Not publicly available on ARM architecture, not free of cost
![Page 57: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/57.jpg)
56 GTRI
Open Source SDR Software: Getting Started
• Get a Linux distro
- Download and “dd” an image file on to an SD card
- Or get it onto the on-board eMMC
• Keyboard, monitor, mouse, etc.
- Or setup networking for headless operation
• Install your SDR software
![Page 58: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/58.jpg)
57 GTRI
GNU Radio: Getting Started
• Install - package manager- Debian derivative - install using apt
- Red Hat derivative – install using dnf(yum is deprecated)
- Others: zypper, pacman, urpmi, RTM for your distro
• Install – source- Install dependencies from package
manager if possible
- Then git clone, cmake, make, make install
- Cross compilation or other tricks might be necessary• Embedded systems are limited in
computational power, and GNURadiocompilation is CPU intensive
• RAM can be an issue
• eMMC flash storage can be an issue
• Colleague’s GNU Radio compile on a Raspberry Pi took a week
![Page 59: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/59.jpg)
58 GTRI
GNU Radio Install
Demo 5
![Page 60: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/60.jpg)
59 GTRI
REDHAWK
• Open source signal processing package largely developed for/by the US government
• Supported on RHEL or CentOS Linux distributions; developers implicitly assume x86
• Port of REDHAWK for Ubuntu exists
- Old version of RedHawk (1.8.4)
- Old version of Ubuntu (12.04)
• Developer community size is a bit of a mystery
- Fewer than 200 questions on the official Q&A site for redhawk software
- Zero questions on the official Q&A site for redhawk-related hardware problems.
• ARM ports will take some work
![Page 61: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/61.jpg)
60 GTRI
REDHAWK
• Demo 6: REDHAWK on embedded ARM
![Page 62: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/62.jpg)
61 GTRI
SciLab
• Some efforts exist to use a combination of SciLab and GNU Radio
• Not developed for SDR work, but for interfacing with data acquisition hardware
https://www.researchgate.net/publication/266009629_GNURadio_Scilab_Xcos_and_COMEDI_for_Data_Acquisition_and_Control_An_Open_Source_Alternative_to_LabVIEW
![Page 63: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/63.jpg)
62 GTRI
Non-Free Tools (MATLAB and LabVIEW)
• Title of the tutorial contains “Open-Source SDR…”
• You can open source the code you write but development tools are not free (neither “freedom” nor “beer”)
• Mentioned here for completeness
![Page 64: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/64.jpg)
63 GTRI
Custom Signal Processing / Vendor APIs
• Most SDR manufacturers have written C/C++ libraries interfacing to the hardware
• These can be variously used directly or through wrapper/binding layers to other languages
![Page 65: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/65.jpg)
64 GTRI
Signal Processing on Embedded Platforms(make it go faster)
![Page 66: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/66.jpg)
65 GTRI
Embedded Processing: Operations and Speed
SDR Operations
• Modulation
• Entropy and error coding
• Encryption
• Computationally heavy DSP operations- Convolutions
- FFTs
• Potentially high data rates
• The modern CPU is optimized for managing the flow of instructions, not quickly executing a small group of instructions
• CPU manufacturers see this gap, have created special CPU instructions for common DSP or multimedia computations
![Page 67: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/67.jpg)
66 GTRI
Embedded Processing: Operations and Speed
Dot product
𝑥 𝑛 ∙ 𝑦 𝑛 =
𝑚=0
𝑀−1
𝑥 𝑚 𝑦[𝑚]
#define M (1L << 16)double dotProd_1(double *x, double *y){
double out = 0;int i;for (i = 0; i < M; i++){
out += x[i] * y[i];}return out;
}
![Page 68: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/68.jpg)
67 GTRI
Embedded Processing: Operations and Speed
Convolution (FIR filter)
(𝑥 ∗ 𝑦) 𝑛 =
𝑚=0
𝑀−1
𝑥 𝑛 −𝑚 𝑦[𝑚]
#define M (1L << 4)#define L (1L << 4)void convolution_1(double *x, double *y, double *out){int n;for (n = 0; n < L + M - 1; n++){out[n] = 0;int m;for (m = 0; m < M; m++){
if(n-m < 0 || n-m > L-1)continue;
out[n] += x[n-m] * y[m];}
}}
![Page 69: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/69.jpg)
68 GTRI
Embedded Processing: Operations and Speed
• Matrix multiplication
- Could be for adaptive zero-forcing equalizer
𝑋𝑌 𝑖𝑗 =
𝑚=0
𝑀−1
𝑋 𝑖,𝑚 𝑌[𝑚, 𝑗]
• Code omitted, but now three loops
- One over 𝑖, one over 𝑗, and one over 𝑚
- But the multiply and add up bit is the same!
![Page 70: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/70.jpg)
69 GTRI
Embedded Processing: Operations and Speed
• Operation of multiplying elementwise between lists and summing is a very common operation.
- Previous examples (signal convolution, matrix multiplication)
- Vector projection 𝑥1𝑦1+𝑥2𝑦2+𝑥3𝑦3
𝑦12+𝑦22+𝑦32
- Polynomial evaluation 𝑎0 + 𝑎1𝑥 + 𝑎2𝑥2 + 𝑎3𝑥
3
• What if someone identified many of these common kernels of code and spent time optimizing them using CPU extensions for specific hardware?
- The bit that boils down to pure math and runs in the innermost loops
![Page 71: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/71.jpg)
70 GTRI
Ways to Achieve Speed on Embedded CPU
Use the CPU extensions; how?
• Use compiler features directly
• ORC
• VOLK
• OpenCL
• Performance-tuned libraries
![Page 72: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/72.jpg)
71 GTRI
CPU Extensions
• Additions to the instruction set for some specific application
• Drivers: media, graphics, security
• Speed-up computations or increase power efficiency
Applications
• Encoding or decoding modern video/audio standards - DCT in audio/video compression
• Rasterization, shading, ray tracing for gaming
• Hashing / encryption operations
![Page 73: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/73.jpg)
72 GTRI
CPU Extensions
• Vectorized or vector or SIMD
• Maximal DSP performance out of an embedded processor
• Intel – MMX, SSE, SSE2, SSE3, SSSE3, SSE4, AVX, AVX2
• ARM – DSP extensions, SIMD, NEON
• Can be leveraged for embedded signal processing!
• Writing assembly can be problematic, not for everyone
• Not portable across architectures
![Page 74: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/74.jpg)
73 GTRI
CPU Extensions: Intel PMADDWD
![Page 75: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/75.jpg)
74 GTRI
CPU Extensions Example
outerloop:
pxor xmm0, xmm0 // initialize 4 accumulators (32Bit)
sub ebp, ebp // init Index in filter taps w/ zero
innerloop:
movups xmm1, qword ptr [esi+ebp] // ld 8 vec in 128Bit reg
pmaddwd xmm1, qword ptr [edi+ebp] // pairwise mult with TAPs
paddd xmm0, xmm1 // accum results in xmm0 (4x32 Bit)
add ebp, 2*8
cmp ebp, 2*64 // repeat for all 64 Taps
jnz innerloop
phaddd xmm0, xmm0
phaddd xmm0, xmm0 // accumulate four partial vals to one result
psrad xmm0, 15 // scale to 16 Bit
movd qword ptr [eax], xmm0 // store result (only 16 Bit relevant)
add esi, 2
add eax, 2 // increment pointer for input & output
sub ecx, 1 // repeat for all input samples
Questions:
• What does that do?
• Is that optimal in any sense?
• What extension set is it using?
• Will it run on an Atom Z3735F? On an ARMv7?
https://software.intel.com/en-us/articles/using-intel-streaming-simd-extensions-and-intel-integrated-performance-primitives-to-accelerate-algorithms
![Page 76: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/76.jpg)
75 GTRI
Questions?
![Page 77: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/77.jpg)
76 GTRI
Part 4 Overview
• CPU extensions
• GPGPU on embedded
• Using the FPGA
• Special coprocessors
• Conclusions and wrap-up
![Page 78: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/78.jpg)
77 GTRI
Optimization Path 1: CPU
![Page 79: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/79.jpg)
78 GTRI
How to Leverage CPU Extensions: Compiler
• Compiler intrinsics expose the CPU vector operations. Like writing assembly code in the middle of C++.
- Portability problem across CPU types
• Special data structures (vector types) + normal operations that the compiler can recognize and optimize
- Portability problem across compilers
• -O3
- It just works!...? No.
![Page 80: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/80.jpg)
79 GTRI
How to Leverage CPU Extensions: Compiler
• Demo 7: C++ code with assembly breakdown
- Add two signals together sample by sample in a loop
• You have to coax the compiler into optimizing, then look at the performance yourself and determine if the assembly matches your expectations
• Even then it might be suboptimal and more performance tuning can be required
http://locklessinc.com/articles/vectorize/
![Page 81: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/81.jpg)
80 GTRI
How to Leverage CPU Extensions: ORC
• ORC, Optimized inner loop Runtime Compiler
• Generic SIMD language that gets compiled to optimized instructions for the target processor
• Inner loop code is optimized using vector instructions, across architectures
• User drops in optimized implementations
- Without having to coax the compiler into the optimization
- Without hand writing the machine specific assembly (but ORC is assembly-like)
• Supports ARM NEON, Intel MMX/SSE, and others (PowerPC Altivec)
• Different modes
- JIT compilation mode
- Hardware specific machine code that gets baked into the executable.
![Page 82: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/82.jpg)
81 GTRI
How to Leverage CPU Extensions: VOLK
• Vector Optimized Library of Kernels
• Signal processing functions that vectorize well across architectures
• Protokernel – tuned implementation that runs on specific hardware
• Different protokernels are profiled and what’s fastest is stored
• Kernel -> profiler data -> dispatch
- Empirically fastest implementation
- Similar to the FFTW library (“wisdom”)
• ARM NEON and Intel SSE/AVX
• If no SIMD acceleration, plain C implementation is used
http://libvolk.org/
Image © Marcus Müller
![Page 83: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/83.jpg)
82 GTRI
How to Leverage CPU Extensions: OpenCL
• Open Computing Language
• C-based language designed for optimizing math heavy operations
• Some constructs are designed to map to SIMD structures on particular hardware
- “float4” is a type with four single precision floating point numbers
- Can map directly to Intel SSE XMM0-XMM7
• OpenCL code can be compiled for
- CPU: uses SIMD / other extensions
- GPU: uses massively parallel shader architecture
- Special OpenCL coprocessors: Intel Xeon Phi, Adapteva Epiphany
![Page 84: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/84.jpg)
83 GTRI
How to Leverage CPU Extensions: OpenCL
Hardware must have OpenCL implementation available
• Intel ships OpenCL implementation for their CPUs
• Official ARM CPU OpenCL using NEON was announced but unavailable?
• ARM Mali GPU design does have an OpenCL implementation, more on this later
• POCL
- Portable Compute Language
- OpenCL implementation for ARMv7, x86, MIPS32
![Page 85: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/85.jpg)
84 GTRI
How to Leverage CPU Extensions: OpenCL
• Demo 8: OpenCL Acceleration demo with gr-fosphor on Vensmile iPC002 (Intel Atom)
• Formerly had to do this on some distros:
- https://bitbucket.org/snippets/rajb245/epGzn
• But latest Intel OpenCL Runtime 16.1 supports RHEL, SLES, and Ubuntu
- https://software.intel.com/en-us/articles/opencl-drivers
![Page 86: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/86.jpg)
85 GTRI
How to Leverage CPU Extensions: Performance Tuned Libraries
Background – BLAS
• Basic Linear Algebra Subprograms
• API definition of common numerical operations
• Level 1: Scalar/vector and vector/vector operations
- Rotating 2-vectors, dot products, scalar times vector, vector norms
• Level 2: Matrix/vector operations
- Matrix/vector multiplication, triangular matrix system solver, vector outer product
• Level 3: Matrix/matrix operations
- Matrix multiplication
- Sums of products of matrices
• Do they map directly to signal processing?
![Page 87: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/87.jpg)
86 GTRI
How to Leverage CPU Extensions: Performance-Tuned Libraries
• CPU vendors make performance-tuned BLAS (and the related LAPACK) implementations- AMD ACML – open sourced, BLIS
is what we want for the CPU, runs
on ARM and x86, very portable
- Intel MKL – Intel and AMD x86,
closed source
• ATLAS project automatically tunes itself on the target hardware, works on ARM
• OpenBLAS has comprehensive architecture support https://software.intel.com/en-us/intel-mkl
![Page 88: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/88.jpg)
87 GTRI
How to Leverage CPU Extensions: Performance-Tuned Libraries
Open questions
• Integration of high-performance BLAS into GNU Radio? REDHAWK?
![Page 89: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/89.jpg)
88 GTRI
Optimization Path 2: Embedded GPU
![Page 90: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/90.jpg)
89 GTRI
Embedded GPU Landscape
• Consumer electronics embedded processors often have specialized multimedia processing hardware / GPU (recall the killer app)
• End device list not exhaustive
IP Holder Brand Name Licensees / Manufacturers End Devices
Broadcom VideoCore Broadcom Raspberry Pi, Samsung Galaxy (various)
ARM Holdings Mali Allwinner, Amlogic, MediaTek,Rockchip, Samsung
Samsung Gear/Galaxy/Chromebook (various), Google Nexus 10, ODROID (various)
NVIDIA Tegra GPU NVIDIA NVIDIA Shield, Acer Chromebook,Google Pixel C, HTC Nexus 9
Intel HD Graphics, GMA,Iris, Iris Pro
Intel Dell Pro 11 2in1, Lenovo ThinkPad (various), Dell Venue 11 Pro
Qualcomm Adreno Qualcomm Samsung Galaxy (various),Sony Xperia X, HTC 10
Imagination Technologies
PowerVR Ti, Apple, Intel, Broadcom, Allwinner, Samsung, Rockchip
iPhone (various), iPad (various), Apple Watch, PS Vita, Asus Zenfone 4, ODROID-XU
VivanteCorporation
(None) Marvell, Freescale, IngenicSemiconductor, Rockchip
Samsung Galaxy Tab 4, Chuwi V90, Hummingboard (various)
![Page 91: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/91.jpg)
90 GTRI
GPU Processing on Embedded
• Mali OpenCL is the only easy option right now
- Signal processing with AMD clMath?
- Integration into GNU Radio or REDHAWK?
• PowerVR has beta access to OpenCL for developers
• NVIDIA has CUDA
- Library of functions that turn into highly parallelized code that runs on the GPU
- Specific to one vendor
• Some work has been done on Broadcom VideoCore
- Assemblers for the VideoCore, including one where you write assembly in python (PyVideoCore)
- PyVideoCore has a single example of a single BLAS/LAPACK function
![Page 92: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/92.jpg)
91 GTRI
GPU Processing on Embedded
• Demo 9: Mali GPU w/ OpenCL gr-fosphor
![Page 93: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/93.jpg)
92 GTRI
Optimization Path 3: FPGA
![Page 94: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/94.jpg)
93 GTRI
FPGA Processing
• Field-programmable gate array
- Can be configured to be an arbitrary digital logic circuit (within a size constraint)
• Many of the SDR hardware platforms have an on-board FPGA
- Handles interpolation, decimation, fine frequency tuning, digital I/O buses (host and RF front-end)
- HackRF*, Ettus B and N series, bladeRF, and others
• Some embedded processors have an on-die FPGA†
- Xilinx Zynq
- Altera SoC
*Actually a CPLD, but the difference is in implementation not functionality
†Intel Xeon+FPGA is hardly embedded and is vaporware so far
![Page 95: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/95.jpg)
94 GTRI
FPGA Processing
• Xilinx Zynq powers three popular SDR platforms- Ettus E310
- Red Pitaya
- PicoZed SDR
• Do most of the signal processing on the FPGA
• Use the ARM for what’s left
• Development Tools- LabVIEW FPGA Module*
- MATLAB HDL Coder*
- RFNoC
http://www.xilinx.com/products/boards-and-kits/1-askjht.html
https://www.ettus.com/product/details/E310-KIT
*Not free, no public ARM release
![Page 96: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/96.jpg)
95 GTRI
FPGA Processing
• Demo 9: RFNoC fosphor on the X310
- (Martin Braun’s demo is much better, so we’ll skip this)
![Page 97: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/97.jpg)
96 GTRI
Optimization Path 4: Other Coprocessors
![Page 98: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/98.jpg)
97 GTRI
Special Coprocessors
• Xeon Phi- Not embedded yet; power draw is
same as thirty SBCs
• Adapteva Epiphany Coprocessor- Has not really caught-on
- Used in one design, the Adapteva
Parallella-16 SBC
*http://www.intel.com/content/www/us/en/architecture-and-technology/many-integrated-core/intel-many-integrated-core-architecture.html
*
http://www.adapteva.com/epiphanyiii/
![Page 99: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/99.jpg)
98 GTRI
Conclusions and Summary(what did we learn)
![Page 100: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/100.jpg)
99 GTRI
Conclusions and Summary
• Embedded SDR runs the gamut of price and performance
- Pi Zero + RTL2832U device
- ODroid + Hack RF
- Ettus E310 or PicoZed SDR
- NVIDIA Tegra TX1 + Ettus X310
• GNU Radio is the dominant open-source SDR package that is popular for researchers and hobbyists
- Others exist but there’s no annual “REDHAWK con”, i.e., the user community and support seems to be best for GNU Radio
• Using available, COTS, embedded hardware and open-source software, any practical radio technology can be implemented
- Even experimental technology can be realized
- Massive MIMO
- Spectrum sensing / cognitive radio
![Page 101: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/101.jpg)
100 GTRI
Conclusions and Summary
• You can’t pick up an embedded device and get optimal signal processing performance
- Software work to be done to leverage the processing power of the GPUs and SIMD technologies
- Should the VOLK project support GPU accelerated implementations?
- Should everyone use OpenCL?
- Or should there be accelerated BLAS/LAPACK, and other code can call those functions?
![Page 102: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/102.jpg)
101 GTRI
Conclusions and Summary
• It’s an exciting time in embedded SDR!
• The unprecedented popularity of mobile, wireless, and TV markets has effectively subsidized the SBC and embedded computer market.
• You can realistically learn SDR and signal processing with practical, hands-on experience for the price of a drink at a nice restaurant.
![Page 103: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/103.jpg)
102 GTRI
Acknowledgements
• Ben Riley of GTRI for funding IRAD
![Page 104: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/104.jpg)
103 GTRI
Thank You
![Page 105: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/105.jpg)
104 GTRI
Copyright Notice
• Copyright 2016, Georgia Tech Applied Research Corporation
• Portions of this work are under the copyright of their respective, original rights holders.
- No copyright claim is made on these portions.
- Where possible, attribution has been given to the original rights holders.
- Use of these portions has been for the purposes of comment, teaching, scholarship, and research; as such, the authors of this work assert that this usage constitutes a fair use of the copyrighted material.
![Page 106: Open-Source SDR on Embedded Platforms...•Great Scott Gadgets HackRF •Nuand bladeRF •LimeSDR •Realtek RTL2832U-based devices •Afedri SDR •Airspy R820t •RFSpace •RedPitaya](https://reader033.vdocuments.mx/reader033/viewer/2022053117/609a432a91ab7468c61c6a08/html5/thumbnails/106.jpg)
105 GTRI
17 U.S. Code § 107 - Limitations on exclusive rights: Fair use
• Notwithstanding the provisions of sections 106 and 106A, the fair use of a copyrighted work, including such use by reproduction in copies or phonorecords or by any other means specified by that section, for purposes such as criticism, comment, news reporting, teaching (including multiple copies for classroom use), scholarship, or research, is not an infringement of copyright. In determining whether the use made of a work in any particular case is a fair use the factors to be considered shall include—
- (1)the purpose and character of the use, including whether such use is of a commercial nature or is for nonprofit educational purposes;
- (2)the nature of the copyrighted work;
- (3)the amount and substantiality of the portion used in relation to the copyrighted work as a whole; and
- (4)the effect of the use upon the potential market for or value of the copyrighted work.
View publication statsView publication stats