|
From: | zhenhua han |
Subject: | Re: [Discuss-gnuradio] The GMSK demodulation |
Date: | Tue, 4 Mar 2014 09:32:33 +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
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,Zhenhua2014-03-04 1:42 GMT+08:00 Perper <address@hidden>:
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
>
>
> _______________________________________________detection of bits with viterbi algorithm. It's available for download in
> Discuss-gnuradio mailing list
> address@hidden
> 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
here:(file, rtl-sdr, usrp) and it has a message sink where burst bits and
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
gsmtap headers are sent. I've corrected some issues with synchronization
and turned off frequency offset correction that introduced instabilityof the receiver. After compiling and installing you can start with examples.
--
Best Regards,
Piotr Krysik
_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Prev in Thread] | Current Thread | [Next in Thread] |