Forum: GNU Radio Help: Feedback causing "Flow graph loops"

Bcfba6906cf00596df1d5b76972e6d27?d=identicon&s=25 tom sutherland (Guest)
on 2013-08-09 16:33
(Received via mailing list)
I am trying to make a simple PLL using a VCO but I get an error
"RuntimeError:flow graph has loops!". Anyway around that?
Thanks...Tom
Ad80d352eb445a3d7dccd5a779db0e43?d=identicon&s=25 Martin Braun (CEL) (Guest)
on 2013-08-09 17:19
(Received via mailing list)
On Fri, Aug 09, 2013 at 07:31:58AM -0700, tom sutherland wrote:
> I am trying to make a simple PLL using a VCO but I get an error
> "RuntimeError:flow graph has loops!". Anyway around that?

Nope, stock GNU Radio does not support loops. There's plenty of PLLs
available already, though.

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-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT -- University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association
A74e1b1b5108ba51885a3746baa72f56?d=identicon&s=25 "Martin Lülf" <mail@mluelf.de> (Guest)
on 2013-08-09 19:03
(Received via mailing list)
Hi,

since I also had trouble with this issue at first, please allow me to
clarify this further: GNURadio does not support looping of blocks.
Inside a single block you can loop as often as you wish and that is
exactly how the available PLLs in GNURadio are made. Just search the
mailing list for more details, since this topic has been discussed a
couple of times already.

Yours
Martin



Am 09.08.2013 17:17, schrieb Martin Braun (CEL):
C539637020fd56193dd6daec746c4a84?d=identicon&s=25 Tom Rondeau (Guest)
on 2013-08-14 23:12
(Received via mailing list)
On Fri, Aug 9, 2013 at 1:02 PM, Martin Llf <mail@mluelf.de> wrote:
>
>> Nope, stock GNU Radio does not support loops. There's plenty of PLLs
>> available already, though.
>>
>> MB

Yes. From a scheduler standpoint, loops, as in traditional control
loops with some required and guaranteed delay, are incredibly
inefficient. And instead of figuring out how to support something like
that, Eric made the decision very early on to just not allow them at
all.

You can use the asynchronous message passing interface to do loops.
However, it's asynchronous, so you're not going to be building a PLL
or something like that which mathematically falls apart if you have
more than 1 sample delay in it. But you can at least use it to feed
back data/metadata/control info if you don't need that kind of
requirement. But if you do, follow Martin and Martin's advice and do
it inside of a block.

--
Tom
Visit us at GRCon13 Oct. 1 - 4
http://www.trondeau.com/grcon13
Ad80d352eb445a3d7dccd5a779db0e43?d=identicon&s=25 Martin Braun (CEL) (Guest)
on 2013-08-15 09:39
(Received via mailing list)
On Wed, Aug 14, 2013 at 05:10:24PM -0400, Tom Rondeau wrote:
> Yes. From a scheduler standpoint, loops, as in traditional control
> loops with some required and guaranteed delay, are incredibly
> inefficient. And instead of figuring out how to support something like
> that, Eric made the decision very early on to just not allow them at
> all.
>
> You can use the asynchronous message passing interface to do loops.

If this is any help, there's an example for async loops in
gr-digital/examples/ofdm/rx_ofdm.grc.

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-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT -- University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.