In this project series I’ll be researching, as a hobby, the authentication of wireless sensor nodes, using the technique of Radio Frequency Fingerprint Identification (RFFI), by using Deep Neural Networks (DNNs). I’ll be doing so from scratch, learning the ropes and making the inevitable mistakes along the way in what should be a very exciting electronic playground to have fun in.
So in this article let’s discuss some of the basic tools required to perform Radio Frequency Fingerprinting Identification (RFFI) using DNN on an EdgeAI device.
Rounding-up the Suspects
To begin investigating this exciting topic I will need to round-up the usual engineering and scientific suspects, while pulling together quite a few fundamental resources; materially and from my knowledge reservoir, as well, including:
- Establishing an EdgeAI wireless sensor network
- Use a SDR to effectively capture realtime In-phase (I) and imaginary Quadrature (Q) signal data.
- Understand and appreciate M/F/P/Q Key-Shift Modulation
- Train, test and validate a RFFI DNN model.
- Use an EdgeAI TPU or similar device to perform high-frame rate, real-time inferencing and
- Identify and authenticate wireless sensor nodes on the Edge.
My angle of attack, in approaching this topic, will be to do the following: create a network of sensor nodes, based on TI’s sub-1GHz wireless family of modules, the CC1310, CC1101 and CC26xx family. Capture the transmission activity of the sensor nodes with a RTL-SDR dongle. The subsequent IQ data output by the SDR will be used to train, test and validate a machine learning model. Then, ideally, the Deep Neural Network model will be used for inferencing on an EdgeAI device to identify and authenticate participating sensor nodes.
So, quite a lot of work, which should keep me occupied for a minute or two. So much to do in fact that I will need to be patient and try not to throw my toys out the pram, when things don’t go my way. Techniques learnt and ideas discovered will be published in subsequent articles, as part of this new series.
For this project we will be transmitting and receiving at sub-1GHz frequencies, (1), (2). Hence, we can afford to get away with using the readily available and cost effective RTL-SDR (Nooelec 25MHz - 1750MHz) dongle (3) to monitor the airwaves. Also, since I will be using the sensor nodes on the Artificial Intelligence Edge it seems appropriate to perform inferencing and processing of the results on an EdgeAI device. For this project I will be using Google’s Coral TPU in the form of a Google Coral Dev Board, Google Coral Dev Board Mini or the Google TPU dongle or maybe a combination of all three.
Data signals captured, by the radio, in the form of In-phase, I, and quadrature, Q data signals will be either sent raw, (4), processed, as an IQ constellation diagram (5) or a waterfall plot (6), before being sent to a Deep Neural Network (e.g AlexNet, GoogleNet, VGG16 or ResNet) for inferencing (7). Then, in theory, the output of the DNN will provide the input to an identification and subsequent authentication unit (8).
Sounds like a plan right? I’d be even bold and say that it sounds like a mighty fine plan or famous last words! The following weeks and months will tell, whether it’s a good plan or not. I suspect that as I learn more and more about the topic I will change direction and revise some of my earlier ideas or even be encouraged enough to continue along the same line of thinking!
So, like the start of any good plan it’s a good idea to break the project down into manageable bite sized portions, which I will be doing in the next couple of episodes.