11#ifndef INCLUDED_FFT_WINDOW_H
12#define INCLUDED_FFT_WINDOW_H
26 static constexpr double INVALID_WIN_PARAM = -1;
36 WIN_BLACKMAN_hARRIS = 5,
42 WIN_BLACKMAN_NUTTALL = 8,
91 static std::vector<float>
coswindow(
int ntaps,
float c0,
float c1,
float c2);
96 static std::vector<float>
97 coswindow(
int ntaps,
float c0,
float c1,
float c2,
float c3);
102 static std::vector<float>
103 coswindow(
int ntaps,
float c0,
float c1,
float c2,
float c3,
float c4);
140 static std::vector<float>
hann(
int ntaps);
275 static std::vector<float>
kaiser(
int ntaps,
double beta);
291 static std::vector<float>
welch(
int ntaps);
304 static std::vector<float>
parzen(
int ntaps);
341 static std::vector<float>
tukey(
int ntaps,
float alpha);
352 static std::vector<float>
gaussian(
int ntaps,
float sigma);
366 double param = INVALID_WIN_PARAM,
367 const bool normalize =
false);
static std::vector< float > gaussian(int ntaps, float sigma)
Build a Gaussian window using the equation.
static std::vector< float > blackman_harris(int ntaps, int atten=92)
Build a Blackman-harris window with a given attenuation.
static std::vector< float > coswindow(int ntaps, float c0, float c1, float c2, float c3, float c4)
Helper function to build cosine-based windows. 5-coefficient version.
static std::vector< float > blackman3(int ntaps)
Build Blackman window, variation 2.
static std::vector< float > blackman(int ntaps)
Build an exact Blackman window.
static std::vector< float > blackman2(int ntaps)
Build Blackman window, variation 1.
static std::vector< float > welch(int ntaps)
static std::vector< float > rectangular(int ntaps)
Build a rectangular window.
static std::vector< float > flattop(int ntaps)
Build a flat top window per the SRS specification.
static std::vector< float > build(win_type type, int ntaps, double param=INVALID_WIN_PARAM, const bool normalize=false)
Build a window using gr::fft::win_type to index the type of window desired.
static std::vector< float > blackmanharris(int ntaps, int atten=92)
static std::vector< float > blackman_nuttall(int ntaps)
Alias to the Nuttall window.
static std::vector< float > hann(int ntaps)
Build a Hann window (sometimes known as Hanning).
win_type
Definition: window.h:28
static std::vector< float > hamming(int ntaps)
Build a Hamming window.
static std::vector< float > nuttall(int ntaps)
Build a minimum 4-term Nuttall (or Blackman-Nuttall) window, referred to by Heinzel G....
static std::vector< float > nuttall_cfd(int ntaps)
Build a Nuttall 4-term continuous first derivative window, referred to by Heinzel G....
static std::vector< float > coswindow(int ntaps, float c0, float c1, float c2, float c3)
Helper function to build cosine-based windows. 4-coefficient version.
static std::vector< float > hanning(int ntaps)
Alias to build a Hann window.
static std::vector< float > riemann(int ntaps)
Build a Riemann window.
static std::vector< float > blackman4(int ntaps)
Build Blackman window, variation 3.
static double max_attenuation(win_type type, double param=INVALID_WIN_PARAM)
Given a window::win_type, this tells you the maximum attenuation (really the maximum approximation er...
static std::vector< float > kaiser(int ntaps, double beta)
Build a Kaiser window with a given beta.
static std::vector< float > coswindow(int ntaps, float c0, float c1, float c2)
Helper function to build cosine-based windows. 3-coefficient version.
static std::vector< float > tukey(int ntaps, float alpha)
Build a Tukey window.
static std::vector< float > parzen(int ntaps)
Build a Parzen (or de la Valle-Poussin) window.
static std::vector< float > exponential(int ntaps, double d)
Build an exponential window with a given decay.
static std::vector< float > bartlett(int ntaps)
Build a Barlett (triangular) window.
#define FFT_API
Definition: gr-fft/include/gnuradio/fft/api.h:18
GNU Radio logging wrapper.
Definition: basic_block.h:29