[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r3551 - gnuradio/branches/developers/eb/trondeau/gnura
From: |
eb |
Subject: |
[Commit-gnuradio] r3551 - gnuradio/branches/developers/eb/trondeau/gnuradio-core/src/python/gnuradio/blksimpl |
Date: |
Sat, 16 Sep 2006 10:38:24 -0600 (MDT) |
Author: eb
Date: 2006-09-16 10:38:24 -0600 (Sat, 16 Sep 2006)
New Revision: 3551
Modified:
gnuradio/branches/developers/eb/trondeau/gnuradio-core/src/python/gnuradio/blksimpl/gmsk.py
gnuradio/branches/developers/eb/trondeau/gnuradio-core/src/python/gnuradio/blksimpl/modulators.py
Log:
work-in-progress
Modified:
gnuradio/branches/developers/eb/trondeau/gnuradio-core/src/python/gnuradio/blksimpl/gmsk.py
===================================================================
---
gnuradio/branches/developers/eb/trondeau/gnuradio-core/src/python/gnuradio/blksimpl/gmsk.py
2006-09-16 16:28:32 UTC (rev 3550)
+++
gnuradio/branches/developers/eb/trondeau/gnuradio-core/src/python/gnuradio/blksimpl/gmsk.py
2006-09-16 16:38:24 UTC (rev 3551)
@@ -29,7 +29,7 @@
import Numeric
# /////////////////////////////////////////////////////////////////////////////
-# GMSK mod/demod with steams of bytes as data i/o
+# GMSK modulator
# /////////////////////////////////////////////////////////////////////////////
class gmsk_mod(gr.hier_block):
@@ -84,10 +84,10 @@
self.fmmod = gr.frequency_modulator_fc(sensitivity)
if verbose:
- self.verbose()
+ self._print_verbage()
if debug:
- self.debug()
+ self._setup_logging()
# Connect & Initialize base class
self.fg.connect(self.nrz, self.gaussian_filter, self.fmmod)
@@ -100,24 +100,13 @@
return 1
bits_per_baud = staticmethod(bits_per_baud) # make it a static
method. RTFM
- def verbose(self):
- print "bits per symbol = %d" % self.bits_per_baud()
- print "Gaussian filter bt = %.2f" % self.bt
- def debug(self):
- print "Modulation debugging turned on."
- self.fg.connect(self.nrz,
- gr.file_sink(gr.sizeof_float, "nrz.dat"))
- self.fg.connect(self.gaussian_filter,
- gr.file_sink(gr.sizeof_float, "gaussian_filter.dat"))
- self.fg.connect(self.fmmod,
- gr.file_sink(gr.sizeof_gr_complex, "fmmod.dat"))
-
def arguments(self=None):
args = {'spb':2, 'bt':0.3, 'verbose':True, 'debug':False}
return args
arguments = staticmethod(arguments)
+
def add_options(parser):
"""
Adds modulation-specific options to the standard parser
@@ -130,7 +119,25 @@
pass
add_options=staticmethod(add_options)
+ def _print_verbage(self):
+ print "bits per symbol = %d" % self.bits_per_baud()
+ print "Gaussian filter bt = %.2f" % self.bt
+ def _setup_logging(self):
+ print "Modulation debugging turned on."
+ self.fg.connect(self.nrz,
+ gr.file_sink(gr.sizeof_float, "nrz.dat"))
+ self.fg.connect(self.gaussian_filter,
+ gr.file_sink(gr.sizeof_float, "gaussian_filter.dat"))
+ self.fg.connect(self.fmmod,
+ gr.file_sink(gr.sizeof_gr_complex, "fmmod.dat"))
+
+
+
+# /////////////////////////////////////////////////////////////////////////////
+# GMSK demodulator
+# /////////////////////////////////////////////////////////////////////////////
+
class gmsk_demod(gr.hier_block):
def __init__(self, fg, spb=2, omega=None, gain_mu=0.03, mu=0.5,
@@ -141,7 +148,7 @@
demodulation.
The input is the complex modulated signal at baseband.
- The output is a stream of symbols ready to be sliced at zero.
+ The output is a stream of bits packed 1 bit per byte (the LSB)
@param fg: flow graph
@type fg: flow graph
@@ -200,10 +207,10 @@
self.slicer = gr.binary_slicer_fb()
if verbose:
- self.verbose()
+ self._print_verbage()
if debug:
- self.debug()
+ self._setup_logging()
# Connect & Initialize base class
self.fg.connect(self.preamp, self.agc, self.fmdemod,
self.clock_recovery, self.slicer)
@@ -216,25 +223,7 @@
return 1
bits_per_baud = staticmethod(bits_per_baud) # make it a static
method. RTFM
- def verbose(self):
- print "bits per symbol = %d" % self.bits_per_baud()
- print "M&M clock recovery omega = %f" % self.omega
- print "M&M clock recovery gain mu = %f" % self.gain_mu
- print "M&M clock recovery mu = %f" % self.mu
- print "M&M clock recovery omega rel. limit = %f" %
self.omega_relative_limit
- print "frequency error = %f" % self.freq_error
- def debug(self):
- print "Modulation debugging turned on."
- self.fg.connect(self.agc,
- gr.file_sink(gr.sizeof_gr_complex, "agc.dat"))
- self.fg.connect(self.fmdemod,
- gr.file_sink(gr.sizeof_float, "fmdemod.dat"))
- self.fg.connect(self.clock_recovery,
- gr.file_sink(gr.sizeof_float, "clock_recovery.dat"))
- self.fg.connect(self.slicer,
- gr.file_sink(gr.sizeof_char, "slicer.dat"))
-
def arguments(self=None):
args = {'spb':2, 'omega':None, 'gain_mu':0.03, 'mu':0.5, \
'omega_relative_limit':0.0002, 'freq_error':0.0, \
@@ -261,3 +250,22 @@
except OptionConflictError:
pass
add_options=staticmethod(add_options)
+
+ def _print_verbage(self):
+ print "bits per symbol = %d" % self.bits_per_baud()
+ print "M&M clock recovery omega = %f" % self.omega
+ print "M&M clock recovery gain mu = %f" % self.gain_mu
+ print "M&M clock recovery mu = %f" % self.mu
+ print "M&M clock recovery omega rel. limit = %f" %
self.omega_relative_limit
+ print "frequency error = %f" % self.freq_error
+
+ def _setup_logging(self):
+ print "Modulation debugging turned on."
+ self.fg.connect(self.agc,
+ gr.file_sink(gr.sizeof_gr_complex, "agc.dat"))
+ self.fg.connect(self.fmdemod,
+ gr.file_sink(gr.sizeof_float, "fmdemod.dat"))
+ self.fg.connect(self.clock_recovery,
+ gr.file_sink(gr.sizeof_float, "clock_recovery.dat"))
+ self.fg.connect(self.slicer,
+ gr.file_sink(gr.sizeof_char, "slicer.dat"))
Modified:
gnuradio/branches/developers/eb/trondeau/gnuradio-core/src/python/gnuradio/blksimpl/modulators.py
===================================================================
---
gnuradio/branches/developers/eb/trondeau/gnuradio-core/src/python/gnuradio/blksimpl/modulators.py
2006-09-16 16:28:32 UTC (rev 3550)
+++
gnuradio/branches/developers/eb/trondeau/gnuradio-core/src/python/gnuradio/blksimpl/modulators.py
2006-09-16 16:38:24 UTC (rev 3551)
@@ -1,20 +1,17 @@
-import bpsk, \
- dbpsk, \
- dqpsk, \
- gmsk
+import bpsk, dbpsk, dqpsk, gmsk
modulators = {
- 'bpsk': getattr(bpsk, "bpsk_mod"),
- 'dbpsk': getattr(dbpsk, "dbpsk_mod"),
- 'dqpsk': getattr(dqpsk, "dqpsk_mod"),
- 'gmsk': getattr(gmsk, "gmsk_mod"),
+ 'dbpsk' : dbpsk.dbpsk_mod,
+ 'dqpsk' : dqpsk.dqpsk_mod,
+ 'gmsk' : gmsk.gmsk_mod,
+ #'bpsk' : bpsk.bpsk_mod,
}
demodulators = {
- 'bpsk': getattr(bpsk, "bpsk_demod"),
- 'dbpsk': getattr(dbpsk, "dbpsk_demod"),
- 'dqpsk': getattr(dqpsk, "dqpsk_demod"),
- 'gmsk': getattr(gmsk, "gmsk_demod"),
+ 'dbpsk' : dbpsk.dbpsk_demod,
+ 'dqpsk' : dqpsk.dqpsk_demod,
+ 'gmsk' : gmsk.gmsk_demod,
+ #'bpsk': getattr(bpsk, "bpsk_demod"),
}
def kwargs(modulator, attrs):
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r3551 - gnuradio/branches/developers/eb/trondeau/gnuradio-core/src/python/gnuradio/blksimpl,
eb <=