N3Martix / OpenAirLink

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenAirLink: Reproducible Wireless Channel Emulation using Software Defined Radios

An open-source channel emulator for reproducible testing of wireless mobility scenarios. The emulator implements a FIR filter on Software Defined Radios, the NI USRP (formerly by Ettus). OpenAirLink was developed by the Chair of Communication Networks at the Technical University of Munich.

Requirements

  • UHD 4.4

To rebuild FPGA image:

Installation

Clone this repository:

git clone https://github.com/N3Martix/OpenAirLink.git

Use following steps to install OpenAirLink:

cd ~/OpenAirLink/rfnoc-openairlink
mkdir build && cd build
cmake -DUHD_FPGA_DIR=<path-to-uhd>/uhd/fpga/ ../
make
sudo make install
sudo ldconfig

Load FPGA image to your USRP:

cd ~/OpenAirLink/fpga-openairlink
uhd_image_loader --args="type=x300" --fpga-path="usrp_x310_fpga_HG.bit"

To check installation, run:

LD_PRELOAD=/usr/local/lib/librfnoc-openairlink.so uhd_usrp_probe

If OpenAirLink is correctly installed, the output should look like:

|     _____________________________________________________
   |    /
   |   |       RFNoC blocks on this device:
   ...
   |   |   * 0/FIR#0
   |   |   * 0/FIR#1
   |   |   * 0/Shiftright#0
   |   |   * 0/Shiftright#1
   ...

Usage

1. Lanuch OpenAirLink

Lanuch with follow command:

cd ~/OpenAirLink/rfnoc-openairlink/build
LD_PRELOAD=/usr/local/lib/librfnoc-openairlink.so ./apps/oal_single

OpenAirLink also supports two channels running independently and simultaneously. To do so, replace oal_single with oal_dual.

The OpenAirLink's channel configuration has two models:

  • Manually: By default, OpenAirLink periodically scans the configuration file in the channel_control/ folder to update the channel. The frequency of updates can be adjusted using the --udt argument.
  • Script: The configuration is sent to the USRP if the emulator's running time exceeds its time index. To run the script mode, use the argument --script.

2. Channel coefficient generation TODO

Currently Supported Hardware

  1. NI USRP X310

Citing AirLink

Please use the citation file provided in the repository. For quick access:

Deshpande, Y., Wang, X., & Kellerer, W. (2024). OpenAirLink: Reproducible Wireless Channel Emulation using Software Defined Radios. arXiv preprint arXiv:2404.09660.

Contributors

  1. Xianglong Wang
  2. Yash Deshpande

About

License:GNU General Public License v3.0


Languages

Language:C++ 43.5%Language:Verilog 23.2%Language:CMake 19.7%Language:SystemVerilog 10.1%Language:Shell 1.9%Language:Makefile 1.6%