From 0c263e9d119ba94038679b172f4241f9d9dd7d59 Mon Sep 17 00:00:00 2001 From: jcorgan Date: Fri, 17 Apr 2009 16:54:59 +0000 Subject: [PATCH] Cleanup on gr.channel_model git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@10864 221aa14e-8319-0410-a670-987f0aec2ac5 --- .../src/lib/hier/gr_channel_model.cc | 2 +- .../gnuradio/blks2impl/channel_model.py | 45 ++----------------- 2 files changed, 4 insertions(+), 43 deletions(-) diff --git a/gnuradio-core/src/lib/hier/gr_channel_model.cc b/gnuradio-core/src/lib/hier/gr_channel_model.cc index 7bc47d5a..fb57e808 100644 --- a/gnuradio-core/src/lib/hier/gr_channel_model.cc +++ b/gnuradio-core/src/lib/hier/gr_channel_model.cc @@ -39,7 +39,7 @@ gr_make_channel_model(double noise_voltage, noise_seed)); } -// Hierarchical block constructor, with no inputs or outputs +// Hierarchical block constructor gr_channel_model::gr_channel_model(double noise_voltage, double frequency_offset, double epsilon, diff --git a/gnuradio-core/src/python/gnuradio/blks2impl/channel_model.py b/gnuradio-core/src/python/gnuradio/blks2impl/channel_model.py index a36705a9..57487dff 100644 --- a/gnuradio-core/src/python/gnuradio/blks2impl/channel_model.py +++ b/gnuradio-core/src/python/gnuradio/blks2impl/channel_model.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2007 Free Software Foundation, Inc. +# Copyright 2009 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,44 +22,5 @@ from gnuradio import gr -class channel_model(gr.hier_block2): - def __init__(self, noise_voltage=0.0, frequency_offset=0.0, epsilon=1.0, taps=[1.0,0.0], noise_seed=3021): - ''' Creates a channel model that includes: - - AWGN noise power in terms of noise voltage - - A frequency offest in the channel in ratio - - A timing offset ratio to model clock difference (epsilon) - - Multipath taps - ''' - gr.hier_block2.__init__(self, "channel_model", - gr.io_signature(1, 1, gr.sizeof_gr_complex), # Input signature - gr.io_signature(1, 1, gr.sizeof_gr_complex)) # Output signature - - #print epsilon - self.timing_offset = gr.fractional_interpolator_cc(0, epsilon) - - self.multipath = gr.fir_filter_ccc(1, taps) - - self.noise_adder = gr.add_cc() - self.noise = gr.noise_source_c(gr.GR_GAUSSIAN, noise_voltage, noise_seed) - self.freq_offset = gr.sig_source_c(1, gr.GR_SIN_WAVE, frequency_offset, 1.0, 0.0) - self.mixer_offset = gr.multiply_cc() - - self.connect(self, self.timing_offset, self.multipath) - self.connect(self.multipath, (self.mixer_offset,0)) - self.connect(self.freq_offset,(self.mixer_offset,1)) - self.connect(self.mixer_offset, (self.noise_adder,1)) - self.connect(self.noise, (self.noise_adder,0)) - self.connect(self.noise_adder, self) - - - def set_noise_voltage(self, noise_voltage): - self.noise.set_amplitude(noise_voltage) - - def set_frequency_offset(self, frequency_offset): - self.freq_offset.set_frequency(frequency_offset) - - def set_taps(self, taps): - self.multipath.set_taps(taps) - - def set_timing_offset(self, epsilon): - self.timing_offset.set_interp_ratio(epsilon) +# This block is now a C++ hierarchical block, gr.channel_model +channel_model = gr.channel_model -- 2.47.2