AirStack 0.4.1 Released

AirStack 0.4.1


 

23 October 2020

 

The Deepwave Digital team is announcing AirStack 0.4.1, a minor release that resolves a few bugs and improves performance. This upgrade may be performed in minutes without re-imaging the AIR-T system.

New Features

  • Transceiver Temperature Sensor - The temperature sensor found on the AD9371 can now be accessed via the SoapySDR Sensor API.
  • Remote Firmware Upgrades - Software has been added to give users the ability to reload the FPGA from flash memory without performing a full power cycle. This tool will safely take the FPGA off the PCIe bus, reload the flash memory into the FPGA, then place the FPGA back on the PCIe bus. This process is very useful for upgrading AIR-T system in fielded operation.

Bug Fixes

  • Only spawn asynchronous worker threads in the event of a multiple channel stream. This should improve performance for single channel streams.
  • Fixed issue where the OS would hang during shutdown.

Download

The AIR-T upgraded software and firmware are available for customers to download in the Developer Portal.

Please note that upgrading to AirStack 0.4.1 from 0.4.0 does not require a complete re-flash of the AIR-T. Upgrading from earlier releases does require a re-flash, however. Please see the associated installation procedures for further details.

PyTorch and ONNX Support

Deepwave has added support for PyTorch and Open Neural Network Exchange (ONNX) to our artificial intelligence (AI) training-to-deployment workflow toolbox for the AIR-T.

  • PyTorch is the fastest growning training framework in AI and deep neural networks (DNN).

  • ONNX is the industry open standard for saving, distributing, and deploying AI and DNN solutions in an interoperatable way.

  • TensorFlow remains fully supported and now leverages the ONNX standard.

Coupling PyTorch, TensorFlow, and ONNX support creates a training-to-deployment workflow encompassing all of the leading industry toolboxes. Deploying DNNs for edge-compute radio frequency systems has never been easier.

Read more below or here is a link to the code-base that runs natively on any of the AIR-T Embedded Series models.

Training to Deployment Workflow

The figure above outlines the workflow for training, optimizing, and deploying a neural network on the AIR-T. All python packages and dependencies are included on the AirStack 0.3.0+, which is the API for the AIR-T.

Step 1: Train

To simplify the process we provide an example neural network that performs a simple mathematical calculation instead of being trained on data. This toolbox provides all of the necessary code, examples, and benchmarking tools to guide the user in the training to deployment workflow. The process will be the exact same for any other trained neural network.

Step 2: Optimize

Optimize the neural network model using NVIDIA's TensorRT. The output of this step is a file containing the optimized network for deployment on the AIR-T.

Step 3: Deploy

The final step is to deploy the optimized neural network on the AIR-T for inference. This toolbox accomplishes this task by leveraging the GPU/CPU shared memory interface on the AIR-T to receive samples from the receiver and feed the neural network using Zero Copy, i.e., no device-to-host or host-to device copies are performed. This maximizes the data rate while minimizing the latency.

For more information, check out the open source toolbox here that runs natively on any of the AIR-T Embedded Series models.

Announcing AirStack Sandbox


 

Firmware Development Kit for the AIR-T

AirStack Sandbox is the new FPGA development kit for customers to deploy their own intellectual property (IP) on the AIR-T's FPGA. The Deepwave team has worked tirelessly to abstract away all of the complications of writing custom firmware and has now enabled our customers to interact with the FPGA in an extremely simplified interface. Difficult board specific system management (power, clocking, timing, bus architecture) are handled by Deepwave developers and AirStack software. Customers can immediately begin to utilize FPGA computational resources without the long initial development times typical of bringing up an entire system.

Customers are able to insert their own IP cores into the FPGA for their own application which may include

  • Custom signal processing blocks,
  • Communication physical layers,
  • Pre-processing for deep learning applications, or
  • Feature extraction.

With Sandbox + AirStack, the fully power of the AIR-T's FPGA, GPU, and CPUs are now at your disposal.

 

AirStack Sandbox Contents

  • A top level System Verilog design that instantiates the Deepwave Digital IP core, AXI4-Lite registers, and wiring for basic receive and transmit functionality
  • An example AXI4-Lite register space for user control and status registers
  • Required timing scripts
  • All requried Vivado files1 for each AIR-T model

 

Familiar Interface

AirStack Sandbox works flawlessly with the AIR-T's AirStack API. AirStack 0.4.0+ contains all of the necessary drivers and Python interfaces for deployment of custom signal processing blocks.

 

Available Now

AirStack Sandbox is an add-on license to the AirStack API and is only available directly through Deepwave Digital. Contact us today to get more information or to make a purchase.

Contact Us

 

 


[1] AirStack Sandbox leverages IP cores that are licensed for free from Xilinx when using Vivado. The JESD204B license must be obtained from Xilinx; however, the evaluation version is compatible with AirStack Sandbox.

AirStack 0.4.0 Released

AirStack 0.4.0


 

27 August 2020

 

The Deepwave Digital team is proud to announce that AirStack Version 0.4.0 is now available for download to AIR-T customers.

Revision 0.4.0 of AirStack saw a number of changes and additional features designed to better support the underlying hardware and to make upgrades easier in the future. We have the end goal of making the AIR-T a software-defined radio that can be readily deployed to the field for neural network inference with extrem ease. Here is the list of changes in AirStack 0.4.0.

New Features

  • Real-time Linux Kernel - AirStack now ships with a Linux kernel with real-time extensions. This allows customers to better write software with real-time latency requirements.

  • Native Anaconda Support - The AIR-T now fully supports conda out of the box. This support includes both the AirStack radio drivers and TensorRT for neural network inference.

  • Multithreading support - AirStack radio drivers now support launching background tasks to handle I/O using native Python. This is a performance improvement for applications that need to receive and transmit at the same time. For more details on how to use this feature, see our example here.

  • JetPack 4.4 Upgrade - The base operating system image has been upgraded from JetPack version 4.2 to version 4.4. This provides updates and bugfixes to GPU accelerated libraries as well as the kernel itself. Full highlights of these changes can be found here.

  • CUDA Upgrade - NVIDIA's CUDA has been upgraded to 10.2. Most important for embedded applications are performance improvements which can reduce the time to launch a CUDA kernel by up to 50%.

  • cuDNN Upgrade - NVIDIA's cuDNN library has been upgraded to 8.0.

  • TensorRT Upgrade - The AIR-T leverages NVIDIA's TensorRT for neural network inference. For this release, TensorRT has been upgraded to 7.1.3, significantly improving the number of neural network layers supported for inference. Additionally, support for workflows based on ONNX models is much improved in this version of TensorRT.

  • Ubuntu 18.04.4 - The operating system has been updated to the latest point release of Ubuntu 18.04 with numerous bugfixes and security patches.

Improved Source Code Examples

  • Training to Deployment Workflow - We have created an open-source example demonstrating the process to design, train, optimize, and deploy a neural network on the AIR-T. See source code here or read the blog post here.

  • Multithreading on the AIR-T - A new Tutorial has been published covering how to launch background tasks in order to use multiple radio streams simultaneously.

  • Using cuSignal to Create a Repeater on the AIR-T - We have provided a detailed example of how to create a more complicated application in this Tutorial. The application continuously receive signals from the AIR-T, performs signal processing and detection using the GPU, and re-transmits any signal that passes the detector's dynamic threshold.

Bug Fixes

  • When deactivating a stream, only tear down hardware after all TX samples have been transmitted. In previous versions of AirStack, it was possible to turn off the radio while the last few samples had been buffered for transmit but not yet sent over the air.

  • Improved error reporting in the radio drivers in cases where both receive or transmit channels are being used and an error occurs on only one channel.

  • Provide more consistent behaviour when re-tuning the radio or changing sample rate while streams are active. Due to data buffering, it was previously possible to have a few samples in the receive buffer from the original frequency or sample rate. Tuning or changing sample rate will now empty data buffers and ensure that all samples are from the correct period of time after one of these operations is performed.

Download

The AIR-T upgraded software and firmware are available for customers to download in the Developer Portal.

Please note that upgrading to AirStack 0.4.0 from previous versions of AirStack requires a re-flash of the operating system in addition to the usual firmware update. Please see the installation procedure to apply the software update to your AIR-T, followed by the firmware update procedure.

Simplified AI Deployment Workflow

 

Deepwave Digital has just released a comprehensive workflow toolbox for creating, training, optimizing, and deploying a neural network on the AIR-T. This new deployment toolbox works natively on the AIR-T and AirStack without the need to install any new packages or applications. This means that the workflow for an AI enabled radio frequency (RF) system has never been simpler. Now you can deploy an existing TensorFlow model on the AIR-T in less than one minute.

Read more below or here is a link to the code-base that runs natively on any of the AIR-T Embedded Series models.

Training to Deployment Workflow

The figure above outlines the workflow for training, optimizing, and deploying a neural network on the AIR-T. All python packages and dependencies are included on the AirStack 0.3.0+, which is the API for the AIR-T.

Step 1: Train

To simplify the process we provide an example TensorFlow neural network that performs a simple mathematical calculation instead of being trained on data. This toolbox provides all of the necessary code, examples, and benchmarking tools to guide the user in the training to deployment workflow. The process will be the exact same for any other trained neural network.

Step 2: Optimize

Optimize the neural network model using NVIDIA's TensorRT. The output of this step is a file containing the optimized network for deployment on the AIR-T.

Step 3: Deploy

The final step is to deploy the optimized neural network on the AIR-T for inference. This toolbox accomplishes this task by leveraging the GPU/CPU shared memory interface on the AIR-T to receive samples from the receiver and feed the neural network using Zero Copy, i.e., no device-to-host or host-to device copies are performed. This maximizes the data rate while minimizing the latency.

For more information, check out the open source toolbox here that runs natively on any of the AIR-T Embedded Series models.

Announcing the AIR7201 Embedded Model

 

Deepwave Digital is happy to announce that a new model for the AIR-T Embedded Series is now available on our website. The AIR7201 has 4x more FPGA resources allowing for the deployment of more complex signal processing and deep learning applications on the AIR-T. This increased compute power may be leveraged for pre-processing of signals, implementation of an industry standard or custom physical layer, or for feature extractions in deep learning applications.

The table below provides the technical specifications between the current AIR7101 and the new AIR7201 model. The radio front end, GPU, and CPU are unmodified allowing for existing applications to transition between the products.

FPGA Resources on AIR-T Embedded Series

AIR7101 AIR7201
Manufacturer Xilinx Xilinx
Family Artix-7 Artix-7
Model XC7A75T XC7A200T
LUTs 75,520 215,360
DSP48E1 Slices 180 740
Embedded Block RAM 3.78 kbits 13.14 kbits
Flash Memory (non-volatile) 256Mb 256Mb

Contact us now for more information.

AirStack Version 0.3.0 Released

 

We are excited to announce that AirStack Version 0.3.0 is now available for download in the Developer Portal for the AIR-T. The Deepwave team has been working very hard to bring this update to the community and believe that these new features will allow customers to create new and exciting applications for deep learning on the AIR-T. This software version enables dual channel continuous transmit (2x2 MIMO), signal stream triggering, and a new Python FPGA register API.

 

New Features in AirStack 0.3.0

  • Enabled TX functionality - You can now continuously transmit waveforms using the AIR-T. We currently support all the same features on the transmit channels as we do on the receive channels. For an example of how to transmit a continuous signal with the AIR-T, see the tutorial Transmitting on the AIR-T.

  • Hardware Triggering - We have added support to the RX channels to allow for synchronization of signal reception. Multiple AIR-Ts can now begin receiving signals at the exact same time and also be synchronized with external equipment. To learn how to use this feature, take a look at the tutorial Triggering a Recording.

  • New FPGA Register API - We now allow for direct user access to the FPGA registers via the SoapySDR Register API. Most users won’t necessarily need this functionality, but advanced users that are working with their own custom firmware now have a simplified way to control the FPGA functionality using C++ or Python.

  • Customized Memory Management - We have completely reworked memory management in the DMA driver. You can now custom tailor DMA transfers to/from the FPGA based on your requirements for latency and throughput.

    • The overall size of the per-channel receive buffer is now tunable via a kernel module parameter in Deepwave's the AXI-ST DMA driver. The default size is 256 MB per channel, which is unchanged from prior versions and buffers a half second of data at 125 MSPS. This can be decreased to reduce memory overhead or increased if required by the user application.
    • The size of each unit of data transfer, called a descriptor, is now tunable via a kernel module parameter. This is intended for advanced users. Larger descriptors allow for improved performance, especially when using multiple radio channels at the same time. Smaller descriptors can help to optimize for latency, particularly at lower sample rates. These effects are small but may be useful for some specific applications.

  • Device Details Query - The SoapySDR API and command-line utilities now report the versions of various software and hardware components of the AIR-T. This will make it easy to ensure the various components of AirStack are up to date.

 


For more information on Deepwave Digital please reach out:

Arrow Electronics is now an AIR-T Distributor

Deepwave Digital is excited to announce that we have expanded our distributors to include Arrow Electronics. Arrow is fully stocked and selling the Artificial Intelligence Radio Tranceiver. The following models are available for sale at Arrow's website:

Artifical Intelligence Radio Tranceiver (AIR-T)

AIR7101-A | - Artifical Intelligence Radio Tranceiver (AIR-T)

The AIR7101-A is a high-performance software-defined radio (SDR) seamlessly integrated with state-of-the-art processing and deep learning inference hardware. The incorporation of an embedded graphics processing unit (GPU) enables real-time wideband digital signal processing (DSP) algorithms to be executed in software, without requiring specialized field programmable gate array (FPGA) firmware development. The GPU is the most utilized processor for machine learning, therefore the AIR-T significantly reduces the barrier for engineers to create autonomous signal identification, interference mitigation, and many other machine learning applications. By granting the deep learning algorithm full control over the transceiver system, the AIR-T allows for fully autonomous software defined and cognitive radio.


Artifical Intelligence Radio Tranceiver (AIR-T) with Enclosure

AIR7101-B | AIR-T with Enclosure

The AIR7101-B is a high-performance software-defined radio (SDR) seamlessly integrated with state-of-the-art processing and deep learning inference hardware. The incorporation of an embedded graphics processing unit (GPU) enables real-time wideband digital signal processing (DSP) algorithms to be executed in software, without requiring specialized field programmable gate array (FPGA) firmware development. The GPU is the most utilized processor for machine learning, therefore the AIR-T significantly reduces the barrier for engineers to create autonomous signal identification, interference mitigation, and many other machine learning applications. By granting the deep learning algorithm full control over the transceiver system, the AIR-T allows for fully autonomous software defined and cognitive radio fully installed in an enclosure.

The Air-T enclosure is expertly constructed from aluminum to produce a polished, elegant, and sleek metallic silver finish. It measures 192 x 182 x 79 mm (7.5 x 7.2 3.1 inches) and the power button illuminates blue when the system is on. All RF ports are brought to the front of the enclosure for ease of use and all computer peripherals connections are brought to the rear.

Webinar: Detecting and Labeling Training Data for Signal Classification (Updated)

Webinar: Detecting and Labeling Training Data for Signal Classification

Update

The video stream, slides, and source code are now available to the general public.

Slides

You may download the slides here.

 

Video Stream

 

Source Code

Available in the webinar section of our GitHub here.

 
 


Original Post

Deep Learning Series Part 1 of 2

Deepwave Digital will be hosting their next webinar on April 14, 2020 at 1pm EST. In this webinar, we will demonstrate how to detect and label training data for signal classification, using the cuSignal signal processing techniques learned in our previous webinar. Specifically, you will learn how to leverage GPU signal processing and the AIR-T to detect, label, and record training data from various key FOBs over-the-air. cuSignal is part of the NVIDIA RAPIDS development environment and is an effort to GPU accelerate all of the signal processing functions in the SciPy Signal Library.

 
When: April 14th, 2020 at 1pm EST
 
Register Here

Space is limited so make sure to register in advance. Read below for more information about the webinar and we hope you will join us!

Deepwave Digital, Inc.

 


Webinar Agenda

Introduction to Deepwave Digital

We will introduce you to the Deepwave Digital team and provide an overview of what our startup does. We will also discuss the way we see deep learning being applied to systems and signals.

AirStack Programming API for the AIR-T

We will provide a detailed review of AirStack, the application programming interface (API) for the AIR-T. The figure below outlines the CPU, GPU, and deep learning interfaces supported.

 

Demonstrations

Key FOB Signals for Labeling

We will create a training data set using an assortment of different key FOBs. These data will be added to our AirPack software package in an upcoming release.

Designing a Real-time Power Detector with cuSignal for the AIR-T

In this section, we will walk the attendees through the real-time python code to:

  1. Compute the instantaneous power of the signal stream
  2. Filter and down-sample the power to a lower data rate
  3. Reshape the down-sampled data into detection segments
  4. Perform detection on each segment of the down-sampled data
  5. Display the detected data (if desired)
  6. Record the data to disk for deep learning training

Real-time Signal Detection and Labeling

Here we will demonstrate how to first execute the software to detect, label, and record the signal from the key FOBs, then over-the-air capture these data. An example of this is shown in the video below with recorded sections in blue/aqua.

 

 


When: March 25th 2020 at 1pm EST

Register Here for the Webinar

Deepwave and RAPIDS Team Collaborate on cuSignal 0.13

Deepwave and RAPIDS Team Collaborate on cuSignal 0.13

Over the past few months NVIDIA has been working on a new version of cuSignal: version 0.13. As part of their RAPIDS environment, cuSignal GPU accelerates all of the signal processing functions in the SciPy Signal Library.

Read the Medium full article here.

Online Processing

Deepwave has been working with NVIDIA to make online processing of cuSignal a reality. Check out how to perform signal processing in real time in this video.

More advances to come with cuSignal!

As Deepwave continues to help NVIDIA make GPU based signals processing a reality, check back in with us to find out more.

To get started, see our tutorials here.

The cuSignal source code may be found here.