Wednesday, October 2, 2013

Re: [Discuss-gnuradio] Activating/Deactivating Blocks in real time

Can you do this with a 2:1 mux block? Input 2 = constant 0, control input is s(t)?

 

From: discuss-gnuradio-bounces+tmonahan=qti.qualcomm.com@gnu.org [mailto:discuss-gnuradio-bounces+tmonahan=qti.qualcomm.com@gnu.org] On Behalf Of Achilleas Anastasopoulos
Sent: Wednesday, October 02, 2013 3:48 PM
To: Discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] Activating/Deactivating Blocks in real time

 

I have the following problem that I would like your opinion on how to solve elegantly:

I have a block A (say a standard sync block with some memory--eg an fir filter) which
has input x(t) and output y(t) and is pretty computationally intensive.

I would like to add the following functionality to it:


Add a new input s(t) to A which can be 0 or 1.

When s(t)=1 the block operates as before ie, it processes x(t) to generate y(t).

If s(t)=0 I would like it to output y(t)=0 and consume the appropriate x(t)'s from the input.

This way when s(t)=0 block A essentially "does not work".

 

This is pretty straightforward to code if I modify the work function of block A.

However, block A for me is a pretty complicated hierarchical block, so I don't have access to its "work" function.

One way to do this is to rewrite the whole hierarchical block A as a flat block and then do as suggested above.

Is there a better way?

 

Thanks
Achilleas

 

No comments:

Post a Comment