SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR...

15
SOFTWARE DEFINED RADIO USR SDR WORKSHOP, SEPTEMBER 2017 PROF. MARCELO SEGURA SESSION 1: SOFTWARE TOOLS 1

Transcript of SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR...

Page 1: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

SOFTWARE DEFINED RADIOUSR SDR WORKSHOP, SEPTEMBER 2017

PROF. MARCELO SEGURA

SESSION 1: SOFTWARE TOOLS

1

Page 2: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

USC SDR WORKSHOP

UNIVERSAL HARDWARE DRIVER

• USRP

• Libusrp

• Libusrp-gnuradio

• Python dboard code

• C++ dboard code

• Usrp_* examples and utils

• USRP2

• Libusrp2 (linux only)

• libusrp2-gnuradio

• C dboard code in FW

• Usrp2_* examples and utils

• NOT SCALE

DR ING MARCELO SEGURA

2

BRIEF HISTORY

Page 3: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

USC SDR WORKSHOP

UHD

• UHD is an C++ API, that allow to interface a host with any USRP boards.

• Instantiate device object on Matlab or GNURadio.

• SET/GET FUNCTION

• SEND/ RECEIVE SAMPLES (HOST: Ring buffer, SDR: BRAM FIFO)

DR ING MARCELO SEGURA

3

DEFINITION

Page 4: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

USC SDR WORKSHOP

MATLAB SDR DESIGN

DR ING MARCELO SEGURA

4

NEXT GEN WIRELESS DEVELOPMENT

REQUIRES AT LEAST 7 DIFFERENT SKILLS!!!

Page 5: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

USC SDR WORKSHOP

MATLAB SDR DESIGN

• We primarily use Comm & DSP toolbox

DR ING MARCELO SEGURA

5

TOOLBOX

Page 6: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

USC SDR WORKSHOP

MATLAB SDR DESIGN

DR ING MARCELO SEGURA

6

DESIGN WORKFLOW

Page 7: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

USC SDR WORKSHOP

MATLAB SDR DESIGN

DR ING MARCELO SEGURA

7

PROTOTYPING WORKFLOW

Page 8: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

USC SDR WORKSHOP

MATLAB SDR DESIGN

DR ING MARCELO SEGURA

8

PROTOTYPING WORKFLOW

Page 9: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

USC SDR WORKSHOP

MATLAB SDR DESIGN

• Create your own IP core

• Performance

• Interface speed

• Hardware accelerators

DR ING MARCELO SEGURA

9

PROTOTYPING WORKFLOW

Page 10: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

USC SDR WORKSHOP

UHD + MATLAB

• Matlab System objects are the base building block to communicate with SDR.

• System objects are designed specifically for implementing and simulating dynamic systems with inputs that

change over time.

• Matlab objects have a predefined structure that allow to control and send/receive date from SDR.

DR ING MARCELO SEGURA

10

DEFINITION

Page 11: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

USC SDR WORKSHOP

UHD + MATLAB

• UHD ON A SYSTEM BLOCK

DR ING MARCELO SEGURA

11

SUPPORT PACKAGE

Page 12: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

USC SDR WORKSHOP

UHD + MATLAB

• The sampling rates should be matched with the master clock rate.

DR ING MARCELO SEGURA

12

DIGITAL UP/DOWN CONVERSION RATES

Page 13: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

USC SDR WORKSHOP

UHD + MATLAB

• SDRu RX block:

• Serial Number of B200 mini

• Channel Mapping: 1 SISO, [1 2] MIMO

• Center Freq: LO frequency

• LO Offset: offset freq to avoid LO leakage or self interference.

• Gain: overall gain including both analog and digital components.

• Transport data: 16 bit default

• Samples per frame: to optimize Ethernet packet.

• Burst mode: to test systems that cannot run on real time, avoiding overrun or

Underrun.

DR ING MARCELO SEGURA

13

SUPPORT PACKAGE

Page 14: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

USC SDR WORKSHOP

UHD + MATLAB

DR ING MARCELO SEGURA

14

TX/RX BLOCK CONFIG

Page 15: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-3-SOFTWARE-TOOLS.pdfUSC SDR WORKSHOP UHD + MATLAB •Matlab System objects are the base building block to communicate

USC SDR WORKSHOP

MATLAB

• Lab 1 : INSTALLING B200 on MatLab

DR ING MARCELO SEGURA

15

GETTING START