view yetilab/signal/autocorrelation.yeti @ 178:032c4986b6b0

Implement and test matrix concat
author Chris Cannam
date Thu, 02 May 2013 21:58:58 +0100
parents e16e42c55a20
children
line wrap: on
line source

module yetilab.signal.autocorrelation;

acf len series =
   (a = array series;
    map do i:
        sum (map do j:
                 a[j] * a[j-i]
                 done [i..length a - 1])
        done [0..len-1]);

acfNormalised len series =
   (n = length series;
    map2 do v i: v / (n - i) done (acf len series) [0..len-1]);

acfUnityNormalised len series =
   (a = acfNormalised len series;
    max = head (sortBy (>) a);
    map (/ max) a);

{
    acf,
    acfNormalised,
    acfUnityNormalised,
}