A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron...

26
A Design Workflow for Software Defined Radios Frederick Weidling [email protected] Presented August 22, 2007 to: Dr. Gary J. Minden Dr. Joseph B. Evans Dr. Alexander M. Wyglinski

Transcript of A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron...

Page 1: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

A Design Workflow for Software Defined Radios

Frederick [email protected]

Presented August 22, 2007 to:Dr. Gary J. Minden

Dr. Joseph B. EvansDr. Alexander M. Wyglinski

Page 2: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

2

Acknowledgements• Defense Committee

• Dr. Gary J. Minden (Chair)• Dr. Joseph B. Evans• Dr. Alexander M. Wyglinski

• KU Agile Radio Group• Leon Searl and Dan DePardo• Jordan Guffey, Rory Petty,

Tim Newman, Brian Cordill, Dinesh Datla, RakeshRajbanshi, Qi Chen, and Megan Peck

Page 3: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

3

Outline• Background

• Software Defined Radios (SDR)• Dynamic Spectrum Access (DSA)

• Proposed Research• A workflow for SDRs

• Validation• Apply design workflow to KUAR• Generate systems

• Extension• Generic SDR API• Hardware Agnostic Cognitive Network

• Conclusion

Page 4: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

4

What is an SDR?• Ideal SDR

• Direct conversion between digital samples and analog waveform• Use only general purpose processors (GPP)• Unrealistic for high frequencies – cost, processor speed, algorithm complexity

• Practical SDR• Baseband processing, analog components translate to transmission band• Optimizations using digital signal processors (DSP) and field programmable

gate arrays (FPGA)

Page 5: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

5

Why do we need SDRs?• FCC “Command-and-

Control” Policy Limits• What can be transmitted• Who can transmit• Where they can transmit

• Results in apparent spectrum scarcity• Restricts research and novel

services• New York 13.1% utilization

3.0 MHz – 3.0 GHz• TV utilization often less than

50%

• Solution: SDRs

Page 6: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

6

Dynamic Spectrum Access• SDR detects unused frequencies (whitespace) and utilizes them• Cognitive Radio (CR)

• Radio which adapts to its environment• Cognitive algorithms implemented on SDR platforms

• Dynamic Spectrum Access (DSA)• Avoid licensed users• Utilize whitespace

Image From “Spectrum Pooling an Innovative Strategy for the Enhancement of Spectrum Efficiency,” by T. Weiss and F. Jondral

Page 7: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

7

Current SDR Technologies• Universal Serial Radio Peripheral (USRP)

• Generic RF front-end• Modular transmit/receive bands

• GNU Radio• Open source SDR software• Only supports general purpose processors• Based around USRP

• Global Mobile (GloMo) API• Generic radio modem API

• Software Communications Architecture (SCA)• CORBA based communications model for SDR modules

• Joint Tactical Radio System (JTRS)• SDR platform commissioned by Defense Advanced Research Projects

Agency (DARPA)• Built using SCA

Page 8: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

8

The KU Agile Radio (KUAR)• Digital Board

• 1.4 GHz Pentium M• 1 GB RAM & 8 GB microdrive• PCI Express, USB, 1 Gb ethernet• 160 MSPS Digital-to-Analog Converter (DAC)• 105 MSPS Analog-to-Digital Converter (ADC)• Xilinx Virtex II Pro 30 FPGA

• RF Front-End• Modular• 5.25 GHz – 5.85 GHz UNII Research Band• Receiver sensitivity -100 dBm• Transmitter power +25 dBm• Quadrature modulation & demodulation• Baseband bandwidth of 30 MHz

Page 9: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

9

SDR: A Federation of Components• Variety of components must work in unison to

transmit/receive• General purpose processors• Special purpose processors (FPGA, Microcontrollers)• Frequency synthesizers• Modulators/Demodulators• Attenuators

• Different types of design problems on SDR• Cognitive network design• Real time data management• Communication systems

Page 10: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

10

Development Domains• Break the problem into domains

• Reconfigurable hardware domain aimed at Communications Engineers

• Embedded software domain aimed at System Engineers• Radio management domain aimed at Network Engineers and

general radio maintenance

• Each domain has its own workflow requirements• Different set of development tools• Each domain’s toolset must support designing, implementing,

and verifying modules• Domains interact but implementations are independent

Page 11: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

11

Reconfigurable Hardware Domain• Implement physical layer

communication systems• Direct access to ADC/DAC• Signal processing

optimizations possible in FPGA

• Generic memory elements need to be provided• Bus controller• Buffers (FIFOs, RAMs)• Registers (Status, Control)

Page 12: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

12

Embedded Software Domain• Manage hardware

interfaces and data streams

• Components• Dynamic Hardware Interface:

configure/communicate with reconfigurable hardware

• Static Hardware Interface: communicate with RF modules and sensors

• Spectrum Sensing: perform spectral sweeps

• Waveform Protocols: physical layer protocols

Page 13: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

13

Radio Management Domain• Radio Management

• Diagnostic tools• Network protocols• Spectrum access protocols

• User interface enables network tests• Control multiple radio nodes• Define co-operative tests• Display results

Page 14: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

14

Implementation on the KUAR• Reconfigurable Hardware Domain

• Xilinx Virtex II FPGA• PCI, PCIe, or USB bus

• Embedded Software Domain• 1.4 GHz Pentium M with 1 GB RAM

• Radio Management Domain• Remote KUAR interface

VGA

Xilinx Virtex IIPro FPGA

CPU/Mis.Memory

512k x 32 bit

OutputMemory

256k x 32 bit

InputMemory

256k x 32 bit

ADC

SDRAM1 GBPCI-eXpress

1 Lane

PCI

USB

IDE

GPS

Mouse

Monitor

Network

I2C

TemperatureSensor

I2C

CF Connector

CF+6 GB uDrive

DAC

AD9777Dual 16-Bit

Diff.

Diff.

Diff.

Diff.

16

16

14

14

LTC2284Dual 14-Bit105 Msps

1000BaseT

Front Panel

AudioInput

AudioOutput

ADT7461

KontronETXexpress

1.4 Ghz Pentium-M

USB

USB

29

USBPeripheralController

USB12

SPI

CypressCY7C68013A

3

USBUSB

I2C

FPGAConfiguration

LiBattery

RTC backuppower

FlashCarrier Cnfg

I2C

3 dBPOWERDIVDER

SMV3300A

LO 3

LNA

BASEBAND I

BASEBAND Q

SPI Bus

5.250-5.850 GHz

AD8347I-Q DEMODULATOR800 MHz - 2.7 GHz

GAINCONTROL

I DET Q DET

LNA

1.850-2.450 GHz

AD8349I-Q MODULATOR700 MHz - 2.7 GHz

090

BASEBAND Q

BASEBAND I

LR I

PA

ADF4360-1

ADF4360-2

TX LO 2

3.4 GHz

16.0 MHz

090

Σ

Lumped Microstrip

LR I

(-100dBm)

+8dBi

-4dB +19dB -5dB

-3dB

+19dB

-5dB+9dB-2dB

-10dB -5dB

(+3dBm)

-5dB+9dB

(+7dBm)

-10dB-5dB+17dB

(+9dBm)(+21dBm)

(+25dBm)

+8dBi

JumperSelect

BW=30 MHz

BW=30 MHz

-4dB

(+17dBm)

ADF4360-1

ADF4360-21.850-2.150 GHz

RX LO 1

AD56016 BIT DAC

RX IF GAINCONTROL

AD56016 BIT DAC

TX IF GAINCONTROL

Active TX Antenna Module

Active RX Antenna Module

2.150-2.450 GHz

1.850-2.150 GHz

2.150-2.450 GHz

3.4 GHz

1.850-2.450 GHz5.250-5.850 GHz

(-3dBm)

OPTIONALFor use with passive

antenna

(-8dBm)(-2dBm)(+15dBm)

ADF4113

MC68HC08MicrocontrollerI²C

DPB Input

Keyboard

Page 15: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

15

Communication Systems• Development tools

• Develop using Matlab/Simulink

• Implement using Xilinx VHDL• Verify with Simulink,

Modelsim, and hardware test bench

• Test cases translated down flow

• Verified components added to shared library

• Systems Built• BPSK, MQAM, OFDM,

Spectrum Analyzer, …

Page 16: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

16

Support Libraries• Development tools

• Implement using GCC & GNU Makefile

• User validation & cUnit• FPGA Library

• Configure bit file• Read from and write to hardware

configurations• RF Control Library

• Manage the RF front-end• Set and get frequencies and

gains• Query hardware capabilities

• Monitor Library• Monitor system temperatures

Page 17: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

17

The KUAR Control Panel• Control multiple radios

from one interface• Radio status• Configure radio profile• Control RF front-end

• Define network and single radio tests• Test definitions XML based

• Extendable interface• Java based remote KUAR

API• Programmable test window

Page 18: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

18

KUAR Control Panel: Visualizations

Page 19: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

19

Achievements

• Developed design workflows to handle• Reconfigurable hardware• Embedded software• Radio management

• Implemented on the KUAR• Communications systems

– BPSK, QPSK, OFDM• KUAR API

– RF Control, FPGA Control, Monitoring libraries• Analytical systems

– Whitespace detector, spectrum analyzer

Page 20: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

20

Enabling Generic SDR Development• Physical layer implementations often tailored to

system• Dependent on sampling rates• Optimized for parallel and signal processing• Hard real-time deadlines

• Cognitive algorithms are complex but more generic• Wide variety of issues: whitespace, battery life, channel

characteristics, noise power, …• Complex solutions: frequency selective modulation, expert

systems, genetic algorithms, ontology based systems, …

• Should be able to re-use cognitive algorithms

Page 21: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

21

Hardware Agnostic Network Stack• SDR Platform API

handles the physical layer implementations

• Unifying Layer exposes generic SDR interface

• Traffic Scheduler manages access to shared RF front-end

• Cognitive Network Layer is independent of SDR implementation platform

Page 22: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

22

Unifying Layer• Hardware Manager

• List hardware capabilities• Control RF front-end

• Protocol Manager• List waveform protocols• Manage waveform protocols

• Spectrum Sensor• Handle spectral sweeps

• Data Stream Manager• Similar to GloMo API• Interact with configured

waveform protocols

Page 23: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

23

Traffic Scheduler• Schedule packets to channels

• Channel is a hardware digital/analog chain• Scheduled packet includes protocol, frequency, power, and time frame• Each channel has an allocation list

• Packets are scheduled in a sliding window• Packets may be scheduled periodic or single-shot• Call back interface for error states and packet completion

Page 24: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

24

Traffic Scheduler: State Diagram

Page 25: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

25

Conclusion• Achievements

• Developed a design workflow for SDRs• Workflow used to develop systems for KUAR• Proposed generic SDR API (Unifying Layer)• Described infrastructure to support hardware agnostic cognitive

networks

• Future work• Implement hardware agnostic network stack• Develop more robust cognitive algorithms for KUAR• Apply workflow to another SDR platform

Page 26: A Design Workflow for Software Defined Radios · Audio Input Audio Output ADT7461 Kontron ETXexpress 1.4 Ghz Pentium-M USB USB 29 USB Peripheral Controller USB 12 SPI Cypress CY7C68013A

26

Resources• SDR Resources

• SDR Forum: http://www.sdrforum.org/• Wikipedia Article: http://en.wikipedia.org/wiki/Software-defined_radio

• Publications• G. J. Minden, J. B. Evans, L. Searl, D. DePardo, R. Rajbanshi, J. Guffey, Qi Chen, T.

Newman, V. R. Petty, F. Weidling, M. Lehnherr, B. Cordill, D. Datla, B. Barker, A. M. Wyglinski, A. Agah, "An Agile Radio for Wireless Innovation" IEEE Communications Magazine, Vol. 45, Issue 5, pp 113-121, May, 2007.

• V. R. Petty, R. Rajbanshi, D. Datla, F. Weidling, D. DePardo, P. J. Kolodzy, M. J. Marcus, A. M. Wyglinski, J. B. Evans, G. J. Minden, J. A. Roberts, "Feasibility of Dynamic Spectrum Access in Underutilized Television Bands" in Proceedings of the 2nd IEEE International Symposium on New Frontiers in Dynamic Spectrum Access Networks (DySpan 2007), (Dublin, Ireland), April 2007.

• G. J. Minden, J. B. Evans, L. Searl, D. DePardo, V. R. Petty, R. Rajbanshi, T. Newman, Q. Chen, F. Weidling, J. Guffey, D. Datla, B. Barker, M. Peck, B. Cordill, A. M. Wyglinski and A. Agah, "KUAR: A Flexible Software-Defined Radio Development Platform" in Proceedings of the 2nd IEEE International Symposium on New Frontiers in Dynamic Spectrum Access Networks (DySpan 2007), (Dublin, Ireland), April 2007.

• F. Weidling, D. Datla, V. Petty, P. Krishnan, and G. J. Minden, “A Framework for RF Spectrum Measurements and Analysis,” in Proceedings of the 1st IEEE International Symposium on New Frontiers in Dynamic Spectrum Access Networks (DySpan 2005), (Baltimore, MD, USA), pp. 573– 576, Nov. 2005.

• Questions?