26arma_inline arma::vec
cos_win(
const arma::uword N,
const arma::vec& a )
29 for( arma::uword i = 0; i < N; i++ )
31 h[i] = a[0] - a[1] * std::cos( 1.0 *
PI_2 * i / ( N - 1 ) ) + a[2] * std::cos( 2.0 *
PI_2 * i / ( N - 1 ) ) - a[3] * std::cos( 3.0 *
PI_2 * i / ( N - 1 ) )
32 + a[4] * std::cos( 4.0 *
PI_2 * i / ( N - 1 ) );
43arma_inline arma::vec
hamming(
const arma::uword N )
45 arma::vec a = arma::zeros<arma::vec>( 5 );
57arma_inline arma::vec
hann(
const arma::uword N )
59 arma::vec a = arma::zeros<arma::vec>( 5 );
71arma_inline arma::vec
blackman(
const arma::uword N )
73 arma::vec a = arma::zeros<arma::vec>( 5 );
90 arma::vec a = arma::zeros<arma::vec>( 5 );
107 arma::vec a = arma::zeros<arma::vec>( 5 );
122arma_inline arma::vec
hanning(
const arma::uword N )
125 for( arma::uword i = 0; i < N; i++ )
127 h[i] = 0.5 - 0.5 * std::cos(
PI_2 * ( i + 1 ) / ( N + 1 ) );
140arma_inline arma::vec
kaiser(
const arma::uword N,
double beta )
144 for( arma::uword i = 0; i < N; i++ )
146 h[i] =
besseli0( beta * sqrt( 4.0 * i * ( N - 1 - i ) ) / ( N - 1 ) ) / bb;
158arma_inline arma::vec
triang(
const arma::uword N )
163 for( arma::uword i = 0; i < ( N - 1 ) / 2; i++ )
165 h[i] = 2.0 * ( i + 1 ) / ( N + 1 );
168 h[( N - 1 ) / 2] = 1.0;
172 for( arma::uword i = 0; i < N / 2; i++ )
174 h[i] = ( 2.0 * i + 1 ) / N;
arma_inline double besseli0(double x)
Modified first kind bessel function order zero.
arma_inline arma::vec hann(const arma::uword N)
Hann window.
arma_inline arma::vec blackman(const arma::uword N)
Blackman window.
arma_inline arma::vec triang(const arma::uword N)
Triangle window.
arma_inline arma::vec cos_win(const arma::uword N, const arma::vec &a)
Generic fifth order symmetric cos window.
arma_inline arma::vec hamming(const arma::uword N)
Hamming window.
arma_inline arma::vec blackmanharris(const arma::uword N)
Blackman-Harris window. Symmetric BH4 window.
arma_inline arma::vec flattopwin(const arma::uword N)
Flattop window.
arma_inline arma::vec hanning(const arma::uword N)
Hanning window.
arma_inline arma::vec kaiser(const arma::uword N, double beta)
Kaiser window.