[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Question regarding frequency offset correction

From: Marcus D. Leech
Subject: Re: [Discuss-gnuradio] Question regarding frequency offset correction
Date: Mon, 14 Jul 2014 13:13:28 -0400
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20111108 Fedora/3.1.16-1.fc14 Thunderbird/3.1.16

On 07/14/2014 01:01 PM, Aditya Dhananjay wrote:

On Mon, Jul 14, 2014 at 12:14 PM, Perper <address@hidden> 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.


Also offset artefacts vary by modulation in use.  For example in WBFM, you can use residual DC-offset in the demodulated audio as a proxy
  for frequency offset and use that to drive correction machinery.

But with other modulations, the approach is different.

Marcus Leech
Principal Investigator
Shirleys Bay Radio Astronomy Consortium

reply via email to

[Prev in Thread] Current Thread [Next in Thread]