discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] How to synchronize feedback between blocks?


From: Martin Braun
Subject: Re: [Discuss-gnuradio] How to synchronize feedback between blocks?
Date: Thu, 29 Apr 2010 12:00:33 +0200
User-agent: Mutt/1.5.20 (2009-06-14)

On Wed, Apr 28, 2010 at 11:29:16PM +0000, Nick Foster wrote:
> I'm struggling with what I hope isn't a naive problem regarding feedback 
> between flowgraph blocks. I've written a simple frequency estimator for FSK 
> signals based on the squared FFT method. Its input is an N-point FFT, created 
> by an N-item stream-to-vector block feeding an N-bin FFT block. The output of 
> the frequency estimator is a float value in Hz, and it is a sync_block. 
> Therefore, the output produces samples at the original (pre-stream-to-vector) 
> sample rate divided by N. So if my original raw sample rate is 50000, and I 
> use a 4096-bin FFT, the output frequency estimate arrives at ~12.2 samples 
> per second. That's fine.
> 
> The problem is that I want to use the output of the frequency estimator to 
> center the input data at baseband. With continuous streaming data, this is 
> easy -- just use a frequency-xlating filter, and call set_center_freq() when 
> data comes in from the frequency estimator. However, the packets I'm 
> interested in are short, and I'd like the frequency correction to be applied 
> at or near the start of the packet so the preamble can be detected 
> appropriately. In order to do this, I have to be able to determine the delay 
> it takes for feedback to come back, and that delay has to be constant. For 
> this reason, I can't use a frequency-xlating filter, because the delay in 
> calling set_center_freq() from the main Python loop could take any amount of 
> time. I could write a version of the frequency-xlating filter that accepted a 
> second stream of filter offset data at the input sample rate -- my thinking 
> is that would make the delay a fixed number of samples. Is that assumption 
> valid?
> 
> Before I go reinventing the wheel, I'm wondering if there is a "usual" way of 
> solving this feedback problem within the architecture of GNU Radio, or if I'm 
> totally out in left field.

Hi Nick,

I recommend tracing the flow graph of the OFDM system. That helped me a
lot understanding how to do synchronisation in GNU Radio.

However, I think there's no direct way to feed back data between blocks.
You need to create a feed-forward structure, i.e. have a synchronisation
block near the beginning that outputs the frequency offset to your
frequency correction.

g
mb

-- 
Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin Braun
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-3790
Fax: +49 721 608-6071
www.cel.kit.edu

KIT -- University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association

Attachment: pgpI_s0r3rlZH.pgp
Description: PGP signature


reply via email to

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