IT++ Logo Newcom Logo

Signal Processing Functions


Functions

void itpp::xcorr_old (const vec &x, const vec &y, vec &out, const int max_lag, const std::string scaleopt)
 Cross-correlation calculation.
void 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, const std::string scaleopt)
 Cross-correlation calculation.
vec xcorr (const vec &x, const vec &y, const int max_lag, const std::string scaleopt)
cvec itpp::xcorr (const cvec &x, const cvec &y, const int max_lag, const std::string scaleopt)
 Cross Correlation.
vec itpp::xcorr_old (const vec &x, const int max_lag, const std::string scaleopt)
 Auto-correlation calculation.
vec xcorr (const vec &x, const int max_lag, const std::string scaleopt)
cvec itpp::xcorr (const cvec &x, const int max_lag, const std::string scaleopt)
 Cross Correlation.
void itpp::xcorr (const cvec &x, const cvec &y, cvec &out, const int max_lag, const std::string scaleopt, bool autoflag)
 Cross Correlation.
mat itpp::cov (const mat &X, bool is_zero_mean)
 Covariance matrix calculation.
vec itpp::spectrum (const vec &v, int nfft, int noverlap)
 Power spectrum calculation.
vec itpp::spectrum (const vec &v, const vec &w, int noverlap)
 Power spectrum calculation.
vec itpp::filter_spectrum (const vec &a, int nfft)
 Power spectrum calculation of a filter.
vec itpp::filter_spectrum (const vec &a, const vec &b, int nfft)
 Power spectrum calculation of a filter.

Function Documentation

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 93 of file sigfun.cpp.

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

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 150 of file sigfun.cpp.

Referenced by itpp::xcorr_old().

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) 
returns the cross-correlation vector r.

Definition at line 75 of file sigfun.cpp.

References itpp::xcorr().

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 45 of file sigfun.cpp.

References itpp::xcorr_old().

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 59 of file sigfun.cpp.

References itpp::xcorr().

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 157 of file sigfun.cpp.

References itpp::abs(), itpp::ceil(), itpp::conj(), itpp::fft(), itpp::ifft(), it_warning, itpp::linspace(), itpp::log2(), itpp::pow2i(), itpp::sqrt(), itpp::sum(), itpp::to_cvec(), and itpp::zero_pad().

Referenced by itpp::xcorr().

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 232 of file sigfun.cpp.

vec itpp::spectrum const vec &  v,
int  nfft = 256,
int  noverlap = 0
 

Power spectrum calculation.

Calculates the power spectrum using the Welch method and a Hanning window.

Definition at line 273 of file sigfun.cpp.

References itpp::abs(), itpp::fft(), itpp::hanning(), it_assert1, 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(), itpp::Convolutional_Code::fast(), and itpp::TDL_Channel::set_LOS().

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 302 of file sigfun.cpp.

References itpp::abs(), itpp::energy(), itpp::fft(), it_assert1, 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().

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 331 of file sigfun.cpp.

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

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 338 of file sigfun.cpp.

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

Referenced by itpp::sd().

SourceForge Logo

Generated on Fri Jan 11 08:51:41 2008 for IT++ by Doxygen 1.3.9.1