1 / 26

A Reconfigurable OSSIE/GNU Radio Component for SDR Applications

A Reconfigurable OSSIE/GNU Radio Component for SDR Applications. Garrett Vanhoy , MaryPat Beaufait, Duyun Chen Advisor: Dr. Carl Dietrich. What is Software-Defined Radio (SDR)?. Any radio whose physical layer functionality is implemented in software

lisbet
Télécharger la présentation

A Reconfigurable OSSIE/GNU Radio Component for SDR Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Reconfigurable OSSIE/GNU Radio Component for SDR Applications Garrett Vanhoy, MaryPat Beaufait, Duyun Chen Advisor: Dr. Carl Dietrich

  2. What is Software-Defined Radio (SDR)? • Any radio whose physical layer functionality is implemented in software • Software Communications Architecture (SCA) is an open SDR standard • OSSIE and GNU Radio • Waveform development suites • Waveform: a collection of components deployed on a given device to perform signal processing

  3. 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?

  4. Development Tools Feature Comparison

  5. Goals • Create an OSSIE generic component (GC) that can encapsulate GNU Radio blocks • Support reconfiguration • Be able to add or replace GNU Radio blocks during runtime as well as change their properties • Provide an intuitive graphical interface for reconfiguration • Enable automated control (e.g. cognitive engine) • Reconfigure in near real time (<100 ms)2

  6. Project Methodology • GNU 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 blocks • Effectively combine the functionality of OSSIE and GNU Radio

  7. 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

  8. Levels of the Generic Component

  9. Generic Waveform … Components and processing can be distributed over multiple nodes

  10. GC Structure

  11. GCEngine Structure

  12. Hierarchical Blocks

  13. Wireless Body Area Network (WBAN) or BAN • Quickly 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

  14. WBAN Device Specifications Common WBAN Devices and Their Specifications2

  15. Demonstrations • GUI • Distributed Waveform

  16. Overhead From Analysis and Reconfiguration

  17. 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 component • Individual components are not aware of what is going on in other components • Input data types other than complexShort (integers) cannot be processed

  18. 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

  19. Acknowledgements • Dr. Carl Dietrich • Dan DePoy • Jeong-O Jeong • OSSIE Team • Dr. TamalBose • Dr. Kay Thamvichai • Dr. Tonya Smith-Jackson • NSF

  20. 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

  21. References for WBAN and Biological Signal Data • MIT – BIH Database Distribution: http://ecg.mit.edu/ • Physiologic Signals: http://www.physionet.org/ • Matlab Files of Signals: http://www.physionet.org/cgi-bin/ATM

  22. References for Presentation Diagrams • 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 • 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

  23. Any Questions?

  24. 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

  25. 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.

  26. Further Work • Limitation: 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.

More Related