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) |
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) |
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) |
Covariance matrix calculation.
Calculates the covariance matrix of the observations in the matrix . Each row is an observation and each column represents a variable.
The covariance is normalized with the number of observations . The mean value is removed before calculation.
Set is_zero_mean if X already has zero mean.
References itpp::mean().
Power spectrum calculation of a filter.
Calculates the power spectrum of a filter with transfer function a(z)/b(z)
References itpp::abs(), itpp::fft(), itpp::sqr(), and itpp::to_cvec().
Power spectrum calculation of a filter.
Calculates the power spectrum of a filter with transfer function a(z)
References itpp::abs(), itpp::fft(), itpp::sqr(), and itpp::to_cvec().
Power spectrum calculation.
Calculates the power spectrum using using the Welch method and the supplied window w.
References itpp::abs(), itpp::energy(), itpp::fft(), it_assert_debug, itpp::levels2bits(), itpp::pow2i(), itpp::sqr(), itpp::to_cvec(), and itpp::zero_pad().
Referenced by itpp::Punctured_Convolutional_Code::calculate_spectrum(), itpp::Convolutional_Code::calculate_spectrum(), itpp::Punctured_Convolutional_Code::fast(), and itpp::Convolutional_Code::fast().
Power spectrum calculation.
Calculates the power spectrum using the Welch method and a Hanning window.
References itpp::abs(), itpp::fft(), itpp::hanning(), it_assert_debug, itpp::levels2bits(), itpp::pow2i(), itpp::sqr(), itpp::to_cvec(), and itpp::zero_pad().
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)
References itpp::abs(), itpp::ceil_i(), itpp::conj(), itpp::fft(), itpp::ifft(), it_warning, itpp::linspace(), itpp::log2(), itpp::max(), itpp::pow2i(), itpp::sqrt(), itpp::sum(), itpp::to_cvec(), and itpp::zero_pad().
Referenced by itpp::xcorr().
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:
=>
No scaling of the auto-correlation vector =>
Scales the auto-correlation vector by 1/M
=>
Scales the auto-correlation vector by 1/
(M-abs(lag)) =>
Normalises the auto-correlation so that acf(x)=1
for zero lag.max_lag
<=
M-1
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. |
References itpp::xcorr_old().
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:
=>
No scaling of the cross-correlation vector =>
Scales the cross-correlation vector by 1/M
=>
Scales the cross-correlation vector by 1/
(M-abs(lag)) =>
Normalises the cross-correlation to 1 for zero lag.max_lag
<=
M-1
If x
and y
are of different length, the shortest one is zero-padded
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 |
Referenced by itpp::xcorr_old().
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:
=>
No scaling of the cross-correlation vector =>
Scales the cross-correlation vector by 1/M
=>
Scales the cross-correlation vector by 1/
(M-abs(lag)) =>
Normalises the cross-correlation to 1 for zero lag.max_lag
<=
M-1
If x
and y
are of different length, the shortest one is zero-padded
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 |
References itpp::energy(), itpp::index_zero_pad(), it_assert, it_error, itpp::max(), and itpp::sqrt().