diff options
author | Tom Rondeau <trondeau@vt.edu> | 2012-07-16 22:43:46 -0400 |
---|---|---|
committer | Tom Rondeau <trondeau@vt.edu> | 2012-07-16 22:43:46 -0400 |
commit | 25166c11ad7e438dd3673edca36b3a23ee8ec0dd (patch) | |
tree | 1285726602c35493aa4f7230c60cf5298aa4e1e7 /gr-digital/python | |
parent | f51f49c7cd1b5c1bd10c243f479ac8f9ebb3f3d3 (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.py | 6 | ||||
-rw-r--r-- | gr-digital/python/gmsk.py | 10 | ||||
-rw-r--r-- | gr-digital/python/pkt.py | 4 | ||||
-rw-r--r-- | gr-digital/python/qpsk.py | 22 |
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) # |