Input and State Estimation for Discrete-Time Linear Systems with Application to Target Tracking and Fault Detection