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: Fri, 30 Apr 2010 09:35:46 +0200
User-agent: Mutt/1.5.20 (2009-06-14)

Thanks Matt, and Michael, for your input.

To clarify: I was thinking about a frequency offset detection at a later
stage in the demodulation process, which feeds back the frequency offset
to an initial xlating FIR filter (I do realise feeding back individual
samples is kind of ridiculous from a scheduling POV).

Another question: will the message interface be able to send messages
"backwards" in the flow graph?

Thanks
MB


On Thu, Apr 29, 2010 at 09:07:27AM -0700, Matt Ettus wrote:
> >y(n) = x(n) + x(n-2)
> 
> This is easy and already supported in GNU Radio, since it is not
> feedback.  Perhaps you meant:
> 
> y(n) = x(n) + y(n-1)
> 
> Which would be feedback, and is not currently supported.  You can,
> of course, do it *within* a block, like our IIR filter blocks.
> 
> >
> >My question is: can GNU Radio be modified to accept this? It's a
> >perfectly valid flow graph (similar to ones you find in DSP textbooks),
> >and thanks to the history of the delays, one that should work. I'd be
> >very interested to hear some comments on this.
> >
> >Cheers
> >MB
> 
> 
> Assuming you meant the feedback version I mentioned above, the
> current GNU Radio scheduler does not allow this.  The changes to
> support it would be significant, but not impossible.  Eric would be
> better positioned to explain it, but here is my take on it.
> 
> First, you would need to be able to communicate the amount of delay
> to the scheduler, so it could insert leading zeros for time when it
> does not have feedback values.  This is because the adder would not
> have its own previous output in order to produce its first input.
> 
> Second, you would need to check for deadlock.  If you were to put
> variable rate blocks in the loop, you could end up with deadlock.
> 
> Third, blocks in GNU Radio usually take large blocks of input and
> produce large blocks of output.  If you were to do your block like
> above, you could only produce 1 output per call, which would result
> in very high overhead and poor performance.

-- 
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: pgpWLF619HWmc.pgp
Description: PGP signature


reply via email to

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