Decentralized state estimation for heterogeneous multi-agent systems