I'm wanting to calculate exponential moving averages of a variable,
distance. Is the logic (and math) correct in the below code?
lastTime are millisecond-precise timestamps in seconds – the former is the current time, the latter is the time of the last calculations.
lastA etc are the exponential moving averages from the last calculations.
a etc will be left with the calculated exponential moving averages.
var distance = ...; var a = Math.pow(1.16, -(time-lastTime)), b = Math.pow(1.19, -(time-lastTime)), c = Math.pow(1.22, -(time-lastTime)), d = Math.pow(1.26, -(time-lastTime)), e = Math.pow(1.30, -(time-lastTime)), f = Math.pow(1.35, -(time-lastTime)), g = Math.pow(1.40, -(time-lastTime)); a = a*lastA + (1-a)*distance; b = b*lastB + (1-b)*distance; c = c*lastC + (1-c)*distance; d = d*lastD + (1-d)*distance; e = e*lastE + (1-e)*distance; f = f*lastF + (1-f)*distance; g = g*lastG + (1-g)*distance;