diff bayesianArraySrc/DynamicVector.cpp @ 20:4f6006cac9de

added evaluation of recorded tempo, holding of this data, drawing of recorded and playing tempo estimates
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Sun, 12 Feb 2012 00:48:07 +0000
parents 780def3a1f36
children eb43b2a007ea
line wrap: on
line diff
--- a/bayesianArraySrc/DynamicVector.cpp	Thu Feb 09 18:09:34 2012 +0000
+++ b/bayesianArraySrc/DynamicVector.cpp	Sun Feb 12 00:48:07 2012 +0000
@@ -175,14 +175,15 @@
 
 
 void DynamicVector::addGaussianShapeFromRealTime(const double& actualTime, const double& StdDev, double factor){
-	
+	//could be further optimised
 	double mean = getRealTermsAsIndex(actualTime);
-//	printf("Gaussian realtime %f at index %f\n", actualTime, mean);
+	double standardDeviation = StdDev / scalar;//in vector indices from real time (ms)
+	//printf("Gaussian realtime %f at index %f std dev %f vec indices %f\n", actualTime, mean, StdDev, standardDeviation );
 	int i;
-	double std_dev_factor = (2*StdDev*StdDev);
-	factor *= (1/(StdDev*sqrt(2*PI)));
-	int maxVal = min((int) array.size(), (int)(mean + 4.8*StdDev));
-	int minVal = max(0, (int)(mean - 4.8*StdDev));
+	double std_dev_factor = (2*standardDeviation*standardDeviation);
+	factor *= (1/(standardDeviation*sqrt(2*PI)));
+	int maxVal = min((int) array.size(), (int)(mean + 4.8*standardDeviation));
+	int minVal = max(0, (int)(mean - 4.8*standardDeviation));
 	
 	for (i=minVal;i < maxVal;i++){
 		array[i] += factor*exp(-1*(i-mean)*(i-mean)/(std_dev_factor));