Professional Documents
Culture Documents
Software-Defined Radio
ANALOG DEVICES
ROBIN GETZ
TRAVIS COLLINS
MATHWORKS
CURIE CHUNG
NOAM LEVINE
RICHARDSON RFPD
MARK VITELLARO
VINCE WRIGHT
► https://wiki.analog.com/sdrseminars
ROBIN GETZ
TRAVIS COLLINS
MATHWORKS
CURIE CHUNG
NOAM LEVINE
RICHARDSON RFPD
MARK VITELLARO
VINCE WRIGHT
► Portions of this presentation are ©2018 Analog Devices, Inc. All rights reserved.
► Portions of this presentation are ©2018 MathWorks. All rights reserved.
► Portions of this presentation are ©2018 Richardson RFPD. All rights reserved.
These PowerPoint slides are the intellectual property of the content creator and are protected under
the copyright laws of the United States of America and other countries. All rights are reserved. All
trademarks are the property of their respective owners.
While we have made every attempt to ensure that the information contained in this presentation is
accurate and reliable, neither Analog Devices, MathWorks or Richardson RFPD is responsible for
errors or omissions, or for the results obtained from the use of this information. All information is
provided “as is” with no guarantee of completeness, accuracy, timeliness or the results obtained from
the use of this information, and without warranty of any kind, expressed or implied, including, but not
limited to warranties of performance, merchantability and fitness for a particular purpose.
Danny Molezion
RF Applications Engineer NA
9
Presenters : Analog Devices
Travis holds M.S. and Ph.D. degrees in electrical and computer engineering from Robin has spent 25 years in the semiconductor industry, and has held positions
Worcester Polytechnic Institute (WPI) in Worcester, MA. Dr. Collins’ research is ranging from applications engineer to field applications engineer to director of
focused on small cell interference modeling, phased-array localization, and high engineering. He has worked on a variety of systems in the analog, digital, RF, and
performance computing for software defined radio (SDR). He has extensive software domains, as well as with large direct customers and smaller customers.
Robin has been with Analog Devices for 19 years and is the director of
experience developing for SDR applications in many different software engineering for Analog Devices Inc. Systems Development Group, where he
environments, hardware architectures, and remains active in several opensource- works creating HDL interfaces and device drivers for ADI’s mixed-signal IC
based SDR projects. Currently, Dr. Collins works as a development engineer for products. He holds four patents and a B.Sc. (EE) from the University of
Analog `Devices, Inc. (ADI) in the Systems Development Group. At ADI, Dr. Saskatchewan.
Collins is responsible for transceiver applications and works heavily on hardware
and software integration projects. Linked In : https://www.linkedin.com/in/rgetz/
Noam has worked in Technical Marketing at MathWorks for 10 years, Curie has spent 17 years working on various aspects of FPGA designs
concentrating on hardware-targeted, application-based workflows. and tools, from digital and system designs, HDL code generation and
Prior to joining MathWorks, Noam spent over 15 years in the verification tools development, to her current role in application
semiconductor industry working on digital signal processing solutions. engineering, where she works with customers to evaluate and adopt
He holds an M.S.E.E. from Northeastern University and a B.S.E.E. MathWorks products into their FPGA/ASIC design flow. Curie holds an
from Boston University. MSEE from Stanford University and a BSEE from University of
Michigan, Ann Arbor.
• Value-Added Services
• Design-In Resources, System Integration, Testing and Application Engineering
RFPD Richardson
Richardson RFPD, Inc
A Business Unit
of RELL RFPD, Inc
An Arrow Company
Throughout the Company’s evolution, the philosophy has not changed, Richardson RFPD
remains a design-led RF and Power Specialized Distributor, providing both suppliers and
customers, technology design support and market awareness
Richardson RFPD Line Card
• www.richardsonrfpd.com
Time Presenter Topic
8:00 – 8:30 Richardson • Check In / Coffee
• Pick up hardware and Textbook
8:30 – 9:00 Analog Devices • Debug Software Installation Issues
MathWorks • Check Connectivity to hardware
9:00 – 9:10 Richardson Introductions
9:10 – 9:45 Analog Devices • ADI Prototyping Ecosystem (RadioVerse)
• AD9361 (chip)
• Pluto SDR (system)
• Instructor lead demo of dump1090
9:45 – 10:00 MathWorks Model Based Design
10:00 – 10:45 Analog Devices IIO infrastructure and Software Tools
• capture and control radio with IIO command line tools, and the
Brief Intro to the Pluto SDR IIO Oscilloscope
• Hands on labs
10:45 – 11:15 MathWorks MATLAB and Simulink and system objects
• Hands on labs
11:15 – 11:30 Analog Devices Data Flow and Transfers
11:30 – 12:30 Analog Devices Basic communications theory
• Hands on labs
12:00 Lunch
12:30 – 12:45 MathWorks Advanced Workflows
12:45 – 1:00 Analog Devices Moving to Custom Hardware
1:00 – 1:30 Richardson Signal Chain
1:30 - ? All Questions / Answers
6 power supplies
4 different USB applications
Simulation and
Code Transitional
Generation Hardware
Tools
Flexible
Infrastructure
PlutoSDR aaaaa
Custom aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Algorithm Design
Research Prototype Production
Development Elaboration
Rx
ARM
PCB Component
Channel Attenuation
frequency wide
turning range (70 –
6000 MHz)
(Close to datasheet
specs)
Tx
► The Fourier is fundamentally a change of ► Gibbs phenomenon, which states if you add
basis. The basis into which the Fourier sine waves at specific frequency / phase /
changes your original signal is a set of sine amplitude combinations you can approximate a
waves instead. square wave,
► In order for that basis to describe all the
possible inputs it needs to be able to represent
phase as well as amplitude;
▪ the phase is represented using complex numbers.
𝐴 ∅ = 𝑅𝑒𝑎𝑙 + 𝑗 𝐼𝑚𝑎𝑔
Modulator stage
16
32
32
Ethernet Ethernet
Platform FPGA Logic Block DSP Cores Platform Device Tuning Bandwidth MSPS Tx Rx
Cells RAM Slices Range
ADI Zynq 7010 28k 2.1 Mb 80 1 x ARM A9 ADALM-PLUTO AD9363 300 – 3800 200 kHz – 61.44 1 1
ADALM-PLUTO @ 666 MHz MHz 20 MHz MSPS
Xilinx Zynq 7020 85k 4.9 Mb 220 2 x ARM A9 AD-FMCOMMS2 AD9361 2400 – 200 kHz – 61.44 2 2
ZED @ 866 MHz 2500 MHz 56 MHz MSPS
ADI Zynq 7020 85k 4.9 Mb 220 2 x ARM A9 AD-FMCOMMS3 AD9361 70 – 6000 200 kHz – 61.44 2 2
ADRV9364-Z7020 @ 866 MHz MHz 56 MHz MSPS
ADI Zynq 7035 275k 17.6 Mb 900 2 x ARM A9 AD-FMCOMMS4 AD9364 70 – 6000 200 kHz – 61.44 1 1
ADRV9361-Z7035 @ 866 MHz MHz 56 MHz MSPS
Xilinx Zynq 7045 350k 19.2 Mb 900 2 x ARM A9 ADI AD9361 70 – 6000 200 kHz – 61.44 2 2
ZC706 @ 866 MHz ADRV9361-Z7035 MHz 56 MHz MSPS
Intel Arria 10 SoC 10AS066 660k 47.7 Mb 3,376 2 x ARM A9 ADI AD9364 70 – 6000 200 kHz – 61.44 1 1
@ 1.5 GHz ADRV9364-Z7020 MHz 56 MHz MSPS
Xilinx Zynq 600k 40.8 Mb 2,520 4x ARM A53 ADRV9371- AD9371 300 - 6000 8 MHz to 122.88 2 2+
ZCU102 Ultrascale @ 1.5 GHz WPCBZ MHz 100 MHz MSPS Obs
XCZU9EG
ADRV9009- ADRV9009 75 - 6000 200 MHz 245.76 2 2
ADI Zynq 653k 52.7 Mb 2,928 4x ARM A53 W/PCBZ MHz MSPS
ADRV9009- Ultrascale @ 1.5 GHz
ZCU11EG XCZU11EG ADRV9009- 2x 75 - 6000 200 MHz 245.76 4 4
ZCU11EG ADRV9009 MHz MSPS
Connect to host USB Thumb Drive USB LAN USB WiFi USB Audio
eLinux
32
▪ Can be standalone
▪ ~ same performance as Rasberry Pi 1
▪ Supports USB Host
▪ Open Source Firmware, Open Source HDL, Open
Schematics
Algorithm Design
Research Prototype Production
Development Elaboration
Research
• Behavioral
Simulation
• Streaming data
to MATLAB
and IIO-Scope
Research Algorithm
Development
• Behavioral • MATLAB
Simulation reference
• Streaming data implementation
to MATLAB • Hardware
and IIO-Scope streaming
Tx data mux
PlutoSDR aaaaa
Custom aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
▪ MathWorks page
▪ https://www.mathworks.com/solutions/model-based-design.html
http://www.iconarchive.com/show/noto-emoji-objects-icons-by-google/62807-radio-icon.html
http://www.streamlineicons.com
http://pixelkit.com
LO Frequency
/sys/
bus/ 1dB Step Size
iio/
iio:device0/
DEVICE CHANNEL
AT T R I B U T E AT T R I B U T E
Shell Commands:
/sys/bus/iio/iio:device0 # cat name
ad8366-lpc
/sys/bus/iio/iio:device0 # echo 6 > out_voltage1_hardwaregain
/sys/bus/iio/iio:device0 # cat out_voltage1_hardwaregain
5.765000 dB
©2018 Analog Devices, Inc. All rights reserved.
48
IIO – libiio
import iio
► Abstracts away low level details of the IIO kernel
ctx = iio.Context()
ABI
▪ Kernel ABI is designed to be simple and efficient for dev in ctx.devices:
print dev.name
▪ libiio focuses on ease of use
► Provides high-level C, C++, C# or Python
programming interface to IIO (Language bindings)
C C++ C#
Language Bindings
High-level API
Backends
For more information:
https://github.com/analogdevicesinc/libiio
http://wiki.analog.com/resources/tools-software/linux-software/libiio_internals
http://analogdevicesinc.github.io/libiio/
Backends
local NET USB PCIe Serial
Linux Kernel
► GNU Radio
► 3rd part apps
▪ SDR Angel
▪ GQRX
▪ SDR#
▪ …
► iio_info : Information about all IIO devices, backends and context attributes
▪ iio_info -s
▪ iio_info –u ip:192.168.2.1
► iio_reg : Read or write SPI or I2C registers in an IIO device (useful to debug drivers)
▪ iio_reg adrv9009-phy 0
► Demo of iio-utils
▪ Open IIO Scope
▪ Attach USB Devices (Pluto)
▪ Capture and Display Signals
▪ Change LO
http://www.iconarchive.com/show/noto-emoji-objects-icons-by-google/62807-radio-icon.html
http://www.streamlineicons.com
http://pixelkit.com
► 20 min
http://www.iconarchive.com/show/noto-emoji-objects-icons-by-google/62807-radio-icon.html
http://www.streamlineicons.com
http://pixelkit.com
Pluto SDR
http://www.iconarchive.com/show/noto-emoji-objects-icons-by-google/62807-radio-icon.html
http://www.streamlineicons.com
http://pixelkit.com
► 10 min
http://www.iconarchive.com/show/noto-emoji-objects-icons-by-google/62807-radio-icon.html
http://www.streamlineicons.com
http://pixelkit.com
► Controlling transceiver
► Getting data to and from
Pluto SDR transceiver
Incoming queue
…
Outgoing queue
Air interface
• Continuous time
RF
• Bandwidth
• LO
Data interface
• Discrete samples A B C D A B C D
• 12-bits, I/Q
• 520 kSPS to 61.44 MSPS
• FPGA + ARM
• Buffers
PLUTO
A B C D A B C
Transfer (USB)
• buffers
• samples
• Limited by USB speed
• Latency dominated by operating system
A B C D A B C
Application
HOST
• Limited by PC MHz
• Limited by PC memory
• Some frameworks are not threaded
Air interface
• Continuous time
RF
• Bandwidth
• LO
Data interface
A B C D A B C D
• Discrete samples
• 12-bits, I/Q
• 520 kSPS to 61.44 MSPS
• FPGA + ARM
• Buffers
PLUTO
Transfer (USB) A B C D A
• buffers
• samples
• Limited by USB speed
• Latency dominated by operating system
Application
HOST
• Limited by PC MHz
• Limited by PC memory
• Some frameworks are not threaded
Air interface
• Continuous time
RF
• Bandwidth
• LO
Data interface
• Discrete samples A B C D A B
• 12-bits, I/Q
• 520 kSPS to 61.44 MSPS
• FPGA + ARM
• Buffers
PLUTO
A B
Transfer (USB)
• buffers
• samples
• Limited by USB speed
• Latency dominated by operating system
A B
Application
HOST
• Limited by PC MHz
• Limited by PC memory
• Some frameworks are not threaded
http://www.iconarchive.com/show/noto-emoji-objects-icons-by-google/62807-radio-icon.html
http://www.streamlineicons.com
http://pixelkit.com
Algorithm Design
Research Prototype Production
Development Elaboration
Seconds
MB/s External
MByte/s of RF
MHz MSPS single Memory
(I/Q) Data in
channel (Mbytes)
Memory
56 61.44 122.88 245.76 128 0.521
18 30.72 61.44 122.88 128 1.042 512 MBytes on Pluto SDR
9 15.36 30.72 61.44 128 2.083 Linux kernel continuous memory allocator;
4.5 7.68 15.36 30.72 128 4.167 128MBytes for Tx, and 128MBytes for Rx
2.25 3.84 7.68 15.36 128 8.333
Takes about ~4 seconds to transfer 128
.200 0.520 1.04 2.08 128 61.44
Mbytes over USB 2.0
Algorithm Design
Research Prototype Production
Development Elaboration
► Topics covered:
▪ Intro to signal processing and probability
▪ Intro to hardware and controlling software
▪ Timing Recovery
▪ Frequency Recovery
▪ Frame Synchronization
▪ Channel Equalization and Coding
▪ OFDM
▪ Advanced Topics
76 ©2018 Analog Devices, Inc. All rights reserved.
Understanding Sources of “Offset”
Turn into
80
Questions about signal recovery?
► Questions?
http://www.iconarchive.com/show/noto-emoji-objects-icons-by-google/62807-radio-icon.html
http://www.streamlineicons.com
http://pixelkit.com
► 45 min
Algorithm Design
Research Prototype Production
Development Elaboration
Algorithm Design
Research Prototype Production
Development Elaboration
87
Design Elaboration
88
Design Flow
Algorithm Design
Research Prototype Production
Development Elaboration
Algorithm Design
Research Prototype Production
Development Elaboration
Tx data mux
Algorithm Design
Research Prototype Production
Development Elaboration
► Hardware
▪ AD-FMCOMMS2-EBZ (AD9361)
▪ Narrow RF Tuning Range
▪ AD-FMCOMMS3-EBZ (AD9361)
▪ Wide RF Tuning Range
▪ AD-FMCOMMS4-EBZ (AD9364)
▪ Narrow and Wide tuning range
▪ AARADIO (AD9361)
Arrow SoCKit + ARRADIO
▪ Narrow RF Tuning Range
ZC706 + FMCOMMS2
► Radio ► Radio
▪ 200kHz - 56 MHz RF bandwidth ▪ 200kHz - 56 MHz RF bandwidth
▪ 128-tap FIR Filters for equalization ▪ 128-tap FIR Filters for equalization
▪ 70 – 6000 MHz tuning range ▪ 70 – 6000 MHz tuning range
▪ 2 Rx, 2 Tx, 2 Tx Monitor ▪ 1 Rx, 1 Tx, 1 Tx Monitor
ADI AD9361 ADI AD9364
► 10/100/1000 Ethernet (MAC + Phy) ► 10/100/1000 Ethernet (MAC + Phy)
► USB 2.0 (OTG Controller + Phy) ► USB 2.0 (OTG Controller + Phy)
► Low power ► Low power
▪ sub 5W at full RF data rates ▪ sub 5W at full data rates
► Full Linux based reference design ► Full Linux based reference design
► Fully integrated and tested system ► Fully integrated and tested system
► Common 400 pin connector ► Common 400 pin connector
► Digital I/O pins : ► I/O pins :
► U.FL connectors : 10 ► U.FL connectors : 5
AD9361 based RF SOM Hardware
Same
SOM
PCIe
©2018 Analog Devices, Inc. All rights reserved.
PackRF : field trials
IMU
Battery RF Card
Toward the analog
Same RF-SOM
New Carrier
Board
Same
Connectivity
RX TX
950 MHz
Modem 1aaaaa a Modem 2
PackRF sss Aaa PackRF
TX RX
900 MHz
▪ Station 2
▪ RF Link
▪ Simple FDD Modem
▪ TCP/UDP link via tun/tap
▪ FFMPEG (in userspace) to receive video
112
Questions about PackRF?
▪ Station 2
▪ RF Link
▪ Simple FDD Modem
▪ TCP/UDP link via tun/tap
▪ FFMPEG (in userspace) to receive video
http://www.iconarchive.com/show/noto-emoji-objects-icons-by-google/62807-radio-icon.html
http://www.streamlineicons.com
► Available for sale in Jan 2019 http://pixelkit.com
PlutoSDR aaaaa
Custom aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Ecosystems Support
Documentation
115
Support and help
VISIBLE
RADIO FREQUENCY MICROWAVE MILLIMETERWAVE LIGHT
HMC580ST89E HMC556
HMC576
DC – 1 GHz 36 - 41 GHz
18 - 29 GHz Fout
Rx Path
TX Path
Rx and/or Tx
LO Path
30MHz to 6GHz Band Solution
Bits to Antenna and Back
RF Design Tools
123
RF Design Tools (Continued)
124
Richardson RFPD Radio
Development Tools
125
RadioVerse™: Richardson RFPD Microsite
► Wideband Transceivers
▪ Product Overview/Video
▪ Product Page – Datasheet, Design file
packages
► Evaluation Tools and Dev Kits
▪ Evaluation Boards
▪ Development Platforms
▪ Programmable SoC Boards
► Collateral
▪ Selector Guides
▪ Brochures
▪ Demo Videos
Visit: http://apps.richardsonrfpd.com/mktg/Analog_Devices_RadioVerse.html
126
System Block Diagram of the SDR Development Kit
The FPGA, RF Transceiver, and RFFE are the basic building blocks of the SDR system
A Modular SDR Development Kit
ADI-DPD-DEVKIT
1. Follow the Quick-Start Guide to easily configure the kit within hours
– Minimum performance: 5W average, 790MHz / 763MHz, 20MHz BW, Single Carrier LTE, 7.5dB PAPR,
45% PA Efficiency, 52dBc ACLR
2. Once configured, enable a wide variety of system characteristics through the intuitive software
GUIs for controlling the transceiver and RFFE
– Single and Multicarrier configuration
– Up to 20MHz instantaneous bandwidth (with DPD)
– Power adjustment (1-5W avg @ antenna)
– Band adjustment (toggle between LTE Band 14 and 28 via interchangeable duplexers
– Balance linearity vs efficiency
Other Benefits
► See the benefits of moving the digital predistortion (DPD) algorithms from the FPGA to the
transceiver
What’s Next?
We welcome your inputs. What hardware would you like to see as our next development tool?
References