emd-0.1.1.0: Empirical Mode Decomposition (Hilbert-Huang Transform)

Copyright(c) Justin Le 2018
LicenseBSD3
Maintainerjustin@jle.im
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Numeric.EMD.Unsized

Description

Interface of Numeric.EMD re-exported in a non-typesafe "unsized" form. Can be more convenient in certain situations, but Numeric.EMD is recommended and preferred.

Synopsis

Documentation

emd :: (Vector v a, Fractional a, Ord a) => EMDOpts a -> v a -> Maybe (EMD v a) Source #

EMD decomposition (Hilbert-Huang Transform) of a given time series with a given sifting stop condition.

Returns Nothing if given an empty vector.

See emd for a type-safe version with guaruntees on the output vector sizes.

emdTrace :: (Vector v a, Fractional a, Ord a, MonadIO m) => EMDOpts a -> v a -> m (Maybe (EMD v a)) Source #

emd, but tracing results to stdout as IMFs are found. Useful for debugging to see how long each step is taking.

Returns Nothing if given an empty vector.

emd' :: (Vector v a, Ord a, Fractional a, Applicative m) => (SiftResult v a -> m r) -> EMDOpts a -> v a -> m (Maybe (EMD v a)) Source #

emd with a callback for each found IMF.

Returns Nothing if given an empty vector.

data EMD v a Source #

An EMD v a is a Hilbert-Huang transform of a time series with items of type a stored in a vector v.

Constructors

EMD 

Fields

Instances
Show (v a) => Show (EMD v a) Source # 
Instance details

Defined in Numeric.EMD.Unsized

Methods

showsPrec :: Int -> EMD v a -> ShowS #

show :: EMD v a -> String #

showList :: [EMD v a] -> ShowS #

data EMDOpts a Source #

Options for EMD composition.

Constructors

EO 

Fields

Instances
Eq a => Eq (EMDOpts a) Source # 
Instance details

Defined in Numeric.EMD

Methods

(==) :: EMDOpts a -> EMDOpts a -> Bool #

(/=) :: EMDOpts a -> EMDOpts a -> Bool #

Ord a => Ord (EMDOpts a) Source # 
Instance details

Defined in Numeric.EMD

Methods

compare :: EMDOpts a -> EMDOpts a -> Ordering #

(<) :: EMDOpts a -> EMDOpts a -> Bool #

(<=) :: EMDOpts a -> EMDOpts a -> Bool #

(>) :: EMDOpts a -> EMDOpts a -> Bool #

(>=) :: EMDOpts a -> EMDOpts a -> Bool #

max :: EMDOpts a -> EMDOpts a -> EMDOpts a #

min :: EMDOpts a -> EMDOpts a -> EMDOpts a #

Show a => Show (EMDOpts a) Source # 
Instance details

Defined in Numeric.EMD

Methods

showsPrec :: Int -> EMDOpts a -> ShowS #

show :: EMDOpts a -> String #

showList :: [EMDOpts a] -> ShowS #

data SiftCondition a Source #

Stop conditions for sifting process

Constructors

SCStdDev a

Stop using standard SD method

SCTimes Int

Stop after a fixed number of iterations

SCOr (SiftCondition a) (SiftCondition a)

one or the other

SCAnd (SiftCondition a) (SiftCondition a)

both conditions met

Instances
Eq a => Eq (SiftCondition a) Source # 
Instance details

Defined in Numeric.EMD

Ord a => Ord (SiftCondition a) Source # 
Instance details

Defined in Numeric.EMD

Show a => Show (SiftCondition a) Source # 
Instance details

Defined in Numeric.EMD

sift :: (Vector v a, Fractional a, Ord a) => EMDOpts a -> v a -> Maybe (SiftResult v a) Source #

Iterated sifting process, used to produce either an IMF or a residual.

Returns Nothing if given an empty vector.

data SiftResult v a Source #

The result of a sifting operation. Each sift either yields a residual, or a new IMF.

Constructors

SRResidual !(v a) 
SRIMF !(v a) !Int

number of iterations