Cleanup on gr.channel_model
authorjcorgan <jcorgan@221aa14e-8319-0410-a670-987f0aec2ac5>
Fri, 17 Apr 2009 16:54:59 +0000 (16:54 +0000)
committerjcorgan <jcorgan@221aa14e-8319-0410-a670-987f0aec2ac5>
Fri, 17 Apr 2009 16:54:59 +0000 (16:54 +0000)
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@10864 221aa14e-8319-0410-a670-987f0aec2ac5

gnuradio-core/src/lib/hier/gr_channel_model.cc
gnuradio-core/src/python/gnuradio/blks2impl/channel_model.py

index 7bc47d5a63ab7418cff5875dd8aac6d77f13d1a4..fb57e808a1a05b62d5d5b5d6d2c0f605cf15f329 100644 (file)
@@ -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,
index a36705a9e90a782661e7a6b74cde8918d4764a15..57487dff22ab1d67932a8df77a1c9d2f451c1558 100644 (file)
@@ -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
 # 
 
 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