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.
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, please refer to Waveform Generation and Transmission using LTE Toolbox with Test and Measurement Equipment.
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 22.214.171.124 or higher
Instrument Control Toolbox
Generate test model waveform using lteTestModelTool, 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);
% Calculate the spectral content in the LTE signal spectrumPlotTx = dsp.SpectrumAnalyzer; spectrumPlotTx.SampleRate = tmconfig.SamplingRate; spectrumPlotTx.SpectrumType = 'Power density'; 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);
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
ans = ' ASRL1::INSTR ASRL3::INSTR ASRL::COM1 ASRL::COM3 TCPIP0::172.28.21.217::inst0::INSTR '
Discover all the available instrument drivers, using
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'
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);
start to start transmitting waveform using specified
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.
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