> 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