Quantcast

Flowgraph with loops

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Flowgraph with loops

Thom L
Hi,
For educational purposes I try to use gnuradio to realize simple digital filters with delay, add and multiply blocks.
This is perfect for non-recursive filters but it does not seem possible to make loops as in the example above and thus impossible to build a recursive filter on the same principle?
Thanks
Thomas

_______________________________________________
Discuss-gnuradio mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

=?UTF-8?B?U8OpbGVjdGlvbl8wMTQucG5n?= (55K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Flowgraph with loops

Marcus D. Leech
On 05/16/2017 04:01 PM, Thom L wrote:
Hi,
For educational purposes I try to use gnuradio to realize simple digital filters with delay, add and multiply blocks.
This is perfect for non-recursive filters but it does not seem possible to make loops as in the example above and thus impossible to build a recursive filter on the same principle?
Thanks
Thomas


_______________________________________________
Discuss-gnuradio mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Loops are strictly forbidden by the buffer-management model.

However, you can loop *internally* within a block.



_______________________________________________
Discuss-gnuradio mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Flowgraph with loops

Marcus Müller-3

Adding to that, because it comes up every couple of years:

Marcus is right, GNU Radio's scheduler will just bark at you and refuse to work if the flow graph has cycles.

I don't fully agree with the statement that it's due to buffer management:

I've patched away that refusal to work on a longish train ride some time ago, and in theory, with the Thread-Per-Block (TPB) scheduler, it *would* work. However, of course, you're running into causality problems if none of the blocks in the feedback path creates items out of thin air, and the block where feedback and forward items "merge" needs an item on every input.

So, realizing that this refusal to work is a result of GNU Radio originally being written only with the single-threaded scheduler (STS) in mind, and is a remnant of us never really having codified or formalized the boundaries between blocks, block execution, scheduling, and flowgraph initialization, I kinda stopped there, and never wrote the unit and integration tests, wrote docs or figured out a way to test whether such a flow graph could work before actually letting it start to run.

It just seemed wiser to first tackle the fact that we don't really have a formal description of how the scheduler should behave before changing what it refuses to do (and, possibly, for good reasons that I didn't have in mind). Now, fast forward a while, what a surprise!, that plan of formalizing what GR is supposed to do never saw execution; it's not really a weekend project.

But: this whole thing has gotten traction over the last couple of weeks, so maybe we'll come up with something.

Cheers,
Marcus (the second)


On 16.05.2017 22:39, Marcus D. Leech wrote:
On 05/16/2017 04:01 PM, Thom L wrote:
Hi,
For educational purposes I try to use gnuradio to realize simple digital filters with delay, add and multiply blocks.
This is perfect for non-recursive filters but it does not seem possible to make loops as in the example above and thus impossible to build a recursive filter on the same principle?
Thanks
Thomas


_______________________________________________
Discuss-gnuradio mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Loops are strictly forbidden by the buffer-management model.

However, you can loop *internally* within a block.




_______________________________________________
Discuss-gnuradio mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


_______________________________________________
Discuss-gnuradio mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Loading...