TimeseriesTools

Documentation for TimeseriesTools.

IntervalSets.IntervalMethod
IntervalSets.Interval(x::AbstractTimeSeries)

Returns an interval representing the range of the AbstractTimeSeries x.

Examples

julia> using IntervalSets;
julia> t = 1:100;
julia> x = rand(100);
julia> ts = TimeSeries(t, x);
julia> IntervalSets.Interval(ts) == (1..100)
source
TimeseriesTools.VarType
Var

A DimensionalData.jl dimension representing the variables of a multivariate time series.

source
Base.catMethod
Base.cat(D::DimensionalData.Dimension, args...; kwargs...)

Concatenate the arrays given in args..., and give the resulting extra axis dimensions D.

source
Base.stepMethod
step(x::RegularTimeSeries)

Returns the step size (time increment) of a regularly sampled RegularTimeSeries.

Examples

julia> t = 1:100;
julia> x = rand(100);
julia> rts = TimeSeries(t, x);
julia> step(rts) == 1
source
GeometryBasics.decomposeMethod
decompose(x::Union{<:AbstractTimeSeries, <:AbstractSpectrum})

Convert a time series or spectrum to a tuple of the dimensions and the data (as Arrays).

source
TimeseriesTools.TimeSeriesMethod
TimeSeries(t, v, x)

Constructs a multivariate time series with time t, variable v, and data x.

Examples

julia> t = 1:100;
julia> v = [:a, :b, :c];
julia> x = rand(100, 3);
julia> mts = TimeSeries(t, v, x)
julia> mts isa Union{MultivariateTimeSeries, RegularTimeSeries}
source
TimeseriesTools.TimeSeriesMethod
TimeSeries(t, x, timeunit::Unitful.Units)

Constructs a univariate time series with time t, data x and time units specified by timeunit. Note that you can add units to the elements of a time series x with, for example, x*u"V".

Examples

julia> using Unitful;
julia> t = 1:100;
julia> x = rand(100);
julia> ts = TimeSeries(t, x, u"ms")*u"V";
julia> ts isa Union{UnivariateTimeSeries, RegularTimeSeries, UnitfulTimeSeries}
source
TimeseriesTools.TimeSeriesMethod
TimeSeries(t, x)

Constructs a univariate time series with time t and data x. Alteratively, use TS(t, x)

Examples

julia> using TimeseriesTools, Unitful;
julia> t = 1:100
julia> x = rand(100)
julia> ts = TimeSeries(t, x)
julia> ts isa Union{UnivariateTimeSeries, RegularTimeSeries}
source
TimeseriesTools._energyspectrumFunction
_energyspectrum(x::RegularTimeSeries, f_min=samplingrate(x)/min(length(x)÷4, 1000))

Computes the energy spectrum of a regularly sampled time series x with an optional minimum frequency f_min.

source
TimeseriesTools._energyspectrumMethod
_energyspectrum(x::RegularTimeSeries, f_min=0)

Computes the energy spectrum of a time series using the fast Fourier transform.

If f_min > 0, the energy spectrum is calculated for windows of the time series determined by f_min, the minimum frequency that will be resolved in the spectrum. If f_min > 0, the second dimension of the output will correspond to the windows. For an averaged periodogram, see energyspectrum.

If the input time series is a UnitfulTimeSeries, the frequency will also have units. Moreover if the elements of x are unitful, so are the elements of the spectrum.

Examples

julia> using TimeseriesTools
julia> t = range(0.0, stop=1.0, length=1000);
julia> x = sin.(2 * π * 5 * t);
julia> ts = RegularTimeSeries(t, x);
julia> S = _energyspectrum(ts);
julia> S isa MultivariateSpectrum
source
TimeseriesTools._powerspectrumMethod
_powerspectrum(x::AbstractTimeSeries, f_min=samplingrate(x)/min(length(x)÷4, 1000); kwargs...)

Computes the power spectrum of a time series x in Welch periodogram windows. Note that the _powerspectrum is simply the _energyspectrum divided by the duration of each window. See _energyspectrum.

source
TimeseriesTools.colorednoiseMethod
colorednoise(ts::AbstractRange; α=2.0)

Generate a colored-noise time series with a specified power-law exponent α on the given times ts.

Arguments

  • ts: An AbstractRange representing the time range of the generated noise.
  • α: The power-law exponent of the colored noise, which will have a spectrum given by 1/f^α. Defaults to 2.0.

Returns

  • A TimeSeries containing the generated colored noise.

Example

julia> using TimeseriesTools
julia> pink_noise = colorednoise(1:0.01:10; α=1.0)
julia> pink_noise isa RegularTimeSeries
source
TimeseriesTools.convertconstMethod
TimeseriesTools.convertconst(c::Number, u::Unitful.Quantity)

Converts a constant c to have the same units as u.

Examples

julia> using Unitful;
julia> c = 5;
julia> u = 3u"s";
julia> converted_c = TimeseriesTools.convertconst(c, u);
julia> typeof(converted_c) == typeof(u)
source
TimeseriesTools.dimunitMethod
dimunit(x::UnitfulTimeSeries, dim)

Returns the unit associated with the specified dimension dim of a UnitfulTimeSeries.

Examples

julia> using Unitful;
julia> t = 1:100;
julia> x = rand(100);
julia> ts = TimeSeries(t, x, u"ms");
julia> TimeseriesTools.dimunit(ts, Ti) == u"ms"
source
TimeseriesTools.durationMethod
duration(x::AbstractTimeSeries)

Returns the duration of the @ref x.

Examples

julia> t = 1:100;
julia> x = rand(100);
julia> ts = TimeSeries(t, x);
julia> TimeseriesTools.duration(ts) == 99
source
TimeseriesTools.energyspectrumMethod
energyspectrum(x::RegularTimeSeries, f_min=0; kwargs...)

Computes the average energy spectrum of a regularly sampled time series x. f_min determines the minimum frequency that will be resolved in the spectrum. See _energyspectrum.

source
TimeseriesTools.frequnitMethod
frequnit(x::UnitfulSpectrum)

Returns the frequency units associated with a UnitfulSpectrum.

Examples

julia> using Unitful;
julia> t = 1:100;
julia> x = rand(100);
julia> ts = TimeSeries(t, x, u"ms");
julia> sp = fft(ts);  # assuming fft returns a UnitfulSpectrum
julia> frequnits(sp) == u"Hz"
source
TimeseriesTools.powerspectrumMethod
powerspectrum(x::AbstractTimeSeries, f_minsamplingrate(x)/min(length(x)÷4, 1000); kwargs...)

Computes the average power spectrum of a time series x using the Welch periodogram method.

source
TimeseriesTools.samplingperiodMethod
samplingperiod(x::RegularTimeSeries)

Returns the sampling period (step size) of a regularly sampled RegularTimeSeries.

Examples

julia> t = 1:100;
julia> x = rand(100);
julia> rts = TimeSeries(t, x);
julia> samplingperiod(rts) == 1
source
TimeseriesTools.samplingrateMethod
samplingrate(x::RegularTimeSeries)

Returns the sampling rate (inverse of the step size) of a regularly sampled RegularTimeSeries.

Examples

julia> t = 1:100;
julia> x = rand(100);
julia> rts = TimeSeries(t, x);
julia> samplingrate(rts) == 1
source
TimeseriesTools.timeunitMethod
timeunit(x::UnitfulTimeSeries)

Returns the time units associated with a [UnitfulTimeSeries].

Examples

julia> using Unitful;
julia> t = 1:100;
julia> x = rand(100);
julia> ts = TimeSeries(t, x, u"ms");
julia> timeunit(ts) == u"ms"
source
Unitful.unitMethod
unit(x::AbstractArray)

Returns the units associated with the elements of an UnitfulTimeSeries` or UnitfulSpectrum.

Examples

julia> using Unitful;
julia> t = 1:100;
julia> x = rand(100);
julia> ts = TimeSeries(t, x, u"ms")*u"V";
julia> unit(ts) == u"V"
source