summaryrefslogtreecommitdiff
path: root/gr-digital/python
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2012-07-16 22:43:46 -0400
committerTom Rondeau <trondeau@vt.edu>2012-07-16 22:43:46 -0400
commit25166c11ad7e438dd3673edca36b3a23ee8ec0dd (patch)
tree1285726602c35493aa4f7230c60cf5298aa4e1e7 /gr-digital/python
parentf51f49c7cd1b5c1bd10c243f479ac8f9ebb3f3d3 (diff)
digital: fixing narrowband (de)mods and examples to work with gr-digital and gr-filter components.
Diffstat (limited to 'gr-digital/python')
-rw-r--r--gr-digital/python/bpsk.py6
-rw-r--r--gr-digital/python/gmsk.py10
-rw-r--r--gr-digital/python/pkt.py4
-rw-r--r--gr-digital/python/qpsk.py22
4 files changed, 23 insertions, 19 deletions
diff --git a/gr-digital/python/bpsk.py b/gr-digital/python/bpsk.py
index 9f2354003c..d55db15256 100644
--- a/gr-digital/python/bpsk.py
+++ b/gr-digital/python/bpsk.py
@@ -116,8 +116,7 @@ class dbpsk_mod(bpsk_mod):
It exists purely to simplify generation of the block in grc.
"""
- super(dbpsk_mod, self).__init__(differential=True,
- *args, **kwargs)
+ super(dbpsk_mod, self).__init__(*args, **kwargs)
# /////////////////////////////////////////////////////////////////////////////
# DBPSK demodulator
@@ -140,8 +139,7 @@ class dbpsk_demod(bpsk_demod):
It exists purely to simplify generation of the block in grc.
"""
- super(dbpsk_demod, self).__init__(differential=True,
- *args, **kwargs)
+ super(dbpsk_demod, self).__init__(*args, **kwargs)
#
# Add these to the mod/demod registry
diff --git a/gr-digital/python/gmsk.py b/gr-digital/python/gmsk.py
index 2c9be056c2..cc6af9ffff 100644
--- a/gr-digital/python/gmsk.py
+++ b/gr-digital/python/gmsk.py
@@ -32,6 +32,12 @@ import numpy
from pprint import pprint
import inspect
+try:
+ from gnuradio import filter
+except ImportError:
+ import filter_swig as filter
+
+
# default values (used in __init__ and add_options)
_def_samples_per_symbol = 2
_def_bt = 0.35
@@ -92,7 +98,7 @@ class gmsk_mod(gr.hier_block2):
sensitivity = (pi / 2) / samples_per_symbol # phase change per bit = pi / 2
# Turn it into NRZ data.
- self.nrz = gr.bytes_to_syms()
+ self.nrz = digital.bytes_to_syms()
# Form Gaussian filter
# Generate Gaussian response (Needs to be convolved with window below).
@@ -105,7 +111,7 @@ class gmsk_mod(gr.hier_block2):
self.sqwave = (1,) * samples_per_symbol # rectangular window
self.taps = numpy.convolve(numpy.array(self.gaussian_taps),numpy.array(self.sqwave))
- self.gaussian_filter = gr.interp_fir_filter_fff(samples_per_symbol, self.taps)
+ self.gaussian_filter = filter.interp_fir_filter_fff(samples_per_symbol, self.taps)
# FM modulation
self.fmmod = gr.frequency_modulator_fc(sensitivity)
diff --git a/gr-digital/python/pkt.py b/gr-digital/python/pkt.py
index 09254a7caa..b294066f17 100644
--- a/gr-digital/python/pkt.py
+++ b/gr-digital/python/pkt.py
@@ -23,7 +23,7 @@ from math import pi
from gnuradio import gr
import gnuradio.gr.gr_threading as _threading
import packet_utils
-import digital_swig
+import digital_swig as digital
# /////////////////////////////////////////////////////////////////////////////
@@ -141,7 +141,7 @@ class demod_pkts(gr.hier_block2):
threshold = 12 # FIXME raise exception
self._rcvd_pktq = gr.msg_queue() # holds packets from the PHY
- self.correlator = digital_swig.correlate_access_code_bb(access_code, threshold)
+ self.correlator = digital.correlate_access_code_bb(access_code, threshold)
self.framer_sink = digital.framer_sink_1(self._rcvd_pktq)
self.connect(self, self._demodulator, self.correlator, self.framer_sink)
diff --git a/gr-digital/python/qpsk.py b/gr-digital/python/qpsk.py
index 2fdeabd40f..d6c06bc83f 100644
--- a/gr-digital/python/qpsk.py
+++ b/gr-digital/python/qpsk.py
@@ -28,7 +28,7 @@ Demodulation is not included since the generic_mod_demod
from gnuradio import gr
from gnuradio.digital.generic_mod_demod import generic_mod, generic_demod
from utils import mod_codes
-import digital_swig
+import digital_swig as digital
import modulation_utils
# The default encoding (e.g. gray-code, set-partition)
@@ -41,7 +41,7 @@ _def_mod_code = mod_codes.GRAY_CODE
def qpsk_constellation(mod_code=_def_mod_code):
if mod_code != mod_codes.GRAY_CODE:
raise ValueError("This QPSK mod/demod works only for gray-coded constellations.")
- return digital_swig.constellation_qpsk()
+ return digital.constellation_qpsk()
# /////////////////////////////////////////////////////////////////////////////
# QPSK modulator
@@ -62,12 +62,12 @@ class qpsk_mod(generic_mod):
pre_diff_code = True
if not differential:
- constellation = digital_swig.constellation_qpsk()
+ constellation = digital.constellation_qpsk()
if mod_code != mod_codes.GRAY_CODE:
raise ValueError("This QPSK mod/demod works only for gray-coded constellations.")
else:
- constellation = digital_swig.constellation_dqpsk()
- if mod_code not in (mod_codes.GRAY_CODE or mod_codes.NO_CODE):
+ constellation = digital.constellation_dqpsk()
+ if mod_code not in set([mod_codes.GRAY_CODE, mod_codes.NO_CODE]):
raise ValueError("That mod_code is not supported for DQPSK mod/demod.")
if mod_code == mod_codes.NO_CODE:
pre_diff_code = False
@@ -98,12 +98,12 @@ class qpsk_demod(generic_demod):
pre_diff_code = True
if not differential:
- constellation = digital_swig.constellation_qpsk()
+ constellation = digital.constellation_qpsk()
if mod_code != mod_codes.GRAY_CODE:
raise ValueError("This QPSK mod/demod works only for gray-coded constellations.")
else:
- constellation = digital_swig.constellation_dqpsk()
- if mod_code not in (mod_codes.GRAY_CODE or mod_codes.NO_CODE):
+ constellation = digital.constellation_dqpsk()
+ if mod_code not in set([mod_codes.GRAY_CODE, mod_codes.NO_CODE]):
raise ValueError("That mod_code is not supported for DQPSK mod/demod.")
if mod_code == mod_codes.NO_CODE:
pre_diff_code = False
@@ -121,7 +121,7 @@ class qpsk_demod(generic_demod):
def dqpsk_constellation(mod_code=_def_mod_code):
if mod_code != mod_codes.GRAY_CODE:
raise ValueError("The DQPSK constellation is only generated for gray_coding. But it can be used for non-grayed coded modulation if one doesn't use the pre-differential code.")
- return digital_swig.constellation_dqpsk()
+ return digital.constellation_dqpsk()
# /////////////////////////////////////////////////////////////////////////////
# DQPSK modulator
@@ -138,7 +138,7 @@ class dqpsk_mod(qpsk_mod):
See generic_mod block for list of parameters.
"""
- super(dqpsk_mod, self).__init__(mod_code, differential=True,
+ super(dqpsk_mod, self).__init__(mod_code,
*args, **kwargs)
# /////////////////////////////////////////////////////////////////////////////
@@ -158,7 +158,7 @@ class dqpsk_demod(qpsk_demod):
See generic_demod block for list of parameters.
"""
- super(dqpsk_demod, self).__init__(mod_code, differential=True,
+ super(dqpsk_demod, self).__init__(mod_code,
*args, **kwargs)
#