ossie and sca waveform development - kth

Post on 11-Sep-2021

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Open-Source SCA Implementation-Embeddedand

Software Communications Architecture

OSSIE and SCA Waveform Development

Edoardo Paone

2Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

The thesis project

Develop a OSSIE waveform based on IEEE 802.15.4:

• Understand SCA and the OSSIE waveform development

• Analyze the IEEE 802.15.4 standard protocol

• Import GNU Radio libraries into OSSIE components

• Implement a RX/TX waveform prototype using the USRP

• Evaluate the OSSIE waveform development tools and process

3Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

SDR – Software Defined Radio

4Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

SoftModem

• modem with minimal hardware

• it uses host computer’s resources instead of dedicated hardware

• easier upgrades to new modem standards

• reduction in production costs, component size and weight

5Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

SCA Waveform Development

• Abstraction of underlying hardware and sofware

– platform independence, portability of applications

– reuse of waveform design modules

• CORBA for intercomponent communication

– component implementation in different languages

– distributed waveform (TCP transport rule)

6Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

SCA – Abstraction layers

7Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Universal Software Radio Peripheral (USRP)

Materials for the thesis project:

• A personal computer(dualcore processor, 2 GB RAM)

• Ubuntu Linux 8.04

• GNU Radio 3.2.2

• OSSIE 0.7.4

• 2 USRPs

• Eclipse

8Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE project

• Open-Source SCA-based Implementation – Embedded (OSSIE)

• Developed at Wireless@Virginia Tech (Blacksburg, VA)

• Professor-in-charge: Dr. Jeffrey H. Reed

• Source code, documentation, tutorials available at:

http://ossie.wireless.vt.edu

9Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE distribution

• Latest version: OSSIE 0.8.0 (released in January 2010)

• It can be installed on PCs running Linux(or in a virtual machine on Windows)

• The OSSIE package includes:

– The Core Framework (CF)– The OSSIE Eclipse Feature (OEF)– A set of tools for waveform development– A component library

10Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Core Framework

• written in C++ using the omniORB CORBA ORB (open source)

• implements key elements of the SCA specification

• CORBA transport rules define inter-component communication:

– TCP/IP, for distributed waveforms– Unix domain sockets

P. Balister, et al., “Impact of the use of CORBA for Inter-Component Communication in SCA Based Radio”, Nov 2006

T. Tsou, et al., "Latency Profiling for SCA Software Radio", Nov 2007

11Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Component

12Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Component

• C++ or Python implementation

• Standard Interfaces:basic real and complex data representations in 8, 16,

and 32 bit sizes passed in the form of CORBA sequences

• Custom Interfaces:can be defined using Interface Description Language

(IDL) and compiled with the IDL compiler

13Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Component

• Data buffering:effectively decouples the CORBA call sequence from

signal processing code

14Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Waveform

15Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Waveform

• Drag-and-drop of component library, graphical tools for interconnecting components

• Waveform XML representation generated by the OEF:

– List of components– Configuration of components– Component interconnections– Target deployment node

16Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Waveform <connections> <connectinterface id="DCE:e1aa5d66-824a-11dc-adea-00123f63025f"> <providesport> <providesidentifier>samples_in</providesidentifier> <findby> <namingservice name="ChannelDemo1"/> </findby> </providesport> <usesport> <usesidentifier>symbols_out</usesidentifier> <findby> <namingservice name="TxDemo1"/> </findby> </usesport> </connectinterface> <connectinterface id="DCE:e1ad7154-824a-11dc-85b0-00123f63025f"> <providesport> <providesidentifier>symbols_in</providesidentifier> <findby> <namingservice name="RxDemo1"/> </findby> </providesport> <usesport> <usesidentifier>samples_out</usesidentifier> <findby> <namingservice name="ChannelDemo1"/> </findby> </usesport> </connectinterface> </connections>

17Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

IEEE 802.15.4

• MCPS = MAC common part sublayer

• MCPS-SAP = MCPS service access point

• MLME = MAC layer management entity

• MLME-SAP = MLME service access point

• PD = PHY data

• PLME = PHY layer management entity

• SSCS = service-specific convergence sublayer

• LLC = logical link control

18Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Custom Interfaces - IDL

19Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

#include "ossie/PortTypes.idl"

module customInterfaces{

/* link layer SAP for mac layer */interface sap_mac_to_link{

    void macpsData_confirm(     in octet msduHandle,                                in octet status,                                in unsigned long Timestamp     );

    void mcpsData_indication(   in octet SrcAddrMode,                                in unsigned short SrcPANId,                                in unsigned long long SrcAddr,                                in octet DstAddrMode,                                in unsigned short DstPANId,                                in unsigned long long DstAddr,                                in octet msduLength,                                in PortTypes::CharSequence msdu,                                in octet msduLinkQuality,                                in octet DSN,                                in unsigned long Timestamp,                                in octet SecurityLevel,                                in octet KeyIdMode,                                in unsigned long long KeySource,                                in octet KeyIndex              );};};

Custom Interfaces - IDL

20Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Component Structure

21Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

PHY layer

22Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

MAC - Simulation

MAC 1 MAC 2

TEST OUTPUTOBSERVER

TEST INPUTGENERATOR

TESTCOMPONENT

TEST WAVEFORMsap

_mac_to

_ph

y

sap

_ph

y_ t

o_ m

ac

23Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

PHY - Simulation

MAC 2

TEST OUTPUTOBSERVER

TEST INPUTGENERATOR

TESTCOMPONENT

TEST WAVEFORM

MAC 1

realC

harPHY 1 PHY 2

realC

har

24Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

RX/TX path – GNU Radio solution

MAC PHY

MODEM_USRP

USRP

25Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

UCLA Zigbee PHY

GNU Radio implementation of the IEEE 802.15.4 physical layer.

26Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

MODEM_USRP WorkModule

27Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

MODEM_USRP component

28Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

RX/TX path – GNU Radio solution

MAC PHY MODEM_USRP

GPP device USRP device

Waveform Development

SCA platform

TCP/IP

USRP

OS / HW

GPP

Memory

29Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

RX/TX path – OSSIE solution

MAC PHY MODEM

GPP device USRP device

Waveform Development

SCA platform

TCP/IP

USRP

OS / HW

GPP

Memory

30Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

RX/TX path – OSSIE solution

MAC PHYMODULATOR

USR

P

DEMODULATOR

31Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

MODULATOR component

• Python implementation

• mylib.symbol_sink

•     ieee802_15_4_mod

• input/output buffers

32Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

DEMODULATOR component

• C++ implementation

• fm_demodulation.h

•     symbol_source.h

•     input/output buffers

33Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Waveform Simulation

• all components deployed on the GPP (no USRP)

• radio channel simulated by the channel component

• test case implemented in the TEST component

34Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

The target waveform

Two configurations:

• a chat application

• a TUN/TAP interface

CHAT MAC PHYMODEMUSRP

TUN/TAP MAC PHYMODEMUSRP

35Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

GNU Radio vs. OSSIEGNU Radio OSSIE

Waveform structure:● the top_module class represents a container for the flowgraph● the flowgraph is then implemented as a single thread

● defined in the XML descriptor files and instanciated at runtime● one or more threads for each component

Component interconnections:● defined in the source code with the connect() method● functional de­composition and hierarchical structure

● defined in the XML descriptor files and instanciated at runtime● functional composition but flat structure

Data transfer:● if data is available in the input buffer, the top_module calls the work method● synchronization and scheduling tecniques

● performed by CORBA calls, data is temporarely stored in input/output buffers● no synchronization between components, independent threads

36Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Measurements

GNU Radio OSSIE

Average data transfer size 12.5 KB 16 KB

Average data transfer delay

1.5 ms 1 ms

Average input data rate 8 MB/s 15.4 MB/s

USRP:• ADC sample rate: 64 Msps• Decimation factor: 16• Output sample rate: 4 Msps• Theoretical limit USB 2.0: 8 Msps

37Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

USRP – Data transfer delay

1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 974 10 16 22 28 34 40 46 52 58 64 70 76 82 88 94 100

103106

109112

115118

121124

127130

133136

139142

145148

151154

157160

163166

169172

175178

181184

187190

193196

199

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

Delay between successive read operations from the USRP

OSSIE

GNU Radio

Experiment number

Dat

a tra

nsfe

r del

ay (m

icro

seco

nds)

38Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

USRP – Data transfer size

13

57

911

1315

1719

2123

2527

2931

3335

3739

4143

4547

4951

5355

5759

6163

6567

6971

7375

7779

8183

8587

8991

9395

9799

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

Sixe of data read from the USRP

GNU Radio

OSSIE

Experiment number

Dat

a tra

nsfe

r siz

e (b

ytes

)

39Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Results

• GNU Radio:– Adaptive scheduling– Variable data rate– Data transfer synchronization

• OSSIE:– Independent scheduling for each component– Constant data rate– No synchronization between components

40Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Thank you for your attention

Acknowledgements

top related