]> git.gag.com Git - debian/gnuradio/commitdiff
to complete what I started, this makes the ofdm_sync_fixed block work again in the...
authortrondeau <trondeau@221aa14e-8319-0410-a670-987f0aec2ac5>
Wed, 16 Apr 2008 17:12:13 +0000 (17:12 +0000)
committertrondeau <trondeau@221aa14e-8319-0410-a670-987f0aec2ac5>
Wed, 16 Apr 2008 17:12:13 +0000 (17:12 +0000)
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@8213 221aa14e-8319-0410-a670-987f0aec2ac5

gnuradio-core/src/python/gnuradio/blks2impl/ofdm_receiver.py
gnuradio-core/src/python/gnuradio/blks2impl/ofdm_sync_fixed.py

index d315fd005a51a2afda50dbfea3614ca3e2eada23..56ae0c0f0a0c039a0ce4c045b3a9a1ab00522b8c 100644 (file)
@@ -93,9 +93,12 @@ class ofdm_receiver(gr.hier_block2):
         elif SYNC == "pnac":
             nco_sensitivity = -2.0/fft_length                             # correct for fine frequency
             self.ofdm_sync = ofdm_sync_pnac(fft_length, cp_length, ks0time, logging)
-        elif SYNC == "fixed":
+        elif SYNC == "fixed":                                             # for testing only; do not user over the air
+            self.chan_filt = gr.multiply_const_cc(1.0)                    # remove filter and filter delay for this
+            nsymbols = 18                                                 # enter the number of symbols per packet
+            freq_offset = 0.0                                             # if you use a frequency offset, enter it here
             nco_sensitivity = -2.0/fft_length                             # correct for fine frequency
-            self.ofdm_sync = ofdm_sync_fixed(fft_length, cp_length, logging)
+            self.ofdm_sync = ofdm_sync_fixed(fft_length, cp_length, nsymbols, freq_offset, logging)
 
         # Set up blocks
 
index 74acc8fdea59ecde61b762d47c8f2ee03140f3a2..9bac789bf664ba274301366058a5d771f2a090d2 100644 (file)
@@ -24,26 +24,27 @@ import math
 from gnuradio import gr
 
 class ofdm_sync_fixed(gr.hier_block2):
-    def __init__(self, fft_length, cp_length, logging=False):
+    def __init__(self, fft_length, cp_length, nsymbols, freq_offset, logging=False):
 
         gr.hier_block2.__init__(self, "ofdm_sync_fixed",
                                gr.io_signature(1, 1, gr.sizeof_gr_complex), # Input signature
-                               gr.io_signature2(2, 2, gr.sizeof_gr_complex*fft_length, gr.sizeof_char)) # Output signature
+                               gr.io_signature2(2, 2, gr.sizeof_float, gr.sizeof_char)) # Output signature
 
         # Use a fixed trigger point instead of sync block
         symbol_length = fft_length + cp_length
-        data = (symbol_length)*[0,]
+        pkt_length = nsymbols*symbol_length
+        data = (pkt_length)*[0,]
         data[(symbol_length)-1] = 1
         self.peak_trigger = gr.vector_source_b(data, True)
-        self.sampler = gr.ofdm_sampler(fft_length, symbol_length)
 
-        self.connect(self, (self.sampler,0))
-        self.connect(self.peak_trigger, (self.sampler,1))
-        self.connect(self.sampler, (self,0))
+        # Use a pre-defined frequency offset
+        foffset = (pkt_length)*[math.pi*freq_offset,]
+        self.frequency_offset = gr.vector_source_f(foffset, True)
+
+        self.connect(self, gr.null_sink(gr.sizeof_gr_complex))
+        self.connect(self.frequency_offset, (self,0))
         self.connect(self.peak_trigger, (self,1))
 
         if logging:
             self.connect(self.peak_trigger, gr.file_sink(gr.sizeof_char, "ofdm_sync_fixed-peaks_b.dat"))
-            self.connect(self.sampler, gr.file_sink(gr.sizeof_gr_complex*fft_length,
-                                                    "ofdm_sync_fixed-sampler_c.dat"))