Classify RF Signals Using AI

Classify RF Signals Using AI

Use deep learning to classify wireless signals and perform real-world testing with software defined radios.

Motivation

AI is now becoming a mainstream technology, and is being used to develop new drugs, combat human trafficking, and help diagnose cancer. Some of these same techniques can be used to classify RF signals propagating through the air. Classifying RF signals is an important problem, because our spectrum is getting more crowded every year. Cellular, WiFi, Bluetooth, ZigBee, UWB, SatCom, radar, GPS, IoT – interference scenarios are cropping up all the time, and we need to know who is interfering with whom. AI can help.

Project Description

Use a deep neural network to classify wireless signals that may interfere with one another, like 5G, LTE, WiFi, Bluetooth, and ZigBee. Perform real-world testing by transmitting and receiving those signals with software defined radios.

Using the Spectrum Sensing with Deep Learning to Identify 5G and LTE Signals example as a starting point, use transfer learning to adapt that example’s AI network to classify real-world signals that may interfere with one another. Examples include:

  • Bluetooth and WiFi
  • Radar and 5G
  • ZigBee and Bluetooth
  • ZigBee and WiFi
  • Try your own!

Suggested steps:

  1. Use MATLAB’s Wireless Waveform Generator App to generate two of the signals above.
  2. Frequency translate one or both signals so that they do not overlap in frequency. Use MATLAB’s Multiband Combiner for this.
  3. Follow the steps taken in the Spectrum Sensing with Deep Learning to Identify 5G and LTE Signals example:
    1. Create a data set to be used for training and validation. Create signals with a variety of impairments.

    2. Train your AI network on that generated data set. Use the existing network in the example and perform transfer learning. Learn more about transfer learning with these links:

      1. Get Started with Transfer Learning
      2. Transfer Learning with Deep Network Designer
    3. Validate your AI network with a small percentage of your generated data.

    4. Test using over-the-air signals, captured with an SDR. You can also use an SDR to transmit the waveform, or capture existing signals from nearby cell towers, WiFi routers, etc. The following radios could serve well for this purpose:

      1. USRP B2xx, N2xx, or N3xx
      2. USRP X3xx or X4xx
      3. ADALM-PLUTO

Consider the following possibilities for advanced project work. Or perhaps even better, imagine some of your own possibilities and try them out!

  • Train and test with signals that overlap in frequency.
  • Filter one or both signals so that only a portion of their bandwidth is used to train the network.
  • Improve the speed of the network.
  • Simplify the network with pruning and quantization and still achieve the same classification performance as the original example.
  • Change the AI network design using the Deep Network Designer App. Try to improve the classification accuracy.
  • Use public data sets with the existing network or a modified one. One such data set can be found at Wireless Intelligence.
  • Test the network in other bands, with other signals. Use the Worldwide Frequency Allocation Chart, the US Spectrum Allocation Table, or another country-specific frequency allocation chart to determine which signals might interfere with one another.
  • Generate C/C++ code from the network and deploy it to an embedded processor.
  • Generate HDL code using Deep Learning HDL Toolbox and deploy it to an FPGA.

Background Material

Impact

Help to mitigate the ever-increasing RF interference problem in the developed world.

Expertise Gained

5G, Artificial Intelligence, Deep Learning, Image Processing, Machine Learning, Neural Networks, Software-defined Radio, Wireless Communication

Project Difficulty

Bachelor, Master’s