Fading channel in GNURadio

I’m trying to make a block for fading channel model using hierarchical
block.

class channel(gr.hier_block2):
def init(self):
gr.hier_block2.init(self, “channel”,
gr.io_signature(1, 1, gr.sizeof_float),
gr.io_signature(1, 1, gr.sizeof_gr_complex))

    self.taps = generate_taps()
    self.filt = filter.fir_filter_ccc(1, self.taps)
    self.connect(self, self.filt, self)

def generate_taps():
    n_taps = random.randint(1, 10)
    r_taps = random.rand(n_taps)
    i_taps = random.rand(n_taps)
    return r_taps + 1j*i_taps

I want the block to be able to update the channel filter taps in run
time.
Can I do that?
Can I define a function in the class so that the filter taps are updated
for every 5 seconds?

Thank you.

On 03/21/2013 03:45 PM, Manu T S wrote:

    self.taps = generate_taps()

I want the block to be able to update the channel filter taps in run
time. Can I do that?
Can I define a function in the class so that the filter taps are
updated for every 5 seconds?

The set_taps function gives you access to this from the top_block level.
In that case, your main thread would be updating the block’s taps using
a while loop with sleep(5). You could also make a block class that
inherits from fir_filter_ccc or channel_model and change the taps within
the work function every N seconds: every time (ninput_items / samp_rate)
% N == 0. I hope that’s enough info to point you in the right direction.

Thank you.


Manu T S


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page


Sean M. Nowlan
Research Engineer I
ICL/CNSD
Georgia Tech Research Institute
250 14th St NW, Suite 470
Atlanta, GA 30318

404.407.7952
[email protected]

On Thu, Mar 21, 2013 at 03:54:48PM -0400, Sean Nowlan wrote:

every N seconds: every time (ninput_items / samp_rate) % N == 0. I hope that’s
enough info to point you in the right direction.

Note that will change taps in wall time, not sample time.

MB


Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin B.
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