C++ Native Functions: com.teracloud.streams.timeseries.analysis

This page documents native functions that can be invoked from SPL, including the SPL interfaces that can be used to invoke each of the native functions.

Functions

public list<float64> convolve(list<float64> firstSignal,list<float64> secondSignal)

The convolve function generates the convolution of two time series input signals.

A convolution is an integral that expresses the amount of overlap of one function as it is shifted over another function. Convolution involves multiplying one signal by a delayed or shifted version of another signal, integrating or averaging the product, and repeating the process for different delays.

Parameters

  • firstSignal: The timeseries representation of the first signal to be convolved.
  • secondSignal: The timeseries representation of the second signal to be convolved.

Returns

The convolve function returns the time series representation of the convolution of two input signals.

public list<float64> crosscorrelate(list<float64> firstSignal,list<float64> secondSignal)

The crosscorrelate function generates the crosscorrelation of two time series input signals.

The crosscorrelate function implements the raw, unbiased, and unnormalized crosscorrelation. In signal processing, crosscorrelation is a measure of similarity of two time series as a function of a time lag that is applied to one of them. The crosscorrelation is also known as a sliding dot product or sliding inner-product, which is defined as follows:

(f*g)[n]=∑ f*[m] g[n+m]

In this formula, f and g are two input time series. This formula is commonly used for searching a long signal for a shorter, known feature. It also has applications in pattern recognition, single particle analysis, electron tomographic averaging, cryptanalysis, and neurophysiology.

If two input time series are similar, then the output contains a large positive value, which indicates a positive correlation.

Parameters

  • firstSignal: The timeseries representation of the first signal to be cross correlated.
  • secondSignal: The timeseries representation of the second signal to be cross correlated.

Returns

The crosscorrelate function returns the time series representation of the correlation of two input signals.

public list<float64> laggedConvolve(list<float64> firstSignal, list<float64> secondSignal, enum {STANDARD, FFT} algorithmType)

The laggedConvolve function generates the convolution of two time series input signals.

A convolution is an integral that expresses the amount of overlap of one function as it is shifted over another function. Convolution involves multiplying one signal by a delayed or shifted version of another signal, integrating or averaging the product, and repeating the process for different delays.

Parameters

  • firstSignal: The timeseries representation of the first signal to be convolved.
  • secondSignal: The timeseries representation of the second signal to be convolved.
  • algorithmType : The algorithm to use when convolving the signals

Returns

The convolve function returns the time series representation of the convolution of two input signals.

public list<float64> laggedCrosscorrelate(list<float64> firstSignal, list<float64> secondSignal, int32 lag, enum {STANDARD, FFT} algorithmType)

The laggedCrosscorrelate function generates the lagged crosscorrelation of two time series input signals.

The laggedCrosscorrelate function implements the raw, unbiased, and unnormalized crosscorrelation. In signal processing, crosscorrelation is a measure of similarity of two time series as a function of a time lag that is applied to one of them. The crosscorrelation is also known as a sliding dot product or sliding inner-product, which is defined as follows:

(f*g)[n]=∑ f*[m] g[n+m]

In this formula, f and g are two input time series. This formula is commonly used for searching a long signal for a shorter, known feature. It also has applications in pattern recognition, single particle analysis, electron tomographic averaging, cryptanalysis, and neurophysiology.

If two input time series are similar, then the output contains a large positive value, which indicates a positive correlation.

Parameters

  • firstSignal: The timeseries representation of the first signal to be cross correlated.
  • secondSignal: The timeseries representation of the second signal to be cross correlated.
  • algorithmType : The algorithm to use when cross correlating the signals

Returns

The crosscorrelate function returns the time series representation of the correlation of two input signals.

<any T> public float64 rms(list<T> data)

The rms function generates the root mean square value from a list of numerical values.

Parameters

  • data: Specifies the input data, which is represented as a list of numerical values.

Returns

The root mean square value of the input data.