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 |
using sp::fcn_t = typedef std::function<double(arma::mat, arma::mat, arma::mat)> |
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)
f | Function pointer vector |
x | Input vector |
u | Input vector |
w | Input vector |
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().
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)
f | Function pointer vector |
x | Input vector |
u | Input vector |
Definition at line 41 of file kalman.h.
References eval_fcn().
arma_inline arma::mat sp::eval_fcn | ( | const fcn_v | f, |
const arma::mat & | x | ||
) |
Evaluate function f(x,u=0,w=0)
f | Function pointer vector |
x | Input vector |
Definition at line 54 of file kalman.h.
References eval_fcn().
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/
F | LTI system model matrix |
W | LTI system noise model matrix |
Qc | LTI power spectra density matrix |
dT | Discretization delta time |
A | Output - discrete system model |
Q | Output - discrete state noise cov matrix |