I was trying to use my new BladeRF 2.0 to transmit GPS signals to a receiver, but realized that something was very wrong (phase breaks in data). I then tested the BladeRF 2.0 by generating a tone at 1575.42 MHz with a signal generator, and using RX1 to digitize the tone. I realized the problem: The frequency stability is horrible. I see RMS changes of about 2 Hz when tracking the tone with 1msec integrations.
The plot below shows the doppler frequency of the tone as received by the BladeRF. I have confirmed the TX instability as well by looking on a spectrum analyzer at the instantaneous frequency with a narrow RBW (3 Hz), I can see the signal clearly walking around by 10-50 Hz.
I don't have the UMC to SMA adapter to try using an external clock, currently I'm only using the internal clock. Is this frequency change of 30-50 Hz over 1 second expected? I'm guessing either the clock has an issue, or the VTUNE voltage is noisy, or the AD9361 VCO isn't properly locking to the reference clock? Any ideas on how to fix this would be greatly appreciated.
Plot below shows frequency offset from 1575.42 MHz of tone as received by BladeRF RX1, the signal source is a high quality signal generator with excellent frequency stability.
Board: Nuand bladeRF 2.0 (bladerf2)
Serial #: e4639764725043ac801b852b283ccf9c
VCTCXO DAC calibration: 0x1e9b
FPGA size: 49 KLE
FPGA loaded: yes
Flash size: 32 Mbit (assumed)
USB bus: 4
USB address: 5
USB speed: SuperSpeed
bladeRF> print clock_sel
Clock input: Onboard VCTCXO
bladeRF-cli version: 1.6.1-git-436c78b
libbladeRF version: 2.0.2-git-436c78b
Firmware version: 2.2.0-git-3d38fac2
FPGA version: 0.7.3
bladeRF> print hardware
Temperature: 33.3 degrees C
CTRL_OUT: 0xf8 (0x035=0x00, 0x036=0xff)
RX FIR: normal
TX FIR: bypass
Power source: USB Bus
Power monitor: 4.928 V, 0.55 A, 2.72 W
TX1: RFIC 0x0 (TXA ) => SW 0x0 (OPEN )
TX2: RFIC 0x0 (TXA ) => SW 0x0 (OPEN )
RX1: RFIC 0x0 (A_BAL ) <= SW 0x0 (OPEN )
RX2: RFIC 0x0 (A_BAL ) <= SW 0x0 (OPEN )