SigPack - the C++ signal processing library
sp Namespace Reference

Classes

class  Delay
 
class  EKF
 
class  FFTW
 
class  FIR_filt
 
class  gplot
 
class  IIR_filt
 
class  KF
 
class  parser
 
class  PNM
 
class  resampling
 
class  UKF
 

Typedefs

using fcn_t = std::function< double(arma::mat, arma::mat, arma::mat)>
 
using fcn_v = std::vector< fcn_t >
 
using fcn_m = std::vector< fcn_v >
 

Functions

arma_inline double sinc (double x)
 
arma_inline arma::vec sinc (const arma::vec &x)
 
arma_inline double besseli0 (double x)
 
template<typename T >
double angle (const std::complex< T > &x)
 
arma_inline arma::vec angle (const arma::cx_vec &x)
 
arma_inline arma::mat angle (const arma::cx_mat &x)
 
arma_inline arma::vec unwrap (const arma::vec &x)
 
arma_inline arma::vec timevec (const int N, const double Fs)
 
template<typename T >
arma::Col< T > fftshift (const arma::Col< T > &Pxx)
 
template<typename T >
arma::Col< T > ifftshift (const arma::Col< T > &Pxx)
 
template<typename T >
arma::Mat< T > fftshift (const arma::Mat< T > &Pxx)
 
template<typename T >
arma::Mat< T > ifftshift (const arma::Mat< T > &Pxx)
 
arma_inline std::string sp_version (void)
 
arma_inline arma::vec fir1 (const arma::uword M, const double f0)
 
arma_inline arma::vec fir1_hp (const arma::uword M, const double f0)
 
arma_inline arma::vec fir1_bp (const arma::uword M, const double f0, const double f1)
 
arma_inline arma::vec fir1_bs (const arma::uword M, const double f0, const double f1)
 
arma_inline arma::vec fd_filter (const arma::uword M, double fd)
 
arma_inline arma::cx_vec freq (const arma::vec b, const arma::vec a, const arma::uword K=512)
 
arma_inline arma::vec freqz (const arma::vec b, const arma::vec a, const arma::uword K=512)
 
arma_inline arma::vec phasez (const arma::vec b, const arma::vec a, const arma::uword K=512)
 
arma_inline arma::mat eval_fcn (const fcn_v f, const arma::mat &x, const arma::mat &u, const arma::mat &w)
 
arma_inline arma::mat eval_fcn (const fcn_v f, const arma::mat &x, const arma::mat &u)
 
arma_inline arma::mat eval_fcn (const fcn_v f, const arma::mat &x)
 
arma_inline void lti2discr (const arma::mat &F, const arma::mat &W, const arma::mat &Qc, const double dT, arma::mat &A, arma::mat &Q)
 
template<class T1 >
arma::Col< T1 > upsample (const arma::Col< T1 > &x, const int p)
 
template<class T1 >
arma::Col< T1 > downsample (const arma::Col< T1 > &x, const int q)
 
template<class T1 >
arma::cx_vec spectrum (const arma::Col< T1 > &x, const arma::vec &W)
 
template<class T1 >
arma::vec psd (const arma::Col< T1 > &x, const arma::vec &W)
 
template<class T1 >
arma::vec psd (const arma::Col< T1 > &x)
 
template<class T1 >
arma::cx_mat specgram_cx (const arma::Col< T1 > &x, const arma::uword Nfft=512, const arma::uword Noverl=256)
 
template<class T1 >
arma::mat specgram (const arma::Col< T1 > &x, const arma::uword Nfft=512, const arma::uword Noverl=256)
 
template<class T1 >
arma::mat specgram_ph (const arma::Col< T1 > &x, const arma::uword Nfft=512, const arma::uword Noverl=256)
 
template<class T1 >
arma::vec pwelch_ph (const arma::Col< T1 > &x, const arma::uword Nfft=512, const arma::uword Noverl=256)
 
template<class T1 >
arma::vec pwelch (const arma::Col< T1 > &x, const arma::uword Nfft=512, const arma::uword Noverl=256)
 
template<class T1 >
std::complex< double > goertzel (const arma::Col< T1 > &x, const double f)
 
template<class T1 >
arma::cx_vec goertzel (const arma::Col< T1 > &x, const arma::vec f)
 
arma_inline arma::vec cos_win (const arma::uword N, const arma::vec &a)
 
arma_inline arma::vec hamming (const arma::uword N)
 
arma_inline arma::vec hann (const arma::uword N)
 
arma_inline arma::vec blackman (const arma::uword N)
 
arma_inline arma::vec blackmanharris (const arma::uword N)
 
arma_inline arma::vec flattopwin (const arma::uword N)
 
arma_inline arma::vec hanning (const arma::uword N)
 
arma_inline arma::vec kaiser (const arma::uword N, double beta)
 
arma_inline arma::vec triang (const arma::uword N)
 

Variables

const double PI = 3.14159265358979323846
 
const double PI_2 = 6.28318530717958647692
 

Typedef Documentation

◆ fcn_m

using sp::fcn_m = typedef std::vector<fcn_v>

Definition at line 15 of file kalman.h.

◆ fcn_t

using sp::fcn_t = typedef std::function<double(arma::mat, arma::mat, arma::mat)>

Definition at line 13 of file kalman.h.

◆ fcn_v

using sp::fcn_v = typedef std::vector<fcn_t>

Definition at line 14 of file kalman.h.

Function Documentation

◆ eval_fcn() [1/3]

arma_inline arma::mat sp::eval_fcn ( const fcn_v  f,
const arma::mat &  x,
const arma::mat &  u,
const arma::mat &  w 
)

Evaluate function f(x,u,w)

Parameters
fFunction pointer vector
xInput vector
uInput vector
wInput vector
Returns
y Output column vector
Examples:
kalman_UKF.cpp.

Definition at line 25 of file kalman.h.

Referenced by eval_fcn(), main(), sp::EKF::predict(), sp::EKF::rts_smooth(), sp::EKF::update(), and sp::UKF::ut().

◆ eval_fcn() [2/3]

arma_inline arma::mat sp::eval_fcn ( const fcn_v  f,
const arma::mat &  x,
const arma::mat &  u 
)

Evaluate function f(x,u,w=0)

Parameters
fFunction pointer vector
xInput vector
uInput vector
Returns
y Output column vector

Definition at line 41 of file kalman.h.

References eval_fcn().

Here is the call graph for this function:

◆ eval_fcn() [3/3]

arma_inline arma::mat sp::eval_fcn ( const fcn_v  f,
const arma::mat &  x 
)

Evaluate function f(x,u=0,w=0)

Parameters
fFunction pointer vector
xInput vector
Returns
y Output column vector

Definition at line 54 of file kalman.h.

References eval_fcn().

Here is the call graph for this function:

◆ lti2discr()

arma_inline void sp::lti2discr ( const arma::mat &  F,
const arma::mat &  W,
const arma::mat &  Qc,
const double  dT,
arma::mat &  A,
arma::mat &  Q 
)

Discretize to a state transition and state noise cov matrix from an LTI system.

Discretize a continious LTI system using van Loan method. The model is in the form

dx/dt = F x + Ww, w ~ N(0,Qc)

Result of discretization is the model

x[k] = A x[k-1] + q, q ~ N(0,Q)

See http://becs.aalto.fi/en/research/bayes/ekfukf/

Parameters
FLTI system model matrix
WLTI system noise model matrix
QcLTI power spectra density matrix
dTDiscretization delta time
AOutput - discrete system model
QOutput - discrete state noise cov matrix

Definition at line 82 of file kalman.h.