commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r5706 - gnuradio/branches/features/ofdm/sync/gnuradio-


From: trondeau
Subject: [Commit-gnuradio] r5706 - gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl
Date: Tue, 5 Jun 2007 22:41:44 -0600 (MDT)

Author: trondeau
Date: 2007-06-05 22:41:44 -0600 (Tue, 05 Jun 2007)
New Revision: 5706

Modified:
   
gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl/ofdm_receiver.py
   
gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl/ofdm_sync_pn.py
Log:
performance tuning; working OFDM over USRP

Modified: 
gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl/ofdm_receiver.py
===================================================================
--- 
gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl/ofdm_receiver.py
    2007-06-06 04:40:14 UTC (rev 5705)
+++ 
gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl/ofdm_receiver.py
    2007-06-06 04:41:44 UTC (rev 5706)
@@ -41,9 +41,9 @@
         
         win = [1 for i in range(fft_length)]
 
-        self.ofdm_sync_ml = ofdm_sync_ml(fg, fft_length, cp_length, snr)
-        self.ofdm_sync_pn = ofdm_sync_pn(fg, fft_length, cp_length, ks[0])
-        self.ofdm_sync_pnac = ofdm_sync_pnac(fg, fft_length, cp_length, ks[0])
+        #self.ofdm_sync_ml = ofdm_sync_ml(fg, fft_length, cp_length, snr)
+        self.ofdm_sync_pn = ofdm_sync_pn(fg, fft_length, cp_length)
+        #self.ofdm_sync_pnac = ofdm_sync_pnac(fg, fft_length, cp_length, ks[0])
 
         self.fft_demod = gr.fft_vcc(fft_length, True, win, True)
         self.ofdm_corr  = gr.ofdm_correlator(occupied_tones, fft_length,
@@ -54,11 +54,11 @@
             self.fg.connect(self.chan_filt, self.ofdm_sync_pn)
             self.fg.connect(self.chan_filt, self.ofdm_sync_pnac)
         if 1:
-            self.fg.connect(self.chan_filt, self.ofdm_sync_ml)
+            #self.fg.connect(self.chan_filt, self.ofdm_sync_ml)
             self.fg.connect(self.chan_filt, self.ofdm_sync_pn, self.fft_demod, 
self.ofdm_corr)
-            self.fg.connect(self.chan_filt, self.ofdm_sync_pnac)
+            #self.fg.connect(self.chan_filt, self.ofdm_sync_pnac)
         
-        if 1:
+        if 0:
             self.fg.connect(self.chan_filt, gr.file_sink(gr.sizeof_gr_complex, 
"chan_filt_c.dat"))
             self.fg.connect(self.fft_demod, 
gr.file_sink(gr.sizeof_gr_complex*fft_length, "fft_out_c.dat"))
             self.fg.connect(self.ofdm_corr, 
gr.file_sink(gr.sizeof_gr_complex*occupied_tones, "ofdm_corr_out_c.dat"))

Modified: 
gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl/ofdm_sync_pn.py
===================================================================
--- 
gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl/ofdm_sync_pn.py
     2007-06-06 04:40:14 UTC (rev 5705)
+++ 
gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl/ofdm_sync_pn.py
     2007-06-06 04:41:44 UTC (rev 5706)
@@ -25,7 +25,7 @@
 from gnuradio import gr
 
 class ofdm_sync_pn(gr.hier_block):
-    def __init__(self, fg, fft_length, cp_length, ks):
+    def __init__(self, fg, fft_length, cp_length):
         self.fg = fg
 
         # FIXME: when converting to hier_block2's, the output signature
@@ -46,13 +46,22 @@
         self.corr = gr.multiply_cc();
 
         # Create a moving sum filter for the corr output
-        moving_sum_taps = [1.0 for i in range(fft_length//2)]
-        self.moving_sum_filter = gr.fir_filter_ccf(1,moving_sum_taps)
+        if 0:
+            moving_sum_taps = [1.0 for i in range(fft_length//2)]
+            self.moving_sum_filter = gr.fir_filter_ccf(1,moving_sum_taps)
+        else:
+            moving_sum_taps = [complex(1.0,0.0) for i in range(fft_length//2)]
+            self.moving_sum_filter = gr.fft_filter_ccc(1,moving_sum_taps)
 
         # Create a moving sum filter for the input
         self.inputmag2 = gr.complex_to_mag_squared()
-        movingsum2_taps = [1.0 for i in range(fft_length/2)]
-        self.inputmovingsum = gr.fir_filter_fff(1,movingsum2_taps)
+        movingsum2_taps = [1.0 for i in range(fft_length//2)]
+
+        if 0:
+            self.inputmovingsum = gr.fir_filter_fff(1,movingsum2_taps)
+        else:
+            self.inputmovingsum = gr.fft_filter_fff(1,movingsum2_taps)
+
         self.square = gr.multiply_ff()
         self.normalize = gr.divide_ff()
      
@@ -63,7 +72,7 @@
         self.sample_and_hold = gr.sample_and_hold_ff()
 
         # Mix the signal with an NCO controlled by the sync loop
-        nco_sensitivity = -1.0/fft_length
+        nco_sensitivity = -2.0/fft_length
         self.nco = gr.frequency_modulator_fc(nco_sensitivity)
         self.sigmix = gr.multiply_cc()
 
@@ -98,23 +107,23 @@
         matched_filter_taps = [1.0/cp_length for i in range(cp_length)]
         self.matched_filter = gr.fir_filter_fff(1,matched_filter_taps)
         self.fg.connect(self.normalize, self.matched_filter)
-        self.fg.connect(self.matched_filter, gr.file_sink(gr.sizeof_float, 
"mf.dat"))
-
+        
         self.fg.connect(self.matched_filter, self.sub1, self.pk_detect)
         self.fg.connect(self.pk_detect, self.regen)
         self.fg.connect(self.regen, (self.sampler,1))
         self.fg.connect(self.pk_detect, (self.sample_and_hold,1))
 
 
-        if 1:
+        if 0:
+            self.fg.connect(self.matched_filter, gr.file_sink(gr.sizeof_float, 
"ofdm_sync_pn-mf_f.dat"))
             self.fg.connect(self.normalize, gr.file_sink(gr.sizeof_float, 
"ofdm_sync_pn-theta_f.dat"))
-            self.fg.connect(self.angle, gr.file_sink(gr.sizeof_float, 
"ofdm_sync_pn-epsilon_f.dat"))
+            #self.fg.connect(self.angle, gr.file_sink(gr.sizeof_float, 
"ofdm_sync_pn-epsilon_f.dat"))
             self.fg.connect(self.pk_detect, gr.file_sink(gr.sizeof_char, 
"ofdm_sync_pn-peaks_b.dat"))
             self.fg.connect(self.regen, gr.file_sink(gr.sizeof_char, 
"ofdm_sync_pn-regen_b.dat"))
-            self.fg.connect(self.sigmix, gr.file_sink(gr.sizeof_gr_complex, 
"ofdm_sync_pn-sigmix_c.dat"))
+            #self.fg.connect(self.sigmix, gr.file_sink(gr.sizeof_gr_complex, 
"ofdm_sync_pn-sigmix_c.dat"))
             self.fg.connect(self.sampler, 
gr.file_sink(gr.sizeof_gr_complex*fft_length, "ofdm_sync_pn-sampler_c.dat"))
             self.fg.connect(self.sample_and_hold, 
gr.file_sink(gr.sizeof_float, "ofdm_sync_pn-sample_and_hold_f.dat"))
-            self.fg.connect(self.nco, gr.file_sink(gr.sizeof_gr_complex, 
"ofdm_sync_pn-nco_c.dat"))
-            self.fg.connect(self.input, gr.file_sink(gr.sizeof_gr_complex, 
"ofdm_sync_pn-input_c.dat"))
+            #self.fg.connect(self.nco, gr.file_sink(gr.sizeof_gr_complex, 
"ofdm_sync_pn-nco_c.dat"))
+            #self.fg.connect(self.input, gr.file_sink(gr.sizeof_gr_complex, 
"ofdm_sync_pn-input_c.dat"))
 
         gr.hier_block.__init__(self, fg, self.input, self.sampler)





reply via email to

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