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.
- UHD 4.4
To rebuild FPGA image:
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
...
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
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.
- Xianglong Wang
- Yash Deshpande