commit-gnuradio
[Top][All Lists]
Advanced

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

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


From: trondeau
Subject: [Commit-gnuradio] r4158 - gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general
Date: Wed, 20 Dec 2006 00:38:10 -0700 (MST)

Author: trondeau
Date: 2006-12-20 00:38:10 -0700 (Wed, 20 Dec 2006)
New Revision: 4158

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_sampler.cc
Log:
adding modified .h file with r4157

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-20 07:37:19 UTC (rev 4157)
+++ 
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_bpsk_mapper.h
  2006-12-20 07:38:10 UTC (rev 4158)
@@ -24,13 +24,14 @@
 #define INCLUDED_GR_OFDM_BPSK_MAPPER_H
 
 
-#include <gr_sync_decimator.h>
+#include <gr_block.h>
+#include <gr_frame.h>
 
 class gr_ofdm_bpsk_mapper;
 typedef boost::shared_ptr<gr_ofdm_bpsk_mapper> gr_ofdm_bpsk_mapper_sptr;
 
 gr_ofdm_bpsk_mapper_sptr 
-gr_make_ofdm_bpsk_mapper (unsigned int bits_per_symbol, unsigned int vlen);
+gr_make_ofdm_bpsk_mapper (unsigned mtu, unsigned occupied_carriers, unsigned 
int vlen);
 
 
 /*!
@@ -39,23 +40,30 @@
  * modulator.  Simple BPSK version.
  */
 
-class gr_ofdm_bpsk_mapper : public gr_sync_decimator
+class gr_ofdm_bpsk_mapper : public gr_block
 {
   friend gr_ofdm_bpsk_mapper_sptr
-    gr_make_ofdm_bpsk_mapper (unsigned int bits_per_symbol, unsigned int vlen);
+    gr_make_ofdm_bpsk_mapper (unsigned mtu, unsigned occupied_carriers, 
unsigned int vlen);
   
  protected:
-  gr_ofdm_bpsk_mapper (unsigned int bits_per_symbol, unsigned int vlen);
+  gr_ofdm_bpsk_mapper (unsigned mtu, unsigned occupied_carriers, unsigned int 
vlen);
   
  private:
-  unsigned int d_bits_per_symbol;
+  unsigned int d_mtu;
+  unsigned int d_occupied_carriers;
   unsigned int d_vlen;
+  unsigned int d_packet_offset;
+  unsigned int d_bit_offset;
 
+  void forecast (int noutput_items, gr_vector_int &ninput_items_required);
+
  public:
   ~gr_ofdm_bpsk_mapper(void);
-  int work(int noutput_items,
-          gr_vector_const_void_star &input_times,
-          gr_vector_void_star &output_items);
+  int general_work(int noutput_items,
+                  gr_vector_int &ninput_items,
+                  gr_vector_const_void_star &input_items,
+                  gr_vector_void_star &output_items);
+
 };
 
 

Modified: 
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_sampler.cc
===================================================================
--- 
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_sampler.cc
     2006-12-20 07:37:19 UTC (rev 4157)
+++ 
gnuradio/branches/developers/n4hy/ofdm/gnuradio-core/src/lib/general/gr_ofdm_sampler.cc
     2006-12-20 07:38:10 UTC (rev 4158)
@@ -70,14 +70,23 @@
 
   int found=0;
   float alpha = 0.01;
+  
+  d_avg = 0;
+  for(unsigned int i=0;i<d_symbol_length+d_fft_length;i++) {
+    //d_avg = (alpha)*theta[i].real() + (1-alpha)*d_avg;
+    d_avg += theta[i].real();
+  }
+  d_avg /= (d_symbol_length+d_fft_length);
 
-  for(unsigned int i=0;i<d_symbol_length;i++)
-    d_avg = (alpha)*theta[i].real() + (1-alpha)*d_avg;
-    
   unsigned int i=d_fft_length;
 
+  for(i = 0; i < d_fft_length; i++)
+    fprintf(stderr,"%d %f -2000 -1000\n",i, theta[i].real());
+
+
   while(i<d_symbol_length+d_fft_length && (found==0)) {
-    if( (theta[i].real() > d_avg*0.10) &&
+#if 1
+    if( (theta[i].real() > d_avg*0.25) &&
        (theta[i].real() > theta[i+1].real()) ) {
       found = 1;
       for(unsigned int j=1; j < 10; j++) {
@@ -88,9 +97,18 @@
          break;
        }
       }
-      
+#else
+    if(i == d_symbol_length-1) {
+      found = 1;
+#endif
+
       if(found) {
-       fprintf(stderr,"%d %f\n",i,theta[i].real());     
+       //fprintf(stderr,"%d %f\n",i,theta[i].real()); 
+       if(i != d_symbol_length-1) {    
+         fprintf(stderr,"%d %f 0 0\n",i, theta[i].real());
+       }
+       else
+         fprintf(stderr,"%d %f 0 -1000\n",i, theta[i].real());
 
        d_freq = epsilon[i].real() / d_fft_length;
        for(unsigned int j=0;j<d_fft_length;j++) {
@@ -99,10 +117,12 @@
          *optr++ = nco * iptr[i-d_fft_length+j+1];
        }
       }
+      i++;
     }
     else {
       d_phase += d_freq;
       i++;
+      fprintf(stderr,"%d %f -2000 -1000\n",i, theta[i].real());
     }
   }
   consume_each(d_symbol_length);





reply via email to

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