Jump to: navigation, search

Difference between revisions of "ClockTamerCalibration"

(Created page with "= Introduction = Calibration is a procedure which helps you to maintain the frequency stability of your ClockTamer within specified bounds. It is performed by measuring the a...")
 
Line 1: Line 1:
= Introduction =
+
== Introduction ==
  
 
Calibration is a procedure which helps you to maintain the frequency stability of your ClockTamer within specified bounds. It is performed by measuring the actual frequency of the ClockTamer's internal TCXO and specifying it in the ClockTamer settings. E.g. internal TCXO specified as 20 MHz may actually have frequency 20'000'005 Hz. This 5 Hz offset at 20 MHz correspond to 5/20e6=0.25 ppm (parts per million) and will translate to (5Hz/20MHz)`*`900MHz = 225Hz at 900 MHz (low GSM band).  
 
Calibration is a procedure which helps you to maintain the frequency stability of your ClockTamer within specified bounds. It is performed by measuring the actual frequency of the ClockTamer's internal TCXO and specifying it in the ClockTamer settings. E.g. internal TCXO specified as 20 MHz may actually have frequency 20'000'005 Hz. This 5 Hz offset at 20 MHz correspond to 5/20e6=0.25 ppm (parts per million) and will translate to (5Hz/20MHz)`*`900MHz = 225Hz at 900 MHz (low GSM band).  
Line 7: Line 7:
 
Note, that you need to recalibrate ClockTamer after significant temperature changes and every few months. We also recommend you calibrate it prior to first use.
 
Note, that you need to recalibrate ClockTamer after significant temperature changes and every few months. We also recommend you calibrate it prior to first use.
  
= Calibration with Kalibrate =
+
== Calibration with Kalibrate ==
  
 
''Disclaimer: Fairwaves is not the author of Kalibrate and cannot offer assistance if you experience issues with it.''
 
''Disclaimer: Fairwaves is not the author of Kalibrate and cannot offer assistance if you experience issues with it.''
Line 26: Line 26:
  
 
The nominal frequency in MHz of the oscillator installed in a ClockTamer is a value of `FOSC` in `HWI` output. This can be checked with the [[ClockTamerGUI|GUI]]:
 
The nominal frequency in MHz of the oscillator installed in a ClockTamer is a value of `FOSC` in `HWI` output. This can be checked with the [[ClockTamerGUI|GUI]]:
http://wiki.clock-tamer.googlecode.com/hg/images/misc/tamer-gui-hwi-ver.png
 
  
Or with [[ControlProtocol#Hardware_information_(%22HWI%22)|HWI]] command manually:
+
[[File:Tamer-gui-hwi-ver.png]]
 +
 
 +
Or with [[ClockTamerControlProtocol#Hardware_information_(%22HWI%22)|HWI]] command manually:
 
  <nowiki>
 
  <nowiki>
 
LMX=2080 LMK=1010 OSC=20</nowiki>
 
LMX=2080 LMK=1010 OSC=20</nowiki>
Line 34: Line 35:
 
In this example oscillator frequency is 20MHz, so you should introduce calibration offset of about -500Hz/946MHz*20MHz=-10Hz. 19999990Hz looks like a good approximation of real oscillator frequency here. Set it with the [[ClockTamerGUI|GUI]] (Fosc input field):
 
In this example oscillator frequency is 20MHz, so you should introduce calibration offset of about -500Hz/946MHz*20MHz=-10Hz. 19999990Hz looks like a good approximation of real oscillator frequency here. Set it with the [[ClockTamerGUI|GUI]] (Fosc input field):
  
http://wiki.clock-tamer.googlecode.com/hg/images/misc/tamer-gui-fosc-fout.png
+
[[File:Tamer-gui-fosc-fout.png]]
  
Or manually with the [ControlProtocol#Set_(%22SET%22) `SET,,OSC`] command:
+
Or manually with the [[ClockTamerControlProtocol#Set_(%22SET%22)|SET,,OSC]] command:
 
  <nowiki>
 
  <nowiki>
 
SET,,OSC,19999990</nowiki>
 
SET,,OSC,19999990</nowiki>
Line 44: Line 45:
 
Do not forget to store the calibrated value to EEPROM. This can be done with "Set" button in the [[ClockTamerGUI|GUI]]:
 
Do not forget to store the calibrated value to EEPROM. This can be done with "Set" button in the [[ClockTamerGUI|GUI]]:
  
http://wiki.clock-tamer.googlecode.com/hg/images/misc/tamer-gui-buttons.png
+
[[File:Tamer-gui-buttons.png]]
  
Or with [[ControlProtocol#Store_EEPROM_(%22STE%22)|STE]] command manually:
+
Or with [[ClockTamerControlProtocol#Store_EEPROM_(%22STE%22)|STE]] command manually:
 
  <nowiki>
 
  <nowiki>
 
STE</nowiki>
 
STE</nowiki>
  
= See also =
+
== See also ==
  
 
# [[ClockTamerFAQ#What_is_a_difference_between_&quot;_SET,,OSC_&quot;_and_&quot;_S|FAQ: "What is a difference between "SET,,OSC" and "SET,,OUT" commands?"]]
 
# [[ClockTamerFAQ#What_is_a_difference_between_&quot;_SET,,OSC_&quot;_and_&quot;_S|FAQ: "What is a difference between "SET,,OSC" and "SET,,OUT" commands?"]]
 
# [[ClockTamerGUI|ClockTamer GUI]]
 
# [[ClockTamerGUI|ClockTamer GUI]]
 
# [[ClockTamerControlProtocol|ClockTamer control protocol]]
 
# [[ClockTamerControlProtocol|ClockTamer control protocol]]

Revision as of 12:17, 25 May 2015

1 Introduction

Calibration is a procedure which helps you to maintain the frequency stability of your ClockTamer within specified bounds. It is performed by measuring the actual frequency of the ClockTamer's internal TCXO and specifying it in the ClockTamer settings. E.g. internal TCXO specified as 20 MHz may actually have frequency 20'000'005 Hz. This 5 Hz offset at 20 MHz correspond to 5/20e6=0.25 ppm (parts per million) and will translate to (5Hz/20MHz)`*`900MHz = 225Hz at 900 MHz (low GSM band).

The GSM Standard specifies 50ppb = 0.05ppm frequency accuracy for a macro-BTS reference clock and 100ppb = 0.1ppm for femtocells. In our experience, offsets up to 500 Hz at 900MHz are ok for most 90% of phones to work without any problems, but we still recommend you to calibrate ClockTamer to 100ppb to ensure everything goes smooth.

Note, that you need to recalibrate ClockTamer after significant temperature changes and every few months. We also recommend you calibrate it prior to first use.

2 Calibration with Kalibrate

Disclaimer: Fairwaves is not the author of Kalibrate and cannot offer assistance if you experience issues with it.

Use Kalibrate or Kalibrate-UHD to measure frequency offset (read Kalibrate documentation for command line options syntax):

[root@openBTS kal-0.2]# ./kal -f 946600000 -u
USRP side: B
FPGA clock: 52000000
Decimation: 192
Antenna: RX2
Sample rate: 270833.343750
average [min, max] (range, stddev)
501.351685 [461, 546] (85, 19.314581)
overruns: 0
not found: 0

The nominal frequency in MHz of the oscillator installed in a ClockTamer is a value of `FOSC` in `HWI` output. This can be checked with the GUI:

Tamer-gui-hwi-ver.png

Or with HWI command manually:

LMX=2080 LMK=1010 OSC=20

In this example oscillator frequency is 20MHz, so you should introduce calibration offset of about -500Hz/946MHz*20MHz=-10Hz. 19999990Hz looks like a good approximation of real oscillator frequency here. Set it with the GUI (Fosc input field):

Tamer-gui-fosc-fout.png

Or manually with the SET,,OSC command:

SET,,OSC,19999990

Check frequency offset with Kalibrate again. Resulting average offset should now be no more than 20-30Hz.

Do not forget to store the calibrated value to EEPROM. This can be done with "Set" button in the GUI:

Tamer-gui-buttons.png

Or with STE command manually:

STE

3 See also

  1. FAQ: "What is a difference between "SET,,OSC" and "SET,,OUT" commands?"
  2. ClockTamer GUI
  3. ClockTamer control protocol