abnormal calibration with kalibrate-bladerf

Discussions related to schematic capture, PCB layout, signal integrity, and RF development
Post Reply
ehhewng07
Posts: 8
Joined: Tue May 29, 2018 10:19 pm

abnormal calibration with kalibrate-bladerf

Post by ehhewng07 »

Hi all,
Do my bladeRF broken?

Why run kalibrate-bladeRF, here's the ouput:

./kal -c 94 -w -g 100 -F 52M
Actual filter bandwidth = 1500 kHz
rxvga1 = 27 dB
rxvga2 = 30 dB
kal: Calculating clock frequency offset.
Using GSM-900 channel 94 (953.8MHz)
================
DAC: 0x8000
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.317kHz [-67330, -67206] (124, 30.143723)
overruns: 0
not found: 1164
================
DAC: 0x4000
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.327kHz [-67330, -67314] (17, 2.940094)
overruns: 0
not found: 0
================
DAC: 0x2000
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.327kHz [-67330, -67318] (12, 2.511768)
overruns: 0
not found: 0
================
DAC: 0x1000
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.326kHz [-67330, -67318] (12, 2.892969)
overruns: 0
not found: 0
================
DAC: 0x0800
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.328kHz [-67330, -67322] (8, 2.389806)
overruns: 0
not found: 0
================
DAC: 0x0400
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.318kHz [-67330, -67194] (136, 26.687473)
overruns: 0
not found: 0
================
DAC: 0x0200
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.325kHz [-67330, -67276] (54, 7.178903)
overruns: 0
not found: 0
================
DAC: 0x0100
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.316kHz [-67334, -67231] (103, 25.575899)
overruns: 0
not found: 0
================
DAC: 0x0080
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.326kHz [-67330, -67301] (29, 4.006910)
overruns: 0
not found: 0
================
DAC: 0x0040
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.325kHz [-67330, -67260] (70, 10.612233)
overruns: 0
not found: 0
================
DAC: 0x0020
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.327kHz [-67330, -67310] (21, 3.355923)
overruns: 0
not found: 0
================
DAC: 0x0010
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.324kHz [-67330, -67231] (99, 16.735897)
overruns: 0
not found: 0
================
DAC: 0x0008
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.327kHz [-67330, -67322] (8, 2.496314)
overruns: 0
not found: 0
================
DAC: 0x0004
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.321kHz [-67330, -67239] (91, 20.828142)
overruns: 0
not found: 12
================
DAC: 0x0002
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.314kHz [-67330, -67202] (128, 31.364693)
overruns: 0
not found: 0
================
DAC: 0x0001
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.297kHz [-67330, -67194] (136, 46.877815)
overruns: 0
not found: 22
================
DAC: 0x0001
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.297kHz [-67330, -67186] (145, 47.290295)
overruns: 0
not found: 16
================
DAC: 0x0001
....................
....................
....................
....................
....................

average [min, max] (range, stddev)
- 67.305kHz [-67330, -67186] (145, 41.804253)
overruns: 0
not found: 3
Found lowest offset of -67296.937500Hz at 953.800000MHz (-70.556655 ppm) using DAC trim 0x1
Saving contents to bladeRF flash



Q: Why the fequency offset so large, -70ppm is really a bigger value.
bglod
Posts: 201
Joined: Thu Jun 18, 2015 6:10 pm

Re: abnormal calibration with kalibrate-bladerf

Post by bglod »

Kalibrate is terrible -- we don't recommend it.

Instead, we recommend grabbing a decent GPS disciplined oscillator like the one from Leo Bodnar or a decent 10 MHz reference. Take a look at our blog post about VCTCXO taming with a GPSDO. Ideally you want a GPSDO or reference that will output a 10 MHz, 1.8 Vpp square wave. The FPGA is tolerant to 3.3 Vpp if you really had to push it that far (however, we really advise using an attenuator in this case).

If you can only find a sine wave reference or GPSDO (these tend to be much more common), there are ways to convert the signal but you'll be looking at additional hardware. A sine wave GPSDO/reference will not work on the bladeRF because it causes too much jitter when connected to a digital FPGA input.
Electrical Engineer
Nuand, LLC.
ehhewng07
Posts: 8
Joined: Tue May 29, 2018 10:19 pm

Re: abnormal calibration with kalibrate-bladerf

Post by ehhewng07 »

Thanks very much for your fast reply. I'll try your comments.
Post Reply