commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r4189 - gnuradio/branches/developers/n4hy/ofdm/gnuradi


From: trondeau
Subject: [Commit-gnuradio] r4189 - gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general
Date: Sat, 23 Dec 2006 15:05:39 -0700 (MST)

Author: trondeau
Date: 2006-12-23 15:05:39 -0700 (Sat, 23 Dec 2006)
New Revision: 4189

Modified:
   
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.cc
   
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.h
Log:
fixed a few bugs in OFDM mapper; now working with channel model

Modified: 
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.cc
===================================================================
--- 
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.cc
 2006-12-23 22:02:13 UTC (rev 4188)
+++ 
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.cc
 2006-12-23 22:05:39 UTC (rev 4189)
@@ -29,12 +29,12 @@
 #include <vector>
 
 gr_ofdm_bpsk_mapper_sptr
-gr_make_ofdm_bpsk_mapper (unsigned mtu, unsigned int occupied_carriers, 
unsigned int vlen)
+gr_make_ofdm_bpsk_mapper (unsigned int mtu, unsigned int occupied_carriers, 
unsigned int vlen)
 {
   return gr_ofdm_bpsk_mapper_sptr (new gr_ofdm_bpsk_mapper (mtu, 
occupied_carriers, vlen));
 }
 
-gr_ofdm_bpsk_mapper::gr_ofdm_bpsk_mapper (unsigned mtu, unsigned 
occupied_carriers, unsigned int vlen)
+gr_ofdm_bpsk_mapper::gr_ofdm_bpsk_mapper (unsigned int mtu, unsigned int 
occupied_carriers, unsigned int vlen)
   : gr_block ("ofdm_bpsk_mapper",
              gr_make_io_signature (1, 1, 2*sizeof(int) + sizeof(unsigned 
char)*mtu),
              gr_make_io_signature (1, 1, sizeof(gr_complex)*vlen)),
@@ -42,7 +42,8 @@
     d_occupied_carriers(occupied_carriers),
     d_vlen(vlen),
     d_packet_offset(0),
-    d_bit_offset(0)
+    d_bit_offset(0),
+    d_header_sent(0)
 {
   assert(d_occupied_carriers < d_vlen);
 }
@@ -70,10 +71,10 @@
   
   unsigned int i=0;
   unsigned int num_symbols = 0, pkt_length;
-  
+
   pkt_length = in[0].length;
 
-  if(d_packet_offset == 0) {
+  if(!d_header_sent) {
     //  Add training symbols here
     for(i=0; i < (ceil((d_vlen - d_occupied_carriers)/2.0)); i++) {
       out[i] = gr_complex(0,0);
@@ -87,22 +88,16 @@
 
     num_symbols = 1;
     out += d_vlen;
+    d_header_sent = true;
   }
-
+  
   unsigned int unoccupied_carriers = d_vlen - d_occupied_carriers;
   unsigned int zeros_on_left = (unsigned)ceil(unoccupied_carriers/2.0);
   unsigned int zeros_on_right = unoccupied_carriers - zeros_on_left;
 
-#if 0
-  printf("mod in: ");
-  for(i = 0; i < pkt_length; i++) {
-    printf("%4d", in[0].data[i]);
-  }
-  printf(" \tlen: %d\n\n", i);
-#endif
 
-
   while(num_symbols < (unsigned)noutput_items) {
+
     // stick in unused carriers
     for(i = d_vlen-zeros_on_right; i < d_vlen; i++) {
       out[i] = gr_complex(0,0);
@@ -122,19 +117,15 @@
     }
 
     // Ran out of data to put in symbols
-    if(i < d_vlen-zeros_on_right) {
+    if(d_packet_offset == pkt_length) {
       while(i < d_vlen-zeros_on_right) {
        out[i++] = gr_complex(0,0);
       }
-      #if 0
-      fprintf(stdout,"Packet length %d, packet offset 
%d\n",pkt_length,d_packet_offset);
-      fprintf(stdout,"Ran out of data for symbols, sent %d 
symbols\n",num_symbols);
-      #endif
 
       d_packet_offset = 0;
       assert(d_bit_offset == 0);
-      
       num_symbols++;
+      d_header_sent = false;
       consume_each(1);
       return num_symbols;
     }
@@ -144,11 +135,6 @@
     num_symbols++;
   }
   consume_each(0);
-  
-  #if 0
-  fprintf(stdout,"Done, sent %d symbols\n",num_symbols);
-  #endif
-
   return num_symbols;
 }
 

Modified: 
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.h
===================================================================
--- 
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.h
  2006-12-23 22:02:13 UTC (rev 4188)
+++ 
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.h
  2006-12-23 22:05:39 UTC (rev 4189)
@@ -54,6 +54,7 @@
   unsigned int d_vlen;
   unsigned int d_packet_offset;
   unsigned int d_bit_offset;
+  bool  d_header_sent;
 
   void forecast (int noutput_items, gr_vector_int &ninput_items_required);
 





reply via email to

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