Design of observer-based compensators in the frequency domain: the discrete-time case