On Mon, Jul 14, 2014 at 12:14 PM, Perper <per...@o2.pl> wrote: > Hi all, > > In many applications very good synchronization of carrier and sampling > frequencies is required. > Available sources of signal not always have good clock reference. One of > the examples is cheap RTL SDR receiver based on a DVB-T dongle. > Without any additional effort to correct frequency offset it is > impossible to decode GPS or GSM transmissions with such receivers. > > The frequency offset cannot be calibrated once as it changes with time > and temperature. Good way to fight with it is to implement some > correction algorithm that continuously computes frequency offset > estimates and applies correction by: > - performing frequency shifting and re-sampling in software, > - or changing some hardware parameter that enables tuning of the > frequency of an internal oscillator (like 'ppm' option in RTL SDR source). > > My question: is it possible to build working frequency correction with > available GNU Radio blocks? Can you point some successful example? Or if > not - can you share some ideas how it can be done? I'm especially > interested in situations where frequency offset correction and > estimation are in separate blocks i.e: > > ______freq. offset_________ > | | > v | > |sig.source|-->|freq.offset|-->(processing)-->|freq. offset| > |correction | |estimation | > > > -- > Best Regards, > Piotr Krysik > > Hello Piotr,
You could take a look at the OFDM RX example. Look at the Schmidl-Cox block. It performs timing as well as coarse-grained frequency offset estimation. Once this estimation is done, correction is a simple matter of derotation. The OFDM RX example has all of this. Good luck. best, aditya
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio