Given a histogram, programatically, how do I find the normal distributions that comprise it?

53 Views Asked by At

I will be getting data in at around 100 frames per second, and I need to compute the normal distributions that comprise a set of 48 data points.

The distributions can partially overlap, but will have unique peaks.

I believe the distributions may have uniform variance, but would like to calculate this. The strength and location of the peaks is variable.

The number of normal distributions is arbitrary, I would not mind throwing extra ones away.

I have looked into PCA, and a few other tactics, but none of them seem to tell me how to get there from here.

distribution

1

There are 1 best solutions below

0
On

Method 1:

  1. Optionally apply a median filter to the histogram to reduce the noise.
  2. Then apply a threshold filter to find the location of the peaks. You can (optionally) use a weighted mean to get the locations as accurately as possible.
  3. After that, apply a least square match of a normal distribution with an unknown standard deviation.

Method 2:

Apply a Hough transform with the location of a peak and standard deviation as parameters.