commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r5651 - gnuradio/branches/features/ofdm/receiver/gnura


From: trondeau
Subject: [Commit-gnuradio] r5651 - gnuradio/branches/features/ofdm/receiver/gnuradio-core/src/lib/general
Date: Sun, 3 Jun 2007 19:39:55 -0600 (MDT)

Author: trondeau
Date: 2007-06-03 19:39:55 -0600 (Sun, 03 Jun 2007)
New Revision: 5651

Modified:
   
gnuradio/branches/features/ofdm/receiver/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.cc
Log:
added secondary output with defined signal -- useful for tying the mapper to 
the ofdm frame sink for testing without sync or correlator.

Modified: 
gnuradio/branches/features/ofdm/receiver/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.cc
===================================================================
--- 
gnuradio/branches/features/ofdm/receiver/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.cc
       2007-06-04 01:39:07 UTC (rev 5650)
+++ 
gnuradio/branches/features/ofdm/receiver/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.cc
       2007-06-04 01:39:55 UTC (rev 5651)
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2007 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -45,7 +45,7 @@
                                          const std::vector<gr_complex> 
&known_symbol2)
   : gr_sync_block ("ofdm_bpsk_mapper",
                   gr_make_io_signature (0, 0, 0),
-                  gr_make_io_signature (1, 1, sizeof(gr_complex)*fft_length)),
+                  gr_make_io_signature2 (1, 2, sizeof(gr_complex)*fft_length, 
sizeof(char))),
     d_msgq(gr_make_msg_queue(msgq_limit)), d_msg_offset(0), d_eof(false),
     d_occupied_carriers(occupied_carriers),
     d_fft_length(fft_length),
@@ -79,7 +79,6 @@
   unsigned int i=0;
   unsigned int unoccupied_carriers = d_fft_length - d_occupied_carriers;
   unsigned int zeros_on_left = (unsigned)ceil(unoccupied_carriers/2.0);
-  unsigned int zeros_on_right = unoccupied_carriers - zeros_on_left;
 
   //printf("OFDM BPSK Mapper:  ninput_items: %d   noutput_items: %d\n", 
ninput_items[0], noutput_items);
 
@@ -99,6 +98,16 @@
     }
   }
 
+  if(output_items.size() == 2) {
+    char *sig = (char *)output_items[1];
+    if(d_header_sent == 1) {
+      sig[0] = 1;
+    }
+    else {
+      sig[0] = 0;
+    }
+  }
+  
   // Build a single symbol:
 
   // Initialize all bins to 0 to set unused carriers
@@ -109,6 +118,7 @@
        out[i+zeros_on_left] = d_known_symbol1[i];
      }
     d_header_sent++;
+
     return 1;
   }
   
@@ -117,14 +127,16 @@
       out[i+zeros_on_left] = d_known_symbol2[i];
     }
     d_header_sent++;
+
     return 1;
   }
-  
+
   i = 0;
   while((d_msg_offset < d_msg->length()) && (i < d_occupied_carriers)) {
-    unsigned char bit = (d_msg->msg()[d_msg_offset] >> (d_bit_offset++)) & 
0x01;
+    unsigned char bit = (d_msg->msg()[d_msg_offset] >> (d_bit_offset)) & 0x01;
     out[i + zeros_on_left] = gr_complex(-1+2*(bit));
     i++;
+    d_bit_offset++;
     if(d_bit_offset == 8) {
       d_bit_offset = 0;
       d_msg_offset++;
@@ -141,11 +153,11 @@
     if (d_msg->type() == 1)               // type == 1 sets EOF
       d_eof = true;
     d_msg.reset();   // finished packet, free message
-  
+ 
     assert(d_bit_offset == 0);
     return 1;          // produced one symbol
   }
-    
+  
   return 1;  // produced symbol
 }
 





reply via email to

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