11#ifndef INCLUDED_FFT_WINDOW_H
12#define INCLUDED_FFT_WINDOW_H
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);
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 constexpr double INVALID_WIN_PARAM
Definition window.h:26
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
@ WIN_HANN
Hann window; max attenuation 44 dB.
Definition window.h:31
@ WIN_RECTANGULAR
Basic rectangular window; max attenuation 21 dB.
Definition window.h:34
@ WIN_BARTLETT
Barlett (triangular) window; max attenuation 26 dB.
Definition window.h:39
@ WIN_BLACKMAN_hARRIS
Blackman-harris window; max attenuation 92 dB.
Definition window.h:36
@ WIN_BLACKMAN_HARRIS
alias to WIN_BLACKMAN_hARRIS for capitalization consistency
Definition window.h:37
@ WIN_GAUSSIAN
Gaussian window; max attenuation see window::max_attenuation.
Definition window.h:50
@ WIN_NUTTALL
Nuttall window; max attenuation 114 dB.
Definition window.h:41
@ WIN_KAISER
Kaiser window; max attenuation see window::max_attenuation.
Definition window.h:35
@ WIN_HANNING
alias to WIN_HANN
Definition window.h:32
@ WIN_NONE
don't use a window
Definition window.h:29
@ WIN_TUKEY
Tukey window; max attenuation see window::max_attenuation.
Definition window.h:52
@ WIN_BLACKMAN
Blackman window; max attenuation 74 dB.
Definition window.h:33
@ WIN_PARZEN
Parzen window; max attenuation 56 dB.
Definition window.h:46
@ WIN_FLATTOP
flat top window; useful in FFTs; max attenuation 93 dB
Definition window.h:40
@ WIN_WELCH
Welch window; max attenuation 31 dB.
Definition window.h:45
@ WIN_BLACKMAN_NUTTALL
Nuttall window; max attenuation 114 dB.
Definition window.h:42
@ WIN_HAMMING
Hamming window; max attenuation 53 dB.
Definition window.h:30
@ WIN_NUTTALL_CFD
Nuttall continuous-first-derivative window; max attenuation 112 dB.
Definition window.h:43
@ WIN_EXPONENTIAL
Exponential window; max attenuation see window::max_attenuation.
Definition window.h:47
@ WIN_RIEMANN
Riemann window; max attenuation 39 dB.
Definition window.h:49
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
Definition ctrlport_probe_psd.h:18
GNU Radio logging wrapper.
Definition basic_block.h:29