A Reconfigurable OSSIE/GNU Radio Component for SDR Applications
description
Transcript of A Reconfigurable OSSIE/GNU Radio Component for SDR Applications
![Page 1: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/1.jpg)
A Reconfigurable OSSIE/GNU Radio Component for SDR Applications
Garrett Vanhoy, MaryPat Beaufait, Duyun Chen
Advisor: Dr. Carl Dietrich
![Page 2: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/2.jpg)
What is Software-Defined Radio (SDR)?Any radio whose physical layer functionality
is implemented in softwareSoftware Communications Architecture
(SCA) is an open SDR standardOSSIE and GNU Radio
Waveform development suitesWaveform: a collection of components deployed
on a given device to perform signal processing
![Page 3: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/3.jpg)
Problem Statement• OSSIE components are very high-level
for easy waveform construction• GNU Radio (GR) provides low-level
components which are suited for specific DSP tasks
• OSSIE and GR: Intuitively complementary, but no direct interface
• Can we combine the advantages of both?
![Page 4: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/4.jpg)
Development Tools Feature Comparison
Feature OSSIE GNU Radio (GR)
Generic Component Project (GC)
SCA-Based X X
Granularity Coarse (High-Level)
Fine (Low-Level)
Variable
Latency Moderate/High Low Low within component
Distributed Waveform Support
X X
![Page 5: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/5.jpg)
Create an OSSIE generic component (GC) that can encapsulate GNU Radio blocks
Support reconfigurationBe able to add or replace GNU Radio blocks
during runtime as well as change their propertiesProvide an intuitive graphical interface for
reconfigurationEnable automated control (e.g. cognitive
engine)Reconfigure in near real time (<100 ms)2
Goals
![Page 6: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/6.jpg)
Project MethodologyGNU Radio blocks
Primarily in Python Only performance critical cores in C++
OSSIE components Standard components in C++ Option to generate Python components
Plan Create a Python GC that could encapsulate one or
more GNU Radio blocksEffectively combine the functionality of OSSIE and
GNU Radio
![Page 7: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/7.jpg)
Implementation of the GC• The core of the GC is written in Python• Data conversions to interface OSSIE and
GR I/O• GR Hierarchical blocks
• Higher level container for GR blocks• Uniform I/O ports • Readily interchangeable design
• GUI to enable intuitive user manipulation of the component’s infrastructure
![Page 8: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/8.jpg)
Levels of the Generic Component
![Page 9: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/9.jpg)
Generic Waveform
…Components and processing can be distributed over multiple nodes
![Page 10: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/10.jpg)
GC Structure
![Page 11: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/11.jpg)
GCEngine Structure
![Page 12: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/12.jpg)
Hierarchical Blocks
![Page 13: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/13.jpg)
Wireless Body Area Network (WBAN) or BANQuickly reconfigurable
component ideal for health monitoring
Possible adaptations if an anomaly is detected:
Distributed waveform support allows for dynamically managing tradeoffs between processing and communication reliability
Depiction of BAN, LAN, and WAN interaction1
![Page 14: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/14.jpg)
Common WBAN Devices and Their Specifications2
WBAN Device Specifications
![Page 15: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/15.jpg)
DemonstrationsGUIDistributed Waveform
![Page 16: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/16.jpg)
Overhead From Analysis and Reconfiguration
![Page 17: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/17.jpg)
Further Work – GC Limitations• We can only process one stream of data with
current GC implementation• GR top block must be restarted every time a
packet of data flows through the componentIndividual components are not aware of what
is going on in other componentsInput data types other than complexShort
(integers) cannot be processed
![Page 18: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/18.jpg)
Conclusions✔ Created an OSSIE generic component (GC)
that can encapsulate GNU Radio blocks✔ Supported reconfiguration
✓ Able to add or replace GNU Radio blocks during runtime as well as change their properties
✔ Provided an intuitive graphical interface for reconfiguration
✔ Enabled automated control (e.g. cognitive engine)
✔ Reconfigured in near real time (<<100 ms)2
![Page 19: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/19.jpg)
AcknowledgementsDr. Carl DietrichDan DePoyJeong-O JeongOSSIE TeamDr. Tamal BoseDr. Kay ThamvichaiDr. Tonya Smith-JacksonNSF
![Page 20: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/20.jpg)
References for GC Implementation• Python v2.7 Documentation:
http://docs.python.org/• wxPython Website: http://www.wxpython.org/• wxPython Widgets Documentation:
http://docs.wxwidgets.org/2.8.4/wx_contents.html
• OSSIE Development Website and User Guide: http://ossie.wireless.vt.edu/
• GNU Radio Wiki: http://gnuradio.org/redmine/wiki/gnuradio
• OSSIE and GNU Radio Live DVD from Dan Depoy
![Page 21: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/21.jpg)
References for WBAN and Biological Signal DataMIT – BIH Database Distribution:
http://ecg.mit.edu/Physiologic Signals:
http://www.physionet.org/Matlab Files of Signals:
http://www.physionet.org/cgi-bin/ATM
![Page 22: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/22.jpg)
References for Presentation Diagrams1. Monton, E.; Hernandez, J.F.; Blasco, J.M.; Herve, T.;
Micallef, J.; Grech, I.; Brincat, A.; Traver, V.; , "Body area network for wireless patient monitoring," Communications, IET , vol.2, no.2, pp.215-222, February 2008 doi: 10.1049/iet-com:20070046
2. Patel, M.; Jianfeng Wang; , "Applications, challenges, and prospective in emerging body area networking technologies, " Wireless Communications, IEEE , vol.17, no.1, pp.80-88, February 2010 doi:10.1109/MWC.2010.5416354
![Page 23: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/23.jpg)
Any Questions?
![Page 24: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/24.jpg)
What is OSSIE?Open-Source SCA Implementation - Embedded
OSSIE provides tools and components for waveform development, including distributed waveforms.
What is GNU Radio?GNU Radio is a library of signal processing blocks
GNU Radio is not chiefly a simulation tool, but rather a collection of low-level modules that can be manipulated to perform SDR tasks
![Page 25: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/25.jpg)
Further Work• Limitation: We can only process one stream of data
with our implementation of the GC. • Potential Solution: The GC can be modified to handle as
many inputs as necessary if the same processing can be done on all streams. There is a GNU Radio module called “Vector to Stream” that could be used in conjunction with a function that senses the desired number of inputs to process.
• Limitation: The flowgraph must be restarted every time a packet of data flows through the component.• Potential Solution: Make sure the component only
reconfigures when its properties are changed by making the top block wait for data after it finishes processing.
![Page 26: A Reconfigurable OSSIE/GNU Radio Component for SDR Applications](https://reader035.fdocuments.in/reader035/viewer/2022062222/568161ce550346895dd1be45/html5/thumbnails/26.jpg)
Further WorkLimitation: Individual components are not aware of
what is going on in other components. Potential Solution: Add metadata input and output ports to
the GC so that properties can be passed along components in a GW.
Limitation: The input data type for the GC is currently complexShort (integers). Other data types cannot be processed.Potential Solution: GCEngine includes conversions from two
short streams to two float streams, which is then converted to one complex stream. There are also reverse conversions for the output. Modify this slightly, replacing the first and last conversions involving short streams with the appropriate stream data type.