commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r7313 - gnuradio/branches/developers/trondeau/ofdm2/gn


From: trondeau
Subject: [Commit-gnuradio] r7313 - gnuradio/branches/developers/trondeau/ofdm2/gnuradio-examples/python/ofdm
Date: Tue, 1 Jan 2008 06:29:23 -0700 (MST)

Author: trondeau
Date: 2008-01-01 06:29:21 -0700 (Tue, 01 Jan 2008)
New Revision: 7313

Modified:
   
gnuradio/branches/developers/trondeau/ofdm2/gnuradio-examples/python/ofdm/gr_plot_ofdm.py
Log:
fixing a few issues to plotting tool and adding derotated and equalized angle 
plot.

Modified: 
gnuradio/branches/developers/trondeau/ofdm2/gnuradio-examples/python/ofdm/gr_plot_ofdm.py
===================================================================
--- 
gnuradio/branches/developers/trondeau/ofdm2/gnuradio-examples/python/ofdm/gr_plot_ofdm.py
   2007-12-31 23:36:39 UTC (rev 7312)
+++ 
gnuradio/branches/developers/trondeau/ofdm2/gnuradio-examples/python/ofdm/gr_plot_ofdm.py
   2008-01-01 13:29:21 UTC (rev 7313)
@@ -91,12 +91,16 @@
 
             self.unequalized_angle = [math.atan2(x.imag, x.real) for x in 
fft_data]
             self.equalized_angle = [math.atan2(x.imag, x.real) for x in 
acq_data]
+            self.derot_equalized_angle = [math.atan2(x.imag, x.real) for x in 
derot_data]
 
             self.time = [i*(1/self.sample_rate) for i in range(len(acq_data))]
             ffttime = [i*(1/self.sample_rate) for i in range(len(fft_data))]
 
             self.freq = self.get_freq(ffttime, self.sample_rate)
 
+            for i in range(len(fft_data)):
+                if(abs(fft_data[i]) == 0.0):
+                    fft_data[i] = complex(1e-6,1e-6)
             self.fft_data = [20*log10(abs(f)) for f in fft_data]
               
     def get_freq(self, time, sample_rate, T=1):
@@ -107,8 +111,9 @@
         return freq
 
     def make_plots(self):
-        self.h_acq_file.seek(16*self.symbol*self.occ_tones, 1)
-        self.h_fft_file.seek(16*self.symbol*self.fft_size, 1)
+        self.h_acq_file.seek(8*self.symbol*self.occ_tones, 0)
+        self.h_fft_file.seek(8*self.symbol*self.fft_size, 0)
+        self.h_derot_file.seek(8*self.symbol*self.occ_tones, 0)
 
         self.get_data()
         
@@ -129,13 +134,14 @@
         uneqscale = range(len(self.unequalized_angle))
         self.plot_uneq = plot(uneqscale, self.unequalized_angle, 'bo')
 
-        # Subplot: unequalized angle
+        # Subplot: equalized angle
         self.sp_eq = self.fig.add_subplot(4,1,2, position=[0.15, 0.1, 0.3, 
0.35])
         self.sp_eq.set_title(("Equalized Angle"), 
fontsize=self.title_font_size, fontweight="bold")
         self.sp_eq.set_xlabel("Time (s)", fontsize=self.label_font_size, 
fontweight="bold")
         self.sp_eq.set_ylabel("Angle", fontsize=self.label_font_size, 
fontweight="bold")
         eqscale = range(len(self.equalized_angle))
         self.plot_eq = plot(eqscale, self.equalized_angle, 'bo')
+        self.plot_eq += plot(eqscale, self.derot_equalized_angle, 'ro', 
markersize=4)
 
         # Subplot: FFT
         self.sp_fft = self.fig.add_subplot(4,2,2, position=[0.575, 0.1, 0.3, 
0.35])
@@ -150,6 +156,7 @@
         eqscale = range(len(self.equalized_angle))
         uneqscale = range(len(self.unequalized_angle))
         self.plot_eq[0].set_data([eqscale, self.equalized_angle])
+        self.plot_eq[1].set_data([eqscale, self.derot_equalized_angle])
         self.plot_uneq[0].set_data([uneqscale, self.unequalized_angle])
         self.sp_eq.set_ylim([-4, 4])
         self.sp_uneq.set_ylim([-4, 4])
@@ -208,6 +215,14 @@
             self.symbol = 0
             self.h_acq_file.seek(-self.h_acq_file.tell(),1)
 
+
+        if(self.h_derot_file.tell() >= 16*self.occ_tones):
+            self.h_derot_file.seek(-16*self.occ_tones, 1)
+        else:
+            self.symbol = 0
+            self.h_derot_file.seek(-self.h_derot_file.tell(),1)
+
+
         if(self.h_fft_file.tell() >= 16*self.fft_size):
             self.h_fft_file.seek(-16*self.fft_size, 1)
         else:





reply via email to

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