diff options
author | Johnathan Corgan | 2009-09-02 14:38:37 -0700 |
---|---|---|
committer | Johnathan Corgan | 2009-09-02 14:38:37 -0700 |
commit | 72afd843cfa4037eb0a059a647c952b7e5ddf25c (patch) | |
tree | e70794c5f51fec80e90c76456ce96e27193aafa8 /gr-wxgui/src/python/common.py | |
parent | a36c92ed48fb80c78a97a200b92b98d36a7d4c05 (diff) | |
parent | a70c291e3cd4fc3d51f2eebb6b39cdb9d46862da (diff) | |
download | gnuradio-72afd843cfa4037eb0a059a647c952b7e5ddf25c.tar.gz gnuradio-72afd843cfa4037eb0a059a647c952b7e5ddf25c.tar.bz2 gnuradio-72afd843cfa4037eb0a059a647c952b7e5ddf25c.zip |
Merge branch 'wxgui_fix' from http://gnuradio.org/git/jblum.git into master
* waterfall and fft use a common autoscale function
* Fix so that the waterfall texture is initialized with a buffer of the same size.
Diffstat (limited to 'gr-wxgui/src/python/common.py')
-rw-r--r-- | gr-wxgui/src/python/common.py | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/gr-wxgui/src/python/common.py b/gr-wxgui/src/python/common.py index d555a1f05..9c97ce1ec 100644 --- a/gr-wxgui/src/python/common.py +++ b/gr-wxgui/src/python/common.py @@ -137,6 +137,25 @@ def get_min_max(samples): scale_factor = 3 mean = numpy.average(samples) rms = numpy.max([scale_factor*((numpy.sum((samples-mean)**2)/len(samples))**.5), .1]) - min = mean - rms - max = mean + rms - return min, max + min_val = mean - rms + max_val = mean + rms + return min_val, max_val + +def get_min_max_fft(fft_samps): + """ + Get the minimum and maximum bounds for an array of fft samples. + @param samples the array of real values + @return a tuple of min, max + """ + #get the peak level (max of the samples) + peak_level = numpy.max(fft_samps) + #separate noise samples + noise_samps = numpy.sort(fft_samps)[:len(fft_samps)/2] + #get the noise floor + noise_floor = numpy.average(noise_samps) + #get the noise deviation + noise_dev = numpy.std(noise_samps) + #determine the maximum and minimum levels + max_level = peak_level + min_level = noise_floor - abs(2*noise_dev) + return min_level, max_level |