commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r4843 - gnuradio/branches/developers/jcorgan/channel/g


From: jcorgan
Subject: [Commit-gnuradio] r4843 - gnuradio/branches/developers/jcorgan/channel/gnuradio-examples/python/hier/sounder
Date: Mon, 2 Apr 2007 11:39:49 -0600 (MDT)

Author: jcorgan
Date: 2007-04-02 11:39:49 -0600 (Mon, 02 Apr 2007)
New Revision: 4843

Modified:
   
gnuradio/branches/developers/jcorgan/channel/gnuradio-examples/python/hier/sounder/sounder_tx.py
   
gnuradio/branches/developers/jcorgan/channel/gnuradio-examples/python/hier/sounder/usrp_sounder_tx.py
Log:
Work in progress.

Modified: 
gnuradio/branches/developers/jcorgan/channel/gnuradio-examples/python/hier/sounder/sounder_tx.py
===================================================================
--- 
gnuradio/branches/developers/jcorgan/channel/gnuradio-examples/python/hier/sounder/sounder_tx.py
    2007-04-02 06:05:36 UTC (rev 4842)
+++ 
gnuradio/branches/developers/jcorgan/channel/gnuradio-examples/python/hier/sounder/sounder_tx.py
    2007-04-02 17:39:49 UTC (rev 4843)
@@ -30,25 +30,17 @@
     Creates a channel sounder generator with the given parameters.
     """
 
-    def __init__(self, max_delay, chip_rate, verbose):
+    def __init__(self, degree, chip_rate, verbose):
         gr.hier_block2.__init__(self,
                                 "sounder_tx",                           # 
Block typename
                                 gr.io_signature(0,0,0),                 # 
Input signature
                                 gr.io_signature(1, 1, gr.sizeof_float)) # 
Output signature
 
-        self._max_delay = max_delay
+        self._degree = degree
         self._chip_rate = chip_rate
         self._verbose = verbose
-
-        min_chips = int(math.ceil(2.0*self._max_delay * self._chip_rate))
-        degree = int(math.ceil(math.log(min_chips)/math.log(2)))
         self._length = 2**degree-1
-
         
-        if self._verbose:
-            print "Mininum sequence length needed is", n2s(min_chips), "chips"
-            print "Using PN sequence of degree", degree, "length", self._length
-            
         # Connect PN source to block output
         self.define_component("glfsr", gr.glfsr_source_f(degree))
         self.connect("glfsr", 0, "self", 0)

Modified: 
gnuradio/branches/developers/jcorgan/channel/gnuradio-examples/python/hier/sounder/usrp_sounder_tx.py
===================================================================
--- 
gnuradio/branches/developers/jcorgan/channel/gnuradio-examples/python/hier/sounder/usrp_sounder_tx.py
       2007-04-02 06:05:36 UTC (rev 4842)
+++ 
gnuradio/branches/developers/jcorgan/channel/gnuradio-examples/python/hier/sounder/usrp_sounder_tx.py
       2007-04-02 17:39:49 UTC (rev 4843)
@@ -29,7 +29,7 @@
 n2s = eng_notation.num_to_str
 
 class usrp_sounder_tx(gr.hier_block2):
-    def __init__(self, subdev_spec, freq, cal, verbose, max_delay, chip_rate, 
amplitude):
+    def __init__(self, subdev_spec, freq, cal, verbose, degree, chip_rate, 
amplitude):
 
         # Call hierarchical block constructor
         # Top-level blocks have no inputs or outputs
@@ -41,23 +41,25 @@
         self._freq = freq
         self._cal = cal
         self._verbose = verbose
-        self._max_delay = max_delay
+        self._degree = degree
+        self._length = 2**degree-1
        self._amplitude = amplitude
        
         self._u = usrp_sink_c(0, subdev_spec, chip_rate, self._freq, 
self._cal, self._verbose)
        self.define_component("usrp", self._u)
         self._chip_rate = self._u._if_rate
-       self.define_component("pn", sounder_tx(self._max_delay, 
self._chip_rate, self._verbose))
+        self._max_time = float(self._length)/self._chip_rate
+       self.define_component("pn", sounder_tx(self._degree, self._chip_rate, 
self._verbose))
         self.define_component("gain", gr.multiply_const_ff(amplitude));
         self.define_component("f2c", gr.float_to_complex())
         
         if self._verbose:
             print "Chip rate is", n2s(self._chip_rate), "chips/sec"
             print "Resolution is", n2s(1.0/self._chip_rate), "sec"
-            print "Using specified maximum delay spread of", self._max_delay, 
"sec"
+            print "Using PN code of degree", self._degree, "length", 
2**self._degree-1
+            print "Maximum measurable impulse response is", 
n2s(self._max_time), "sec"
             print "Output amplitude is", amplitude
 
-
        # Ultimately this will be
        # self.connect("pn gain f2c usrp")
        self.connect("pn", 0, "gain", 0)
@@ -76,8 +78,8 @@
                           help="set frequency calibration offset 
(default=%default)")
        parser.add_option("-v", "--verbose", action="store_true", default=False,
                          help="print extra debugging info")
-       parser.add_option("-d", "--max-delay", type="eng_float", default=10e-6,
-                         help="set maximum delay spread (default=%default)")
+       parser.add_option("-d", "--degree", type="int", default=10,
+                         help="set PN code degree (length=2**degree-1, 
default=%default)")
        parser.add_option("-r", "--chip-rate", type="eng_float", default=8e6,
                          help="set sounder chip rate (default=%default)")
        parser.add_option("-g", "--amplitude", type="eng_float", default=8000.0,
@@ -103,7 +105,7 @@
 
        # Create an instance of a hierarchical block
        top_block = usrp_sounder_tx(options.tx_subdev_spec, options.freq, 
options.cal,
-                                   options.verbose, options.max_delay, 
options.chip_rate,
+                                   options.verbose, options.degree, 
options.chip_rate,
                                    options.amplitude)
                              
        # Create an instance of a runtime, passing it the top block





reply via email to

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