equAPI Application
The application equAPI is a command-line application dedicated to LimeSDR-PCIe-5G board.
The application performs the I/Q imbalance correction and gain flattening in LMS2 transmit and receive paths.
Main parts of software application are:
LMS2 receiver and transmitter calibration routines
Rx and Tx, EQUI and EQUQ, the coefficient’s calculation, and,
Rx and Tx, EQUI and EQUQ, coefficients programming operations.
Note
Please follow first the instructions in Board Configuration Guide > LimeSDR-PCIe-5G board.
The LMS2 DAC clock frequency is set to 245.76 MHz. The LMS2 ADC clock frequency is set to 122.88 MHz. The LMS3 is used during LMS2 calibration routines (in Phases 1, 2 and 3). Clock for the LMS3 analog interfaces should be set to 122.88 MHz. The clock configuration is provided via LimeSuiteGUI CDCM6208 window.
Open Modules → CDCM6208
Check the Y0 (for LMS2 DAC) in the Frequency planning box. Enter frequency of 245.76 in the Frequency requested boxes. Click Calculate. Click Write All to write the new configuration into the CDCM6208 chip. Uncheck the Y0.
Check the Y4 and Y5 CDCM outputs (for LMS2 ADCs); Y6 and Y7 (for LMS3 ADCs) in the Frequency planning boxes. Enter frequency of 122.88 in corresponding Frequency requested boxes. Click Calculate. Click Write All to write the new configuration. Uncheck the Y4, Y5, Y6 and Y7.
Warning
it is very important to open completely LMS2 analogue Receive and Transmit filters, 100MHz,-3dB bandwidth
Note
- in LimeSuiteGUI
in RxTSP tab, for both LMS2 and LMS3, in both channels A and B, bypass (check fields) all RxTSP blocks
in TxTSP tab, for both LMS2 and LMS3, in both channels A and B, bypass (check fields) all TxTSP blocks
in LMS3 TxTSP tab, select Input source -> Test signals option
check Enable MIMO for MIMO operation
open Modules → LMS1 CFR,LMS3 RxTSP control window
check LMS3 Enable RxTSP for both channels
check ResetN, LMS1 txen, DPD/CFR enable, LMS3 mon.path
uncheck DPD cap.en.
open Modules → LMS2 CFR controls window
check LMS2 En.RxTSP, En.TxTSP for both channels
uncheck bypasses for RxEQU and TxEQU for both channels
The very basic equAPI operations are explained through steps 1-3.
Open the terminal in following folder, which belongs the LimeSuiteGUI installation:
<LimeSuite install folder>/LimeSuite/src/Equaliser_CommandMode/
Compile the equAPI application:
make
Start the application with one of the following commands:
* sudo ./equAPI [--list] * sudo ./equAPI X [-r] * sudo ./equAPI X [-c] [-a] [-t] * sudo ./equAPI X [-m] * sudo ./equAPI X [-d] * sudo ./equAPI X [-c] [-a] [-t] [-s] <filename> * sudo ./equAPI X [-s] <filename> * sudo ./equAPI X [-l] <filename>
Note
the X is the index of LMS2 transceiver channel of LimeSDR-PCIe-5G board, X={0,1}, the <filename> is the filename with extension “.ini2” used to store the Equaliser configuration.
Program options include:
“–list” to get the list of all available LimeSDR-PCIe-5G boards
“-r, –reset” resets the Equaliser configuration
“-c, –calibrate” calibrates Equaliser of target board
“-m, –measurement” performs the measurement of target board
“-s, –save <filename>” saves the Equaliser configuration of target board into the file
“-l, –load <filename>” load the configuration from specified file into target board
“-t, –tdd” TDD mode is selected
“-d, –dc” calibrate separatelly TX DC offset
“-a, –adjustgain” option automatically adjusts (increase) the analogue gain after calibration process is finished and its gain flattening procedure decreases the digital gain
“-h, –help” shows help
Example usage for LMS2 channel A Equaliser calibration and TX DC calibration:
sudo ./equAPI 0 -c -a
sudo ./equAPI 0 -d
Example usage for LMS2 channel B Equaliser calibration and TX DC calibration:
sudo ./equAPI 1 -c -a
sudo ./equAPI 1 -d
Warning
It is not allowed to use the equAPI and FFTViewer at the same time. Therefore, before starting the equAPI, stop LMS2 waveforms and close the FFTViewer.