An intelligent particle filter for state estimation and fault detection