A novel method proposed detects and identifies faulty sensors in dynamic systems using a subspace identification model. A consistent estimate of this subspace model was obtained from noisy input and output measurements by using errors-in-variables subspace identification algorithms. A parity vector was generated, which was decoupled from the system state, leading to a model residual for fault detection. An exponentially weighted moving average (EWMA) filter was applied to the residual to reduce false alarms due to noise. To identify faulty sensors, a dynamic structured residual approach with maximized sensitivity is proposed which generates a set of structured residuals, each decoupled from one subset of faults but most sensitive to others. All the structured residuals are also subject to an EWMA filtering to reduce the noise effect. Confidence limits for filtered structured residuals were determined using statistical inferential techniques. Other indices like generalized likelihood ratio and cumulative variance were compared to identify different types of faulty sensors. The fault magnitude was then estimated based on the model and faulty data. Data from a simulated 4 × 4 process and an industrial waste-water reactor were used to test the effectiveness of this method, where four types of sensor faults, including bias, precision degradation, drift, and complete failure, were tested.