Skip to content

axdy/rfsoc_quant_amc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RFSoC Quantised Automatic Modulation Classification

This project showcases the custom quantised CNN hardware inference architecture for SoC-based wireless radio receivers like the AMD RFSoC.

The CNN model receives data samples from the RFSoC ADC and classifies the modulation scheme the received signal is encoded with.

Comparing 3 levels of quantisation:

  • 16-bit weights & 16-bit activations
  • 8-bit weights & 16-bit activations
  • 4-bit weights & 16-bit activations

All models were trained in Quantised Aware Training (QAT) using Brevitas. Trained weights were exported into MATLAB & Simulink and the accelerator was built using HDL Coder.

The signal is received via an RF loopback cable connected to the RF-DAC. The modulates signal has been distorted by passing it through a simulated Rician multipath channel, adding Gaussian noise at levels ranging from -20dB to 24dB, and applying time, frequency, clock offsets.

demo.gif

Installation

Run Demo

To run the demo without building the bitstream, please do the following:

  • Clone the project and copy the rfsoc_quant_amc/ folder to the jupyter_notebooks folder on the RfSoC2x2 development board.

Build Vivado project and bitstream

  • After cloning the project, cd rfsoc_quant_amc/boards/RFSoC2x2/
  • run make all

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published