discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] calculate frequency offset from phase offset


From: zhenhua han
Subject: [Discuss-gnuradio] calculate frequency offset from phase offset
Date: Sat, 1 Mar 2014 11:47:54 +0800

Hi guys, 
I'm reading the code of Airprobe and I found this function.

double gsm_receiver_cf::compute_freq_offset(const gr_complex * input, unsigned first_sample, unsigned last_sample)
{
  double phase_sum = 0;
  unsigned ii;

  for (ii = first_sample; ii < last_sample; ii++) {
    double phase_diff = compute_phase_diff(input[ii], input[ii-1]) - (M_PI / 2) / d_OSR;
    phase_sum += phase_diff;
  }

  double phase_offset = phase_sum / (last_sample - first_sample);
  double freq_offset = phase_offset * 1625000.0 / (12.0 * M_PI);
  return freq_offset;
}




It calculates the frequency offset with "freq_offset = phase_offset * 1625000.0 / (12.0 * M_PI);" I guess the (1625000.0/12*pi) equals (1625000/6)/(2pi) and 1625/6 kbit/s is the modulation rate of GSM.

So, what is the principle of this calculation? How to calculate the freq_offset with phase_offset. I tried some derivation but failed. Can anyone help me to find out the derivation ?

Best wishes,
Zhenhua

reply via email to

[Prev in Thread] Current Thread [Next in Thread]