SignalEye – AI Software for Automated Signal Classification

SignalEye Machine Learning RF Radio Signal Software

Automated Spectrum Situational Awareness

General Dynamics SignalEye™ solution provides spectrum situational awareness by automating the classification of signals through the use of machine learning. This electronic warfare software provides tactical warfighters and security personnel with a timely, accurate view of the threat in the RF spectrum. SignalEye is always on - learning and alerting you to the signals that threaten you and your mission.

AI for RF

The RF spectrum has emerged as a new fighting domain. Peer and near-peer adversaries threaten our dominance on land, air, sea, space and cyber every day. Use artificial intelligence to make sense of the vast number of signals you’re seeing and those you’ve collected for true situational awareness. Recognize when a threat is coming for you, not when it’s at your door.

With SignalEye, you will know what is normal and what is a threat at the speed your mission needs.


General Dynamics SignalEye uses artificial intelligence (AI) to provide warfighters and security personnel with a timely, accurate view of the threat in the RF spectrum and enables analysts to detect trends in the adversary’s behavior. SignalEye doesn’t require specialized hardware acceleration. In a tactical context, this electronic warfare software deploys on a commodity hardware as an add-on to a RF front end system solution such as iRF’s LiteRail™ or your existing front end. In a classified or unclassified Amazon cloud context, it scales to process petabytes of data.

SignalEye Electronic Warfare AI Software for Automated Signal Classification

Features At A Glance

  • Machine Learning – signal classification using convolutional neural networks (CNN)
  • Data Driven – detection capabilities based on neural network training
  • Streaming – signal detection in streaming digital RF data
  • Software Only – solution runs on general purpose computer
  • Hardware Independent – RF front-end agnostic
  • Mission Independent – integrates with existing user-focused mission interfaces
  • Standards Based – supports VITA-49, VITA Radio Transport
  • Public API – C/C++, Python, Java, Scala 
SignalEye Radio frequency RF artificial intelligence machine learning software

RF Signal Types

  • Amplitude Modulation (AM) - Single-Sideband Suppressed-Carrier (SSB-SC-AM), Double-Sideband Suppressed-Carrier (DSB-SC-AM)
  • Frequency Modulation (FM)
  • Amplitude and Phase-Shift Keying (APSK) - APSK-16, APSK-32
  • Amplitude-Shift Keying (ASK) - ASK-2, ASK-4, ASK-8
  • Continuous Phase Modulation (CPM)
  • Continuous-Phase Frequency-Shift Keying (CPFSK) - CPFSK-2, CPFSK-4, CPFSK-8
  • Gaussian Minimum Shift Keying (GMSK)
  • Frequency-Shift Keying (FSK) - FSK-2, FSK-4, FSK-8
  • Orthogonal Frequency-Division Multiplexing (OFDM)
  • Phase-Shift Keying (PSK) - 8PSK
  • Binary Phase-Shift Keying (BPSK)
  • Quadrature Phase-Shift Keying (QPSK) - General QPSK , π/4-QPSK
  • Quadrature Amplitude Modulation (QAM) - QAM-8, QAM-16, QAM-128*, QAM-256*
SignalEye in Context - AI Software For Modulation Recognition

SignalEye And Your Electronic Warfare (EW) System

Metadata provided by SignalEye:

  • Modulation Type
  • Center Frequency
  • Bandwidth
  • Signal-to-Noise Ratio (SNR) in dB
  • Capture Start and Stop Time
  • Capture Duration in Milliseconds
  • Capture Time Offset in Milliseconds
  • Neural Network Confidence

Frequently Asked Questions

  • Using SignalEye

      How do I use SignalEye?

      There are three major ways to use SignalEye:
      1. Within the user interface of one of our partners' RF Front Ends.
      2. Within a mission-focused application via the public API. For instance, if collecting radio signals as part of a facility's physical security, users could feed those signals to SignalEye via the API, label them, and plot them on a map.
      3. Via the included web browser interface.

      What are the most common use cases for SignalEye?

      SignalEye can be used for gaining spectrum situational awareness, managing spectrum, processing sensor data for physical security, analyzing spectrum use, finding rogue signals, finding and characterizing interference, and supporting law enforcement.

      What families of signals are supported? Cell phones? Wi-Fi? Radar? Others?

      SignalEye can characterize signals including, but not limited to: voice, telemetry, cell phones, Wi-Fi, radar, personal area networks (PANs), wide area network (WAN), digital television, and Internet of Things (IoT).

      How is this different from my current signal classification solution?

      SignalEye is automated and RF front-end agnostic, uses machine learning instead of rules or signatures, does not require hardware acceleration, works on files and streams, can run in unclassified or classified contexts, and is scalable to the cloud. Its language-independent public API allows it to be included within many application and analytic contexts.

      Can I use SignalEye without a connection to the Internet?

      Yes. SignalEye can be used without an Internet connection.

      What are the inputs and outputs of SignalEye?

      SignalEye currently takes digitized VITA-49 signal data as input.  

      Is SignalEye a software-only product or does it include hardware?

      SignalEye is a software-only product that runs on commodity hardware. For analytic use, nothing more is required. For tactical usage, it is bundled with a receiver/tuner or a direction finding (DF) system.

      Does SignalEye support streaming inputs?

      Yes. SignalEye supports VITA-49 streams over Ethernet on a UDP port.

      Does SignalEye support batch processing of files?

      Yes. SignalEye supports batch processing of VITA-49 files.

      Does SignalEye have a user interface?

      Yes, SignalEye ships with a browser-based user interface, but using SignalEye within 3rd party mission-focused applications or RF front-end interfaces is preferred.

      Can I use SignalEye with a front-end collection system? What front-end systems are supported? Will SignalEye work with my existing front-end?

      Yes. SignalEye can be integrated with any RF front-end system that outputs VITA-49. iRF's (one of our partners) LiteRail system outputs VITA-49. In general, any existing RF front-end which outputs VITA-49 should work with SignalEye.

      Is SignalEye classified? Can I use it in an unclassified environment? Can I use it in a classified environment?

      SignalEye is not classified. It can be used in unclassified and classified environments at various classification levels.

  • RF Context for SignalEye

      What signal types does SignalEye support?

      We currently support these modulation types:
        •  Frequency Modulation (FM)
        •  Quadrature Amplitude Modulation (QAM)
        •  Minimum-Shift Keying (MSK)
        •  Orthogonal Frequency-Division Multiplexing (OFDM)
        •  Amplitude Shift Keying (ASK)
        •  Frequency Shift Keying (FSK)
        •  Gaussian Minimum Shift Keying (GMSK)
        •  Phase-Shift Keying (PSK)         

      How does SignalEye handle unsupported signals?

      SignalEye will still classify the signal, but rate it a low confidence in the prediction.

      What is the input bandwidth for SignalEye?

      Supported input bandwidths include 15.625 MHz, 50 MHz, and 100 MHz, but is configurable for additional RF bandwidths.  

      What frequency range can SignalEye cover?

      This depends on the hardware platform. SignalEye supports any tuned RF center frequencies. It is independent of RF front-end tuned frequency, as it processes IQ input stream at baseband.

      What sample rates does SignalEye support?

      The standard input sample rates are 15 Msps, 62.5 Msps, and 125 Msps, but is configurable to support additional values.  

      What input formats does SignalEye support?

      SignalEye currently takes digitized signal data in the VITA-49 format as input. Support for additional formats is in our roadmap.

      What is VITA-49? 

      Please see the following links for more information about VITA-49 standards:

      VRT: VITA 49 Radio Transport Protocol Objectives, Overview, and Applications
      VITA Standards

      What signal-to-noise ratio can SignalEye handle?

      SignalEye operates optimally on signals from +5 dB to +30 dB.

      Does SignalEye work with narrow band signals?

      SignalEye operates on signals with RF bandwidths ranging from 5 kHz to 20 MHz.

      Can SignalEye perform Specific Emitter ID?

      SignalEye does not support Specific Emitter ID (SEI) at this time.

      Does SignalEye do direction finding (DF)?

      SignalEye alone does not perform direction finding, but can be integrated into a larger system that includes direction finding.

      Do you have any results available for classification accuracy against SNR & modulation type?

      We have summary results for SNRs from a range, not classification accuracy per SNR level for each signal type. We are currently writing a whitepaper that discusses this topic at a high level.

      Are we able to train against our own modulation types?

      We can train against any modulation for which we have examples as IQ data and labels that tell us what they are. If you invent/discover/detect a waveform, and then can capture it and label it, then theoretically, we should be able to train for it. That being said, there are families of signals and the first signals in any new family will take longer.

      Are you able to provide us any classification accuracy figures of SignalEye for various SNRs?

      We can create confusion diagrams that show the neural network’s classification accuracy at discrete SNR levels for each signal type. We’ve done this in the past during the US Army RCO Challenge. We don’t currently have this breakdown per SNR level for the recent Neural Network models.

  • Technical Requirements for SignalEye

      What hardware is required for SignalEye? Can I run it on a laptop? In a VM? On a server? On a cluster of servers? In the cloud?

      Currently SignalEye runs on a laptop.  

      What are the system requirements (CPU, memory, storage) for a laptop running SignalEye?

      System Requirements




      Standard laptop


      At least 1920 x 1280 resolution


      Intel Quad-Core i7-7700HQ Processor 2.80 GHz with Turbo Boost up to 3.8 GHz


      32GB DDR4-2400 RAM

      Disk Space

      2 TB PCIe Solid State Drive
      Note: Faster disk controllers may improve performance


      NVIDIA GeForce GTX 1050

      Network Cards, USB, Other

      Thunderbolt Ports: Thunderbolt 3 x1 USB Ports: USB 3.1 x2 (Gen 1 Type-A)


      Standard sound card or embedded chipset

      Operating System

      See below

      Programming Environment

      See below

      Operating System

      The SignalEye software requires CentOS 7.5 (64-bit) or greater with the following installation options:
      • CentOS Installation Type: Server + GUI
      • Package Installation: Default when choosing "Server + GUI"
      • Partitioning: See table below.


      Size (GB)











      * Note: any created SWAP partition will be disabled during installation.

      What’s the size of the SignalEye executable?

      SignalEye is not a single executable, it is a collection of containers synergistically producing a result. Thus, it requires approximately 1.2 GB of disk space.

      What operating systems does SignalEye support?

      SignalEye works on CentOS 7.5+.

      Does SignalEye use FPGAs?

      The current version of SignalEye does not use FPGAs.

      Does SignalEye use GPUs?

      The current version of SignalEye does not use GPUs.

      How does SignalEye store the signal classification results?

      Signal classification results are displayed in the user interface or returned via the API to enterprise data stores. They are not stored.

      Can SignalEye be run standalone on a server with communication through standard sockets (TCP/UDP/IP)?

      Absolutely. Our communication to SignalEye in streaming mode is over UDP up to 10Gbps.

  • SignalEye Development

      Is there an API for SignalEye?

      Yes, SignalEye uses gRPC as the basis for its API.

      What languages does the API support?

      The API has been officially tested with C++ and Python. gRPC supports other language bindings that may be available in the future.

      What is required for a SignalEye development environment?

      Perform development against the SignalEye API using your favorite developer tool set. Those used by the SignalEye team include:
      • C/C++: Microsoft Visual Studio Code, CMake
      • Python: Microsoft Visual Studio Code, CMake

      Do you have example code?

      We provide code samples written in C++ and Python with the purchase of the SignalEye software.         

      Can I get access to the SignalEye source code?

      SignalEye is a proprietary application, so the source code is not available to users.

      What technologies are used by SignalEye?

      SignalEye uses a variety of mature open source technologies including TensorFlow, Docker, Kubernetes, and ProtoBufs.

      Can I integrate SignalEye into a product of my own?

      Absolutely. Ideally, integrate SignalEye into a mission-focused application or within an analytic data flow via the public API.

  • SignalEye Signal Classification

      How does SignalEye classify signals?

      SignalEye employs a variety of methods to detect, isolate, and classify signals. A portion of that process uses a neural network.

      What is machine learning?

      Machine learning trains a computer to categorize things by presenting it with labelled data and letting it select the features and weights that consistently produce the most accurate results.

      Does SignalEye use supervised or unsupervised learning?

      SignalEye uses supervised learning.

      Does the neural network update itself incrementally in the field?

      We train the neural network in our data center and then incrementally release updated neural networks.

      We are really interested in the class recognition (Radar vs communications) – are you able to provide any performance measures on this aspect?

      SignalEye focuses exclusively on communications signals today.