1996 mkdir kalibrate 1997 cd kalibrate/ 1998 git clone https://github.com/steve-m/kalibrate-rtl 2000 cd kalibrate-rtl/ 2002 less README 2003 ./bootstrap 2004 ./configure 2005 make 2007 cd src/ 2009 ./kal 2010 ./kal -s GSM900 Found 1 device(s): 0: Generic RTL2832U (e.g. hama nano) Using device 0: Generic RTL2832U (e.g. hama nano) Found Rafael Micro R820T tuner Exact sample rate is: 270833.002142 Hz kal: Scanning for GSM-900 base stations. GSM-900: chan: 72 (949.4MHz + 18.936kHz) power: 172769.47 chan: 83 (951.6MHz - 15.994kHz) power: 180280.54 2011 ./kal -c 72 #### Note that not using -e here leads to inaccurate results. Found 1 device(s): #### See the next example for proper usage. 0: Generic RTL2832U (e.g. hama nano) Using device 0: Generic RTL2832U (e.g. hama nano) Found Rafael Micro R820T tuner Exact sample rate is: 270833.002142 Hz kal: Calculating clock frequency offset. Using GSM-900 channel 72 (949.4MHz) average [min, max] (range, stddev) + 17.588kHz [16590, 18719] (2129, 424.765808) overruns: 0 not found: 113 average absolute error: -18.526 ppm 2018 ./kal -e -52 -c 83 -v ### Here the initial error is set to -52 ppm a value suggested based off Found 1 device(s): ### LTE Cell Scanner and keenerd rtl_test results. But apparently just 0: Generic RTL2832U (e.g. hama nano) ### guessing works too. You have to get the FCCH-peak in the 270k ### bandwidth for GSM reception. If the initial error is too large Using device 0: Generic RTL2832U (e.g. hama nano) ### and uncorrected the peak might be outside the range. Found Rafael Micro R820T tuner Exact sample rate is: 270833.002142 Hz kal: Calculating clock frequency offset. Using GSM-900 channel 83 (951.6MHz) offset 1: -16280.91 offset 2: -14628.91 offset 3: -16121.81 offset 4: -16232.36 offset 5: -15499.85 offset 6: -16057.75 offset 7: -16061.89 offset 8: -15724.05 offset 9: -16140.40 offset 10: -15567.01 offset 11: -16990.69 offset 12: -16427.62 offset 13: -17941.18 offset 14: -16587.76 offset 15: -16605.32 offset 16: -16128.01 offset 17: -18540.40 offset 18: -17188.02 offset 19: -15987.50 offset 20: -12743.42 offset 21: -16160.04 offset 22: -16162.10 offset 23: -14313.80 offset 24: -15438.90 offset 25: -15846.99 offset 26: -16747.90 offset 27: -19116.90 offset 28: -15687.89 offset 29: -15466.79 offset 30: -14348.93 offset 31: -15944.11 offset 32: -16106.31 offset 33: -14329.30 offset 34: -17024.78 offset 35: -16357.36 offset 36: -16275.75 offset 37: -22596.53 offset 38: -16132.14 offset 39: -16088.75 offset 40: -16256.12 offset 41: -16133.17 offset 42: -13698.05 offset 43: -11377.60 offset 44: -16126.97 offset 45: -16429.69 offset 46: -15881.09 offset 47: -17529.99 offset 48: -15668.26 offset 49: -16101.15 offset 50: -16133.17 offset 51: -15836.66 offset 52: -16864.64 offset 53: -16022.63 offset 54: -16133.17 offset 55: -15995.76 offset 56: -16186.90 offset 57: -16287.11 offset 58: -17677.73 offset 59: -16191.03 offset 60: -12085.31 offset 61: -16153.84 offset 62: -15828.40 offset 63: -16177.60 offset 64: -15584.57 offset 65: -14298.31 offset 66: -17359.52 offset 67: -16865.67 offset 68: -14212.56 offset 69: -17597.14 offset 70: -14665.07 offset 71: -15873.85 offset 72: -16114.58 offset 73: -16281.95 offset 74: -13565.81 offset 75: -14272.48 offset 76: -14738.43 offset 77: -16058.79 offset 78: -16776.82 offset 79: -15500.89 offset 80: -16062.92 offset 81: -16422.46 offset 82: -16136.27 offset 83: -16644.58 offset 84: -16059.82 offset 85: -16287.11 offset 86: -16036.06 offset 87: -16154.87 offset 88: -14685.74 offset 89: -16711.74 offset 90: -17473.17 offset 91: -16364.60 offset 92: -15458.53 offset 93: -15965.80 offset 94: -16846.04 offset 95: -19664.47 offset 96: -15726.11 offset 97: -16290.21 offset 98: -16140.40 offset 99: -16511.31 offset 100: -15690.99 average [min, max] (range, stddev) - 16.064kHz [-17188, -14349] (2839, 527.594788) overruns: 0 not found: 622 average absolute error: -35.119 ppm