2014-03-04 9:32 GMT+08:00 zhenhua han <hzhua...@gmail.com>:

> 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
>
>
>
BTW, this is a question I raised in my former email.(But no one replied...).
Maybe, there is some relationship between the  introduced instability and
my question.



>
> 2014-03-04 9:28 GMT+08:00 zhenhua han <hzhua...@gmail.com>:
>
> Hi Perper,
>>
>> I took a look at your code, and I found this
>>
>> //set_frequency(d_freq_offset);
>>
>> It seems you have turned off the the frequency offset correction as you
>> said.
>> Do you know the reason of the introduced instability by this part?
>>
>> Best,
>> Zhenhua
>>
>> 2014-03-04 1:42 GMT+08:00 Perper <per...@o2.pl>:
>>
>> W dniu 28.02.2014 15:31, zhenhua han pisze:
>>> > Hi,
>>> >
>>> > As I have known, GSM uses GMSK modulation which BT = 0.3 and it
>>> > uses Viterbi algorithm for demodulation. And I took a look at the code
>>> > of GMSK demod code in GNU Radio, it use quadrature_demod but not
>>> > Viterbi as demodulation method. So which one is better in doing
>>> > demodulating GMSK?
>>> >
>>> > Moreover, GSM uses Viterbi algorithm to decode the convolution
>>> > encoding. Would it be possible to use quadrature_demod to demodulate
>>> > GSM signal instead of Viterbi? What about the convolution decoding
>>> > part (maybe by some other method)?
>>> >
>>> > Cheers,
>>> > Zhenhua
>>> >
>>> >
>>> > _______________________________________________
>>> > Discuss-gnuradio mailing list
>>> > Discuss-gnuradio@gnu.org
>>> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>> Hello all,
>>>
>>> Regarding usage of viterbi algorithm for maximum likelihood sequence
>>> estimation in GSM - you may look at and try gsm-receiver that I once
>>> submitted to airprobe. I've prepared version where I thrown out all of
>>> decoding stuff and left only synchronization, channel estimation and
>>> detection of bits with viterbi algorithm. It's available for download in
>>> here:
>>> https://github.com/Jakotako/gr-gsm
>>>
>>> It compiles with newest gnu-radio and it has gnuradio companion xml file
>>> as well. It can be easily connected to different sources in gnuradio
>>> (file, rtl-sdr, usrp) and it has a message sink where burst bits and
>>> gsmtap headers are sent. I've corrected some issues with synchronization
>>> and turned off frequency offset correction that introduced instability
>>> of the receiver. After compiling and installing you can start with
>>> examples.
>>>
>>> --
>>> Best Regards,
>>> Piotr Krysik
>>>
>>> _______________________________________________
>>> Discuss-gnuradio mailing list
>>> Discuss-gnuradio@gnu.org
>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>
>>
>>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to