commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r7863 - in gnuradio/trunk: gnuradio-examples/python/au


From: jcorgan
Subject: [Commit-gnuradio] r7863 - in gnuradio/trunk: gnuradio-examples/python/audio gnuradio-examples/python/usrp gr-utils/src/python gr-wxgui/src/python
Date: Thu, 28 Feb 2008 12:03:55 -0700 (MST)

Author: jcorgan
Date: 2008-02-28 12:03:55 -0700 (Thu, 28 Feb 2008)
New Revision: 7863

Modified:
   gnuradio/trunk/gnuradio-examples/python/audio/audio_fft.py
   gnuradio/trunk/gnuradio-examples/python/usrp/usrp_am_mw_rcv.py
   gnuradio/trunk/gnuradio-examples/python/usrp/usrp_nbfm_rcv.py
   gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wfm_rcv.py
   gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wfm_rcv_pll.py
   gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wfm_rcv_sca.py
   gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wxapt_rcv.py
   gnuradio/trunk/gr-utils/src/python/usrp_fft.py
   gnuradio/trunk/gr-wxgui/src/python/fftsink2.py
Log:
Added reference scaling to fftsink2.  Default behavior is unchanged.

The new parameter 'ref_scale', defaulting to 1.0, represents a 0 dB 
y-axis value.

Updated usrp_fft.py to display dBFS by setting ref_scale to 32768.0
and ref_level to 0.  This results in the full 100 dB of dynamic range
being displayed.

Updated some gnuradio-examples to use the new parameter.



Modified: gnuradio/trunk/gnuradio-examples/python/audio/audio_fft.py
===================================================================
--- gnuradio/trunk/gnuradio-examples/python/audio/audio_fft.py  2008-02-28 
18:57:53 UTC (rev 7862)
+++ gnuradio/trunk/gnuradio-examples/python/audio/audio_fft.py  2008-02-28 
19:03:55 UTC (rev 7863)
@@ -61,7 +61,8 @@
         elif options.oscilloscope:
             self.scope = scopesink2.scope_sink_f(panel, 
sample_rate=sample_rate)
         else:
-            self.scope = fftsink2.fft_sink_f (panel, fft_size=1024, 
sample_rate=sample_rate, fft_rate=30)
+            self.scope = fftsink2.fft_sink_f (panel, fft_size=1024, 
sample_rate=sample_rate, fft_rate=30,
+                                             ref_scale=1.0, ref_level=0, 
y_divs=12)
 
        self.src = audio.source (sample_rate, options.audio_input)
 

Modified: gnuradio/trunk/gnuradio-examples/python/usrp/usrp_am_mw_rcv.py
===================================================================
--- gnuradio/trunk/gnuradio-examples/python/usrp/usrp_am_mw_rcv.py      
2008-02-28 18:57:53 UTC (rev 7862)
+++ gnuradio/trunk/gnuradio-examples/python/usrp/usrp_am_mw_rcv.py      
2008-02-28 19:03:55 UTC (rev 7863)
@@ -178,7 +178,8 @@
 
         if 1:
             self.src_fft = fftsink2.fft_sink_c(self.panel, title="Data from 
USRP",
-                                               fft_size=512, 
sample_rate=usrp_rate)
+                                               fft_size=512, 
sample_rate=usrp_rate,
+                                              ref_scale=32768.0, 
ref_level=0.0, y_divs=12)
             self.connect (self.u, self.src_fft)
             vbox.Add (self.src_fft.win, 4, wx.EXPAND)
 
@@ -198,7 +199,7 @@
         if 1:
             audio_fft = fftsink2.fft_sink_f(self.panel, title="Audio",
                                                   fft_size=512, 
sample_rate=audio_rate,
-                                                  y_per_div=10, ref_level=-20)
+                                                  y_per_div=10, ref_level=20)
             self.connect (self.audio_filt, audio_fft)
             vbox.Add (audio_fft.win, 4, wx.EXPAND)
 

Modified: gnuradio/trunk/gnuradio-examples/python/usrp/usrp_nbfm_rcv.py
===================================================================
--- gnuradio/trunk/gnuradio-examples/python/usrp/usrp_nbfm_rcv.py       
2008-02-28 18:57:53 UTC (rev 7862)
+++ gnuradio/trunk/gnuradio-examples/python/usrp/usrp_nbfm_rcv.py       
2008-02-28 19:03:55 UTC (rev 7863)
@@ -102,7 +102,7 @@
         if 1 and not(no_gui):
             self.src_fft = fftsink2.fft_sink_c(self.panel, title="Data from 
USRP",
                                                fft_size=512, 
sample_rate=self.rxpath.if_rate,
-                                               ref_level=80, y_per_div=20)
+                                               ref_scale=32768.0, ref_level=0, 
y_per_div=10, y_divs=12)
             self.connect (self.rxpath.u, self.src_fft)
             vbox.Add (self.src_fft.win, 4, wx.EXPAND)
         if 1 and not(no_gui):

Modified: gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wfm_rcv.py
===================================================================
--- gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wfm_rcv.py        
2008-02-28 18:57:53 UTC (rev 7862)
+++ gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wfm_rcv.py        
2008-02-28 19:03:55 UTC (rev 7863)
@@ -150,7 +150,8 @@
 
         if 1:
             self.src_fft = fftsink2.fft_sink_c(self.panel, title="Data from 
USRP",
-                                               fft_size=512, 
sample_rate=usrp_rate)
+                                               fft_size=512, 
sample_rate=usrp_rate,
+                                              ref_scale=32768.0, ref_level=0, 
y_divs=12)
             self.connect (self.u, self.src_fft)
             vbox.Add (self.src_fft.win, 4, wx.EXPAND)
 

Modified: gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wfm_rcv_pll.py
===================================================================
--- gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wfm_rcv_pll.py    
2008-02-28 18:57:53 UTC (rev 7862)
+++ gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wfm_rcv_pll.py    
2008-02-28 19:03:55 UTC (rev 7863)
@@ -167,7 +167,8 @@
 
         if 1:
             self.src_fft = fftsink2.fft_sink_c(self.panel, title="Data from 
USRP",
-                                               fft_size=512, 
sample_rate=usrp_rate)
+                                               fft_size=512, 
sample_rate=usrp_rate,
+                                              ref_scale=32768.0, ref_level=0, 
y_divs=12)
             self.connect (self.u, self.src_fft)
             vbox.Add (self.src_fft.win, 4, wx.EXPAND)
 

Modified: gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wfm_rcv_sca.py
===================================================================
--- gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wfm_rcv_sca.py    
2008-02-28 18:57:53 UTC (rev 7862)
+++ gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wfm_rcv_sca.py    
2008-02-28 19:03:55 UTC (rev 7863)
@@ -228,7 +228,8 @@
 
         if 1:
             self.src_fft = fftsink2.fft_sink_c(self.panel, title="Data from 
USRP",
-                                               fft_size=512, 
sample_rate=usrp_rate)
+                                               fft_size=512, 
sample_rate=usrp_rate,
+                                              ref_scale=32768.0, ref_level=0, 
y_divs=12)
             self.connect (self.u, self.src_fft)
             vbox.Add (self.src_fft.win, 4, wx.EXPAND)
 

Modified: gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wxapt_rcv.py
===================================================================
--- gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wxapt_rcv.py      
2008-02-28 18:57:53 UTC (rev 7862)
+++ gnuradio/trunk/gnuradio-examples/python/usrp/usrp_wxapt_rcv.py      
2008-02-28 19:03:55 UTC (rev 7863)
@@ -148,7 +148,8 @@
 
         if 1:
             self.src_fft = fftsink2.fft_sink_c (self.panel, title="Data from 
USRP",
-                                               fft_size=512, 
sample_rate=usrp_rate)
+                                               fft_size=512, 
sample_rate=usrp_rate,
+                                              ref_scale=32768.0, ref_level=0, 
y_divs=12)
             self.connect (self.u, self.src_fft)
             vbox.Add (self.src_fft.win, 4, wx.EXPAND)
 

Modified: gnuradio/trunk/gr-utils/src/python/usrp_fft.py
===================================================================
--- gnuradio/trunk/gr-utils/src/python/usrp_fft.py      2008-02-28 18:57:53 UTC 
(rev 7862)
+++ gnuradio/trunk/gr-utils/src/python/usrp_fft.py      2008-02-28 19:03:55 UTC 
(rev 7863)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright 2004,2005,2007 Free Software Foundation, Inc.
+# Copyright 2004,2005,2007,2008 Free Software Foundation, Inc.
 # 
 # This file is part of GNU Radio
 # 
@@ -115,7 +115,8 @@
         elif options.oscilloscope:
             self.scope = scopesink2.scope_sink_c(panel, sample_rate=input_rate)
         else:
-            self.scope = fftsink2.fft_sink_c (panel, fft_size=1024, 
sample_rate=input_rate, y_divs = 10)
+            self.scope = fftsink2.fft_sink_c (panel, fft_size=1024, 
sample_rate=input_rate, 
+                                             ref_scale=32768.0, ref_level=0.0, 
y_divs = 10)
 
         self.connect(self.u, self.scope)
 

Modified: gnuradio/trunk/gr-wxgui/src/python/fftsink2.py
===================================================================
--- gnuradio/trunk/gr-wxgui/src/python/fftsink2.py      2008-02-28 18:57:53 UTC 
(rev 7862)
+++ gnuradio/trunk/gr-wxgui/src/python/fftsink2.py      2008-02-28 19:03:55 UTC 
(rev 7863)
@@ -91,7 +91,7 @@
         
 
 class fft_sink_f(gr.hier_block2, fft_sink_base):
-    def __init__(self, parent, baseband_freq=0,
+    def __init__(self, parent, baseband_freq=0, ref_scale=1.0,
                  y_per_div=10, y_divs=8, ref_level=50, sample_rate=1, 
fft_size=512,
                  fft_rate=default_fft_rate, average=False, avg_alpha=None,
                  title='', size=default_fftsink_size, peak_hold=False):
@@ -122,7 +122,10 @@
 
         # FIXME  We need to add 3dB to all bins but the DC bin
         self.log = gr.nlog10_ff(20, self.fft_size,
-                               
-20*math.log10(self.fft_size)-10*math.log10(power/self.fft_size))
+                               -20*math.log10(self.fft_size)           # 
Adjust for number of bins
+                              -10*math.log10(power/self.fft_size)      # 
Adjust for windowing loss
+                              -20*math.log10(ref_scale))               # 
Adjust for reference scale
+                              
         self.sink = gr.message_sink(gr.sizeof_float * self.fft_size, 
self.msgq, True)
        self.connect(self, self.s2p, self.one_in_n, self.fft, self.c2mag, 
self.avg, self.log, self.sink)
 
@@ -131,7 +134,7 @@
 
 
 class fft_sink_c(gr.hier_block2, fft_sink_base):
-    def __init__(self, parent, baseband_freq=0,
+    def __init__(self, parent, baseband_freq=0, ref_scale=1.0,
                  y_per_div=10, y_divs=8, ref_level=50, sample_rate=1, 
fft_size=512,
                  fft_rate=default_fft_rate, average=False, avg_alpha=None,
                  title='', size=default_fftsink_size, peak_hold=False):
@@ -162,7 +165,10 @@
 
         # FIXME  We need to add 3dB to all bins but the DC bin
         self.log = gr.nlog10_ff(20, self.fft_size,
-                                
-20*math.log10(self.fft_size)-10*math.log10(power/self.fft_size))
+                                -20*math.log10(self.fft_size)          # 
Adjust for number of bins
+                               -10*math.log10(power/self.fft_size)     # 
Adjust for windowing loss
+                               -20*math.log10(ref_scale))              # 
Adjust for reference scale
+                               
         self.sink = gr.message_sink(gr.sizeof_float * self.fft_size, 
self.msgq, True)
        self.connect(self, self.s2p, self.one_in_n, self.fft, self.c2mag, 
self.avg, self.log, self.sink)
 





reply via email to

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