commit-gnuradio
[Top][All Lists]
Advanced

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

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


From: trondeau
Subject: [Commit-gnuradio] r5693 - gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl
Date: Tue, 5 Jun 2007 13:33:58 -0600 (MDT)

Author: trondeau
Date: 2007-06-05 13:33:58 -0600 (Tue, 05 Jun 2007)
New Revision: 5693

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
   
gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl/ofdm_sync_pnac.py
Log:
ofdm PN sync block tied in to receiver

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-05 18:46:33 UTC (rev 5692)
+++ 
gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl/ofdm_receiver.py
    2007-06-05 19:33:58 UTC (rev 5693)
@@ -49,9 +49,14 @@
         self.ofdm_corr  = gr.ofdm_correlator(occupied_tones, fft_length,
                                              cp_length, ks[1], ks[2])
 
-        self.fg.connect(self.chan_filt, self.ofdm_sync_ml, self.fft_demod, 
self.ofdm_corr)
-        self.fg.connect(self.chan_filt, self.ofdm_sync_pn)
-        self.fg.connect(self.chan_filt, self.ofdm_sync_pnac)
+        if 0:
+            self.fg.connect(self.chan_filt, self.ofdm_sync_ml, self.fft_demod, 
self.ofdm_corr)
+            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_pn, self.fft_demod, 
self.ofdm_corr)
+            self.fg.connect(self.chan_filt, self.ofdm_sync_pnac)
         
         if 1:
             self.fg.connect(self.chan_filt, gr.file_sink(gr.sizeof_gr_complex, 
"chan_filt_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-05 18:46:33 UTC (rev 5692)
+++ 
gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl/ofdm_sync_pn.py
     2007-06-05 19:33:58 UTC (rev 5693)
@@ -68,7 +68,9 @@
         self.sigmix = gr.multiply_cc()
 
         #ML measurements input to sampler block and detect
+        self.sub1 = gr.add_const_ff(-1)
         self.pk_detect = gr.peak_detector_fb(0.2, 0.25, 30, 0.0005)
+        self.regen = gr.regenerate_bb(symbol_length)
 
         self.sampler = gr.ofdm_sampler(fft_length,symbol_length)
         
@@ -91,16 +93,24 @@
         self.fg.connect(self.inputmovingsum, (self.square,1))
         self.fg.connect(self.square, (self.normalize,1))
         self.fg.connect(self.c2mag, (self.normalize,0))
-        self.fg.connect(self.normalize, self.pk_detect)
 
-        self.fg.connect(self.pk_detect, (self.sampler,1))
+        # Create a moving sum filter for the corr output
+        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:
             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.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.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"))

Modified: 
gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl/ofdm_sync_pnac.py
===================================================================
--- 
gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl/ofdm_sync_pnac.py
   2007-06-05 18:46:33 UTC (rev 5692)
+++ 
gnuradio/branches/features/ofdm/sync/gnuradio-core/src/python/gnuradio/blksimpl/ofdm_sync_pnac.py
   2007-06-05 19:33:58 UTC (rev 5693)
@@ -74,6 +74,7 @@
         self.sigmix = gr.multiply_cc()
 
         #ML measurements input to sampler block and detect
+        self.sub1 = gr.add_const_ff(-1)
         self.pk_detect = gr.peak_detector_fb(0.2, 0.25, 30, 0.0005)
 
         self.sampler = gr.ofdm_sampler(fft_length,symbol_length)
@@ -98,7 +99,7 @@
         self.fg.connect(self.inputmovingsum, (self.square,1))
         self.fg.connect(self.square, (self.normalize,1))
         self.fg.connect(self.c2mag, (self.normalize,0))
-        self.fg.connect(self.normalize, self.pk_detect)
+        self.fg.connect(self.normalize, self.sub1, self.pk_detect)
 
         self.fg.connect(self.pk_detect, (self.sampler,1))
         self.fg.connect(self.pk_detect, (self.sample_and_hold,1))





reply via email to

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