> 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
Hi Zhenhua,

The reason of instability is in the method of correction of the
frequency offset.

The offset is computed inside of gsm-receiver gnuradio block and it is
fed to a frequency shifting fir filter.

The connection of the blocks look like this:

             __freq. offset_____
            |                            |
            v                           |
xlating_fir_filter -> gsm-receiver

There is lact of synchronization between computation of frequency offset
and its correction inside of xlating_fir_filter. Synchronisation in this
case is needed because the moment of computation of the estimate affects it.
When new estimate of frequency correction is computed before previous is
applied the connection with frequency offset becomes additive feedback loop.

This problem can be corrected by integration frequency correction inside
of the gsm-receiver or with use of stream tags.

Generally I would like to split gr-gsm into smaller blocks that are
easier to test but it will happen only if I find enough time for this.

P.S. for some reason I didn't get your reply through my mailing list
subscription (together with many more missing messages)...
I've found it through the webpage
lists.gnu.org/archive/html/discuss-gnuradio/ .

--
Best Regards,
Piotr Krysik

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to