= Using FPGAs for Spectrum Sensing and Modulation Recognition = == Project Objective == This project seeks to use machine learning to recognize different wireless devices. The project will use software defined radios (SDR) to record various devices, such as iphones, bluetooth earbuds, and Wifi laptops. These recordings will become the training data to a set of neural networks. The second part of the project will quantify the accuracy of the neural networks in classifying various device types based on their RF signatures. == Who We Are == [[Image(Picture1.jpg)]] \nRyan Davis [[Image(Picture2.png)]] Zhuohuan Li [[Image(Picture3.jpg)]] Sid Mandayam == Reading Material == * [https://www.xilinx.com/support/documentation/sw_manuals/ug998-vivado-intro-fpga-design-hls.pdf Overview of FPGA architecture (especially for Xilinx devices), and comparison between FPGA and CPU] * [https://arachnoid.com/software_defined_radios/#Theory__The_Frequency_Domain Overview of I/Q Communication Theory] * [https://www.mathworks.com/help/wlan/ref/wlanwaveformgenerator.html Artificial WiFi Packet Generation] * [https://www.sciencedirect.com/topics/engineering/matched-filter Matched Filter Demodulation] == Week 1 Activities == * Get ORBIT/COSMOS account and familiarize oneself with the testbed procedures * Learn about FPGAs * [https://www.orbit-lab.org/attachment/wiki/Other/Summer/2020/FPGAspectrum/Presentation%201.pdf Presentation 1] == Week 2 Activities == * Write a UDP client / server in Go * Generate IQ samples for IEEE 802.11 WiFi packets * [https://www.orbit-lab.org/attachment/wiki/Other/Summer/2020/FPGAspectrum/Presentation%202.pdf Presentation 2] == Week 3 Activities == * Rework UDP client / server to work with Go to Verilog compiler * Transmit and receive generated WiFi packets using the USRPs on the Grid * [https://www.orbit-lab.org/attachment/wiki/Other/Summer/2020/FPGAspectrum/Presentation%203%206_17.pdf Presentation 3] == Week 4 Activities == * Automate data collection on the Grid * Learn more about Go lang * [https://www.orbit-lab.org/attachment/wiki/Other/Summer/2020/FPGAspectrum/Presentation%204%206_25.pdf Presentation 4] == Week 5 Activities == * Begin looking in to matched filters * Finish data collection on the Grid (a lot of debugging) * [https://www.orbit-lab.org/attachment/wiki/Other/Summer/2020/FPGAspectrum/Presentation%205%207_2.pdf Presentation 5] == Week 6 Activities == *