Project update 6 of 8
Over the last five-ten years, we’ve witnessed a fascinating trend where neural networks are taking over traditional methods of solving complex problems. Image recognition and machine translation are two good examples, demonstrating how deep neural networks outperform classic approaches that have been around for decades.
Now, the big question is: will this revolution extend to wireless technologies as well? It’s not a straightforward matter, and there’s no simple answer. For instance, in the RF analysis scene, despite the existence of a vast mathematical framework and impressive results, some rightly consider this area to be a wicked problem. So how can we effectively use deep learning when even defining the problem can be challenging?
When facing such complexity, we need effective tools. So, we’ve opted to start with a relatively simple problem of modulation recognition to assess the tools and how they work within the WSDR platform.
We will attempt to recognize different types of modulation by converting the sample stream into a stream of normalized vector IQ diagrams. The neural network will then process these diagrams as if they were images being used as input for recognition.
Is this approach naive? Certainly! However, as we will see later, surprisingly, it works. Moreover, it provides a solid foundation for future improvements and even a complete overhaul of the entire model.
Let’s shift our focus to more practical matters.
Our ML (Machine Learning) application consists of two essential components:
By using these two interconnected parts, our ML app efficiently handles the process of training the model in the back-end and applying it to tasks in the front-end, ensuring optimal functionality and results.
The current version of the app utilizes the simplest two-dimensional convolutional neural network (CNN). However, in such applications, CNNs can potentially be replaced by transformers without significantly compromising quality. This allows us to experiment with updating the architecture of the neural network.
Currently, our model is capable of determining the type of modulation; in the future, we plan to update both the model and the dataset to enable the identification of specific protocols.
How do we gather this dataset?
First, we collect IQ sequences in the Signal Metadata Format (SigMF), a new but already well adopted format in the wireless community. SigMF consists of a data file containing the collected samples and a corresponding meta-data file in JSON format, which includes general information about the samples as well as annotations for notable data segments.
The current data processing pipeline involves the following steps:
Later on, we plan to optimize this pipeline by employing Tensorflow’s methods for loading, pre-processing, and batching data.
The preparation input data for the ML model involves these steps:
Please back the uSDR campaign and tell your friends to too!