30
1 © 2017 The MathWorks, Inc. Developing and Implementing Software Defined Radio Applications Stephan van Beek Technical Manager

Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

1© 2017 The MathWorks, Inc.

Developing and Implementing

Software Defined Radio Applications

Stephan van Beek Technical Manager

Page 2: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

2

Introduction to the Speaker

Stephan van Beek

BSc in Electronics

Field Engineer at Anorad Europe BV

with a focus on motion control systems

Application Engineer at Océ Technologies BV (A Canon Company)

electronic design methodology group focusing on optimizing FPGA design-flows

Pan-EMEA Application Engineer / Technical Manager at MathWorks Netherlands

working with customers to optimize their FPGA/ASIC/SoC design-flows

2

Page 3: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

3

What is a Software Defined Radio system?

Analog Front

End

Filters, Mixer,

ADC/DAC

Tunable RF Card FPGA / SoC Board Host computer

Commercial-off-the-shelf hardware

Baseband

Processing

Modulation

Digital Front End

Digital Filters,

Sample Rate

Conversion

Radio in which some or all of the physical layer functions are software defined

A radio is a device that wirelessly transmits or receives signals in the radio

frequency (RF) spectrum to facilitate the transfer of information.

SDR enables: adding new functionality, remote upgrades, re-use of algorithms

Page 4: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

4

Why is streamlining the SDR design flow so important?

Radios are everywhere

New standards emerging to enable

new applications

Need a flexible platform for

rapid innovation!

Page 5: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

5

FPGA / Board

Design

Linux Driver

Development

Communications

Theory

Digital Signal

ProcessingRF Architecture

Challenges in SDR Design and Implementation

• Real scenarios - variety of waveforms

• Requires a wide range of skill sets

• Different working views/environments

Page 6: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

6

Test with Hardware and Over-the-Air Signals

Test your algorithms with real signals and scenarios

– Connectivity with instruments or SDR platforms

– Deployment to SDR platforms, or to your own hardware

RF Signal Generator

Spectrum Analyzer

Zynq Radio SDR

USRP SDR

Use Supported Hardware…

…Or Your Own Hardware

HDL Coder and Embedded

Coder to implement your design

on FPGA and DSP platformsEricsson paper: Radio Testbed Design Using HDL Coder:http://www.mathworks.com/videos/radio-testbed-design-using-hdl-coder-92636.html

Page 7: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

7

Ideal Design Environment Goal

Common design environment across multiple teams to streamline development

Target off-the-shelf hardware for prototype development – with a path to

production

Page 8: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

8

ChallengeDevelop a military standard SDR waveform for satellite

communications

SolutionUse Simulink to rapidly design, debug, and automatically

generate code for an SDR signal processing chain

Results Project development time reduced by 80%

Problems found and eliminated faster

Clocking and interfacing simplified

“Using Simulink we designed

and developed the signal

processing chain of the SDR

and achieved a 10-to-1

reduction in development time.”

Dr. David Haessig

BAE Systems

Custom board used in the

traditional design workflow.

BAE Systems Achieves 80% Reduction in Software-

Defined Radio Development Time

Page 9: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

9

BAE Systems Achieves 80% Reduction in Software-

Defined Radio Development Time

“It took 645 hours for an engineer with years of

VHDL coding experience to hand code a fully

functional SDR waveform using our traditional

design flow. A second engineer with limited

experience completed the same project using

Simulink in fewer than 46 hours.”

Page 10: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

10

Elements of Software Defined Radio (SDR) & Design Workflow

RF

Transceiver

Baseband

Processing

Test and

Verification

MATLAB and Simulink

Baseband

Processing

Test and

Verification

MATLAB and Simulink

Test and

Verification

MATLAB and Simulink

ZC7035

System ModelingRadio I/O

PrototypingStandalone

Implementation ready

model

Page 11: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

11

Xilinx Zynq SoC-Based / FPGA Radio – Workflow

Model Based Design

WorkflowDevelop & Verify receiver algorithms and design

• Simulation Model

• Radio I/O

• Implementation

Ready Model

• Prototyping and

Standalone

Page 12: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

12

Development of a QPSK Transmitter and ReceiverValidate system models through simulation with relevant metrics

Page 13: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

13

Executable Specification of AD9361 receive path

https://www.mathworks.com/hardware-

support/analog-devices-rf-transceivers.html

Page 14: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

14

Xilinx Zynq SoC-Based / FPGA Radio – Workflow

Model Based Design

WorkflowTest design with realistic impairments

• Simulation Model

• Radio I/O

• Implementation

Ready Model

• Prototyping and

Standalone

Page 15: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

15

Streaming

to/from hostRF I/O

Analog

Front-End

Baseband Processing

on HostInformation

Sample Rate Conversion

on FPGA / SoC

Desktop Design and SimulationSDR FPGA Hardware

Capability 1: Radio I/O

Execute fixed radio functions on FPGA / SoC

Tunable pre-defined radio parameters

Easy out-of-the-box experience

Page 16: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

16

Radio I/OUse realworld data to develop system models

Page 17: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

17

Xilinx Zynq SoC-Based / FPGA Radio – Workflow

Model Based Design

WorkflowUse HDL supported blocks and data types

• Simulation Model

• Radio I/O

• Implementation

Ready Model

• Prototyping and

Standalone

Page 18: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

18

Development of a QPSK Transmitter and Receiver

1. Convert model to fixed-point data types

2. Elaborate design for efficient HW implementation

3. Generate and synthesize HDL code

4. Optimize HDL performance

5. Test and verify against floating-point model at every design stage

Page 19: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

19

Optimize HDL Performance

Speed optimization options

– Distribute pipeline registers to reduce critical path

– Insert pipeline registers at clock rate for multi-rate designs

– Automatically balance delays on parallel data paths

Area optimization options

– Share multipliers, adders and subsystems

– Partly and fully serial FIR, IIR filter architectures

– Map delays to RAM blocks

– CSD/FCSD multipliers (shifts and adds)

Page 20: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

20

Requirements

Automatically Generate Efficient HDL code

Full bi-directional

traceability!!

Page 21: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

21

FIL simulation with FPGA development board:– Reuse of existing ML/SL testbenches

– HDL code execution on FPGA

– Flexible HDL sources (handwritten or auto generated code)

– Automated generation of co-simulation infrastructure

(Ethernet, JTAG, PCIe)

Algorithmic System-level Testbench

Component

ModelAnalysis

Component

Model

Environment

Model

Data

Source

Alg

ori

thm

FIL

FPGA-in-the-Loop Verification of HDL Source Code

HDL Verifier

Page 22: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

22

Xilinx Zynq SoC-Based / FPGA Radio – Workflow

Model Based Design

WorkflowImplement final design on SoC / FPGA

• Simulation Model

• Radio I/O

• Implementation

Ready Model

• Prototyping and

Standalone

Page 23: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

23

Capability 2: SDR Target

Streaming

to/from hostRF I/O

Analog

Front-End

User-Designed

Host AlgorithmsInformation

User-Designed

FPGA / SoC Algorithms

Desktop Design and SimulationSDR FPGA/SoC Hardware

Generate code to implement user-defined algorithms on FPGA / SoC

Customized using HDL Coder

Page 24: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

24

Targetable Receiver/Transmitter Model

Run on Programmable Logic

Run on ARM Processing System

Page 25: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

25

HW/SW Co-Design QPSK Transmit and Receive Using

Analog Devices AD9361/AD9364

Easy testing of algorithms on

SoC / FPGA hardware

Page 26: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

26

Software Interface Model

Interact with SDR application

running real-time on target

Page 27: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

27

ChallengeAccelerate the development of optimized digital receiver chains for

wireless RF devices

SolutionUse MathWorks tools for Model-Based Design to generate

production VHDL code for rapid FPGA and ASIC implementation

Results Prototypes created 50% faster

Verification time reduced from weeks to days

Optimized, better-performing design delivered

“Writing VHDL is tedious, and the

handwritten code still needs to be

verified. With Simulink and HDL

Coder, once we have simulated the

model we can generate VHDL directly

and prototype an FPGA. It saves a lot

of time, and the generated code

contains some optimizations we

hadn’t thought of.”

Frantz Prianon

Semtech

The Semtech SX1231 wireless transceiver.

Semtech Speeds Development of Digital Receiver

FPGAs and ASICs

Page 28: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

28

FPGA-based PrototypingTime spent on FPGA/ASIC implementation

Shorter implementation time by 48% (total project 33%)

Reduced FPGA prototype development schedule by 47%

Shorter design iteration cycle by 80%1st FPGA Prototype 2nd FPGA Prototype

1st FPGA Prototype

Page 29: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

29

ChallengeDevelop a novel digital RF power subsystem for use in

MRI systems

SolutionUse Simulink to model, simulate, and verify the design,

and use HDL Coder to generate consistent and predictable

VHDL code for the FPGA implementation

Results Design issues resolved early in development

Tradeoffs rapidly assessed and implemented

Process consistency and predictability improved

Van Helvoort (left) and van Bakel with a

Philips Healthcare MRI scanner.

Philips Healthcare Develops Smart Digital RF

Power Subsystem for MRI Systems

“Simulink helps system architects

and hardware designers

communicate. It is like a shared

language that enables us to

exchange knowledge, ideas, and

designs. Simulink and HDL Coder

enable us to focus on developing

our algorithms and refining our

design via simulation, not on

checking VHDL syntax and coding

rules.”

Marcel van Bakel

Philips Healthcare

Page 30: Developing and Implementing Software Defined Radio ... · Optimized, better-performing design delivered “Writing VHDL is tedious, and the handwritten code still needs to be verified

30

More information

mathworks.com/sdr

White papers

Videos

Examples

Nokia already had an FPGA prototyping workflow based on hand writing HDL code, but increased their productivity and found better hardware architectures by moving to higher-level design and verification:» More details: Rapid Prototyping Using HDL Coder at Nokia

If you would like an overview of how to start prototyping radio signal processing algorithms on FPGA platforms:» More details: Getting Started with Software-Defined Radio using MATLAB and Simulink