Kalman filtering techniques for system inversion and data assimilation