Leader-following consensus for discrete-time descriptor multi-agent systems with observer-based protocols