I am aware that GNURadio doesn't support feedback loops in the flow graph. However, I have an application scenario where every execution of a GRC block, I need some of the previous outputs of that block.
For example, if I have a block called A which produces y0,y1 and consumes i0, i1. Assume all input/output buffers are of size d. Also assume the block implements some signal processing function, y0[n] = x(i0[n], i1[n]) and y1[n] = y(i0[n]) where 'x' and 'y' are some arbitrary functions that the GRC block implements. i0 is some BPSK independent source. i1 is the delayed output y1. In other words, i1 = y[n - d].
In the flow graph, y1 will go through a delay block and become i1 to the GRC block. However this creates a feedback loop in the flow graph.
How do I go about implementing such a scenario?
A few solutions I have read online say that all feedbacks can be done internal to the custom block. The problem i have is that my application will no longer be real time.
Ideally I would like to have the block process a sample size of 'd' at a time where a USRP board dumps the BPSK stream in real time.
Any pointers?
Vipin