Mercurial > hg > may
diff yetilab/signal/autocorrelation.yeti @ 147:e16e42c55a20
Add autocorrelation
author | Chris Cannam |
---|---|
date | Sat, 27 Apr 2013 23:56:15 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/yetilab/signal/autocorrelation.yeti Sat Apr 27 23:56:15 2013 +0100 @@ -0,0 +1,26 @@ + +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, +} +