%%% %%% Basic code for UIO and KF designs %%% %%% %%% KF for output fault isolation %%% [Pkf,Ekf,Kkft] = dare(A',C',B*Q*B',R); % KF gain Kkf = Kkft'; Akf = A - Kkf * C; Bkf = [B Kkf]; Ckf = C; Dkf = zeros(r,c); %%% %%% UIO for input fault isolation %%% E = ...; H = E*pinv(C*E); T = eye(size(H*C)) - H*C; K1 = place( (A-H*C*A)' , C', v )'; F = A-H*C*A - K1*C; K2 = F*H; K = K1 + K2; Auio = F; Buio = [T*B K]; Cuio = eye(n); Duio = [zeros(r,c) H]; return