Skip to content

Sythesizable, modular Verilog implementation of 802.11 OFDM decoder optimized for meta data generation.

License

Notifications You must be signed in to change notification settings

Tobias-DG3YEV/openofdm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenOFDM - Fork for RA-Sentinel

This project contains a Verilog implementation of 802.11 OFDM PHY decoder based on the source code of the original openOFDM by Jinghao Shi. https://github.com/open-sdr/openofdm. The modification in this fork have the following intentions:

  • Increase code readability
  • Add phase deviation output (deviation between or mastertlock and the signal received over the air)
  • Replace the proprietary end most importantly the limited evaluation IPs with oprn source alternatives.

Features are:

  • Fully synthesizable (tested on Ettus Research USRP N210 platform)
  • Full support for legacy 802.11a/g
  • Support 802.11n for MCS 0 - 7 @ 20 MHz bandwidth
  • Cross validation with included Python decoder
  • Modular design for easy modification and extension
  • Replacement of the proprietary Viterbi decoder by an open variant

See full documentation of the original openOFDM at http://openofdm.readthedocs.io.

Environment Setup

The code of this fork is meant to be run and synthetisied in AMD Vivado 2024.1

Input and Output

In a nutshell, the top level dot11 Verilog module takes 2x 12-bit I/Q samples as input, and output decoded bytes in 802.11 packet. The sampling rate is 20 MSPS and the clock rate is 100 MHz. This means this module expects one pair of I/Q sample every 5 clock ticks.

License

Apache License 2.0

FAQs

Q: Why this form from original openOFD?

A: Becuase openOFDM is used for other means than really transporting data over the air, I need to make some modifications and comments to the code which are focussed on forensic aspects and not needed|wanted in the original openOFDM project.

About

Sythesizable, modular Verilog implementation of 802.11 OFDM decoder optimized for meta data generation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • VHDL 86.8%
  • Verilog 12.4%
  • C 0.7%
  • Python 0.1%
  • Tcl 0.0%
  • C++ 0.0%