Distributed estimation and fault detection