OSSIE and SCA Waveform Development - KTH
Transcript of OSSIE and SCA Waveform Development - KTH
![Page 1: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/1.jpg)
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
![Page 2: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/2.jpg)
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
![Page 3: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/3.jpg)
3Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
SDR – Software Defined Radio
![Page 4: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/4.jpg)
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
![Page 5: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/5.jpg)
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)
![Page 6: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/6.jpg)
6Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
SCA – Abstraction layers
![Page 7: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/7.jpg)
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
![Page 8: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/8.jpg)
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
![Page 9: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/9.jpg)
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
![Page 10: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/10.jpg)
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
![Page 11: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/11.jpg)
11Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
OSSIE Component
![Page 12: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/12.jpg)
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
![Page 13: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/13.jpg)
13Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
OSSIE Component
• Data buffering:effectively decouples the CORBA call sequence from
signal processing code
![Page 14: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/14.jpg)
14Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
OSSIE Waveform
![Page 15: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/15.jpg)
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
![Page 16: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/16.jpg)
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>
![Page 17: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/17.jpg)
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
![Page 18: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/18.jpg)
18Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
Custom Interfaces - IDL
![Page 19: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/19.jpg)
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
![Page 20: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/20.jpg)
20Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
Component Structure
![Page 21: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/21.jpg)
21Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
PHY layer
![Page 22: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/22.jpg)
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
![Page 23: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/23.jpg)
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
![Page 24: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/24.jpg)
24Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
RX/TX path – GNU Radio solution
MAC PHY
MODEM_USRP
USRP
![Page 25: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/25.jpg)
25Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
UCLA Zigbee PHY
GNU Radio implementation of the IEEE 802.15.4 physical layer.
![Page 26: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/26.jpg)
26Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
MODEM_USRP WorkModule
![Page 27: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/27.jpg)
27Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
MODEM_USRP component
![Page 28: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/28.jpg)
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
![Page 29: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/29.jpg)
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
![Page 30: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/30.jpg)
30Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
RX/TX path – OSSIE solution
MAC PHYMODULATOR
USR
P
DEMODULATOR
![Page 31: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/31.jpg)
31Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
MODULATOR component
• Python implementation
• mylib.symbol_sink
• ieee802_15_4_mod
• input/output buffers
![Page 32: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/32.jpg)
32Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
DEMODULATOR component
• C++ implementation
• fm_demodulation.h
• symbol_source.h
• input/output buffers
![Page 33: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/33.jpg)
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
![Page 34: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/34.jpg)
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
![Page 35: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/35.jpg)
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 decomposition 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
![Page 36: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/36.jpg)
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
![Page 37: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/37.jpg)
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)
![Page 38: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/38.jpg)
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
)
![Page 39: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/39.jpg)
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
![Page 40: OSSIE and SCA Waveform Development - KTH](https://reader036.fdocuments.us/reader036/viewer/2022090905/613c8c07a9aa48668d4a38de/html5/thumbnails/40.jpg)
40Monday 15 February 2010
Edoardo , KTHOSSIE and
SCA Waveform Development
Thank you for your attention
Acknowledgements