Table of Contents

Namespace TimeSeriesAnalysis

Classes

Array2D

Non-generic 2D-array methods

Array2DExtensionMethods

Extension methods based on Array2D

Array2D<T>

Generic array operations that can be done on arrays of any type, for operators specific to numerical arrays(matrices) see Matrix.cs

BandPass

Numerical band-pass filter based on LowPass

This filter is in a recursive(feedback) IIR form that is simple to implement, has few coefficients, requires litte memory and computation. This filter is causal, meaning that for calculating the filtered value at time k it does not use future values such as k+1, but this is at the expense of introducing a time-shift/phase-shift.

LowPass HighPass MovingAvg
CorrelationCalculator

Class that performs correlations between vectors

CorrelationObject

Holds the result of a correlation calculation between two vectors

FitScoreCalculator

Calculates a percentage score of maximum 100% that indicates the match between measurement and simulation for a plant that may consist of several unit models and several siginals to be matched, and may include closed-loops.

HighPass

A high-pass recursive time-series filter based on LowPass.

This filter is in a recursive(feedback) IIR form that is simple to implement, has few coefficients, requires litte memory and computation. This filter is causal, meaning that for calculating the filtered value at time k it does not use future values such as k+1, but this is at the expense of introducing a time-shift/phase-shift.

LowPass BandPass MovingAvg
Index

Class with utility-methods for working with indices (vectors of integers)

There are some special features of indices: they should never be negative, and indices vectors are often monotonically increasing.

LowPass

Low-pass filtering of time-series.

This filter is in a recursive(feedback) IIR form that is simple to implement, has few coefficients, requires little memory and computation. This filter is causal, meaning that for calculating the filtered value at time k it does not use future values such as k+1, but this is at the expense of introducing a time-shift/phase-shift.

HighPass BandPass MovingAvg
Matrix

Operations for treating 2D-arrays as mathematical matrices

MovingAvg

Moving-average low-pass filter

This filter is causal, meaning that for calculating the filtered value at time k it does not use future values such as k+1, this is at the expense of introducing a time-shift/phase-shift.

This is a finite-impulse-response type filter.

An alterative to this filter is LowPass, which is infinite-impulse-response, and also requires less working memory(this filter needs to hold a buffer equal to bufferSize, but LowPass only needs to keep its last value in memory). LowPass will have less phase-shift/time-shift, because it places most weight on the last datapoint, whereas this filter will weight all data points in its buffer equally and thus responds sluggish.

The advantage of this filter is that it allows you to control precisely how many past values are weighted.

LowPass HighPass BandPass
RecursiveAverage

Recursive average

RegressionResults

Class that holds the results of a run of Vec.Regress.

SecondOrder

second-order filter

Shared

Globals

Should only be used for logging, setting/getting configurations.

SignalPeriodEstimator

Finds an estimate of the period of a signal.

TimeSeries

Treating time series as tuples of corresponding dates/values

TimeSeriesDataSet

A class that holds time-series data for any number of tags, and with built in support for serializing/deserializing to a csv-file.

Time is either treated by giving a timeBase in seconds and a starting time, or by specifying a vector of timestamps.

Vec

Utility functions and operations for treating arrays as mathematical vectors.

This class considers doubles, methods that require comparisons cannot be easily ported to generic "Vec"/>

VecExtensionMethods

Utility functions and operations for treating arrays as mathetmatical vectors

Vec<T>

Class for generic methods on any type T that treat arrays as vectors (sorting,slicing,concatenating).

For mathematical methods on vectors of doubles and integers, look into non-generic sister class "Vec".

Enums

RegressionWarnings

Warnings related to regression

VectorFindValueType

Input to Vec.FindValues which specifies the criteria of the search

VectorSortType

Input to Vec.Sort that specifies how values are to be sorted