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