CUDA for digital communications using the OFDM
This project, cuOFDM
, implements an OFDM transmit/receive pipeline in CUDA.
Currently, cuOFDM
transmits, receives, and applies noise to multiplexed QAM256 symbols.
The current pipeline, tested on an NVIDIA GTX 1060 6GB
machine, can achieve 100Mbps loopback throughput.
cuOFDM
is a work in progress - next steps include subcarrier scheduling, cyclic prefixing, and channel coding.
Direct integration with common software defined radio (SDR) heads will also be explored.
hdr/
- Header filessrc/
- Source filesCMakeLists.txt
- CMake build configurationsREADME.md
- This file
- CMake 3.12 or higher
- NVIDIA CUDA compiler
- C++17 or higher
The following instructions are for Linux distributions.
- Navigate to project root
mkdir build
- Create build directorycd build
- Navigate to build directorycmake ..
- Run CMake setupmake -j
- Build project
Executable cuOFDM
will be available in build/src/
after make
completes.
The produced executable runs several tests by default.
Run the executable with -h
or --help
to learn about more specific run options.