Waveform Development

Waveform Developement Systems

Waveform News

  • ANDRO @ NI Connect

    Dr. Ashwin Amanna and David Diaz of ANDRO Computational Solutions, LLC are attending the NI Connect event in Austin, TX taking place Monday, May 22-Wednesday, May 24. Our team will showcase how we revolution waveform development through Waveform as a Service (WaaS) and Waveform Agile System Pallete (WASP). ANDRO Computational Solutions is proud to work with Ettus Research, an NI brand, to provide solutions for software-based waveform development, AI/ML wireless communications, dynamic spectrum access (DSA), and 5G spectrum planning, management, and coordination. Learn more about NI Connect here

Novel technology and procedures to rapidly implement waveforms on general purpose processors.

All waveforms are fully developed in software (C++) on a General-Purpose Processor (GPP) to be used by any software platform.

Extensive waveform inventory with a wide range of waveform types and standard builds. All are accessible and ready to use.

Waveforms tested in a High-Capacity Backbone (HCB) 18-mile full-duplex link between facilities at Ku band.

Software implementation and rapid development lead to lower startup costs compared to traditional FPGA waveform development.

Software approach creates levels of re-useability of functional components between waveforms.

Select Projects

Project Description
xTech Waveform Challenge
Demonstrate decoupling of waveform from hardware using OCS Standard
WASP
Lead software waveform developer
RCSUS
Reconfigurable Communications for Small Unmanned Systems
Next Gen CDL
Demonstration of Protected Next Generation CDL
Positive Train Control
Secure Positive Train Control Wireless Communications in a Limited Bandwidth Environment

Redefining Software-based Waveforms

While most modern tactical radios are marketed as software defined radios, waveform implementations are rarely software only. The conventional approach offloads computationally demanding physical layer signal processing to a field programmable gate array (FPGA) while a GPP is used for less demanding tasks. ANDRO is revitalizing the goal of a “soft modem” with tactical waveform implementations that are truly 100% software with all waveform signal processing and packetization performed on a GPP [1]-[2].

We have shown that software-based waveforms can achieve performance previously thought impossible. The implications of this include potential alternative to the FPGA-based systems of today, enabling new early-stage development steps that any vendor can leverage to reduce risk and speed up time to product, and waveform development kits to provide reference implementations of tactical waveforms in software.

 

Supporting high-throughput non-trivial waveforms in a true software-only implementation has been elusive since the early promise of SDR. ANDRO overcame limitations by focusing on software efficiency and leveraging emerging capabilities of modern GPPs. We moved away from high overhead frameworks, such as GNU Radio and implemented directly in C++. Effectively applying multi-threading, advanced vector extensions (AVX and AVX2) along with traditional software optimization techniques enabled high throughput, low latency waveform performance. Finally, the team adopted an iterative dev-ops approach that consistently produced waveforms 3 to 5 times faster than a traditional FPGA approach.
The general system model of a software-based waveform is shown in in the figure below [3]. Waveform processing, including packetization, MAC, and I/Q signal processing is implemented in compiled C or C++ on a Linux operating system running on a GPP. This figure shows an Intel i7 gaming or Next Unit of Computing (NUC), but we have used i3, i5, and Ryzen platforms as well. We have also experimented with refactoring code to ARM-based platforms. When interfacing with an SDR, a co-compiled driver is necessary. Samples are sent from the driver across a physical interface (USB, Ethernet, PCIe) to the SDR. In this case, the networking component refers to how application-level digital data, such as video, interfaces with the waveform.

What sets us apart from others?

  • C++ implementation vs GNU Radio and GR Companion GUI

  • Leverage multi-core parallel processing

  • Selective use of AVX/AVX2 Instruction Set

  • Modular Architecture to promote code reuse

  • Multi-disciplinary Personnel Mindset

  • TETO test early test often interoperability driven vs waterfall requirements

  • Low-cost development environment vs FPGA tool chain costs

  • The Open-Source community is catching up (AVX2 LDPC implementation [4])

Innovation in Threading Approaches

Approach 1: Pipeline Processing

Approach 2: Parallelization of Specific Processes

Leveraging Intel 7th generation multi-core processors, select machine code optimization, and multi-threading, we have achieved high throughput performance for complicated waveforms. All packetization, randomization, interleaving, and error correction, are implemented in C++ and executed on a GPP interfaced with a SDR through high bandwidth connection (10GbE or PCIE). The video below is a demonstration of our software developed DVB-S waveform. More information on our DVB-S implementation can be found here in ANDRO’s archive of publications.

Rapid Development

A software-based approach has demonstrated a 5x-10x shorter development cycle compared to traditional FPGA approaches. The toolchain costs for this approach are essentially zero compared to hundreds of thousands of dollars for licenses required to support substantive FPGA development. Moreover, this approach provides greater accessibility to the waveform for the customer. The ease of modifying software enables rapid interoperability troubleshooting and accelerates the R&D process.

On-the-fly configurability of our waveforms in and out of the lab allow us to test quickly and test often. If a change must be made to the waveform in the field, we can quickly re-configure and recompile our software to be re-deployed, in some cases, within minutes. Typically, this is not the case with FPGA implementations, where configuring the waveform and re-deploying takes longer. For example, we may need to change the frequency, gain, or modulation of our waveform. All we need to do is make changes in a configuration file generated by the waveform code, recompile the software after making changes to the file, then re-run the waveform. Our GPP implementations are also capable of upgrades, where new capabilities can be quickly added to the waveform code such as spreading, hopping, or DSA policies.

Low-Cost Toolchain

Essentially, low-costs mean free open-source vs millions in license costs for FPGA development tools. The rapid prototyping and reconfigurability of our development and software implementations lead to a lower cost overall. Rapid development = Less time spent = Less $ spent for comparable performance to FPGA implementations. Re-configurability of waveforms = less time spent re-implementing/developing new waveform configurations = less $ spent on backtracking development to make new waveform configurations. FPGA development tools are a significant expense that we avoid. Our tool chain costs are essentially zero using open-source Linux platforms and readily available support tools or custom troubleshooting tools.


In addition, we make use of open source or custom-built software for all our implementations. This allows us to maintain relatively low development costs, as components of each waveform are free and accessible. The same can be said for our custom-built software tools (i.e., samples tagged with metadata through waveform pipeline is custom and free).

Select Toolchain Components

Tool Use Cost
Linux OS
Linux Operating system, TUN/TAP
$0
Cmake
Control software compilation process
$0
GCC
C++ Compiler (O3, fastmath, optimization flags)
$0
UHD 3.9.6 to 3.11.0
COTS Radio hardware drivers
$0
Octave
Trouble shooting, graphing samples
$0
Wireshark
Trouble shooting video transmission network CDL, BE-CDL, DDL
$0
VLC
Streaming video file to waveform and replaying at RX
$0
FFMPEG
Used in FM Analog reads video file as RBG frames
$0
SDL
Display FM Analog video on screen, real-time plotting of constellation, samples, spectrum
$0

Exclusive Waveform Library

We have a broad collection of software waveforms in our library. Several have been tested for application-level, such as video, interoperability with a Government reference device.

Select Waveforms

Waveform Standard Validation
STD-CDL
7681990 Rev G
L3 Mini CDL
L3 Rover 5
L3 Tac Rover
BE-CDL 1-8, 9-16
60038368 Rev B
L3 Rover 5
L3 Tac Rover
BE-CDL 101-106
60038368 Rev B
Cubic MMT
Mode 101
Mode 104 receive
TDL
To-Be-Sunset
L3 Rover 5
L3 Tac Rover
466ER
To-Be-Sunset
L3 Rover 5 L3 Tac Rover
FM Analog
To-Be-Sunset
L3 Rover 5
RLFH1
--
--
DVB-S
ETSI EN 300 744 V1.6.1
COTS Cool-Sat Receiver
DVB-T
ETSI EN 300 744 V1.6.1
DVB-T Dongle and receiving with Nuand GNU Radio DVB-T
DDL
V 1.7 AeroVironment ED-00013 Rev. D
AeroVironment DDL Modem on Raven, Rover 5
PTW
PATS-13700 PTW ICD ver. 1.0
Component testing with Lincoln Labs MATLAB and L3H Modem
P25
TIA-102.BAAA-A
Motorola handheld – proof of concept
MUOS – cell search
MUOS CAI Waveform WFv3 FPGA Design Specification (FDS)
Cell search has been tested on captured signals.

Each waveform in the library has specific code unique for each waveform. There is some commonality amongst the functionality across waveforms. The shared code libraries can be seen in our repo organization (i.e., the Radio, Vector Libraries). ANDRO’s software waveforms are agnostic to the radio. Validated platforms range from COTS Ettus B205 and X300 to Custom OpenVPX Systems with 300MHz Instantaneous Bandwidth. This method supports scalability of complex waveforms and abstracts software from hardware.

Code Re-Usability

A benefit of the software approach is levels of re-useability of functional components between waveforms. Forward error correction, such as LDPC, is used in several waveforms. The initial LDPC implementation gives us an accelerated starting point. Generator polynomials, block sizes, and other parameters will be unique to a target waveform, so customization is always needed. Modulation, demodulation, timing recover, carrier recovery, interleaving, randomization are all examples where we get faster and faster building waveforms because we can leverage existing code. Some components, like radio API interface for platforms can be used across waveforms without modification.

Real-World Testing Conditions

ANDRO has pioneered a DevOps approach to waveform development built on “test-early-test-often” iterative cycles. We have developed an extensive library of waveform components to support code-reuse and rapid creation of new waveforms. Software-based waveforms meet a need for Government owned reference implementations for training, testing and development. The approach also lends itself to supply waveforms for low-cost platforms where traditional radios would be cost prohibitive.

This approach has been tested in real-world conditions, where some waveforms have been brought outside of a lab environment into the field to TRL 5-6.

Limitations

  • SWAP (Power, size of FGPA vs GPP)
  • Processing power of GPP a limiter
  • Interface between GPP / SDR limiter
  • SDR Driver overhead
  • Non-deterministic behavior of Linux OS
    • Managing Sample flow to radio
    • Thread execution control / priority
  • Approaching diminishing returns from algorithmic and software optimizations
  • Limited Research into RTOS
  • Work in progress to accelerate some processing in GPU
  • Frequency hopping rates limited by analog retune lag or bandwidth available from RF daughter card
  • Have not focused on SCA
  • Focused on interoperability, not full specification compliance
  • More formal processes needed to move to certifications for air-frame (DO-178C, CAST 32A, AC20-148)
  • High data rate performance sensitive to controlled system platform configurations (OS, kernel, GPP, power governor settings)

References on Page

[1] A. Amanna, J. Bohl, M. Gudaitis and T. Weaver, “Rapid Waveform Development Using STD-CDL as a Case Study,” IEEE MILCOM, 2016. [Link]

[2] A. Amanna, J. Bohl, M. Gudaitis, B. Kraines, R. DiMeo, W. Lipe and R. Butler, “Software Defined Radio Implementation of a DVB-S Transceiver,” WInnComm, 2017.

[3] AFRL, “Technical Guidance and Requirements Summary SPARTAN Prototype,” 2019.

[4] F. Kaltenberger, G. deSouza, R. Knopp, H. Wang,The OpenAirInterface 5G New Radio Implementation: Current Status and Roadmap,” WSA 2019, Vienna, 2019.

[5] G. Sklivanitis, A. Gannon, S. N. Batalama, D. Pados, “Addressing Next-Generation Wireless Challenges with Commercial Software-Defined Radio Platforms,” IEEE Communications Magazine, Jan 2016.

Waveform Dev Downloads

File Download
GNU Radio Conference 2023 Paper