Skip to content

wineslab/OpenAirLink

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

Y. Deshpande, X. Wang and W. Kellerer, "OpenAirLink: Reproducible Wireless Channel Emulation using Software Defined Radios," 2024 IFIP Networking Conference (IFIP Networking), Thessaloniki, Greece, 2024, pp. 1-6, doi: 10.23919/IFIPNetworking62109.2024.10619070.

Contributors

  1. Xianglong Wang
  2. Yash Deshpande

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

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