IT++ Logo
Miscellaneous SP Functions

Functions

cvec itpp::xcorr (const cvec &x, const cvec &y, const int max_lag=-1, const std::string scaleopt="none")
 Cross Correlation.
 
cvec itpp::xcorr (const cvec &x, const int max_lag=-1, const std::string scaleopt="none")
 Cross Correlation.
 
void itpp::xcorr (const cvec &x, const cvec &y, cvec &out, const int max_lag=-1, const std::string scaleopt="none", bool autoflag=true)
 Cross Correlation.
 
mat itpp::cov (const mat &X, bool is_zero_mean=false)
 Covariance matrix calculation.
 
vec itpp::spectrum (const vec &v, int nfft=256, int noverlap=0)
 Power spectrum calculation.
 
vec itpp::spectrum (const vec &v, const vec &w, int noverlap=0)
 Power spectrum calculation.
 
vec itpp::filter_spectrum (const vec &a, int nfft=256)
 Power spectrum calculation of a filter.
 
vec itpp::filter_spectrum (const vec &a, const vec &b, int nfft=256)
 Power spectrum calculation of a filter.
 
void itpp::xcorr_old (const vec &x, const vec &y, vec &out, const int max_lag=-1, const std::string scaleopt="none")
 Cross-correlation calculation.
 
void itpp::xcorr (const vec &x, const vec &y, vec &out, const int max_lag, const std::string scaleopt)
 Cross-correlation calculation.
 
vec itpp::xcorr_old (const vec &x, const vec &y, const int max_lag=-1, const std::string scaleopt="none")
 Cross-correlation calculation.
 
vec itpp::xcorr (const vec &x, const vec &y, const int max_lag, const std::string scaleopt)
 Cross-correlation calculation.
 
vec itpp::xcorr_old (const vec &x, const int max_lag=-1, const std::string scaleopt="none")
 Auto-correlation calculation.
 
vec itpp::xcorr (const vec &x, const int max_lag, const std::string scaleopt)
 Auto-correlation calculation.
 

Detailed Description

Function Documentation

◆ xcorr_old() [1/3]

ITPP_EXPORT void itpp::xcorr_old ( const vec & x,
const vec & y,
vec & out,
const int max_lag = -1,
const std::string scaleopt = "none" )

Cross-correlation calculation.

z=xcorr(x,y,max_lag), where x and y are length M vectors (M>1), returns the length 2*max_lag+1 cross-correlation sequence z. (lags: -max_lag,...,0,...,max_lag)

For max_lag=-1 the cross-correlation sequence is of length 2*M-1, i.e., the cross-correlation for all possible lags.

Scaling options scaleopt:

  • none => No scaling of the cross-correlation vector
  • biased => Scales the cross-correlation vector by 1/M
  • unbiased => Scales the cross-correlation vector by 1/(M-abs(lag))
  • coeff => Normalises the cross-correlation to 1 for zero lag.
Note
max_lag <= M-1
If x and y are of different length, the shortest one is zero-padded
Parameters
x(Input) Vector of samples
y(Input) Vector of samples
out(Output) The cross correlation between x and y.
max_lag(Input) Maximum lag for which the cross-correlation is calculated. The output vector is of size 2*maxlag+1. Default value: max_lag=-1 calculates the cross-correlations for all possible lags
scaleopt(Input) Indicates how the cross-correlation function should be scaled. Default value: "none" indicates that no scaling is done

Definition at line 92 of file sigfun.cpp.

References itpp::energy(), itpp::index_zero_pad(), it_assert, and it_error.

◆ xcorr() [1/6]

ITPP_EXPORT void itpp::xcorr ( const vec & x,
const vec & y,
vec & out,
const int max_lag,
const std::string scaleopt )

Cross-correlation calculation.

z=xcorr(x,y,max_lag), where x and y are length M vectors (M>1), returns the length 2*max_lag+1 cross-correlation sequence z. (lags: -max_lag,...,0,...,max_lag)

For max_lag=-1 the cross-correlation sequence is of length 2*M-1, i.e., the cross-correlation for all possible lags.

Scaling options scaleopt:

  • none => No scaling of the cross-correlation vector
  • biased => Scales the cross-correlation vector by 1/M
  • unbiased => Scales the cross-correlation vector by 1/(M-abs(lag))
  • coeff => Normalises the cross-correlation to 1 for zero lag.
Note
max_lag <= M-1
If x and y are of different length, the shortest one is zero-padded
Parameters
x(Input) Vector of samples
y(Input) Vector of samples
out(Output) The cross correlation between x and y.
max_lag(Input) Maximum lag for which the cross-correlation is calculated. The output vector is of size 2*maxlag+1. Default value: max_lag=-1 calculates the cross-correlations for all possible lags
scaleopt(Input) Indicates how the cross-correlation function should be scaled. Default value: "none" indicates that no scaling is done

Definition at line 82 of file sigfun.cpp.

References itpp::real(), itpp::to_cvec(), and itpp::xcorr().

◆ xcorr_old() [2/3]

ITPP_EXPORT vec itpp::xcorr_old ( const vec & x,
const vec & y,
const int max_lag = -1,
const std::string scaleopt = "none" )

Cross-correlation calculation.

z=xcorr(x,y,max_lag), where x and y are length M vectors (M>1), returns the length 2*max_lag+1 cross-correlation sequence z. (lags: -max_lag,...,0,...,max_lag)

For max_lag=-1 the cross-correlation sequence is of length 2*M-1, i.e., the cross-correlation for all possible lags.

Scaling options scaleopt:

  • none => No scaling of the cross-correlation vector
  • biased => Scales the cross-correlation vector by 1/M
  • unbiased => Scales the cross-correlation vector by 1/(M-abs(lag))
  • coeff => Normalises the cross-correlation to 1 for zero lag.
Note
max_lag <= M-1
If x and y are of different length, the shortest one is zero-padded
Parameters
x(Input) Vector of samples
y(Input) Vector of samples
max_lag(Input) Maximum lag for which the cross-correlation is calculated. The output vector is of size 2*maxlag+1. Default value: max_lag=-1 calculates the cross-correlations for all possible lags
scaleopt(Input) Indicates how the cross-correlation function should be scaled. Default value: "none" indicates that no scaling is done
Returns
The cross correlation between x and y.

Definition at line 148 of file sigfun.cpp.

References itpp::xcorr_old().

◆ xcorr() [2/6]

ITPP_EXPORT vec itpp::xcorr ( const vec & x,
const vec & y,
const int max_lag,
const std::string scaleopt )

Cross-correlation calculation.

z=xcorr(x,y,max_lag), where x and y are length M vectors (M>1), returns the length 2*max_lag+1 cross-correlation sequence z. (lags: -max_lag,...,0,...,max_lag)

For max_lag=-1 the cross-correlation sequence is of length 2*M-1, i.e., the cross-correlation for all possible lags.

Scaling options scaleopt:

  • none => No scaling of the cross-correlation vector
  • biased => Scales the cross-correlation vector by 1/M
  • unbiased => Scales the cross-correlation vector by 1/(M-abs(lag))
  • coeff => Normalises the cross-correlation to 1 for zero lag.
Note
max_lag <= M-1
If x and y are of different length, the shortest one is zero-padded
Parameters
x(Input) Vector of samples
y(Input) Vector of samples
max_lag(Input) Maximum lag for which the cross-correlation is calculated. The output vector is of size 2*maxlag+1. Default value: max_lag=-1 calculates the cross-correlations for all possible lags
scaleopt(Input) Indicates how the cross-correlation function should be scaled. Default value: "none" indicates that no scaling is done
Returns
The cross correlation between x and y.

Definition at line 66 of file sigfun.cpp.

References itpp::real(), itpp::to_cvec(), and itpp::xcorr().

◆ xcorr() [3/6]

ITPP_EXPORT cvec itpp::xcorr ( const cvec & x,
const cvec & y,
const int max_lag = -1,
const std::string scaleopt = "none" )

Cross Correlation.

r = xcorr(x,y)
vec xcorr(const vec &x, const int max_lag, const std::string scaleopt)
Auto-correlation calculation.
Definition sigfun.cpp:50

returns the cross-correlation vector r.

Definition at line 74 of file sigfun.cpp.

References itpp::xcorr().

◆ xcorr_old() [3/3]

ITPP_EXPORT vec itpp::xcorr_old ( const vec & x,
const int max_lag = -1,
const std::string scaleopt = "none" )

Auto-correlation calculation.

z=xcorr(x,max_lag), where x and is a length M vector (M>1), returns the length 2*max_lag+1 auto-correlation sequence z. (lags: -max_lag,...,0,...,max_lag)

For max_lag=-1 the auto-correlation sequence is of length 2*M-1, i.e., the cross correlation for all possible lags.

Scaling options scaleopt:

  • none => No scaling of the auto-correlation vector
  • biased => Scales the auto-correlation vector by 1/M
  • unbiased => Scales the auto-correlation vector by 1/(M-abs(lag))
  • coeff => Normalises the auto-correlation so that acf(x)=1 for zero lag.
Note
max_lag <= M-1
Parameters
x(Input) Vector of samples
max_lag(Input) Maximum lag for which the auto-correlation is calculated. The output vector is of size 2*maxlag+1. Default value max_lag=-1 calculates the auto-correlations for all possible lags.
scaleopt(Input) Indicates how the auto-correlation function should be scaled. Default value: "none" indicates that no scaling is done.
Returns
The auto-correlation of x.

Definition at line 43 of file sigfun.cpp.

References itpp::xcorr_old().

Referenced by itpp::xcorr_old(), and itpp::xcorr_old().

◆ xcorr() [4/6]

ITPP_EXPORT vec itpp::xcorr ( const vec & x,
const int max_lag,
const std::string scaleopt )

Auto-correlation calculation.

z=xcorr(x,max_lag), where x and is a length M vector (M>1), returns the length 2*max_lag+1 auto-correlation sequence z. (lags: -max_lag,...,0,...,max_lag)

For max_lag=-1 the auto-correlation sequence is of length 2*M-1, i.e., the cross correlation for all possible lags.

Scaling options scaleopt:

  • none => No scaling of the auto-correlation vector
  • biased => Scales the auto-correlation vector by 1/M
  • unbiased => Scales the auto-correlation vector by 1/(M-abs(lag))
  • coeff => Normalises the auto-correlation so that acf(x)=1 for zero lag.
Note
max_lag <= M-1
Parameters
x(Input) Vector of samples
max_lag(Input) Maximum lag for which the auto-correlation is calculated. The output vector is of size 2*maxlag+1. Default value max_lag=-1 calculates the auto-correlations for all possible lags.
scaleopt(Input) Indicates how the auto-correlation function should be scaled. Default value: "none" indicates that no scaling is done.
Returns
The auto-correlation of x.

Definition at line 50 of file sigfun.cpp.

References itpp::real(), itpp::to_cvec(), and itpp::xcorr().

Referenced by itpp::xcorr(), itpp::xcorr(), itpp::xcorr(), itpp::xcorr(), and itpp::xcorr().

◆ xcorr() [5/6]

ITPP_EXPORT cvec itpp::xcorr ( const cvec & x,
const int max_lag = -1,
const std::string scaleopt = "none" )

Cross Correlation.

r = xcorr(x)

returns the auto-correlation vecotr r.

Definition at line 58 of file sigfun.cpp.

References itpp::xcorr().

◆ xcorr() [6/6]

ITPP_EXPORT void itpp::xcorr ( const cvec & x,
const cvec & y,
cvec & out,
const int max_lag = -1,
const std::string scaleopt = "none",
bool autoflag = true )

Cross Correlation.

xcorr(x,y,out)

Computes the cross-correlatin and returns in vector out

Definition at line 156 of file sigfun.cpp.

References itpp::abs(), itpp::ceil_i(), itpp::concat(), itpp::conj(), itpp::elem_mult(), itpp::fft(), itpp::ifft(), it_warning, itpp::linspace(), itpp::log2(), itpp::pow2i(), itpp::sum(), itpp::to_cvec(), and itpp::zero_pad().

◆ cov()

ITPP_EXPORT mat itpp::cov ( const mat & X,
bool is_zero_mean = false )

Covariance matrix calculation.

Calculates the covariance matrix of the observations in the matrix $X$. Each row is an observation and each column represents a variable.

The covariance is normalized with the number of observations $N$. The mean value is removed before calculation.

Set is_zero_mean if X already has zero mean.

Definition at line 226 of file sigfun.cpp.

References itpp::mean().

Referenced by pcamat().

◆ spectrum() [1/2]

◆ spectrum() [2/2]

ITPP_EXPORT vec itpp::spectrum ( const vec & v,
const vec & w,
int noverlap = 0 )

Power spectrum calculation.

Calculates the power spectrum using using the Welch method and the supplied window w.

Definition at line 296 of file sigfun.cpp.

References itpp::abs(), itpp::elem_mult(), itpp::energy(), itpp::fft(), it_assert_debug, itpp::levels2bits(), itpp::pow2i(), itpp::sqr(), itpp::to_cvec(), and itpp::zero_pad().

◆ filter_spectrum() [1/2]

ITPP_EXPORT vec itpp::filter_spectrum ( const vec & a,
int nfft = 256 )

Power spectrum calculation of a filter.

Calculates the power spectrum of a filter with transfer function a(z)

Definition at line 325 of file sigfun.cpp.

References itpp::abs(), itpp::fft(), itpp::sqr(), and itpp::to_cvec().

◆ filter_spectrum() [2/2]

ITPP_EXPORT vec itpp::filter_spectrum ( const vec & a,
const vec & b,
int nfft = 256 )

Power spectrum calculation of a filter.

Calculates the power spectrum of a filter with transfer function a(z)/b(z)

Definition at line 332 of file sigfun.cpp.

References itpp::abs(), itpp::elem_div(), itpp::fft(), itpp::sqr(), and itpp::to_cvec().

Generated on Tue Aug 17 2021 10:59:15 for IT++ by Doxygen 1.12.0