[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] gr-wxgui ChangeLog src/python/fftsink.py src/py...
From: |
Eric Blossom |
Subject: |
[Commit-gnuradio] gr-wxgui ChangeLog src/python/fftsink.py src/py... |
Date: |
Fri, 16 Jun 2006 06:34:53 +0000 |
CVSROOT: /sources/gnuradio
Module name: gr-wxgui
Changes by: Eric Blossom <eb> 06/06/16 06:34:53
Modified files:
. : ChangeLog
src/python : fftsink.py scopesink.py waterfallsink.py
Log message:
added set_sample_rate method
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gr-wxgui/ChangeLog?cvsroot=gnuradio&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/gr-wxgui/src/python/fftsink.py?cvsroot=gnuradio&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/gr-wxgui/src/python/scopesink.py?cvsroot=gnuradio&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/gr-wxgui/src/python/waterfallsink.py?cvsroot=gnuradio&r1=1.8&r2=1.9
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnuradio/gr-wxgui/ChangeLog,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- ChangeLog 2 Apr 2006 15:22:15 -0000 1.30
+++ ChangeLog 16 Jun 2006 06:34:53 -0000 1.31
@@ -1,3 +1,8 @@
+2006-06-15 Eric Blossom <address@hidden>
+
+ * src/python/fftsink.py, src/python/waterfallsink.py,
+ src/python/scopesink.py: added set_sample_rate method.
+
2006-04-02 Eric Blossom <address@hidden>
* src/python/fftsink.py (default_fft_rate): query prefs for default.
Index: src/python/fftsink.py
===================================================================
RCS file: /sources/gnuradio/gr-wxgui/src/python/fftsink.py,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- src/python/fftsink.py 2 Apr 2006 15:22:15 -0000 1.15
+++ src/python/fftsink.py 16 Jun 2006 06:34:53 -0000 1.16
@@ -81,6 +81,13 @@
def set_baseband_freq(self, baseband_freq):
self.baseband_freq = baseband_freq
+ def set_sample_rate(self, sample_rate):
+ self.sample_rate = sample_rate
+ self._set_n()
+
+ def _set_n(self):
+ self.one_in_n.set_n(max(1,
int(self.sample_rate/self.fft_size/self.fft_rate)))
+
class fft_sink_f(gr.hier_block, fft_sink_base):
def __init__(self, fg, parent, baseband_freq=0,
@@ -95,25 +102,25 @@
average=average, avg_alpha=avg_alpha,
title=title,
peak_hold=peak_hold)
- s2p = gr.stream_to_vector(gr.sizeof_float, fft_size)
- one_in_n = gr.keep_one_in_n(gr.sizeof_float * fft_size,
- max(1, int(sample_rate/fft_size/fft_rate)))
+ s2p = gr.stream_to_vector(gr.sizeof_float, self.fft_size)
+ self.one_in_n = gr.keep_one_in_n(gr.sizeof_float * self.fft_size,
+ max(1,
int(self.sample_rate/self.fft_size/self.fft_rate)))
- mywindow = window.blackmanharris(fft_size)
- fft = gr.fft_vfc(fft_size, True, mywindow)
+ mywindow = window.blackmanharris(self.fft_size)
+ fft = gr.fft_vfc(self.fft_size, True, mywindow)
power = 0
for tap in mywindow:
power += tap*tap
- c2mag = gr.complex_to_mag(fft_size)
- self.avg = gr.single_pole_iir_filter_ff(1.0, fft_size)
+ c2mag = gr.complex_to_mag(self.fft_size)
+ self.avg = gr.single_pole_iir_filter_ff(1.0, self.fft_size)
# FIXME We need to add 3dB to all bins but the DC bin
- log = gr.nlog10_ff(20, fft_size,
-
-20*math.log10(fft_size)-10*math.log10(power/fft_size))
- sink = gr.message_sink(gr.sizeof_float * fft_size, self.msgq, True)
+ log = gr.nlog10_ff(20, self.fft_size,
+
-20*math.log10(self.fft_size)-10*math.log10(power/self.fft_size))
+ sink = gr.message_sink(gr.sizeof_float * self.fft_size, self.msgq,
True)
- fg.connect (s2p, one_in_n, fft, c2mag, self.avg, log, sink)
+ fg.connect (s2p, self.one_in_n, fft, c2mag, self.avg, log, sink)
gr.hier_block.__init__(self, fg, s2p, sink)
self.win = fft_window(self, parent, size=size)
@@ -133,21 +140,22 @@
average=average, avg_alpha=avg_alpha,
title=title,
peak_hold=peak_hold)
- s2p = gr.stream_to_vector(gr.sizeof_gr_complex, fft_size)
- one_in_n = gr.keep_one_in_n(gr.sizeof_gr_complex * fft_size,
- max(1, int(sample_rate/fft_size/fft_rate)))
- mywindow = window.blackmanharris(fft_size)
+ s2p = gr.stream_to_vector(gr.sizeof_gr_complex, self.fft_size)
+ self.one_in_n = gr.keep_one_in_n(gr.sizeof_gr_complex * self.fft_size,
+ max(1,
int(self.sample_rate/self.fft_size/self.fft_rate)))
+ mywindow = window.blackmanharris(self.fft_size)
power = 0
for tap in mywindow:
power += tap*tap
- fft = gr.fft_vcc(fft_size, True, mywindow)
+ fft = gr.fft_vcc(self.fft_size, True, mywindow)
c2mag = gr.complex_to_mag(fft_size)
self.avg = gr.single_pole_iir_filter_ff(1.0, fft_size)
- log = gr.nlog10_ff(20, fft_size,
-20*math.log10(fft_size)-10*math.log10(power/fft_size))
+ log = gr.nlog10_ff(20, self.fft_size,
+
-20*math.log10(self.fft_size)-10*math.log10(power/self.fft_size))
sink = gr.message_sink(gr.sizeof_float * fft_size, self.msgq, True)
- fg.connect(s2p, one_in_n, fft, c2mag, self.avg, log, sink)
+ fg.connect(s2p, self.one_in_n, fft, c2mag, self.avg, log, sink)
gr.hier_block.__init__(self, fg, s2p, sink)
self.win = fft_window(self, parent, size=size)
Index: src/python/scopesink.py
===================================================================
RCS file: /sources/gnuradio/gr-wxgui/src/python/scopesink.py,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- src/python/scopesink.py 2 Apr 2006 15:22:15 -0000 1.11
+++ src/python/scopesink.py 16 Jun 2006 06:34:53 -0000 1.12
@@ -37,10 +37,14 @@
size=default_scopesink_size, frame_decim=default_frame_decim,
v_scale=default_v_scale, t_scale=None):
msgq = gr.msg_queue(2) # message queue that holds at most 2
messages
- guts = gr.oscope_sink_f(sample_rate, msgq)
- gr.hier_block.__init__(self, fg, guts, guts)
+ self.guts = gr.oscope_sink_f(sample_rate, msgq)
+ gr.hier_block.__init__(self, fg, self.guts, self.guts)
self.win = scope_window(win_info (msgq, sample_rate, frame_decim,
- v_scale, t_scale, guts, title),
parent)
+ v_scale, t_scale, self.guts, title),
parent)
+
+ def set_sample_rate(self, sample_rate):
+ self.guts.set_sample_rate(sample_rate)
+ self.win.info.set_sample_rate(sample_rate)
class scope_sink_c(gr.hier_block):
def __init__(self, fg, parent, title='', sample_rate=1,
@@ -48,13 +52,16 @@
v_scale=default_v_scale, t_scale=None):
msgq = gr.msg_queue(2) # message queue that holds at most 2
messages
c2f = gr.complex_to_float()
- guts = gr.oscope_sink_f(sample_rate, msgq)
- fg.connect((c2f, 0), (guts, 0))
- fg.connect((c2f, 1), (guts, 1))
- gr.hier_block.__init__(self, fg, c2f, guts)
+ self.guts = gr.oscope_sink_f(sample_rate, msgq)
+ fg.connect((c2f, 0), (self.guts, 0))
+ fg.connect((c2f, 1), (self.guts, 1))
+ gr.hier_block.__init__(self, fg, c2f, self.guts)
self.win = scope_window(win_info(msgq, sample_rate, frame_decim,
- v_scale, t_scale, guts, title),
parent)
+ v_scale, t_scale, self.guts, title),
parent)
+ def set_sample_rate(self, sample_rate):
+ self.guts.set_sample_rate(sample_rate)
+ self.win.info.set_sample_rate(sample_rate)
# ========================================================================
# This is the deprecated interface, retained for compatibility...
@@ -162,6 +169,9 @@
def get_volts_per_div (self):
return self.v_scale_cursor.current ()
+ def set_sample_rate(self, sample_rate):
+ self.sample_rate = sample_rate
+
def get_sample_rate (self):
return self.sample_rate
Index: src/python/waterfallsink.py
===================================================================
RCS file: /sources/gnuradio/gr-wxgui/src/python/waterfallsink.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- src/python/waterfallsink.py 2 Apr 2006 15:22:15 -0000 1.8
+++ src/python/waterfallsink.py 16 Jun 2006 06:34:53 -0000 1.9
@@ -65,6 +65,13 @@
def set_baseband_freq(self, baseband_freq):
self.baseband_freq = baseband_freq
+ def set_sample_rate(self, sample_rate):
+ self.sample_rate = sample_rate
+ self._set_n()
+
+ def _set_n(self):
+ self.one_in_n.set_n(max(1,
int(self.sample_rate/self.fft_size/self.fft_rate)))
+
class waterfall_sink_f(gr.hier_block, waterfall_sink_base):
def __init__(self, fg, parent, baseband_freq=0,
y_per_div=10, ref_level=50, sample_rate=1, fft_size=512,
@@ -76,17 +83,17 @@
fft_rate=fft_rate,
average=average, avg_alpha=avg_alpha,
title=title)
- s2p = gr.serial_to_parallel(gr.sizeof_float, fft_size)
- one_in_n = gr.keep_one_in_n(gr.sizeof_float * fft_size,
- max(1, int(sample_rate/fft_size/fft_rate)))
- mywindow = window.blackmanharris(fft_size)
- fft = gr.fft_vfc(fft_size, True, mywindow)
- c2mag = gr.complex_to_mag(fft_size)
- self.avg = gr.single_pole_iir_filter_ff(1.0, fft_size)
- log = gr.nlog10_ff(20, fft_size, -20*math.log10(fft_size))
- sink = gr.file_descriptor_sink(gr.sizeof_float * fft_size, self.w_fd)
+ s2p = gr.serial_to_parallel(gr.sizeof_float, self.fft_size)
+ self.one_in_n = gr.keep_one_in_n(gr.sizeof_float * self.fft_size,
+ max(1,
int(self.sample_rate/self.fft_size/self.fft_rate)))
+ mywindow = window.blackmanharris(self.fft_size)
+ fft = gr.fft_vfc(self.fft_size, True, mywindow)
+ c2mag = gr.complex_to_mag(self.fft_size)
+ self.avg = gr.single_pole_iir_filter_ff(1.0, self.fft_size)
+ log = gr.nlog10_ff(20, self.fft_size, -20*math.log10(self.fft_size))
+ sink = gr.file_descriptor_sink(gr.sizeof_float * self.fft_size,
self.w_fd)
- fg.connect (s2p, one_in_n, fft, c2mag, self.avg, log, sink)
+ fg.connect (s2p, self.one_in_n, fft, c2mag, self.avg, log, sink)
gr.hier_block.__init__(self, fg, s2p, sink)
self.win = waterfall_window(self, parent, size=size)
@@ -104,18 +111,18 @@
fft_rate=fft_rate,
average=average, avg_alpha=avg_alpha,
title=title)
- s2p = gr.serial_to_parallel(gr.sizeof_gr_complex, fft_size)
- one_in_n = gr.keep_one_in_n(gr.sizeof_gr_complex * fft_size,
- max(1, int(sample_rate/fft_size/fft_rate)))
-
- mywindow = window.blackmanharris(fft_size)
- fft = gr.fft_vcc(fft_size, True, mywindow)
- c2mag = gr.complex_to_mag(fft_size)
- self.avg = gr.single_pole_iir_filter_ff(1.0, fft_size)
- log = gr.nlog10_ff(20, fft_size, -20*math.log10(fft_size))
- sink = gr.file_descriptor_sink(gr.sizeof_float * fft_size, self.w_fd)
+ s2p = gr.serial_to_parallel(gr.sizeof_gr_complex, self.fft_size)
+ self.one_in_n = gr.keep_one_in_n(gr.sizeof_gr_complex * self.fft_size,
+ max(1,
int(self.sample_rate/self.fft_size/self.fft_rate)))
+
+ mywindow = window.blackmanharris(self.fft_size)
+ fft = gr.fft_vcc(self.fft_size, True, mywindow)
+ c2mag = gr.complex_to_mag(self.fft_size)
+ self.avg = gr.single_pole_iir_filter_ff(1.0, self.fft_size)
+ log = gr.nlog10_ff(20, self.fft_size, -20*math.log10(self.fft_size))
+ sink = gr.file_descriptor_sink(gr.sizeof_float * self.fft_size,
self.w_fd)
- fg.connect(s2p, one_in_n, fft, c2mag, self.avg, log, sink)
+ fg.connect(s2p, self.one_in_n, fft, c2mag, self.avg, log, sink)
gr.hier_block.__init__(self, fg, s2p, sink)
self.win = waterfall_window(self, parent, size=size)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] gr-wxgui ChangeLog src/python/fftsink.py src/py...,
Eric Blossom <=