name: MutualInformation : public AlgorithmBase

synopsis:

g++ [flags ...] file ... -l /isip/tools/lib/$ISIP_BINARY/lib_algo.a

#include <MutualInformation.h>

MutualInformation(ALGORITHM algorithm = DEF_ALGORITHM, IMPLEMENTATION implementation = DEF_IMPLEMENTATION, NORMALIZATION normalization = DEF_NORMALIZATION, long order = DEF_ORDER, long num_bins = DEF_NUM_BINS);
boolean eq(const MutualInformation& arg);
boolean assign(const MutualInformation& arg);
boolean setAlgorithm(ALGORITHM algorithm);
boolean setNormalization(NORMALIZATION normalization);
boolean setOrder(long order);
boolean setNumBins(long num_bins);
boolean compute(VectorFloat& output, const VectorFloat& input, AlgorithmData::COEF_TYPE input_coef_type = DEF_COEF_TYPE);
boolean compute(VectorFloat& output, const VectorFloat& input1, const VectorFloat& input2, AlgorithmData::COEF_TYPE input_coef_type = DEF_COEF_TYPE);
quick start:

VectorFloat input(L"1.0, 2.0, 3.0, 4.0, 5.0, 9.0, 1.23, 2.3");
VectorFloat output;
MutualInformation mi;
mi.compute(output, input);
description:



The Mutual Information measures the dynamical coupling or information transmission between two time series. Mutual Information may be considered a nonlinear version of correlation function. MI quantifies the information gained about one system from the measurement of another. The MutualInformation class implements autocorrelation and cross-correlation. A good overview of mutual informations can be found in: The design parameters relevant to this class are the analysis order, which specifies the maximum time delay. Starting from zero to order, the mutual information is measured. It also reads in the number of bins for constructing the histogram. Histogram technique is used for finding the probability. For the case of auto mutual information, the time series and its delayed version are taken. For the cross mutual information we find the plot of one time series versus the delayed version of the other.

This class supports two computational modes: FRAME_INTERNAL and CROSS_FRAME. In FRAME_INTERNAL mode, it computes the mutual information of the data within current frame. In CROSS_FRAME mode, data outside the frame is used.

dependencies:

public constants:

error codes:

protected data:

required public methods:

class-specific public methods:

private methods:

examples: