annotate newOFsrc/bayesianArray.h @ 12:e148d1534733 tip

adding new max player
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Fri, 09 Mar 2012 20:42:34 +0000
parents 23ff520d28ff
children
rev   line source
andrew@2 1 /*
andrew@2 2 * bayesianArray.h
andrew@2 3 * bayesianTest5
andrew@2 4 *
andrew@2 5 * Created by Andrew Robertson on 08/05/2010.
andrew@2 6 * Copyright 2010 __MyCompanyName__. All rights reserved.
andrew@2 7 *
andrew@2 8 */
andrew@2 9
andrew@2 10 #ifndef _BAYESIAN_ARRAY
andrew@2 11 #define _BAYESIAN_ARRAY
andrew@2 12
andrew@6 13 //#define arraySize 240
andrew@2 14
andrew@2 15
andrew@2 16 class bayesianArray{
andrew@2 17
andrew@2 18 public:
andrew@2 19
andrew@2 20 bayesianArray();
andrew@2 21 void initialiseArray();
andrew@2 22
andrew@2 23 void setGaussianLikelihoodForBeats(float mean, float StdDev);
andrew@2 24 void setGaussianLikelihood(float mean, float StdDev);
andrew@2 25 void setGaussianPrior(float mean, float StdDev);
andrew@2 26 void setGaussianPosterior(float mean, float StdDev);
andrew@2 27
andrew@2 28 void calculatePosterior();
andrew@2 29 void renormalisePosterior();
andrew@2 30 void renormalisePrior();
andrew@2 31 void resetMaximumPosterior();//resets the max index
andrew@2 32 void decayPosteriorWithGaussianNoise();
andrew@2 33 void translateDistribution(int translationIndex);
andrew@2 34 void setDecayNoiseGaussian(float mean, float StdDev);
andrew@2 35 double calculateStandardDeviation();
andrew@2 36
andrew@2 37
andrew@2 38 float getMaximum(float *ptr, int length);
andrew@2 39 void renormaliseArray(float *ptr, int length);
andrew@2 40 void resetPrior();
andrew@2 41 void decayPosterior();
andrew@2 42 float* getMaximumEstimate(float *ptr, int length);
andrew@2 43 double getIntegratedEstimateIndex();
andrew@2 44
andrew@6 45 static int const arraySize = 240;
andrew@6 46
andrew@6 47 float prior [arraySize];
andrew@6 48 float posterior [arraySize];
andrew@6 49 float likelihood [arraySize];
andrew@6 50 float tempPosteriorArray[arraySize];
andrew@2 51
andrew@6 52 float decayNoiseArray[arraySize];
andrew@2 53 float decayNoiseStdDev, decayNoiseAmount;
andrew@2 54
andrew@2 55 float likelihoodMean, likelihoodStdDev, likelihoodNoise;
andrew@2 56 float maximumTest, posteriorDecayRate, maximumValue;
andrew@2 57 float eighthNoteProportion, earlySixteenthNoteProportion, lateSixteenthNoteProportion ;
andrew@2 58 float maximumEstimate, maximumIndex, integratedEstimate;
andrew@2 59 double standardDeviation;
andrew@2 60
andrew@2 61 double getKLdivergence();
andrew@3 62 double getEntropyOfPosterior();
andrew@11 63 double getEntropyOfPrior();
andrew@2 64
andrew@2 65 private:
andrew@2 66 };
andrew@2 67
andrew@2 68 #endif
andrew@2 69