[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r3637 - in gnuradio/branches/developers/trondeau/digit
From: |
trondeau |
Subject: |
[Commit-gnuradio] r3637 - in gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src: lib/general python/gnuradio/blksimpl |
Date: |
Mon, 25 Sep 2006 14:16:55 -0600 (MDT) |
Author: trondeau
Date: 2006-09-25 14:16:55 -0600 (Mon, 25 Sep 2006)
New Revision: 3637
Modified:
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/lib/general/gr_agc_log_cc.cc
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/dbpsk.py
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/dqpsk.py
Log:
fixed gray coding flag for PSK demodulators and log and verbose flag tests
Modified:
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/lib/general/gr_agc_log_cc.cc
===================================================================
---
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/lib/general/gr_agc_log_cc.cc
2006-09-25 18:07:36 UTC (rev 3636)
+++
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/lib/general/gr_agc_log_cc.cc
2006-09-25 20:16:55 UTC (rev 3637)
@@ -65,7 +65,7 @@
gr_complex *err = (gr_complex *) output_items[1];
float mag=0;
- float alpha = 0.005;
+ float alpha = 0.001;
bool write_err = output_items.size() >= 2;
@@ -86,7 +86,7 @@
}
if(write_err)
- err[i] = gr_complex(mag, d_loop_gain);
+ err[i] = gr_complex(-log10(mag), d_loop_gain);
}
return noutput_items;
}
Modified:
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/dbpsk.py
===================================================================
---
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/dbpsk.py
2006-09-25 18:07:36 UTC (rev 3636)
+++
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/dbpsk.py
2006-09-25 20:16:55 UTC (rev 3637)
@@ -93,10 +93,10 @@
self.bytes2chunks = \
gr.packed_to_unpacked_bb(self.bits_per_symbol(), gr.GR_MSB_FIRST)
- if self._gray_code:
- self.gray_coder = gr.map_bb(psk.binary_to_gray[arity])
+ if self._gray_code == True:
+ self.symbol_mapper = gr.map_bb(psk.binary_to_gray[arity])
else:
- self.gray_coder = gr.map_bb(psk.binary_to_ungray[arity])
+ self.symbol_mapper = gr.map_bb(psk.binary_to_ungray[arity])
self.diffenc = gr.diff_encoder_bb(arity)
@@ -115,13 +115,13 @@
self.rrc_taps)
# Connect
- fg.connect(self.bytes2chunks, self.gray_coder, self.diffenc,
+ fg.connect(self.bytes2chunks, self.symbol_mapper, self.diffenc,
self.chunks2symbols, self.rrc_filter)
- if verbose:
+ if verbose == True:
self._print_verbage()
- if log:
+ if log == True:
self._setup_logging()
# Initialize base class
@@ -163,8 +163,8 @@
print "Modulation logging turned on."
self._fg.connect(self.bytes2chunks,
gr.file_sink(gr.sizeof_char, "bytes2chunks.dat"))
- self._fg.connect(self.gray_coder,
- gr.file_sink(gr.sizeof_char, "graycoder.dat"))
+ self._fg.connect(self.symbol_mapper,
+ gr.file_sink(gr.sizeof_char, "symbol_mapper.dat"))
self._fg.connect(self.diffenc,
gr.file_sink(gr.sizeof_char, "diffenc.dat"))
self._fg.connect(self.chunks2symbols,
@@ -238,7 +238,7 @@
self.pre_scaler = gr.multiply_const_cc(scale) # scale the signal
from full-range to +-1
#self.agc = gr.agc2_cc(6e-1, 6e-1, 1, 1, 1000)
#self.agc = gr.feedforward_agc_cc(500, 1)
- self.agc = gr.agc_log_cc(0.5, 1)
+ self.agc = gr.agc_log_cc(0.1, 1)
# Costas loop (carrier tracking)
# FIXME: need to decide how to handle this more generally; do we pull
it from higher layer?
@@ -274,21 +274,23 @@
self.slicer = gr.constellation_decoder_cb(rotated_const, range(arity))
- # FIXME should be conditional on self._gray
- self.gray_decoder = gr.map_bb(psk.gray_to_binary[arity])
+ if self._gray_code == True:
+ self.symbol_mapper = gr.map_bb(psk.gray_to_binary[arity])
+ else:
+ self.symbol_mapper = gr.map_bb(psk.ungray_to_binary[arity])
# unpack the k bit vector into a stream of bits
self.unpack = gr.unpack_k_bits_bb(self.bits_per_symbol())
- if verbose:
+ if verbose == True:
self._print_verbage()
- if log:
+ if log == True:
self._setup_logging()
# Connect and Initialize base class
self._fg.connect(self.pre_scaler, self.agc, self.costas_loop,
self.rrc_filter, self.clock_recovery,
- self.diffdec, self.slicer, self.gray_decoder,
self.unpack)
+ self.diffdec, self.slicer, self.decoder, self.unpack)
gr.hier_block.__init__(self, self._fg, self.pre_scaler, self.unpack)
def samples_per_symbol(self):
@@ -309,6 +311,8 @@
def _setup_logging(self):
print "Modulation logging turned on."
+ self._fg.connect(self.pre_scaler,
+ gr.file_sink(gr.sizeof_gr_complex, "pre_scaler.dat"))
self._fg.connect(self.agc,
gr.file_sink(gr.sizeof_gr_complex, "agc.dat"))
self._fg.connect((self.agc,1),
@@ -327,8 +331,8 @@
gr.file_sink(gr.sizeof_gr_complex, "diffdec.dat"))
self._fg.connect(self.slicer,
gr.file_sink(gr.sizeof_char, "slicer.dat"))
- self._fg.connect(self.gray_decoder,
- gr.file_sink(gr.sizeof_char, "gray_decoder.dat"))
+ self._fg.connect(self.symbol_mapper,
+ gr.file_sink(gr.sizeof_char, "symbol_mapper.dat"))
self._fg.connect(self.unpack,
gr.file_sink(gr.sizeof_char, "unpack.dat"))
Modified:
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/dqpsk.py
===================================================================
---
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/dqpsk.py
2006-09-25 18:07:36 UTC (rev 3636)
+++
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/dqpsk.py
2006-09-25 20:16:55 UTC (rev 3637)
@@ -93,10 +93,10 @@
self.bytes2chunks = \
gr.packed_to_unpacked_bb(self.bits_per_symbol(), gr.GR_MSB_FIRST)
- if self._gray_code:
- self.gray_coder = gr.map_bb(psk.binary_to_gray[arity])
+ if self._gray_code == True:
+ self.symbol_mapper = gr.map_bb(psk.binary_to_gray[arity])
else:
- self.gray_coder = gr.map_bb(psk.binary_to_ungray[arity])
+ self.symbol_mapper = gr.map_bb(psk.binary_to_ungray[arity])
self.diffenc = gr.diff_encoder_bb(arity)
@@ -114,14 +114,14 @@
self.rrc_filter = gr.interp_fir_filter_ccf(self._samples_per_symbol,
self.rrc_taps)
- if verbose:
+ if verbose == True:
self._print_verbage()
- if log:
+ if log == True:
self._setup_logging()
# Connect & Initialize base class
- self._fg.connect(self.bytes2chunks, self.gray_coder, self.diffenc,
+ self._fg.connect(self.bytes2chunks, self.symbol_mapper, self.diffenc,
self.chunks2symbols, self.rrc_filter)
gr.hier_block.__init__(self, self._fg, self.bytes2chunks,
self.rrc_filter)
@@ -141,8 +141,8 @@
print "Modulation logging turned on."
self._fg.connect(self.bytes2chunks,
gr.file_sink(gr.sizeof_char, "bytes2chunks.dat"))
- self._fg.connect(self.gray_coder,
- gr.file_sink(gr.sizeof_char, "graycoder.dat"))
+ self._fg.connect(self.symbol_mapper,
+ gr.file_sink(gr.sizeof_char, "symbol_mapper.dat"))
self._fg.connect(self.diffenc,
gr.file_sink(gr.sizeof_char, "diffenc.dat"))
self._fg.connect(self.chunks2symbols,
@@ -235,7 +235,7 @@
scale = (1.0/16384.0)
self.pre_scaler = gr.multiply_const_cc(scale) # scale the signal
from full-range to +-1
#self.agc = gr.agc2_cc(6e-1, 6e-1, 1, 1, 1000)
- self.agc = gr.agc_log_cc(0.5, 1)
+ self.agc = gr.agc_log_cc(0.1, 1)
# Costas loop (carrier tracking)
# FIXME: need to decide how to handle this more generally; do we pull
it from higher layer?
@@ -272,21 +272,23 @@
self.slicer = gr.constellation_decoder_cb(rotated_const, range(arity))
- # FIXME needs to be conditional on self._gray_code
- self.gray_decoder = gr.map_bb(psk.gray_to_binary[arity])
+ if self._gray_code == True:
+ self.symbol_mapper = gr.map_bb(psk.gray_to_binary[arity])
+ else:
+ self.symbol_mapper = gr.map_bb(psk.ungray_to_binary[arity])
# unpack the k bit vector into a stream of bits
self.unpack = gr.unpack_k_bits_bb(self.bits_per_symbol())
- if verbose:
+ if verbose == True:
self._print_verbage()
- if log:
+ if log == True:
self._setup_logging()
# Connect & Initialize base class
self._fg.connect(self.pre_scaler, self.agc, self.costas_loop,
self.rrc_filter, self.clock_recovery,
- self.diffdec, self.slicer, self.gray_decoder,
self.unpack)
+ self.diffdec, self.slicer, self.symbol_mapper,
self.unpack)
gr.hier_block.__init__(self, self._fg, self.pre_scaler, self.unpack)
def samples_per_symbol(self):
@@ -324,8 +326,8 @@
gr.file_sink(gr.sizeof_gr_complex, "diffdec.dat"))
self._fg.connect(self.slicer,
gr.file_sink(gr.sizeof_char, "slicer.dat"))
- self._fg.connect(self.gray_decoder,
- gr.file_sink(gr.sizeof_char, "gray_decoder.dat"))
+ self._fg.connect(self.symbol_mapper,
+ gr.file_sink(gr.sizeof_char, "symbol_mapper.dat"))
self._fg.connect(self.unpack,
gr.file_sink(gr.sizeof_char, "unpack.dat"))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r3637 - in gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src: lib/general python/gnuradio/blksimpl,
trondeau <=