LTE transmission test using SDR-B1

1. Overview

This article describes the method of using the Zencheer SDR platform SDR-B1 to load LTE waveform for transmission testing in order to evaluate the performance of SDR-B1 and external RF power amplifiers. SDR-B1 is based on Xilinx XC7Z045 and ADI AD9361, and the RF power amplifier used in this article is DPA-1 launched by Zencheer.

2. Test Equipments

  • NI PCIe-5644R
  • GWINSTEK GPD-3303S

3. Test Software

  • Matlab R2024a(AMD SoC Support from SoC Blockset)
  • NI RFmx

4. Test Setting

The connections are made as follows: PC1 is connected to SDR-B1 via an Ethernet cable. The IP address of PC1 is set to 192.168.3.30, which is used to run the Matlab and send waveform to SDR-B1. The IP address of SDR-B1 is set to 192.168.3.2, and the dedicated test firmware provided by Zencheer is burned. PC2 runs NI RFmx and is connected to NI PCIe-5644R via a lightning cable.

5. Testing Process

(1) Connect the cables properly and power on the SDR-B1. When the SDR-B1 is started, enter the username root and password root in the serial port, and then enter the following command:

ifconfig eth0 192.168.3.2

As shown below

(2) Use Matlab to open lte_tx_gen.m and set a breakpoint before line 44, as shown below

(3) Click the Run button of Matlab, and select AD9361 and LTE10 (Rx & Tx) in Device Settings in the pop-up AD9361 Filter Wizard interface, as shown below:

(4) Then click Design Filter, the parameters will be updated to the current filter and the filter's amplitude-frequency response will be displayed in Filter Specifications, as shown below

Then click Apply filter design under Controls on the left, click OK in the pop-up dialog box, and then close the AD9361 Filter Wizard.

(5) Set the RFmx center frequency to 1470MHz, and you can see the current RF performance, as shown below:

It can be seen that the output power read by RFmx is -16.5dBm. Since the instrument is connected to an external attenuator of about 35dB, the actual output power of the current RF power amplifier is about 18.5dBm, the ACP is better than -52dB, and the average EVM is 0.77% (about -42dB). It has excellent performance and can be used as a signal source.

Attachment

The content of lte_tx_gen.m is as follows:

% Generated by MATLAB(R) 24.1 (R2024a) and LTE Toolbox 24.1 (R2024a).
% Generated on: 11-Mar-2025 09:35:37

%% Generating LTE Test Models waveform
% LTE Test Models configuration
cfg = struct('TMN', '1.1', ...
'BW', '10MHz', ...
'NCellID', 1, ...
'DuplexMode', 'FDD', ...
'TotSubframes', 10, ...
'Windowing', 0);

cfg = lteTestModel(cfg);

% Generation
[waveform, grid, cfg] = lteTestModelTool(cfg);

Fs = cfg.SamplingRate; % Specify the sample rate of the waveform in Hz

%% Visualize
% Spectrum Analyzer
spectrum = spectrumAnalyzer('SampleRate', Fs);
spectrum(waveform);
release(spectrum);

%% Transmit waveform over the air
zynqTx = sdrtx('AD936x', IPAddress='192.168.3.2');
designCustomFilter(zynqTx);
zynqTx.CenterFrequency = 1470000000;
zynqTx.Gain = -20;
zynqTx.BasebandSampleRate = Fs;
zynqTx.ChannelMapping = 1;

db_backoff = 3;

waveform_scaled = waveform * (10^(-db_backoff/20))/max([max(real(waveform)) abs(min(real(waveform))) max(imag(waveform)) abs(min(imag(waveform)))]);

% Transmit (for 10 sec):
transmitRepeat(zynqTx, waveform_scaled);

% Stop transmission:
%pause(10);
release(zynqTx);
%fprintf('Transmission stopped.\n')

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>