[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] The GMSK demodulation
From: |
Tom Tsou |
Subject: |
Re: [Discuss-gnuradio] The GMSK demodulation |
Date: |
Mon, 3 Mar 2014 21:28:40 -0500 |
On Mon, Mar 3, 2014 at 8:32 PM, zhenhua han <address@hidden> wrote:
> 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)
>
~
>
> 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 ?
The offset is derived assuming the signal is a constant tone. The code
is averaging the phase shift between subsequent samples in a burst.
Frequency is the first derivative of phase with respect to time, so
the phase shift multiplied by the sample rate will give you the
frequency of the tone.
-TT