High Speed Data Capture with USRP SDR Hardware - MATLAB
Video Player is loading.
Current Time 0:00
Duration 24:49
Loaded: 0.67%
Stream Type LIVE
Remaining Time 24:49
 
1x
  • descriptions off, selected
  • en (Main), selected
    Video length is 24:49

    High Speed Data Capture with USRP SDR Hardware

    Overview

    Learn how to use MATLAB with USRP SDR hardware for design exploration and testing of wireless systems in real time.  Baseband wireless design engineers face numerous challenges when working with off-the-shelf SDR platforms such as USRP for developing wireless system design as it requires complex hardware knowledge to truly take advantage of these devices by programming the FPGAs.

    You will see how a new MATLAB addon allows baseband engineers to seamlessly interface MATLAB with USRP SDR hardware platform for:

    • Capturing real-time data at full bandwidth
    • Perform spectrum monitoring and preamble detection workflows to analyze and conditionally trigger over-the-air signal capture.

    In this webinar, we will demonstrate how this addon product can be used to perform these tasks, and address the challenges faced by baseband wireless design engineers. 

    Highlights

    • Introducing Wireless Testbench™
    • Connect MATLAB to USRP SDR hardware
    • Capture over-the-air signal at full rate supported by Hardware directly from MATLAB
    • Use preamble detector to conditionally trigger the capture of signals directly on SDR hardware and transfer them to the host for analysis

    About the Presenter

    Vijayendra Kumar is the Product Manager for Wireless Testing and SDR focused connectivity products at MathWorks.

    Recorded: 21 Apr 2022

    Hi, everyone. Welcome to the webinar on High-Speed Data Capture with USRP SDR Hardware, using our new product named Wireless Testbench that provides connectivity between MATLAB and USRP hardware for high-speed and intelligent data transmit and capture. I'm m and I'm product manager for Wireless Testbench at MathWorks. I'm at MathWorks for the last two years. And before joining the company, I've spent around 10 years on design and development of wireless solutions for different startups and multinationals.

    Agenda of this webinar is to demonstrate major workflows supported by our solution for high-speed and intelligent data transmit and capture. We'll show ready-to-run examples for applications backed by the solution. To talk about supported USRPs in the initial release and to explain the product by emphasizing the value it adds to the existing workflows and current approaches of wireless system design and test. And we're talking about features offered.

    To set the stage, let's talk about a typical wireless design requirement, signal detection. There's an aerospace defense company, and they're working on a system to detect the presence of unwanted drones in the proximity. Purpose of the system is to intercept the control and command signals as received by drones, and update the base station of their presence on successful detection, so that timely measures and preventive actions can be taken.

    In order to build a system, which is drone mitigation, they create team of wireless system architect, baseband design engineer, and RF design. Primary goal of this team is signal detection of control and command signals as received by drones. The team is also asked to explore and test the feasibility of this wireless system design, and freeze the specifications and prototype the signal detector.

    The team has two possible options for design exploration and testing and building the prototype. Either they can ask their in-house hardware team to build a custom hardware for them, or they can go for commercial, off-the-shelf Software Defined Radio. In order to avoid a long hardware development cycle, they chose SDR hardware.

    Software Defined Radio, or SDR hardware, is radio communication system where components that were traditionally implemented in hardware are instead implemented using software on a personal computer or embedded system. There are a large number of options available for SDR hardware. And some of them can be deployed for drone mitigation system shown in previous example. MATLAB supports selected SDR hardware platforms by providing hardware support packages for the communications toolbox for SDRs such as Pluto from Analog Devices, RDL SDR, settings SDR, and USRPS from NI.

    Common use cases and applications of SDR hardware have been transmission and capture of standard-based and custom wireless signals, streaming wireless signals to the host machine for live data processing, maybe using MATLAB, running prebuilt wireless applications on SDR hardware for design exploration and testing of wireless systems, and running custom wireless applications on hardware.

    Modern wireless communication systems need larger bandwidth to support new wireless applications. Current challenges are increasing data rate requirements and bandwidth hungry applications are pushing for more and more bandwidth and expedient utilization. The world is seeing the 5G rollout, and companies are channeling their resources for 6G research. New wireless standards such as WiFi 6 and WiFi 7 need hundreds of megahertz of bandwidth. Such applications require high-speed data transmit and capture solutions for their research and development.

    High-speed processing for wireless applications requires intelligent signal detection and data capture by filtering significant amounts of data that correspond to undesired signals, utilization of hardware resources such as FPGA, and optimal host processing. There's an increasing use of artificial intelligence in wireless communications, and AI has been baked into some of the new wireless standards. Artificial intelligence is used for applications such as signal detection, signal classification, channel modeling, and others. Such applications need a large amount of real time data to train the AI models.

    Such challenges create the need of a product like Wireless Testbench that provides connectivity between MATLAB and USRP hardware for high-speed and intelligent data transmit and capture. MathWorks already provides hardware support packages for connecting MATLAB to USRP hardware. The talk on Wireless Testbench will be focused on the high-speed and intelligence that it offers for data transmit and capture for wireless system design and test.

    Wireless Testbench supports two major workflows. They are high-speed data transmit and capture and intelligent signal detection. Let's look into these workflows. Wireless Testbench supports high-speed data transmit and capture at rates up to 250 megasamples per second. You can easily convert the connected radio into baseband receiver, baseband transmitter, and baseband transceiver, operating at full device rates.

    You can use baseband receiver to capture wireless signals from the air, such as 5G, wireless LAN, satellite, and custom signals. Baseband receiver can be used to implement applications such as cognitive radio and spectrum sensing. You can use baseband transmitter to transmit standard-based and custom signals, transmit noise and interfering waveforms. Baseband transmitter can be used to test a new receiver design. Baseband transceiver can be used to analyze channel effects such as signal attenuation and multi-part. It can also be used to assess the performance of radio hardware and validation of analog front-ends. Baseband transceiver can be used to implement loopback workflows and end-to-end transceiver design.

    Let's dive into a baseband receiver demo. In this example, we capture using multiple antennas from a specified frequency band. Using multiple antennas, you can capture a wider frequency band by setting different center frequencies to different channels. Initially, we provide the name of the radio connected to MATLAB. Next, you specify the frequency band, which is from 470 megahertz to 694 megahertz. This is a 224 megahertz-wide spectrum used for TV broadcasting.

    Then we create an object of baseband receiver and set RF properties such as sample rate, center frequency, and radio gain for individual channels and our antenna array. Sample rate and center frequency are set such that each channel contains one half of the spectrum of interest. Next, we invoke the capture function for a specified duration. Capture function returns a data matrix where each column corresponds to an individual channel. Then we resample their data and trip the spectrum to plot complete frequency band together as each channel contains 1/2 of the spectrum of interest. Finally, we use spectrum analyzer to plot the complete frequency spectrum. And one can see the 224 megahertz-wide spectrum used for TV broadcasting and captured by individual channel.

    This figure is a high-level representation of baseband receiver provided by Wireless Testbench. Captured data is buffered on onboard memory to ensure high speed and contiguous data capture. The code here shows how easily you can create an object of baseband receiver by specifying the name of the radio connected to MATLAB and how you can use the same object to capture for a specified duration a set sample rate and central frequency.

    This diagram represents baseband transmitter. You can easily convert a supported SDR hardware into baseband transmitter and configure the radio to transmit baseband signals. Baseband transmitter uses onboard memory for high-speed transmissions. You can configure continuous and single-shot transmission from MATLAB. The code here shows how you can use baseband transmitter to transmit for a specified duration a set sample rate and central frequency and then stop the transmission.

    This figure is a high-level representation of baseband transceiver. You can easily create an object of baseband transceiver in MATLAB to simultaneously transmit and capture baseband signals. Baseband transceiver also uses onboard memory to operate at full device rates. That is up to 250 megasamples, per second. Users can configure continuous and single-shot transmission from MATLAB. The code here shows how you can use baseband transceiver to implement loopback workflows where you can transmit a random signal to the air and capture it into MATLAB workspace using the same radio.

    Let's look into a baseband transceiver demo. In this example, you'll see how baseband transceiver can be used to transmit a signal to the air and capture it into MATLAB workspace using the same radio. Firstly, we you provide the name of the radio connected to MATLAB. Then we load a known waveform from a file that will be transmitted to the air. For this example, we have chosen a sine wave. Then we create an object of baseband transceiver and set RF properties such as sample rate that corresponds to the sampling frequency of the signal to be transmitted.

    Transmit center frequency specifies where in frequency spectrum our signal will be transmitted. Capture center frequency is the same as transferred centered frequency. And we also set the radio gains. Next, we invoke the capture function for a specified duration. Capture function returns a column vector that should contain our signal. Then we stop the transmission. Finally, we get spectrum analyzer to block the frequency spectrum of the captured signal. And one can see the peak that corresponds to our signal that was a sinusoid.

    Let's look into the workflow supported by Wireless Testbench. Wireless Testbench provides prebuilt application for intelligent signal detection and data capture. This figure shows a typical SDR setup for data capture. Capture path contains several hardware blocks, such as analog-to-digital converter, digital down converter, and others. These blocks generate raw data for post-processing and filtering on the host. You can leverage preamble detector application provided by Wireless Testbench for intelligent capture of baseband signal by filtering a significant amount of data that corresponds to undesired signal and dead air. MATLAB can process the filtered data quickly and efficiently.

    Wireless Testbench provides preamble detector application in the form of prebuilt bitstream that are ready to run on supported SDR FPGA. Preamble director application can work at high sample rates that is up to 250 megasamples per second. This capability offered by Wireless Testbench fits into a large set of use cases and applications, such as spectral conformance, signal detection, spectrum monitoring, signal classification, cognitive radio, and more. This diagram is a detailed presentation of preamble detector. Preamble detector consists of three major blocs, and they are programmable FIR filter, threshold calculator, and capture controller.

    Length of programmable FIR filter can vary and depend on said sample rate. Users can specify filter tabs from MATLAB. Threshold calculator block sets the threshold by integrating the signal energy over the duration equal to FIR filter length. Threshold value is a linear function of signal energy where users can set threshold gain and threshold offset from MATLAB. Alternatively, users can also provide a fixed threshold if they do not want to rely on adaptive thresholding method. Capture controller compares the output of FIR filter with threshold value, and capture is triggered if a FIR filter output exceeds the threshold. Capture controller can also move the capture instrument with respect to the trigger point based on your setting of trigger offset.

    This graph shows thresholding and triggering of captured signal. This template shows output of FIR filter while plot in red shows adaptive threshold value. Captured data is enclosed in green rectangle. Preamble detector lets you calibrate the threshold by plotting FIR filter output and threshold value, using a single function call by pulling the data from the hardware. Preamble detector also lets you adjust the capture instrument with respect to the trigger point. Here, we are capturing nine samples before the trigger point, and you can leverage this feature if you want to bring preamble along with the data sequence into MATLAB workspace.

    Let's dive into a real-world application where you are required to detect and capture wireless LAN signals in your environment. This diagram shows a typical setup, where several Wi-Fi access points are transmitting wireless LAN signals. You can use preamble detector application to detect and capture wireless LAN signals and analyze them in MATLAB to extract the key information. Though this example is based on Wireless LAN signals, you can use a similar approach to detect and capture other signals such as 5G, LTE, satellite, and custom signals.

    Let's look into MATLAB script to detect and capture Wireless LAN signals using preamble detector application and decode the beacon packets in office environment. Initially, we provide the name of the radio connected to MATLAB. Name of the radio is specified during radio setup using radio setup wizard. Radio setup is simplified, and you can refer to the product page and look for simple radio setup for details.

    Next, you create an object of preamble detector and set RF properties such as receiver antenna and other preamble detector properties such as sample rate and threshold method. Threshold method can be fixed or adaptive. Next, we configure a known preamble sequence, which is the first long training sequence of the legacy long training field of wireless LAN frame. To know about generation of waveform corresponding to legacy long training field, one can refer to MATLAB documentation on wireless LAN.

    Next we set a negative trigger offset, and this is to capture entire wireless LAN packet, not just from the point of detection onwards. Then tune the threshold of the preamble detector for local environment. One can leverage plot threshold function provided by preamble detector to visualize the threshold and FIR filter output. As one can see, there are a large number of trigger points which may lead to false rejection. Initially, we adjust the radio gain, and the number of trigger points have reduced.

    Then we adjust the threshold gain and threshold offset. And now we have just two trigger points, and they correspond to two long training sequences present in wireless LAN frame. We zoom into the figure along x-axis, and one can see FIR filter output is above the threshold and trigger points are well defined. Then we scan across specified wireless LAN channels, and beacon packets are being detected.

    Finally, we can decode the beacon packets and extract information such as SSID, MAC address, vendor ID, SNR, and others, as shown in the table. Let's look into examples provided by Wireless Testbench. Wireless Testbench provides examples for high-speed data transmit and capture applications. These examples work with supported USRPs, and users can test baseband receiver, baseband transmitter, and baseband transceiver on hardware out-of-the-box. Wireless Testbench also provides examples for spectrum monitoring applications. You can use these examples to detect and capture custom and wireless LAN signals. These examples can easily be modified for other signals.

    Let's talk about supported USRPs by Wireless Testbench in the initial release. They are USRP N310, N320, and N321 from NI. These hardware provide multi-channel support up to 200 megahertz of instantaneous bandwidth per channel. Frequency range varies from a few megahertz to up to 6 gigahertz. They provide large user-programmable FPGA and configurable sample rates up to 250 megasamples per second. They also provide 16 bit ADC and 14 bit digital-to-analog converter.

    In the final section, let's try to understand the product by talking about features offered by Wireless Testbench. Wireless Testbench is a new product that helps users explore and test wireless designs using high-speed and intelligent data transmit and capture. Capabilities offered by Wireless Testbench fits into three application categories. They are high-speed data transmit and capture, spectrum monitoring, and point-to-point communication links. Wireless Testbench offers these capabilities in the form of prebuilt bitstreams that are ready to run on supported SDR FPGA.

    Wireless Testbench also provides easy-to-use command and interface from MATLAB to configure and execute these bitstreams and monitor their performance. Using Wireless Testbench, users can transmit and capture wideband signals at rates up to 250 megasamples per second. Wireless Testbench can be used to implement intelligent capture of standard-based and custom waveforms using preamble detector application running on SDR FPGA. Arbitrary sample rate helps user set any sample rate within the specified range for Wireless Testbench applications and work with wireless signals and standards of choice. Other important features offered by Wireless Testbench are support to USRP SDR hardware platforms. Simple radio setup helps users get their hands on the hardware quickly with MATLAB. Wireless Testbench also provides prebuilt reference applications in the form of easy-to-use MATLAB objects to implement high-speed and intelligent data transmit and capture applications.

    This animation shows how data can be captured and transmitted using onboard RAM and used for offline processing in MATLAB. This capability uses 2GB of onboard RAM on supported SDR hardware to ensure high-speed and contiguous data transmit and capture. 2GB of captured data is equivalent to 17.6 seconds of 5G data at 30.72 megasamples per second and 6.5 seconds of wireless LAN data at 80 megasamples per second. These sample rates are defined in respective standards.

    Wireless Testbench provides prebuilt application for intelligent signal detection and data capture. Preamble detector application is based on cross correlator and implemented as programmable FIR filter. You can use preamble detector application for intelligent capture of baseband signals by looking for a known preamble sequence in the incoming waveform. Preamble detector application can work at high sample rates and helps in data reduction for the host. Arbitrary sample rate helps user set any sample rate within the specified range for Wireless Testbench applications and work with wireless signals and standards of choice, such as satellite, 5G, LTE, and custom signals. Resampling is done on FGPA in the receive path. Simple radio setup helps users get their hands on the hardware quickly with MATLAB. They can install all the third-party dependencies using Wireless Testbench support package and configure the radio using simplified radio setup wizard.

    Key takeaways from this webinar should be-- Wireless Testbench supports two major workflows. They are high-speed data transport and capture and intelligent signal detection. Wireless Testbench provides examples for high-speed data transport and capture and spectrum monitoring applications. Supported USRPs are USRP N310, N320, and N321. Major product features are connectivity between MATLAB and supported USRP hardware, high-speed and intelligent data transmit and capture, and arbitrary sample rate for Wireless Testbench applications. To know more about the product, you can refer to the product page of Wireless Testbench bench at MathWorks website. Thank you for participating in the webinar.