summaryrefslogtreecommitdiff
path: root/gnuradio-examples/python/hier/dect
diff options
context:
space:
mode:
authorjcorgan <jcorgan@221aa14e-8319-0410-a670-987f0aec2ac5>2007-04-28 02:20:28 +0000
committerjcorgan <jcorgan@221aa14e-8319-0410-a670-987f0aec2ac5>2007-04-28 02:20:28 +0000
commitb26ea69676c09f5366a9e2f33b11ae5a7521ffe5 (patch)
tree0641c1c25d6e827f70941e07f4611d0a2b6b83cd /gnuradio-examples/python/hier/dect
parent00696b9f754338de9362932c1ecfb1e144a38786 (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/README1
-rw-r--r--gnuradio-examples/python/hier/dect/dect_receiver.py28
-rw-r--r--gnuradio-examples/python/hier/dect/gmsk2.py38
-rw-r--r--gnuradio-examples/python/hier/dect/usrp_source.py4
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: