comparison src/BayesianArrayStructure.h @ 9:75dcd1308658

looked at tempo process, likelihood function changed and improved. Now drawing using constrained vector function. Good working version.
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Tue, 23 Aug 2011 11:20:44 +0100
parents 4a8e6a6cd224
children 3f103cf78148
comparison
equal deleted inserted replaced
8:d9a3613e7264 9:75dcd1308658
65 void addTriangularNoiseToSpeedPosterior(const double& std_dev); 65 void addTriangularNoiseToSpeedPosterior(const double& std_dev);
66 66
67 double bestEstimate; 67 double bestEstimate;
68 void updateBestEstimate(); 68 void updateBestEstimate();
69 double lastBestEstimateUpdateTime; 69 double lastBestEstimateUpdateTime;
70 double speedEstimate;
70 71
71 double speedDecayWidth, speedDecayAmount; 72 double speedDecayWidth, speedDecayAmount;
72 void decaySpeedDistribution(double timeDifference); 73 void decaySpeedDistribution(double timeDifference);
73 74
74 void resetSpeedSize(int length); 75 void resetSpeedSize(int length);
75 void setRelativeSpeedScalar(double f); 76 void setRelativeSpeedScalar(double f);
76 void setSpeedPrior(double f); 77 void setSpeedPrior(double f);
77 void calculateNewPriorOffset(const double& timeDifference); 78 void calculateNewPriorOffset(const double& timeDifference);
78 void setNewDistributionOffsets(const double& newOffset); 79 void setNewDistributionOffsets(const double& newOffset);
79 80
80 void updateTempoDistribution(const double& speedRatio, const double& matchFactor); 81 void setLikelihoodToConstant();
82 void updateTempoLikelihood(const double& speedRatio, const double& matchFactor);
83 void updateTempoDistribution();
81 84
82 void setFlatTempoLikelihood();
83 void calculateTempoUpdate(); 85 void calculateTempoUpdate();
84 void updateTempoLikelihood(const double& speedRatio, const double& matchFactor);
85 86
86 void crossUpdateArrays(DynamicVector& position, DynamicVector& speed, double timeDifference); 87 void crossUpdateArrays(DynamicVector& position, DynamicVector& speed, double timeDifference);
87 void complexCrossUpdate(const double& timeDifferenceInPositionVectorUnits); 88 void complexCrossUpdate(const double& timeDifferenceInPositionVectorUnits);
88 void translateByMaximumSpeed(const double& timeDifferenceInPositionVectorUnits); 89 void translateByMaximumSpeed(const double& timeDifferenceInPositionVectorUnits);
89 double crossUpdateTimeThreshold;//time after which we do complex update of multiple speeds 90 double crossUpdateTimeThreshold;//time after which we do complex update of multiple speeds