Challenge

Our client—a wireless network operator—wanted to add additional capabilities to their business building wireless systems for IoT connectivity. To this end they engaged Manifold to help build a new machine learning (ML) enabled cognitive radio product.

The client’s aspiration was to build a prototype that could:

  • support high data rates (>1MBps) with high spectral efficiency and low latency in real time
  • measure and adapt to the operating environment to minimize interference
  • collaborate with other networks operating in the same spectrum to minimize conflict

Furthermore, the client wanted to implement the system as a software defined radio (SDR) on commodity hardware that could transmit over the air (OTA) in real-time—in other words, a real radio system and not just a simulation.

Manifold guided this complex, year-long project from aspiration to reality. The project required multidisciplinary knowledge from assorted fields including signal processing, wireless communication, SDR, network system administration, and artificial intelligence (AI).

Solution

At Manifold, we strongly believe the right team is critical to the success of any project. So we first built a team of experts staffed with three engineers from our client, two externally sourced SDR engineers, and three Manifold AI and software experts.

In addition to assembling the largely remote team, Manifold guided and managed the the project using our Lean AI delivery process: understand, engineer, model, acquire feedback, deploy, and validate. In this case, that included in-person brainstorming/planning sessions, design reviews, clearly-defined execution milestones, and daily stand-ups. This process allowed the team to deliver multiple, increasingly complex prototypes of the ML cognitive radio in less than one year.

The resulting solution had many interdependent aspects and included some fundamental technical breakthroughs. 

Reconfigurable Software-Defined PHY/MAC Radio

We designed and implemented a wireless physical layer (PHY) and medium access control (MAC) layer that is reconfigurable at a fundamental level. The PHY/MAC was implemented using GNU Radio in C++ as an SDR in commodity hardware with hooks deep into the bandwidth, modulation, and timing that allowed it to be controlled by AI in real time. This allowed for a lot of flexibility while maintaining the ability to run in real time. 

WirelessIoT_CIRNc

Distributed AI System

We designed and implemented a complex distributed AI system in Python from the ground up. We built a micro-services architecture using zeroMQ, gRPC, protocol buffers, and multithreaded programming. This modular design allows for different components to be worked on in parallel, and automatic neighbor discovery and address resolution ensure that the architecture is robust to failures and connectivity loss.

We also built an over-the-air control plane that is robust to packet loss, interference, failed processes, and various other impairments common to wireless distributed systems. This control plane was modeled on the LTE control plane, and optimized for spectral efficiency, providing a large amount of bandwidth in a relatively small spectrum. We accomplished this in part by limiting overhead over the air, leaving most of the bandwidth for data transfer.

Learning Algorithm

We designed and implemented an intelligent learning algorithm that takes measurements about the state of the world and then takes action based on that information—it functions as the “brain” of the system. This was made possible by a centralized control design. In this architecture, the slave nodes send information back to the controller; the controller takes everything into account, and then makes a decision.

WirelessIoT_stateagent

We started with a static baseline system, then moved to a rules-based system to get the entire model up and running. From there, we moved to a reinforcement learning solution that is able to learn from history. We trained this solution to handle various traffic loads, topologies, mobility, and other scenarios, and then tested it in a hardware simulation using bot networks.

Radio Environment Monitoring

We designed and implemented a system to measure the environment—including spectrogram, traffic summary statistics, GPS location fixes—and send this data back to the central controller.  This included measuring the spectrum and network traffic in real time, as well as measuring packet loss. We had to do this in a smart way using compressed representation, since it would have required too much bandwidth to just send the raw information. So we performed feature engineering from raw IQ samples and network packet captures to create compressed features that can be sent over the air.

Collaboration Protocol

We implemented a collaboration protocol so the system could work with other networks in the same area, sending a summarized representation of what we were seeing in the world. We also communicated network health and action plans—and designed our system to receive that input from other networks, too, in order to help us make better decisions.

Results

Manifold worked closely with the client’s wireless systems engineers to balance flexibility, stability, and time-to-market. As a result of this process, the client now has a working proof-of-concept cognitive radio system that they are planning to use in a number of applications. This system competed in the DARPA Spectrum Collaboration Challenge (SC2) competition.

Additionally, collaboration with Manifold allowed our client produced some innovative designs for which they have filed multiple patents.