8000 GitHub - UCaNLabUMB/gr-owc: GNURadio out-ot-tree (OOT) module for optical wireless communications.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

GNURadio out-ot-tree (OOT) module for optical wireless communications.

License

Unknown, GPL-3.0 licenses found

Licenses found

Unknown
LICENSE
GPL-3.0
LICENSE_full
Notifications You must be signed in to change notification settings

UCaNLabUMB/gr-owc

Repository files navigation

gr-owc

GNURadio out-of-tree (OOT) module for optical wireless communications.

  • Contact: Dr. Michael Rahaim (Michael.Rahaim@umb.edu) from The Ubiquitous Communications and Networking Lab (UCaN Lab), University of Massachusetts, Boston.

DOI

gr-owc is a GNU Radio Out-Of-Tree (OOT) module designed for Optical Wireless Communication (OWC 8000 ). It provides a comprehensive suite of signal processing blocks designed to enable efficient experimentation, research, and development of optical wireless systems within the GNU Radio. The ‘gr-owc’ module covers OWC channel simulation, modulation and demodulation techniques, and other essential components. We describe how these blocks can also be implemented in physical systems using Software Defined Radio (SDR) hardware.

Note: gr-owc is compatible with GNU Radio v3.10. For GNU Radio v3.8, refer to gr-owc_v3.8.

Directory Structure

  • docs/gr-owc:Documentation: Contains documentation of gr-owc blocks and chapters; offers a step-by-step overview of gr-owc.
  • examples: Example GNURadio flowgraphs for demonstrating gr-owc usage.
  • grc: .yml files of gr-owc blocks. It allows interconnection of OWC blocks within the GRC environment.
  • lib, include: C++ and C++ w/ Volk implemeted gr-owc blocks
  • python: Python implemented gr-owc blocks and QA test code.
  • Install_gr-owc.sh: Script file to install gr-owc in GNURadio Companion.

Installation

This installation guide assumes that GNURadio v3.10 has been installed. gr-owc can be installed using either of the following methods:

  • Install via Install_gr-owc.sh: Automates installation of gr-owc in GNURadio.
  • Basic Installation: Download this repository and use make to install the gr-owc library in an existing GNURadio prefix.

Install via Install_gr-owc.sh (SUGGESTED)

For this, follow the steps below:

  1. Download only the Install_gr-owc.sh
  2. In the downloaded script directory, open terminal. Give executable permission for script file chmod +x ./Install_gr-owc.sh
  3. Execute scrpit file ./Install_gr-owc.sh
    • (There should be no failure displayed)
  4. Open gnuradio-comapanion and you should find a module for gr-owc

Basic Installation

Alternatively, to download the repository and install, follow the steps below:

  1. Download this repository by cloning with git clone (url)
  2. In a terminal, cd to the gr-owc directory
  3. Create a build directory with mkdir build and move into the directory with cd build
  4. Make sure to source the desired GNURadio prefix
  5. Run cmake ../ from the build directory
    • (the path to the sourced GNURadio installation would be found automatically)
  6. Run make
  7. Test the build with make test
    • (there shouldn't be any failures)
  8. Install with make install
  9. Configure your linker/debugger with sudo ldconfig
  10. Open gnuradio-companion and you should find a module for gr-owc

The gr-owc blocks will be available under the owc drop down in the block library: gr-owc in GRC

gr-owc Blocks

The gr-owc module includes the following implemented blocks:

Sl No. Block Name Description
1 OWC_Channel_Block(Relative) Models the optical channel, considering DC channel gain from transmitter to receiver.
2 OWC_Channel_Block(Absolute) Models the optical channel using absolute coordinates of the transmitter and receiver, considering DC channel gain from transmitter to receiver.
3 OOK_Modulator Implements On-Off Keying (OOK) baseband modulation scheme.
4 OOK_Demodulator Demodulates On-Off Keying (OOK) baseband signals and defines the binary outcome.
5 PAM_Modulator Implements Pulse Amplitude Modulation (PAM), assigning varying amplitude levels based on symbols.
6 VPPM_Modulator Implements Variable Pulse Position Modulation (VPPM).
7 PPM_Modulator Implements Pulse Position Modulation (PPM), varying the position of pulse(s) within a symbol.
8 LED_Nonlinearity Models the non-linear function of an LED
9 Hermitian Symmetry (Same Vec Size I/O) Ensures Hermitian symmetry in complex-valued FFT vectors, keeping input and output vector sizes equal.

Chapters

Chapter Topic Summary
1 Background Overview of Software Defined Radio and an introduction to gr-owc, including its motivation and role in OWC.
2 Channel Modeling Different channel modeling approaches for OWC, including their characteristics, types, and applications in various OWC scenarios.
3 SDR; OWC Hardware Detailed analysis of hardware components and their characteristics used for OWC, such as Transmitter, Receiver, USRP, and their suitability for OWC.
4 Modulator & Demodulator Modulation and demodulation techniques supported by gr-owc, along with their applications and implementation considerations.

Principal Investigator

  • Name: Dr. Michael B Rahaim
  • Title/Position: Associate Professor
  • University: University of Massachusetts Boston
  • Email: michael.rahaim@umb.edu

Developer

Note: This work is an extension of the original code developed by Arsalan Ahmed(arsalanqasimahmed@gmail.com) for GNURadio v3.8.

About

GNURadio out-ot-tree (OOT) module for optical wireless communications.

Resources

License

Unknown, GPL-3.0 licenses found

Licenses found

Unknown
LICENSE
GPL-3.0
LICENSE_full

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

0