Members: Atharv ThakurUG, Anant CharyUG
Faculty advisors: Predrag Spasojevic
Designing unsupervised learning techniques for the purposes of radio source clustering and packet edge detection.
Week 1 (05/26-05/28)
Read textbooks on digital communications and spectral analysis, as well as papers and theses on the topic that used either EM algorithms with tensor decompositions or the mean shift algorithm. Also read the GNU radio user manual and implemented and tested automated data transfer to lab equipment for future experimentation.
Week 2 (06/01-06/04)
Finished reading material on spectral analysis and digital communications and continued reading various papers on shape optimization and edge detection methodologies for detecting rectangles. Completed design of the hardware spectrum analyzer in SystemVerilog and began writing a testbench that will allow data streaming from files. Also, created GNURadio simulation that generates a spectrogram of interfering WiFi, Bluetooth, and 5G Cellular packets to use as a visualization tool and run image processing algorithms on.
Week 3 (06/08-06/11)
We completed mathematical formulation of our two stage algorithm and developed the iterative steps that it will take to identify the rectangles. We developed the iterative steps that the algorithm will take to identify the rectangles and decided on criteria for splitting and moving to the next stage. We also begun the software model that we will use to verify the data using spectrogram images generated through GNURadio.
Week 4 (06/15-06/18)
We completed the software model (pre-splitting) in MATLAB first stage of the algorithm and tested it on several spectrogram images. We also created a more accurate simulation of WiFi, Cellular, and Bluetooth packets in GNURadio using the 802.11be WiFi 7, Bluetooth BLE, and 5G NR n78 bands specifically.
Week 5 (06/22-06/25)
We completed the software model and tested it on the 5 GHz WiFi band. The splitting algorithm, culling procedure, and packet removal were all developed and tested. We found that the algorithm takes a few iterations to finish detecting all packets in the frequency band.
Week 6 (06/29-07/02)
We added horizontal splitting to the algorithm and refined the algorithm procedures. We thoroughly documented the algorithm in a slideshow and made a flowchart that explains the process of the algorithm to present to the ARL (Army Research Lab). We also began work on a machine learning model that will use a labeled dataset to predict the coefficient parameters for the algorithm's objective function.
Week 7 (07/06-07/09)
We reviewed literature in the field to find use cases for our algorithm. We found use cases in covert communications and anomaly detection, such as jamming attacks. We also began working on a autolabeler to label the GNURadio simulation's packet locations to be used as a training dataset for the neural network. The neural network's objective function was defined and improvements to the algorithm were made such as adaptive step size and improvements to the packet subtraction.
Week 8 (07/13-07/16)
We designed and implemented a new splitting technique that uses a sliding window to find the peaks in the mean function. This method uses a sliding window which is the size of the length constraint (the approximate expected packet size) which allows it to ignore smaller packets that may be interfering. We also continued work on the labeled dataset and further defined the operation of the neural netwwork as a black box optimization problem.
Week 9 (07/20-07/23)
We implemented Otsu's method as a noise estimation technique which also allows us to binarize the spectrogram. We determined that binarizing the spectrogram is problematic in scenarios with interference and it places too much trust in the noise estimate so we decided to use it mainly as a threshold which allows us to successfully eliminate erroneous bounding boxes with much less error. This also increased our efficiency because the algorithm no longer splits into a guess box if there aren't any undetected packets there. We also got the autolabeler successfully labeling WiFi and Bluetooth packets, and further defined the neural network architecture, inputs, and pre-training/post-training phases.
Week 10 (07/27-07/30)
We added a term to our objective function which measures the fullness of a bounding box, or how full of power the bounding box is. This allows the function to reach a minimum based on a second condition, which causes the algorithm to accurately capture burst transfers and variably sized packets in one iteration. We also began benchmarking based on the labeled GNURadio simulation dataset of 100 spectrograms.
Week 11 (08/03-08/06)
We continued benchmarking based on the GNURadio simulation. We achieved 99.9% accuracy in ~3.4 ms with WiFi packets, and variable accuracy with Bluetooth depending on the overestimate size in ~3.7 ms. Allowing overshoot up to two times the true size increases bluetooth accuracy as shown in the figure below.
We also started using real data from a drone attacking study. The drone attacking study dataset includes denial of service, jamming, and normal spectrograms which can be used to benchmark the algorithm's various usecases. We achieved 99% accuracy for normal spectrograms in ~14 ms, 86% accuracy for the denial of service spectrograms in ~23 ms, and 100% accuracy for the jamming spectrograms in ~17 ms. The algorithm's efficiency was also tested on spectrograms with longer durations and the results are shown below.
