BladeRF xA9 Tx Carrier Leakage
Posted: Thu Mar 31, 2022 4:57 am
I'm struggling to get the BladeRF xA9 to meet the AD9361's spec for tx carrier leakage. The chip's spec is -50 dBc at 0 dB attenuation (see page 4 of https://www.analog.com/media/en/technic ... AD9361.pdf) and with a BladeRF version update I'm getting a +14 dBc!
I've searched the forum for how to run the AD9361's TX Quadrature calibration routine on the BladeRF, but I can only find info about calibration routines for the LMS chip. See page 13 of https://ez.analog.com/cfs-file/__key/te ... 00_570.pdf for Tx quad calibration details.
How can I run the AD9361's various calibration routines?
Below are the specifics of my issue if it helps!
In order to test the carrier leakage I created a 5MHz signal in MATLAB and saved it as a .bin file using the script located here: https://github.com/Nuand/bladeRF/blob/m ... _sc16q11.m.
I used bladeRF-cli and the commands below to tune the radio to 1650 MHz and get a cw at 1655 MHz at max gain (0 dB attenuation). I then measured the delta between that signal and the LO at 1650 MHZ.
Command script:
set frequency tx 1650M
set samplerate 20M
set bandwidth 1M
set loopback NONE
set gain tx1 66
tx config file=5MHz_CWcomplex_Fs_20MHz.bin repeat=0
tx start
tx wait 300s
With the Tx gain set to 66, I verified the AD9361's attenuation was 0 dB be using the peek command. Initially I was measuring the LO to be about -29 dBc from the CW (the spec is -50 dBc). Thinking this might be issue with the older version of SW/FW I was using, I updated the BladeRF to the version below. Unfortunately I wasn't wise enough to capture the first version I was running.
blader-cli version: 1.8.0
libbladeRF version: 2.4.1
Firmware version 2.4.0-git-a3d5c55f
FPGA version 0.14.0 (configured by USB host)
After updating to this version, it got worse. The LO is now about +14 dBc, that is, it's 14 dB above the CW! The CW power dropped from -5.9 dBm to -49.1 dBm, while using the same command script and file! I'd post pictures of the spectrums, but I either can't or don't know how
Let me know if there's other information I can provide that would be useful. Any suggestions or advice would be greatly appreciated! Thanks.
I've searched the forum for how to run the AD9361's TX Quadrature calibration routine on the BladeRF, but I can only find info about calibration routines for the LMS chip. See page 13 of https://ez.analog.com/cfs-file/__key/te ... 00_570.pdf for Tx quad calibration details.
How can I run the AD9361's various calibration routines?
Below are the specifics of my issue if it helps!
In order to test the carrier leakage I created a 5MHz signal in MATLAB and saved it as a .bin file using the script located here: https://github.com/Nuand/bladeRF/blob/m ... _sc16q11.m.
I used bladeRF-cli and the commands below to tune the radio to 1650 MHz and get a cw at 1655 MHz at max gain (0 dB attenuation). I then measured the delta between that signal and the LO at 1650 MHZ.
Command script:
set frequency tx 1650M
set samplerate 20M
set bandwidth 1M
set loopback NONE
set gain tx1 66
tx config file=5MHz_CWcomplex_Fs_20MHz.bin repeat=0
tx start
tx wait 300s
With the Tx gain set to 66, I verified the AD9361's attenuation was 0 dB be using the peek command. Initially I was measuring the LO to be about -29 dBc from the CW (the spec is -50 dBc). Thinking this might be issue with the older version of SW/FW I was using, I updated the BladeRF to the version below. Unfortunately I wasn't wise enough to capture the first version I was running.
blader-cli version: 1.8.0
libbladeRF version: 2.4.1
Firmware version 2.4.0-git-a3d5c55f
FPGA version 0.14.0 (configured by USB host)
After updating to this version, it got worse. The LO is now about +14 dBc, that is, it's 14 dB above the CW! The CW power dropped from -5.9 dBm to -49.1 dBm, while using the same command script and file! I'd post pictures of the spectrums, but I either can't or don't know how

Let me know if there's other information I can provide that would be useful. Any suggestions or advice would be greatly appreciated! Thanks.