ldas-tools-filters  2.6.6
Namespaces | Classes | Functions | Variables
Filters Namespace Reference

author: "Eric Rotthoff/L. S. Finn" More...

Namespaces

 Private
 

Classes

class  basic_array
 This class implements a trivial exception-safe C-style array. More...
 
class  FIRLP
 
class  HannWindow
 A class representing a Hann window. More...
 
class  Interpolate
 Class which implements Lagrange interpolation of a vector. More...
 
class  KaiserWindow
 A class representing a Kaiser window. More...
 
class  KFIRLP
 
class  LinFiltTraits
 Traits for LinFilt objects. More...
 
class  LinFiltTraits< std::complex< float >, float >
 
class  LinFiltTraits< std::complex< float >, double >
 
class  LinFiltTraits< std::complex< double >, float >
 
class  LinFiltTraits< std::complex< double >, double >
 
class  LinFiltCoeffTraits
 
class  LinFiltCoeffTraits< std::complex< T > >
 
class  LinFiltStateTraits
 
class  LinFiltStateTraits< float, float >
 
class  LinFiltStateTraits< float, double >
 
class  LinFiltStateTraits< double, float >
 
class  LinFiltStateTraits< double, double >
 
class  LinFiltBase
 Virtual base class for LinFilt - required for RTTI. More...
 
class  LinFilt
 Class for performing linear filtering on arbitrary data sequences. More...
 
class  RectangularWindow
 A class representing a rectangular window. More...
 
class  ResampleBase
 
class  ResampleTraits
 
class  ResampleTraits< short int >
 
class  ResampleTraits< int >
 
class  Resample
 
class  Window
 An abstract base class for window functions. More...
 

Functions

int gcd (int m, int n)
 Calculate the greatest common divisor of m and n using Euclid's method. More...
 
template<class T >
void designInterpolatingFilter (std::valarray< T > &b, const double alpha)
 Calculate FIR coefficients for an interpolating filter. More...
 
double Sinc (const double &x)
 Sinc(x) returns sin(pi*x)/(pi*x) More...
 
template<class Type >
std::valarray< Type > real (const std::valarray< Type > &Data)
 retrieve the real component of a valarray More...
 
template<class Type >
std::valarray< Type > real (const std::valarray< std::complex< Type > > &Data)
 retrieve the real component of a valarray More...
 
template<class Type >
std::valarray< Type > imag (const std::valarray< Type > &Data)
 retrieve the imaginary component of a valarray More...
 
template<class Type >
std::valarray< Type > imag (const std::valarray< std::complex< Type > > &Data)
 retrieve the imaginary component of a valarray More...
 
template<class T >
std::valarray< T > abs (const std::valarray< std::complex< T > > &in)
 calculate the absolute value of a valarray More...
 
template<class T >
std::valarray< T > arg (const std::valarray< std::complex< T > > &in)
 calculate the arg of a valarray More...
 
template<class Type >
std::valarray< Type > conj (const std::valarray< Type > &Data)
 retrieve the conjugate of a valarray More...
 
template<class Type >
std::valarray< std::complex< Type > > conj (const std::valarray< std::complex< Type > > &Data)
 retrieve the conjugate of a valarray More...
 
template<class OutType , class InType >
void valarray_copy (std::valarray< OutType > &out, const std::valarray< InType > &in)
 copy from an arbitrary valarray to an arbitrary valarray More...
 
template<>
void valarray_copy (std::valarray< std::complex< float > > &out, const std::valarray< std::complex< double > > &in)
 Specialisation to deal with complex<double> to complex<float> More...
 
template<class Type >
const std::valarray< Type > & valarray_copy_slice (const std::slice &Slice, const std::valarray< Type > &In, std::valarray< Type > &Out)
 
template<class T >
void designInterpolatingFilter (valarray< T > &b, const double alpha)
 
template void designInterpolatingFilter< float > (valarray< float > &b, double alpha)
 
template void designInterpolatingFilter< double > (valarray< double > &b, double alpha)
 
template void designInterpolatingFilter< complex< float > > (valarray< complex< float > > &b, double alpha)
 
template void designInterpolatingFilter< complex< double > > (valarray< complex< double > > &b, double alpha)
 
template std::valarray< float > real (const std::valarray< float > &Data)
 
template std::valarray< double > real (const std::valarray< double > &Data)
 
template std::valarray< float > real (const std::valarray< std::complex< float > > &Data)
 
template std::valarray< double > real (const std::valarray< std::complex< double > > &Data)
 
template std::valarray< float > imag (const std::valarray< float > &Data)
 
template std::valarray< double > imag (const std::valarray< double > &Data)
 
template std::valarray< float > imag (const std::valarray< std::complex< float > > &Data)
 
template std::valarray< double > imag (const std::valarray< std::complex< double > > &Data)
 
template std::valarray< float > abs (const std::valarray< std::complex< float > > &Data)
 
template std::valarray< double > abs (const std::valarray< std::complex< double > > &Data)
 
template std::valarray< float > arg (const std::valarray< std::complex< float > > &Data)
 
template std::valarray< double > arg (const std::valarray< std::complex< double > > &Data)
 
template std::valarray< float > conj (const std::valarray< float > &Data)
 
template std::valarray< double > conj (const std::valarray< double > &Data)
 
template std::valarray< std::complex< float > > conj (const std::valarray< std::complex< float > > &Data)
 
template std::valarray< std::complex< double > > conj (const std::valarray< std::complex< double > > &Data)
 

Variables

const size_t MaximumWindowLength = 8388608
 
const double KaiserWindowDefaultBeta = 0.0L
 

Detailed Description

author: "Eric Rotthoff/L. S. Finn"

Function Documentation

◆ abs() [1/3]

template std::valarray< double > Filters::abs ( const std::valarray< std::complex< double > > &  Data)

◆ abs() [2/3]

template std::valarray< float > Filters::abs ( const std::valarray< std::complex< float > > &  Data)

◆ abs() [3/3]

template<class T >
std::valarray< T > Filters::abs ( const std::valarray< std::complex< T > > &  in)

calculate the absolute value of a valarray

◆ arg() [1/3]

template std::valarray< double > Filters::arg ( const std::valarray< std::complex< double > > &  Data)

◆ arg() [2/3]

template std::valarray< float > Filters::arg ( const std::valarray< std::complex< float > > &  Data)

◆ arg() [3/3]

template<class T >
std::valarray< T > Filters::arg ( const std::valarray< std::complex< T > > &  in)

calculate the arg of a valarray

◆ conj() [1/6]

template std::valarray< double > Filters::conj ( const std::valarray< double > &  Data)

◆ conj() [2/6]

template std::valarray< float > Filters::conj ( const std::valarray< float > &  Data)

◆ conj() [3/6]

template std::valarray< std::complex< double > > Filters::conj ( const std::valarray< std::complex< double > > &  Data)

◆ conj() [4/6]

template std::valarray< std::complex< float > > Filters::conj ( const std::valarray< std::complex< float > > &  Data)

◆ conj() [5/6]

template<class Type >
std::valarray< std::complex< Type > > Filters::conj ( const std::valarray< std::complex< Type > > &  Data)

retrieve the conjugate of a valarray

◆ conj() [6/6]

template<class Type >
std::valarray< Type > Filters::conj ( const std::valarray< Type > &  Data)

retrieve the conjugate of a valarray

◆ designInterpolatingFilter() [1/2]

template<class T >
void Filters::designInterpolatingFilter ( std::valarray< T > &  b,
const double  alpha 
)

Calculate FIR coefficients for an interpolating filter.

This function designs a FIR filter for interpolating the values in a vector with a Lagrange polynomial of order b.size() - 1.

Parameters
[out]bthe array to fill with Lagrange polynomial coefficients.
[in]alphainterpolation parameter
Exceptions
invalid_argumentThrown if b.size() == 0
invalid_argumentThrown if alpha <= 0 or alpha >= 1

◆ designInterpolatingFilter() [2/2]

template<class T >
void Filters::designInterpolatingFilter ( valarray< T > &  b,
const double  alpha 
)

◆ designInterpolatingFilter< complex< double > >()

template void Filters::designInterpolatingFilter< complex< double > > ( valarray< complex< double > > &  b,
double  alpha 
)

◆ designInterpolatingFilter< complex< float > >()

template void Filters::designInterpolatingFilter< complex< float > > ( valarray< complex< float > > &  b,
double  alpha 
)

◆ designInterpolatingFilter< double >()

template void Filters::designInterpolatingFilter< double > ( valarray< double > &  b,
double  alpha 
)

◆ designInterpolatingFilter< float >()

template void Filters::designInterpolatingFilter< float > ( valarray< float > &  b,
double  alpha 
)

◆ gcd()

int Filters::gcd ( int  m,
int  n 
)

Calculate the greatest common divisor of m and n using Euclid's method.

◆ imag() [1/6]

template std::valarray< double > Filters::imag ( const std::valarray< double > &  Data)

◆ imag() [2/6]

template std::valarray< float > Filters::imag ( const std::valarray< float > &  Data)

◆ imag() [3/6]

template std::valarray< double > Filters::imag ( const std::valarray< std::complex< double > > &  Data)

◆ imag() [4/6]

template std::valarray< float > Filters::imag ( const std::valarray< std::complex< float > > &  Data)

◆ imag() [5/6]

template<class Type >
std::valarray< Type > Filters::imag ( const std::valarray< std::complex< Type > > &  Data)

retrieve the imaginary component of a valarray

Parameters
[in]DataData set from which to extract the imaginary compoenent.
Returns
imaginary component of Data

◆ imag() [6/6]

template<class Type >
std::valarray< Type > Filters::imag ( const std::valarray< Type > &  Data)

retrieve the imaginary component of a valarray

Parameters
[in]DataData set from which to extract the imaginary compoenent.
Returns
imaginary component of Data

◆ real() [1/6]

template std::valarray< double > Filters::real ( const std::valarray< double > &  Data)

◆ real() [2/6]

template std::valarray< float > Filters::real ( const std::valarray< float > &  Data)

◆ real() [3/6]

template std::valarray< double > Filters::real ( const std::valarray< std::complex< double > > &  Data)

◆ real() [4/6]

template std::valarray< float > Filters::real ( const std::valarray< std::complex< float > > &  Data)

◆ real() [5/6]

template<class Type >
std::valarray< Type > Filters::real ( const std::valarray< std::complex< Type > > &  Data)

retrieve the real component of a valarray

Parameters
[in]DataData set from which to extract the real compoenent.
Returns
real component of Data

◆ real() [6/6]

template<class Type >
std::valarray< Type > Filters::real ( const std::valarray< Type > &  Data)

retrieve the real component of a valarray

Parameters
[in]DataData set from which to extract the real compoenent.
Returns
real component of Data

◆ Sinc()

double Filters::Sinc ( const double &  x)
inline

Sinc(x) returns sin(pi*x)/(pi*x)

◆ valarray_copy() [1/2]

template<class OutType , class InType >
void Filters::valarray_copy ( std::valarray< OutType > &  out,
const std::valarray< InType > &  in 
)
inline

copy from an arbitrary valarray to an arbitrary valarray

Parameters
[out]outtarget
[in]insource

◆ valarray_copy() [2/2]

template<>
void Filters::valarray_copy ( std::valarray< std::complex< float > > &  out,
const std::valarray< std::complex< double > > &  in 
)
inline

Specialisation to deal with complex<double> to complex<float>

◆ valarray_copy_slice()

template<class Type >
const std::valarray< Type > & Filters::valarray_copy_slice ( const std::slice &  Slice,
const std::valarray< Type > &  In,
std::valarray< Type > &  Out 
)
inline

Variable Documentation

◆ KaiserWindowDefaultBeta

const double Filters::KaiserWindowDefaultBeta = 0.0L
extern

◆ MaximumWindowLength

const size_t Filters::MaximumWindowLength = 8388608
extern