diff options
author | jcorgan <jcorgan@221aa14e-8319-0410-a670-987f0aec2ac5> | 2007-04-28 02:20:28 +0000 |
---|---|---|
committer | jcorgan <jcorgan@221aa14e-8319-0410-a670-987f0aec2ac5> | 2007-04-28 02:20:28 +0000 |
commit | b26ea69676c09f5366a9e2f33b11ae5a7521ffe5 (patch) | |
tree | 0641c1c25d6e827f70941e07f4611d0a2b6b83cd /gnuradio-examples/python/hier/dect | |
parent | 00696b9f754338de9362932c1ecfb1e144a38786 (diff) |
Merged -r 5137:5174 from developer branch jcorgan/hb. Trunk passes distcheck. Converts gr.hier_block2 API to not use 'define_component' methodology anymore.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@5177 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'gnuradio-examples/python/hier/dect')
-rw-r--r-- | gnuradio-examples/python/hier/dect/README | 1 | ||||
-rw-r--r-- | gnuradio-examples/python/hier/dect/dect_receiver.py | 28 | ||||
-rw-r--r-- | gnuradio-examples/python/hier/dect/gmsk2.py | 38 | ||||
-rw-r--r-- | gnuradio-examples/python/hier/dect/usrp_source.py | 4 |
4 files changed, 19 insertions, 52 deletions
diff --git a/gnuradio-examples/python/hier/dect/README b/gnuradio-examples/python/hier/dect/README index 231b1af673..c8853f185b 100644 --- a/gnuradio-examples/python/hier/dect/README +++ b/gnuradio-examples/python/hier/dect/README @@ -5,6 +5,7 @@ digital cordless phone base stations and handsets. Status ------ +2007 Apr 27 - Converted to new hier_block2 format 2007 Apr 03 - Development on hold. 2007 Feb 11 - Added GMSK demodulation and option to log to file 2007 Feb 10 - Able to tune and log filtered baseband to file diff --git a/gnuradio-examples/python/hier/dect/dect_receiver.py b/gnuradio-examples/python/hier/dect/dect_receiver.py index 491159a317..f0ec7ba0c1 100644 --- a/gnuradio-examples/python/hier/dect/dect_receiver.py +++ b/gnuradio-examples/python/hier/dect/dect_receiver.py @@ -30,19 +30,15 @@ _dect_channel_bandwidth = 1.728e6 # Top-level hierarchical block that implements DECT demodulation and # decoding. -class dect_receiver(gr.hier_block2): +class dect_receiver(gr.top_block): def __init__(self, options): - gr.hier_block2.__init__(self, - "dect_receiver", # Block typename - gr.io_signature(0,0,0), # Input signature - gr.io_signature(0,0,0)) # Output signature + gr.top_block.__init__(self, "dect_receiver") self._options = options # Need greater than 2 samples per symbol. This makes a decimation # rate of 26 and a samples per symbol of 2.136752 if_rate = 2.461538e6 - self._usrp = usrp_source_c(self, - which=0, + self._usrp = usrp_source_c(which=0, subdev_spec=options.rx_subdev_spec, if_rate=if_rate, gain=options.gain, @@ -67,25 +63,19 @@ class dect_receiver(gr.hier_block2): self._demod = gmsk2_demod(samples_per_symbol=if_rate/_dect_symbol_rate, verbose=options.verbose) - # Define and connect components - self.define_component("usrp", self._usrp) - self.define_component("channel", self._channel_filter) - self.define_component("demod", self._demod) - self.define_component("sink", gr.null_sink(gr.sizeof_char)) - self.connect("usrp", 0, "channel", 0) - self.connect("channel", 0, "demod", 0) - self.connect("demod", 0, "sink", 0) + self._sink = gr.null_sink(gr.sizeof_char) + self.connect(self._usrp, self._channel_filter, self._demod, self._sink) # Log baseband to file if requested if options.log_baseband is not None: if options.verbose: print "Logging baseband to file", options.log_baseband - self.define_component("baseband_log", gr.file_sink(gr.sizeof_gr_complex, options.log_baseband)) - self.connect("channel", 0, "baseband_log", 0) + self.baseband_log = gr.file_sink(gr.sizeof_gr_complex, options.log_baseband) + self.connect(self._channel_filter, self.baseband_log) # Log demodulator output to file if requested if options.log_demod is not None: if options.verbose: print "Logging demodulator to file", options.log_demod - self.define_component("demod_log", gr.file_sink(gr.sizeof_char, options.log_demod)) - self.connect("demod", 0, "demod_log", 0) + self.demod_log = gr.file_sink(gr.sizeof_char, options.log_demod) + self.connect(self._demod, self.demod_log) diff --git a/gnuradio-examples/python/hier/dect/gmsk2.py b/gnuradio-examples/python/hier/dect/gmsk2.py index 578873eed5..f7107241f2 100644 --- a/gnuradio-examples/python/hier/dect/gmsk2.py +++ b/gnuradio-examples/python/hier/dect/gmsk2.py @@ -106,14 +106,7 @@ class gmsk2_mod(gr.hier_block2): if verbose: self._print_verbage() - # Define and connect components - self.define_component("nrz", self.nrz) - self.define_component("filter", self.gaussian_filter) - self.define_component("fmmod", self.fmmod) - self.connect("self", 0, "nrz", 0) - self.connect("nrz", 0, "filter", 0) - self.connect("filter", 0, "fmmod", 0) - self.connect("fmmod", 0, "self", 0) + self.connect(self, self.nrz, self.gaussian_filter, self.fmmod, self) if log: self._setup_logging() @@ -125,7 +118,6 @@ class gmsk2_mod(gr.hier_block2): return 1 bits_per_symbol = staticmethod(bits_per_symbol) # make it a static method. - def _print_verbage(self): print "bits per symbol = %d" % self.bits_per_symbol() print "Gaussian filter bt = %.2f" % self._bt @@ -133,12 +125,9 @@ class gmsk2_mod(gr.hier_block2): def _setup_logging(self): print "Modulation logging turned on." - self.define_component("nrz_log", gr.file_sink(gr.sizeof_float, "nrz.dat")) - self.define_component("filter_log", gr.file_sink(gr.sizeof_float, "gaussian_filter.dat")) - self.define_component("fmmod_log", gr.file_sink(gr.sizeof_gr_complex, "fmmod.dat")) - self.connect("nrz", 0, "nrz_log", 0) - self.connect("filter", 0, "filter_log", 0) - self.connect("fmmod", 0, "fmmod_log", 0) + self.connect(self.nrz, gr.file_sink(gr.sizeof_float, "nrz.dat")) + self.connect(self.gaussian_filter, gr.file_sink(gr.sizeof_float, "gaussian_filter.dat")) + self.connect(self.fmmod, gr.file_sink(gr.sizeof_gr_complex, "fmmod.dat")) def add_options(parser): """ @@ -232,14 +221,7 @@ class gmsk2_demod(gr.hier_block2): if verbose: self._print_verbage() - # Define and connect components - self.define_component("fmdemod", self.fmdemod) - self.define_component("clock_recovery", self.clock_recovery) - self.define_component("slicer", self.slicer) - self.connect("self", 0, "fmdemod", 0) - self.connect("fmdemod", 0, "clock_recovery", 0) - self.connect("clock_recovery", 0, "slicer", 0) - self.connect("slicer", 0, "self", 0) + self.connect(self, self.fmdemod, self.clock_recovery, self.slicer, self) if log: self._setup_logging() @@ -251,7 +233,6 @@ class gmsk2_demod(gr.hier_block2): return 1 bits_per_symbol = staticmethod(bits_per_symbol) # make it a static method. - def _print_verbage(self): print "bits per symbol = %d" % self.bits_per_symbol() print "M&M clock recovery omega = %f" % self._omega @@ -263,12 +244,9 @@ class gmsk2_demod(gr.hier_block2): def _setup_logging(self): print "Demodulation logging turned on." - self.define_component("fmdemod_log", gr.file_sink(gr.sizeof_float, "fmdemod.dat")) - self.define_component("clock_recovery_log", gr.file_sink(gr.sizeof_float, "clock_recovery.dat")) - self.define_component("slicer_log", gr.file_sink(gr.sizeof_char, "slicer.dat")) - self.connect("fmdemod", 0, "fmdemod_log", 0) - self.connect("clock_recovery", 0, "clock_recovery_log", 0) - self.connect("slicer", 0, "slicer_log", 0) + self.connect(fmdemod, gr.file_sink(gr.sizeof_float, "fmdemod.dat")) + self.connect(clock_recovery, gr.file_sink(gr.sizeof_float, "clock_recovery.dat")) + self.connect(slicer, gr.file_sink(gr.sizeof_char, "slicer.dat")) def add_options(parser): """ diff --git a/gnuradio-examples/python/hier/dect/usrp_source.py b/gnuradio-examples/python/hier/dect/usrp_source.py index 16949998b8..9226f92060 100644 --- a/gnuradio-examples/python/hier/dect/usrp_source.py +++ b/gnuradio-examples/python/hier/dect/usrp_source.py @@ -47,9 +47,7 @@ class usrp_source_c(gr.hier_block2): self.set_gain(gain) self.set_calibration(calibration) self.tune(freq) - - self.define_component("usrp", self._u) - self.connect("usrp", 0, "self", 0) + self.connect(self._u, self) def set_subdev(self, subdev_spec): if subdev_spec is None: |