Page 1 of 1

abnormal calibration with kalibrate-bladerf

Posted: Sat Jun 02, 2018 4:26 am
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.

Re: abnormal calibration with kalibrate-bladerf

Posted: Sat Jun 02, 2018 7:10 am
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.

Re: abnormal calibration with kalibrate-bladerf

Posted: Sun Jun 03, 2018 9:10 pm
by ehhewng07
Thanks very much for your fast reply. I'll try your comments.