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


On Mon, Jul 14, 2014 at 12:14 PM, Perper <per...@o2.pl <mailto: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

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
http://www.sbrac.org

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

Reply via email to