Marsyas  0.5.0-beta1
Public Member Functions
RunningAutocorrelation Class Reference

Running calculation (across slices) of the autocorrelation values. More...

#include <RunningAutocorrelation.h>

Inherits MarSystem.

Public Member Functions

MarSystemclone () const
 Implementation of the MarSystem::clone() method.
void myProcess (realvec &in, realvec &out)
 Implementation of the MarSystem::myProcess method.
 RunningAutocorrelation (std::string name)
 RunningAutocorrelation constructor.
 RunningAutocorrelation (const RunningAutocorrelation &a)
 RunningAutocorrelation copy constructor.
 ~RunningAutocorrelation ()
 RunningAutocorrelation destructor.

Detailed Description

Running calculation (across slices) of the autocorrelation values.

This MarSystem calculates the autocorrelation function of the input signal defined by successive input slices. Unlike the AutoCorrelation MarSystem, the calculations are done across slice boundaries in a seamless fashion (RunningAutocorrelation keeps an internal buffer of the appropriate number of samples from previous slices to implement this feature). Calculations are done in time domain for time lags from 0 to a user defined maximum lag (in number of samples). Note that this assumes that the input slices are non overlapping slices.

The autocorrelation values are laid out in the output slice along the time/samples dimension from lag zero to the maximum lag. Multiple input observation channels are supported. For example, if there are two input channels and the maximum lag is 4, the output slice will have two rows and five (not four) columns:

\[\begin{array}{ccccc} R_{xx}[0] & R_{xx}[1] & R_{xx}[2] & R_{xx}[3] & R_{xx}[4] \\ R_{yy}[0] & R_{yy}[1] & R_{yy}[2] & R_{yy}[3] & R_{yy}[4] \\ \end{array}\]

with $R_{xx}[n]$ the autocorrelation of the first channel for lag $n$ and $R_{yy}[n]$ the autocorrelation of the second channel.

Todo:
Support overlap between slices (e.g. provide a control for skipping a certain amount of samples).

Controls:

Definition at line 72 of file RunningAutocorrelation.h.


Constructor & Destructor Documentation

RunningAutocorrelation ( std::string  name)

RunningAutocorrelation constructor.

Add any specific controls needed by this MarSystem.

Definition at line 28 of file RunningAutocorrelation.cpp.

RunningAutocorrelation copy constructor.

All member MarControlPtr have to be explicitly reassigned in the copy constructor.

Definition at line 35 of file RunningAutocorrelation.cpp.

RunningAutocorrelation destructor.

Definition at line 47 of file RunningAutocorrelation.cpp.


Member Function Documentation

MarSystem * clone ( ) const [virtual]

Implementation of the MarSystem::clone() method.

Implements MarSystem.

Definition at line 52 of file RunningAutocorrelation.cpp.

void myProcess ( realvec in,
realvec out 
) [virtual]

Implementation of the MarSystem::myProcess method.

Iterate over the observations and samples and do the processing.

Implements MarSystem.

Definition at line 145 of file RunningAutocorrelation.cpp.


The documentation for this class was generated from the following files: