summaryrefslogtreecommitdiff
path: root/gr-fft
diff options
context:
space:
mode:
authorTom Rondeau <tom@trondeau.com>2014-07-07 12:18:00 -0400
committerTom Rondeau <tom@trondeau.com>2014-07-07 12:18:00 -0400
commit597b93798a804cde1783d6d2ab53b348d57c44cd (patch)
treeb65e73bb0de634ff5d209b15971ebdabf369a45c /gr-fft
parent1151e5502ccd440ebd89599cf7e4be4fb5ed8334 (diff)
Removing trailing/extra whitespaces before release.
We should be more careful about letting these into the code in the future. In emacs, we can use (add-hook 'before-save-hook 'delete-trailing-whitespace).
Diffstat (limited to 'gr-fft')
-rw-r--r--gr-fft/grc/fft_block_tree.xml8
-rw-r--r--gr-fft/grc/fft_ctrlport_probe_psd.xml10
-rw-r--r--gr-fft/include/gnuradio/fft/fft.h34
-rw-r--r--gr-fft/include/gnuradio/fft/fft_vcc.h2
-rw-r--r--gr-fft/include/gnuradio/fft/fft_vfc.h2
-rw-r--r--gr-fft/include/gnuradio/fft/goertzel.h10
-rw-r--r--gr-fft/include/gnuradio/fft/goertzel_fc.h4
-rw-r--r--gr-fft/include/gnuradio/fft/window.h4
-rw-r--r--gr-fft/lib/ctrlport_probe_psd_impl.cc10
-rw-r--r--gr-fft/lib/fft.cc14
-rw-r--r--gr-fft/lib/fft_vcc_fftw.cc20
-rw-r--r--gr-fft/lib/fft_vcc_fftw.h8
-rw-r--r--gr-fft/lib/fft_vfc_fftw.cc24
-rw-r--r--gr-fft/lib/fft_vfc_fftw.h10
-rw-r--r--gr-fft/lib/goertzel.cc10
-rw-r--r--gr-fft/lib/goertzel_fc_impl.cc12
-rw-r--r--gr-fft/lib/goertzel_fc_impl.h6
-rw-r--r--gr-fft/lib/window.cc6
-rw-r--r--gr-fft/python/fft/logpwrfft.py12
19 files changed, 103 insertions, 103 deletions
diff --git a/gr-fft/grc/fft_block_tree.xml b/gr-fft/grc/fft_block_tree.xml
index ca8ca7876c..6e6ed84581 100644
--- a/gr-fft/grc/fft_block_tree.xml
+++ b/gr-fft/grc/fft_block_tree.xml
@@ -2,19 +2,19 @@
<!--
Copyright 2012 Free Software Foundation, Inc.
-
+
This file is part of GNU Radio
-
+
GNU Radio is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
-
+
GNU Radio is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with GNU Radio; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street,
diff --git a/gr-fft/grc/fft_ctrlport_probe_psd.xml b/gr-fft/grc/fft_ctrlport_probe_psd.xml
index 14fd24a7d9..f50144ba92 100644
--- a/gr-fft/grc/fft_ctrlport_probe_psd.xml
+++ b/gr-fft/grc/fft_ctrlport_probe_psd.xml
@@ -2,19 +2,19 @@
<!--
Copyright 2012 Free Software Foundation, Inc.
-
+
This file is part of GNU Radio
-
+
GNU Radio is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
-
+
GNU Radio is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with GNU Radio; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street,
@@ -41,7 +41,7 @@
<value>PSD Plot</value>
<type>string</type>
</param>
-
+
<param>
<name>Length</name>
<key>len</key>
diff --git a/gr-fft/include/gnuradio/fft/fft.h b/gr-fft/include/gnuradio/fft/fft.h
index 04673c16e1..3aed9cc3fb 100644
--- a/gr-fft/include/gnuradio/fft/fft.h
+++ b/gr-fft/include/gnuradio/fft/fft.h
@@ -42,7 +42,7 @@ namespace gr {
/*! \brief Helper function for allocating float* buffers
*/
FFT_API float* malloc_float(int size);
-
+
/*! \brief Helper function for allocating double* buffers
*/
FFT_API double* malloc_double(int size);
@@ -78,7 +78,7 @@ namespace gr {
public:
fft_complex(int fft_size, bool forward = true, int nthreads=1);
virtual ~fft_complex();
-
+
/*
* These return pointers to buffers owned by fft_impl_fft_complex
* into which input and output take place. It's done this way in
@@ -86,20 +86,20 @@ namespace gr {
*/
gr_complex *get_inbuf() const { return d_inbuf; }
gr_complex *get_outbuf() const { return d_outbuf; }
-
+
int inbuf_length() const { return d_fft_size; }
int outbuf_length() const { return d_fft_size; }
-
+
/*!
* Set the number of threads to use for caclulation.
*/
void set_nthreads(int n);
-
+
/*!
* Get the number of threads being used by FFTW
*/
int nthreads() const { return d_nthreads; }
-
+
/*!
* compute FFT. The input comes from inbuf, the output is placed in
* outbuf.
@@ -121,7 +121,7 @@ namespace gr {
public:
fft_real_fwd (int fft_size, int nthreads=1);
virtual ~fft_real_fwd ();
-
+
/*
* These return pointers to buffers owned by fft_impl_fft_real_fwd
* into which input and output take place. It's done this way in
@@ -129,20 +129,20 @@ namespace gr {
*/
float *get_inbuf() const { return d_inbuf; }
gr_complex *get_outbuf() const { return d_outbuf; }
-
+
int inbuf_length() const { return d_fft_size; }
int outbuf_length() const { return d_fft_size / 2 + 1; }
-
+
/*!
* Set the number of threads to use for caclulation.
*/
void set_nthreads(int n);
-
+
/*!
* Get the number of threads being used by FFTW
*/
int nthreads() const { return d_nthreads; }
-
+
/*!
* compute FFT. The input comes from inbuf, the output is placed in
* outbuf.
@@ -160,11 +160,11 @@ namespace gr {
gr_complex *d_inbuf;
float *d_outbuf;
void *d_plan;
-
+
public:
fft_real_rev(int fft_size, int nthreads=1);
virtual ~fft_real_rev();
-
+
/*
* These return pointers to buffers owned by fft_impl_fft_real_rev
* into which input and output take place. It's done this way in
@@ -172,20 +172,20 @@ namespace gr {
*/
gr_complex *get_inbuf() const { return d_inbuf; }
float *get_outbuf() const { return d_outbuf; }
-
+
int inbuf_length() const { return d_fft_size / 2 + 1; }
int outbuf_length() const { return d_fft_size; }
-
+
/*!
* Set the number of threads to use for caclulation.
*/
void set_nthreads(int n);
-
+
/*!
* Get the number of threads being used by FFTW
*/
int nthreads() const { return d_nthreads; }
-
+
/*!
* compute FFT. The input comes from inbuf, the output is placed in
* outbuf.
diff --git a/gr-fft/include/gnuradio/fft/fft_vcc.h b/gr-fft/include/gnuradio/fft/fft_vcc.h
index a2682de196..1e09521b4f 100644
--- a/gr-fft/include/gnuradio/fft/fft_vcc.h
+++ b/gr-fft/include/gnuradio/fft/fft_vcc.h
@@ -43,7 +43,7 @@ namespace gr {
static sptr make(int fft_size, bool forward,
const std::vector<float> &window,
bool shift=false, int nthreads=1);
-
+
virtual void set_nthreads(int n) = 0;
virtual int nthreads() const = 0;
diff --git a/gr-fft/include/gnuradio/fft/fft_vfc.h b/gr-fft/include/gnuradio/fft/fft_vfc.h
index 9937d92a34..91ed81fb17 100644
--- a/gr-fft/include/gnuradio/fft/fft_vfc.h
+++ b/gr-fft/include/gnuradio/fft/fft_vfc.h
@@ -39,7 +39,7 @@ namespace gr {
// gr::fft::fft_vfc::sptr
typedef boost::shared_ptr<fft_vfc> sptr;
-
+
static sptr make(int fft_size, bool forward,
const std::vector<float> &window,
int nthreads=1);
diff --git a/gr-fft/include/gnuradio/fft/goertzel.h b/gr-fft/include/gnuradio/fft/goertzel.h
index 6d9437f0fa..ac77e7d2dd 100644
--- a/gr-fft/include/gnuradio/fft/goertzel.h
+++ b/gr-fft/include/gnuradio/fft/goertzel.h
@@ -37,17 +37,17 @@ namespace gr {
{
public:
goertzel(int rate, int len, float freq);
-
+
void set_params(int rate, int len, float freq);
-
+
// Process a input array
gr_complex batch(float *in);
-
+
// Process sample by sample
void input(const float &in);
gr_complex output();
bool ready() const { return d_processed == d_len; }
-
+
private:
float d_d1;
float d_d2;
@@ -56,7 +56,7 @@ namespace gr {
int d_len;
int d_processed;
};
-
+
} /* namespace fft */
} /* namespace gr */
diff --git a/gr-fft/include/gnuradio/fft/goertzel_fc.h b/gr-fft/include/gnuradio/fft/goertzel_fc.h
index 3815ac0fd4..daa0c5ec26 100644
--- a/gr-fft/include/gnuradio/fft/goertzel_fc.h
+++ b/gr-fft/include/gnuradio/fft/goertzel_fc.h
@@ -39,7 +39,7 @@ namespace gr {
// gr::fft::goertzel_fc::sptr
typedef boost::shared_ptr<goertzel_fc> sptr;
-
+
static sptr make(int rate, int len, float freq);
virtual void set_freq (float freq) = 0;
@@ -47,7 +47,7 @@ namespace gr {
virtual void set_rate (int rate) = 0;
virtual float freq() = 0;
-
+
virtual int rate() = 0;
};
diff --git a/gr-fft/include/gnuradio/fft/window.h b/gr-fft/include/gnuradio/fft/window.h
index 92f62c64cb..c1de1814c7 100644
--- a/gr-fft/include/gnuradio/fft/window.h
+++ b/gr-fft/include/gnuradio/fft/window.h
@@ -33,7 +33,7 @@ namespace gr {
class FFT_API window {
public:
-
+
enum win_type {
WIN_HAMMING = 0, //!< Hamming window; max attenuation 53 dB
WIN_HANN = 1, //!< Hann window; max attenuation 44 dB
@@ -193,7 +193,7 @@ namespace gr {
* \param ntaps Number of coefficients in the window.
*/
static std::vector<float> blackman_nuttal(int ntaps);
-
+
/*!
* \brief Build a Nuttal continuous first derivative window.
*
diff --git a/gr-fft/lib/ctrlport_probe_psd_impl.cc b/gr-fft/lib/ctrlport_probe_psd_impl.cc
index b517fa3ac4..a12341e931 100644
--- a/gr-fft/lib/ctrlport_probe_psd_impl.cc
+++ b/gr-fft/lib/ctrlport_probe_psd_impl.cc
@@ -62,7 +62,7 @@ namespace gr {
for(unsigned i = 0; i < ninputs; i++)
ninput_items_required[i] = d_len;
}
-
+
// boost::shared_mutex mutex_buffer;
// mutable boost::mutex mutex_notify;
// boost::condition_variable condition_buffer_ready;
@@ -84,7 +84,7 @@ namespace gr {
std::vector<gr_complex> buf_copy;
buf_copy.resize(d_len);
-
+
gr_complex* out = d_fft.get_outbuf();
for(size_t i=0; i<d_len; i++){
size_t idx = (i + d_len/2)%d_len;
@@ -131,14 +131,14 @@ namespace gr {
for(int i = 0; i < num_copy; i++) {
d_buffer.push_back(in[i]);
}
-
+
// notify the waiting get() if we fill up the buffer
if(d_buffer.size() == d_len) {
condition_buffer_ready.notify_one();
}
}
mutex_buffer.unlock();
-
+
return noutput_items;
}
@@ -152,7 +152,7 @@ namespace gr {
alias(), d_id.c_str(), &ctrlport_probe_psd::get,
pmt::make_c32vector(0,-2),
pmt::make_c32vector(0,2),
- pmt::make_c32vector(0,0),
+ pmt::make_c32vector(0,0),
"dB", d_desc.c_str(), RPC_PRIVLVL_MIN,
DISPXY | DISPOPTSCATTER)));
diff --git a/gr-fft/lib/fft.cc b/gr-fft/lib/fft.cc
index abcda7d30e..18e54f065f 100644
--- a/gr-fft/lib/fft.cc
+++ b/gr-fft/lib/fft.cc
@@ -151,17 +151,17 @@ namespace gr {
d_inbuf = (gr_complex *) fftwf_malloc (sizeof (gr_complex) * inbuf_length ());
if (d_inbuf == 0)
throw std::runtime_error ("fftwf_malloc");
-
+
d_outbuf = (gr_complex *) fftwf_malloc (sizeof (gr_complex) * outbuf_length ());
if (d_outbuf == 0){
fftwf_free (d_inbuf);
throw std::runtime_error ("fftwf_malloc");
}
-
+
d_nthreads = nthreads;
config_threading(nthreads);
import_wisdom(); // load prior wisdom from disk
-
+
d_plan = fftwf_plan_dft_1d (fft_size,
reinterpret_cast<fftwf_complex *>(d_inbuf),
reinterpret_cast<fftwf_complex *>(d_outbuf),
@@ -246,7 +246,7 @@ namespace gr {
{
// Hold global mutex during plan construction and destruction.
planner::scoped_lock lock(planner::mutex());
-
+
fftwf_destroy_plan ((fftwf_plan) d_plan);
fftwf_free (d_inbuf);
fftwf_free (d_outbuf);
@@ -278,7 +278,7 @@ namespace gr {
planner::scoped_lock lock(planner::mutex());
assert (sizeof (fftwf_complex) == sizeof (gr_complex));
-
+
if (fft_size <= 0)
throw std::out_of_range ("gr::fft::fft_real_rev: invalid fft_size");
@@ -316,7 +316,7 @@ namespace gr {
{
// Hold global mutex during plan construction and destruction.
planner::scoped_lock lock(planner::mutex());
-
+
fftwf_destroy_plan ((fftwf_plan) d_plan);
fftwf_free (d_inbuf);
fftwf_free (d_outbuf);
@@ -328,7 +328,7 @@ namespace gr {
if (n <= 0)
throw std::out_of_range ("gr::fft::fft_real_rev::set_nthreads: invalid number of threads");
d_nthreads = n;
-
+
#ifdef FFTW3F_THREADS
fftwf_plan_with_nthreads(d_nthreads);
#endif
diff --git a/gr-fft/lib/fft_vcc_fftw.cc b/gr-fft/lib/fft_vcc_fftw.cc
index 6873e74f45..778042ebf0 100644
--- a/gr-fft/lib/fft_vcc_fftw.cc
+++ b/gr-fft/lib/fft_vcc_fftw.cc
@@ -31,7 +31,7 @@
namespace gr {
namespace fft {
-
+
fft_vcc::sptr fft_vcc::make(int fft_size, bool forward,
const std::vector<float> &window,
bool shift, int nthreads)
@@ -89,14 +89,14 @@ namespace gr {
{
const gr_complex *in = (const gr_complex *) input_items[0];
gr_complex *out = (gr_complex *) output_items[0];
-
+
unsigned int input_data_size = input_signature()->sizeof_stream_item (0);
unsigned int output_data_size = output_signature()->sizeof_stream_item (0);
-
+
int count = 0;
-
+
while(count++ < noutput_items) {
-
+
// copy input into optimally aligned buffer
if(d_window.size()) {
gr_complex *dst = d_fft->get_inbuf();
@@ -107,7 +107,7 @@ namespace gr {
dst[i+fft_m_offset] = in[i] * d_window[i];
for(unsigned int i = offset; i < d_fft_size; i++) // apply window
dst[i-offset] = in[i] * d_window[i];
- }
+ }
else {
for(unsigned int i = 0; i < d_fft_size; i++) // apply window
dst[i] = in[i] * d_window[i];
@@ -124,10 +124,10 @@ namespace gr {
memcpy(d_fft->get_inbuf(), in, input_data_size);
}
}
-
+
// compute the fft
d_fft->execute();
-
+
// copy result to our output
if(d_forward && d_shift) { // apply a fft shift on the data
unsigned int len = (unsigned int)(ceil(d_fft_size/2.0));
@@ -137,11 +137,11 @@ namespace gr {
else {
memcpy (out, d_fft->get_outbuf (), output_data_size);
}
-
+
in += d_fft_size;
out += d_fft_size;
}
-
+
return noutput_items;
}
diff --git a/gr-fft/lib/fft_vcc_fftw.h b/gr-fft/lib/fft_vcc_fftw.h
index 2aa2056f5b..951602031c 100644
--- a/gr-fft/lib/fft_vcc_fftw.h
+++ b/gr-fft/lib/fft_vcc_fftw.h
@@ -28,7 +28,7 @@
namespace gr {
namespace fft {
-
+
class FFT_API fft_vcc_fftw : public fft_vcc
{
private:
@@ -42,13 +42,13 @@ namespace gr {
fft_vcc_fftw(int fft_size, bool forward,
const std::vector<float> &window,
bool shift, int nthreads=1);
-
+
~fft_vcc_fftw();
-
+
void set_nthreads(int n);
int nthreads() const;
bool set_window(const std::vector<float> &window);
-
+
int work(int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items);
diff --git a/gr-fft/lib/fft_vfc_fftw.cc b/gr-fft/lib/fft_vfc_fftw.cc
index cb8d223d95..7e327ea916 100644
--- a/gr-fft/lib/fft_vfc_fftw.cc
+++ b/gr-fft/lib/fft_vfc_fftw.cc
@@ -31,7 +31,7 @@
namespace gr {
namespace fft {
-
+
fft_vfc::sptr fft_vfc::make(int fft_size, bool forward,
const std::vector<float> &window,
int nthreads)
@@ -40,7 +40,7 @@ namespace gr {
(fft_size, forward, window,
nthreads));
}
-
+
fft_vfc_fftw::fft_vfc_fftw(int fft_size, bool forward,
const std::vector<float> &window,
int nthreads)
@@ -70,7 +70,7 @@ namespace gr {
{
return d_fft->nthreads();
}
-
+
bool
fft_vfc_fftw::set_window(const std::vector<float> &window)
{
@@ -81,7 +81,7 @@ namespace gr {
else
return false;
}
-
+
int
fft_vfc_fftw::work(int noutput_items,
gr_vector_const_void_star &input_items,
@@ -89,13 +89,13 @@ namespace gr {
{
const float *in = (const float *)input_items[0];
gr_complex *out = (gr_complex *)output_items[0];
-
+
unsigned int output_data_size = output_signature()->sizeof_stream_item (0);
-
+
int count = 0;
-
+
while(count++ < noutput_items) {
-
+
// copy input into optimally aligned buffer
if(d_window.size()) {
gr_complex *dst = d_fft->get_inbuf();
@@ -107,17 +107,17 @@ namespace gr {
for(unsigned int i = 0; i < d_fft_size; i++) // float to complex conversion
dst[i] = in[i];
}
-
+
// compute the fft
d_fft->execute();
-
+
// copy result to output stream
memcpy(out, d_fft->get_outbuf(), output_data_size);
-
+
in += d_fft_size;
out += d_fft_size;
}
-
+
return noutput_items;
}
diff --git a/gr-fft/lib/fft_vfc_fftw.h b/gr-fft/lib/fft_vfc_fftw.h
index 2fe292f8ca..f500129e2e 100644
--- a/gr-fft/lib/fft_vfc_fftw.h
+++ b/gr-fft/lib/fft_vfc_fftw.h
@@ -28,7 +28,7 @@
namespace gr {
namespace fft {
-
+
class FFT_API fft_vfc_fftw : public fft_vfc
{
private:
@@ -36,18 +36,18 @@ namespace gr {
unsigned int d_fft_size;
std::vector<float> d_window;
bool d_forward;
-
+
public:
fft_vfc_fftw(int fft_size, bool forward,
const std::vector<float> &window,
int nthreads=1);
-
+
~fft_vfc_fftw();
-
+
void set_nthreads(int n);
int nthreads() const;
bool set_window(const std::vector<float> &window);
-
+
int work(int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items);
diff --git a/gr-fft/lib/goertzel.cc b/gr-fft/lib/goertzel.cc
index ddb086c531..14098180b5 100644
--- a/gr-fft/lib/goertzel.cc
+++ b/gr-fft/lib/goertzel.cc
@@ -34,29 +34,29 @@ namespace gr {
{
set_params(rate, len, freq);
}
-
+
void
goertzel::set_params(int rate, int len, float freq)
{
d_d1 = 0.0;
d_d2 = 0.0;
-
+
float w = 2.0*M_PI*freq/rate;
d_wr = 2.0*std::cos(w);
d_wi = std::sin(w);
d_len = len;
d_processed = 0;
}
-
+
gr_complex
goertzel::batch(float *in)
{
d_d1 = 0.0;
d_d2 = 0.0;
-
+
for(int i = 0; i < d_len; i++)
input(in[i]);
-
+
return output();
}
diff --git a/gr-fft/lib/goertzel_fc_impl.cc b/gr-fft/lib/goertzel_fc_impl.cc
index fd3755eeaa..ba26df0ca3 100644
--- a/gr-fft/lib/goertzel_fc_impl.cc
+++ b/gr-fft/lib/goertzel_fc_impl.cc
@@ -29,12 +29,12 @@
namespace gr {
namespace fft {
-
+
goertzel_fc::sptr goertzel_fc::make(int rate, int len, float freq)
{
return gnuradio::get_initial_sptr(new goertzel_fc_impl(rate, len, freq));
}
-
+
goertzel_fc_impl::goertzel_fc_impl(int rate, int len, float freq)
: sync_decimator("goertzel_fc",
io_signature::make (1, 1, sizeof(float)),
@@ -46,7 +46,7 @@ namespace gr {
d_rate = rate;
d_freq = freq;
}
-
+
goertzel_fc_impl::~goertzel_fc_impl()
{
}
@@ -64,7 +64,7 @@ namespace gr {
d_rate = rate;
d_goertzel.set_params(d_rate, d_len, d_freq);
}
-
+
int
goertzel_fc_impl::work(int noutput_items,
gr_vector_const_void_star &input_items,
@@ -72,12 +72,12 @@ namespace gr {
{
float *in = (float *)input_items[0];
gr_complex *out = (gr_complex *)output_items[0];
-
+
for(int i = 0; i < noutput_items; i++) {
*out++ = d_goertzel.batch(in);
in += d_len;
}
-
+
return noutput_items;
}
diff --git a/gr-fft/lib/goertzel_fc_impl.h b/gr-fft/lib/goertzel_fc_impl.h
index 79b24f15c4..e007bcfb73 100644
--- a/gr-fft/lib/goertzel_fc_impl.h
+++ b/gr-fft/lib/goertzel_fc_impl.h
@@ -28,7 +28,7 @@
namespace gr {
namespace fft {
-
+
class FFT_API goertzel_fc_impl : public goertzel_fc
{
private:
@@ -39,9 +39,9 @@ namespace gr {
public:
goertzel_fc_impl(int rate, int len, float freq);
-
+
~goertzel_fc_impl();
-
+
void set_freq(float freq);
void set_rate(int rate);
diff --git a/gr-fft/lib/window.cc b/gr-fft/lib/window.cc
index 015e2d9943..965b11bf46 100644
--- a/gr-fft/lib/window.cc
+++ b/gr-fft/lib/window.cc
@@ -31,12 +31,12 @@ namespace gr {
namespace fft {
#define IzeroEPSILON 1E-21 /* Max error acceptable in Izero */
-
+
static double Izero(double x)
{
double sum, u, halfx, temp;
int n;
-
+
sum = u = n = 1;
halfx = x/2.0;
do {
@@ -180,7 +180,7 @@ namespace gr {
{
return coswindow(ntaps, 0.21747, 0.45325, 0.28256, 0.04672);
}
-
+
std::vector<float>
window::blackman4(int ntaps)
{
diff --git a/gr-fft/python/fft/logpwrfft.py b/gr-fft/python/fft/logpwrfft.py
index fb8ba04622..356ec1217b 100644
--- a/gr-fft/python/fft/logpwrfft.py
+++ b/gr-fft/python/fft/logpwrfft.py
@@ -41,7 +41,7 @@ class _logpwrfft_base(gr.hier_block2):
"""
Create an log10(abs(fft)) stream chain.
Provide access to the setting the filter and sample rate.
-
+
Args:
sample_rate: Incoming stream sample rate
fft_size: Number of FFT bins
@@ -81,7 +81,7 @@ class _logpwrfft_base(gr.hier_block2):
def set_decimation(self, decim):
"""
Set the decimation on stream decimator.
-
+
Args:
decim: the new decimation
"""
@@ -90,7 +90,7 @@ class _logpwrfft_base(gr.hier_block2):
def set_vec_rate(self, vec_rate):
"""
Set the vector rate on stream decimator.
-
+
Args:
vec_rate: the new vector rate
"""
@@ -99,7 +99,7 @@ class _logpwrfft_base(gr.hier_block2):
def set_sample_rate(self, sample_rate):
"""
Set the new sampling rate
-
+
Args:
sample_rate: the new rate
"""
@@ -108,7 +108,7 @@ class _logpwrfft_base(gr.hier_block2):
def set_average(self, average):
"""
Set the averaging filter on/off.
-
+
Args:
average: true to set averaging on
"""
@@ -121,7 +121,7 @@ class _logpwrfft_base(gr.hier_block2):
def set_avg_alpha(self, avg_alpha):
"""
Set the average alpha and set the taps if average was on.
-
+
Args:
avg_alpha: the new iir filter tap
"""