commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r4225 - gnuradio/branches/developers/trondeau/digital-


From: trondeau
Subject: [Commit-gnuradio] r4225 - gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl
Date: Thu, 4 Jan 2007 15:19:52 -0700 (MST)

Author: trondeau
Date: 2007-01-04 15:19:51 -0700 (Thu, 04 Jan 2007)
New Revision: 4225

Modified:
   
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/d8psk.py
   
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
   
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/psk.py
Log:
updates to default settings and using diff_phasor do perform differential 
decoding

Modified: 
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/d8psk.py
===================================================================
--- 
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/d8psk.py
      2007-01-03 19:25:13 UTC (rev 4224)
+++ 
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/d8psk.py
      2007-01-04 22:19:51 UTC (rev 4225)
@@ -39,8 +39,8 @@
 _def_verbose = False
 _def_log = False
 
-_def_costas_alpha = 0.01
-_def_gain_mu = 0.05
+_def_costas_alpha = 0.15
+_def_gain_mu = 0.1
 _def_mu = 0.5
 _def_omega_relative_limit = 0.005
 
@@ -121,7 +121,7 @@
             self._setup_logging()
             
        # Connect & Initialize base class
-        self._fg.connect(self.bytes2chunks, self.symbol_mapper, #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)
 
@@ -143,8 +143,8 @@
                          gr.file_sink(gr.sizeof_char, "tx_bytes2chunks.dat"))
         self._fg.connect(self.symbol_mapper,
                          gr.file_sink(gr.sizeof_char, "tx_graycoder.dat"))
-#        self._fg.connect(self.diffenc,
-#                         gr.file_sink(gr.sizeof_char, "tx_diffenc.dat"))      
  
+        self._fg.connect(self.diffenc,
+                         gr.file_sink(gr.sizeof_char, "tx_diffenc.dat"))       
 
         self._fg.connect(self.chunks2symbols,
                          gr.file_sink(gr.sizeof_gr_complex, 
"tx_chunks2symbols.dat"))
         self._fg.connect(self.rrc_filter,
@@ -261,7 +261,8 @@
                                          self._mm_omega, self._mm_gain_omega,
                                          self._mm_omega_relative_limit)
         
-        #self.diffdec = gr.diff_decoder_bb(arity)
+        # Perform Differential decoding on the constellation
+        self.diffdec = gr.diff_phasor_cc()
 
         # find closest constellation point
         rot = 1
@@ -285,7 +286,7 @@
  
         # Connect & Initialize base class
         self._fg.connect(self.pre_scaler, self.agc, self.rrc_filter, 
self.receiver,
-                         self.slicer, self.symbol_mapper, 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):
@@ -317,12 +318,12 @@
                          gr.file_sink(gr.sizeof_gr_complex, "rx_agc.dat"))
         self._fg.connect(self.rrc_filter,
                          gr.file_sink(gr.sizeof_gr_complex, 
"rx_rrc_filter.dat"))
-        self._fg.connect(self.clock_receiver,
+        self._fg.connect(self.receiver,
                          gr.file_sink(gr.sizeof_gr_complex, "rx_receiver.dat"))
+        self._fg.connect(self.diffdec,
+                         gr.file_sink(gr.sizeof_gr_complex, "rx_diffdec.dat")) 
       
         self._fg.connect(self.slicer,
                          gr.file_sink(gr.sizeof_char, "rx_slicer.dat"))
-#        self._fg.connect(self.diffdec,
-#                         gr.file_sink(gr.sizeof_char, "rx_diffdec.dat"))      
  
         self._fg.connect(self.symbol_mapper,
                          gr.file_sink(gr.sizeof_char, "rx_gray_decoder.dat"))
         self._fg.connect(self.unpack,

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
      2007-01-03 19:25:13 UTC (rev 4224)
+++ 
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/dbpsk.py
      2007-01-04 22:19:51 UTC (rev 4225)
@@ -39,8 +39,8 @@
 _def_verbose = False
 _def_log = False
 
-_def_costas_alpha = 0.05
-_def_gain_mu = 0.05
+_def_costas_alpha = 0.15
+_def_gain_mu = 0.1
 _def_mu = 0.5
 _def_omega_relative_limit = 0.005
 
@@ -263,14 +263,12 @@
                                          self._mm_omega, self._mm_gain_omega,
                                          self._mm_omega_relative_limit)
 
+        # Do differential decoding based on phase change of symbols
+        self.diffdec = gr.diff_phasor_cc()
+
         # find closest constellation point
         rot = 1
         rotated_const = map(lambda pt: pt * rot, psk.constellation[arity])
-        #print "rotated_const =", rotated_const
-
-        #self.diffdec = gr.diff_phasor_cc()
-        self.diffdec = gr.diff_decoder_bb(arity)
-
         self.slicer = gr.constellation_decoder_cb(rotated_const, range(arity))
 
         if self._gray_code:
@@ -289,7 +287,7 @@
 
         # Connect and Initialize base class
         self._fg.connect(self.pre_scaler, self.agc, self.rrc_filter, 
self.receiver,
-                         self.slicer, self.diffdec, self.symbol_mapper, 
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):
@@ -323,7 +321,7 @@
         self._fg.connect(self.receiver,
                          gr.file_sink(gr.sizeof_gr_complex, "rx_receiver.dat"))
         self._fg.connect(self.diffdec,
-                         gr.file_sink(gr.sizeof_char, "rx_diffdec.dat"))       
 
+                         gr.file_sink(gr.sizeof_gr_complex, "rx_diffdec.dat")) 
       
         self._fg.connect(self.slicer,
                         gr.file_sink(gr.sizeof_char, "rx_slicer.dat"))
         self._fg.connect(self.symbol_mapper,

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
      2007-01-03 19:25:13 UTC (rev 4224)
+++ 
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/dqpsk.py
      2007-01-04 22:19:51 UTC (rev 4225)
@@ -39,8 +39,8 @@
 _def_verbose = False
 _def_log = False
 
-_def_costas_alpha = 0.1
-_def_gain_mu = 0.05
+_def_costas_alpha = 0.15
+_def_gain_mu = 0.1
 _def_mu = 0.5
 _def_omega_relative_limit = 0.005
 
@@ -121,7 +121,7 @@
             self._setup_logging()
             
        # Connect & Initialize base class
-        self._fg.connect(self.bytes2chunks, self.symbol_mapper, self.diffenc,
+        self._fg.connect(self.bytes2chunks, self.diffenc, self.symbol_mapper,
                          self.chunks2symbols, self.rrc_filter)
        gr.hier_block.__init__(self, self._fg, self.bytes2chunks, 
self.rrc_filter)
 
@@ -235,8 +235,8 @@
         # Automatic gain control
         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(0.6e-1, 1e-3, 1, 1, 100)
-        #self.agc = gr.feedforward_agc_cc(8, 1.0)
+        #self.agc = gr.agc2_cc(0.6e-1, 1e-3, 1, 1, 100)
+        self.agc = gr.feedforward_agc_cc(16, 1.0)
        
         # RRC data filter
         ntaps = 11 * samples_per_symbol
@@ -264,10 +264,9 @@
 
         # Perform Differential decoding on the constellation
         self.diffdec = gr.diff_phasor_cc()
-
+        
         # find closest constellation point
         rot = 1
-        #rot = .707 + .707j
         rotated_const = map(lambda pt: pt * rot, psk.constellation[arity])
         self.slicer = gr.constellation_decoder_cb(rotated_const, range(arity))
 

Modified: 
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/psk.py
===================================================================
--- 
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/psk.py
        2007-01-03 19:25:13 UTC (rev 4224)
+++ 
gnuradio/branches/developers/trondeau/digital-wip2/gnuradio-core/src/python/gnuradio/blksimpl/psk.py
        2007-01-04 22:19:51 UTC (rev 4225)
@@ -38,11 +38,10 @@
         re = math.cos(theta)
         im = math.sin(theta)
         const_map.append(complex(re, im))   # plug it into the constellation
-        
+    
     # return the constellation; by default, it is normalized
     return const_map
 
-        
 # Common definition of constellations for Tx and Rx
 constellation = {
     2 : make_constellation(2),           # BPSK
@@ -56,14 +55,14 @@
 # binary to gray coding -- constellation does Gray coding
 binary_to_gray = {
     2 : range(2),
-    4 : range(4),
+    4 : [0,1,3,2],
     8 : range(8)
     }
-   
+
 # gray to binary
 gray_to_binary = {
     2 : range(2),
-    4 : range(4),
+    4 : [0,1,3,2],
     8 : range(8)
     }
 
@@ -73,10 +72,10 @@
 # identity mapping
 binary_to_ungray = {
     2 : range(2),
-    4 : range(4), #[0, 1, 3, 2],
+    4 : range(4),
     8 : range(8)
     }
-    
+
 # identity mapping
 ungray_to_binary = {
     2 : range(2),





reply via email to

[Prev in Thread] Current Thread [Next in Thread]