Main Content

LTE Waveform Generation and Transmission Using Quick Control RF Signal Generator

This example shows how an over-the-air LTE waveform can be generated and transmitted using LTE Toolbox™, Instrument Control Toolbox™ and Keysight Technologies® RF instruments.

Introduction

In this example LTE Toolbox is used to generate a standard baseband IQ downlink test model (E-TM) waveform. Using Instrument Control Toolbox, the generated waveform is downloaded to Keysight Technologies N5172B signal generator for over-the-air transmission. The over-the-air signal is captured using an Keysight Technologies N9010A signal analyzer.

For more information on LTE waveform generation and analysis, refer to Waveform Generation and Transmission Using LTE Toolbox with Test and Measurement Equipment (LTE Toolbox).

Requirements

To run this example you need:

  • Keysight Technologies N5172B signal generator

  • Keysight Technologies N9010A signal analyzer

  • Keysight VISA version 17.3

  • IVI-C driver for Keysight Technologies N5172B signal generator

  • National Instruments™ IVI® compliance package version 16.0.1.2 or higher

  • LTE Toolbox

  • Instrument Control Toolbox

Generate a Baseband Waveform Using the LTE Toolbox

Generate test model waveform using lteTestModelTool (LTE Toolbox), this returns an E-TM time-domain waveform, waveform , a 2-D numeric array of resource elements for a number of subframes across a single antenna port, tmgrid , and a scalar structure, tmconfig , containing information about the OFDM modulated waveform.

config = lteTestModel('1.1', '5MHz');  % Test Model number 1.1, 5MHz bandwidth
config.TotSubframes = 100;             % Generate 100 subframes
[waveform, tmgrid, tmconfig] = lteTestModelTool(config);

The frequency spectrum of the generated time domain waveform, waveform, can be viewed using spectrumAnalyzer (DSP System Toolbox). As expected, the 5MHz signal bandwidth is clearly visible at baseband.

% Calculate the spectral content in the LTE signal
spectrumPlotTx = spectrumAnalyzer;
spectrumPlotTx.SampleRate = tmconfig.SamplingRate;
spectrumPlotTx.SpectrumType = 'Power density';
spectrumPlotTx.Method = 'welch';
spectrumPlotTx.PowerUnits =  'dBm';
spectrumPlotTx.RBWSource = 'Property';
spectrumPlotTx.RBW = 15e3;
spectrumPlotTx.FrequencySpan = 'Span and center frequency';
spectrumPlotTx.Span = 7.68e6;
spectrumPlotTx.CenterFrequency = 0;
spectrumPlotTx.Window = 'Rectangular';
spectrumPlotTx.SpectralAverages = 10;
spectrumPlotTx.YLimits = [-100 -60];
spectrumPlotTx.YLabel = 'PSD';
spectrumPlotTx.Title = 'Test Model E-TM1.1, 5 MHz Signal Spectrum';
spectrumPlotTx.ShowLegend = false;
spectrumPlotTx(waveform);

Generate an Over-the-Air Signal using Quick-Control RF Signal Generator

Quick-Control RF Signal Generator is used to download and transmit the test model waveform created by the LTE Toolbox, waveform, using the Agilent Technologies N5172B signal generator. This creates an RF LTE signal with a center frequency of 1GHz. Note 1GHz was selected as an example frequency and is not intended to be a recognized LTE channel.

Create an RF Signal Generator object

rf = rfsiggen();

Discover all the available instrument resources you can connect to, using the resources method.

rf.resources
ans =

    ' ASRL1::INSTR
      ASRL3::INSTR
      ASRL::COM1
      ASRL::COM3
      TCPIP0::172.28.21.217::inst0::INSTR
     '

Discover all the available instrument drivers, using drivers method.

rf.drivers
ans =

    'Driver: AgRfSigGen_SCPI
     Supported Models:
     E4428C, E4438C
     
     Driver: RsRfSigGen_SCPI
     Supported Models:
     SMW200A, SMBV100A, SMU200A, SMJ100A, AMU200A, SMATE200A
     
     Driver: AgRfSigGen
     Supported Models:
        E4428C,E4438C,N5181A,N5182A,N5183A,N5171B,N5181B,N5172B
        N5182B,N5173B,N5183B,E8241A,E8244A,E8251A,E8254A,E8247C'

Set Resource and Driver properties before connecting to the object. The IP address of Keysight Technologies N5172B signal generator is 172.28.21.217 , hence the resource specified will be 'TCPIP0::172.28.21.217::inst0::INSTR'

rf.Resource = 'TCPIP0::172.28.21.217::inst0::INSTR';
rf.Driver = 'AgRfSigGen';
% Connect to the instrument
connect(rf);

Download the waveform, waveform, to the instrument

download(rf, transpose(waveform), tmconfig.SamplingRate);

Call start to start transmitting waveform using specified centerFrequency, outputPower and loopCount. Loop count represents the number of times the waveform should be repeated.

centerFrequency = 1e9;
outputPower = 0;
loopCount = Inf;
start(rf, centerFrequency, outputPower, loopCount);

The frequency spectrum of the RF signal transmitted by the signal generator can be viewed using a spectrum analyzer tuned to the 1GHz center frequency. The screen capture below, from an Agilent Technologies N9010A signal analyzer, clearly shows the 5MHz signal bandwidth.

Clean up

When you have finished transmitting data, stop the waveform output, disconnect the rfsiggen object from the signal generator, and remove it from the workspace.

stop(rf);
disconnect(rf);
clear rf