Optimal recursive filtering using Gaussian mixture model