Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

kalman

상태 추정을 위한 칼만 필터 설계

    설명

    예제

    [kalmf,L,P] = kalman(sys,Q,R,N)은 플랜트 모델 sys와 잡음 공분산 데이터 Q, R, N을 받아 칼만 필터를 만듭니다. 함수는 아래 다이어그램에 나오는 구성의 칼만 추정기에서 사용할 칼만 필터를 계산합니다.

    Kalman estimator including plant sys and Kalman filter kalmf. The plant has input u, noise input w, and output yt. The Kalman filter takes as inputs w and noisy plant output y = yt + v. The filter outputs are y-hat, the estimated true plant output, and x-hat, the estimated state values.

    모델 sys를 알려진 입력 u 및 백색 공정 잡음 입력 w와 함께 구성하며, 여기서 w는 sys에 대한 마지막 Nw개 입력으로 구성됩니다. "실제" 플랜트 출력 ytsys의 모든 출력으로 구성됩니다. 잡음 공분산 데이터 Q, R, N도 제공해야 합니다. 반환된 칼만 필터 kalmf는 알려진 입력 u와 잡음 측정값 y를 받고 실제 플랜트 출력에 대한 추정값 y^와 플랜트 상태에 대한 추정값 x^를 생산하는 상태공간 모델입니다. 또한 kalman은 칼만 이득 L과 정상 상태 오차 공분산 행렬 P도 반환합니다.

    예제

    [kalmf,L,P] = kalman(sys,Q,R,N,sensors,known)은 다음 조건 중 하나 또는 둘 모두가 존재할 때 칼만 필터를 계산합니다.

    • sys의 출력 중 일부가 측정되지 않은 경우.

    • 외란 입력 w가 sys의 마지막 입력이 아닌 경우.

    인덱스 벡터 sensors는 측정할 sys 출력을 지정합니다. 이러한 출력은 y를 구성합니다. 인덱스 벡터 known은 어떤 입력을 이미 알고 있는지(즉, 결정적인지) 지정합니다. 알려진 입력은 u를 구성합니다. kalman 명령은 sys의 잔여 입력을 받아 이들이 확률적 입력 w가 되도록 합니다.

    [kalmf,L,P,Mx,Z,My] = kalman(___)은 혁신 이득 MxMy, 그리고 이산시간 sys에 대한 정상 상태 오차 공분산 PZ도 반환합니다. 이 구문은 위에 열거된 구문에 나와 있는 입력 인수를 원하는 대로 조합하여 사용할 수 있습니다.

    [kalmf,L,P,Mx,Z,My] = kalman(___,type)은 이산시간 sys에 대한 추정기 유형을 지정합니다.

    • type = 'current'y[n]까지의 모든 사용 가능한 측정값을 사용하여 출력 추정값 y^[n|n]과 상태 추정값 x^[n|n]을 계산합니다.

    • type = 'delayed'y[n1]까지의 측정값만 사용하여 출력 추정값 y^[n|n1]과 상태 추정값 x^[n|n1]을 계산합니다. 지연 추정기는 제어 루프 내부에서 더 쉽게 구현할 수 있습니다.

    type 입력 인수는 위의 모든 입력 인수 조합과 함께 사용할 수 있습니다.

    예제

    모두 축소

    아래 다이어그램과 같이 입력에는 가산성 백색 잡음 w가 있고 출력에는 v가 있는 플랜트를 위한 칼만 필터를 설계합니다.

    플랜트에 다음 상태공간 행렬이 있으며 미지정 샘플 시간(Ts = -1)이 있는 이산시간 플랜트라고 가정하겠습니다.

    A = [1.1269   -0.4940    0.1129 
         1.0000         0         0 
              0    1.0000         0];
    
    B = [-0.3832
          0.5919
          0.5191];
    
    C = [1 0 0];
    
    D = 0;
    
    Plant = ss(A,B,C,D,-1);
    Plant.InputName = 'un';
    Plant.OutputName = 'yt';

    kalman을 사용하려면 잡음 w에 대한 입력이 있는 모델 sys를 제공해야 합니다. 따라서 sysPlant와는 다릅니다. Plant는 입력 un = u + w를 취하기 때문입니다. 잡음 입력을 위한 합산점을 만들어 sys를 생성할 수 있습니다.

    Sum = sumblk('un = u + w');
    sys = connect(Plant,Sum,{'u','w'},'yt');

    sys = Plant*[1 1]을 사용할 수도 있습니다.

    잡음 공분산을 지정합니다. 플랜트에 잡음 입력이 하나 있고 출력이 하나 있으므로, 이러한 값은 스칼라입니다. 실제로 이러한 값은 시스템에서의 잡음원의 속성으로서, 시스템의 측정값이나 다른 지식을 통해 결정됩니다. 이 예제에서 두 잡음원은 모두 단위 공분산을 가지며 서로 상관관계가 없다고 가정합니다(N = 0).

    Q = 1;
    R = 1;
    N = 0;

    필터를 설계합니다.

    [kalmf,L,P] = kalman(sys,Q,R,N);
    size(kalmf)
    State-space model with 4 outputs, 2 inputs, and 3 states.
    

    칼만 필터 kalmf는 입력 2개와 출력 4개를 갖는 상태공간 모델입니다. kalmf는 플랜트 입력 신호 u와 잡음 있는 플랜트 출력 y=yt+v를 입력으로 받습니다. 첫 번째 출력은 추정된 실제 플랜트 출력 yˆ입니다. 남은 출력 3개는 상태 추정값 xˆ입니다. kalmf의 입력과 출력 이름을 검토하면 kalman이 이들의 레이블을 어떻게 지정하는지 알 수 있습니다.

    kalmf.InputName
    ans = 2x1 cell
        {'u' }
        {'yt'}
    
    
    kalmf.OutputName
    ans = 4x1 cell
        {'yt_e'}
        {'x1_e'}
        {'x2_e'}
        {'x3_e'}
    
    

    칼만 이득 L을 살펴봅니다. 3가지 상태가 있는 SISO 플랜트의 경우 L은 3-요소 열 벡터입니다.

    L
    L = 3×1
    
        0.3586
        0.3798
        0.0817
    
    

    kalmf를 사용하여 잡음으로 인한 측정 오차를 줄이는 방법은 칼만 필터링 항목을 참조하십시오.

    입력이 3개이고 그중 하나는 공정 잡음 w를, 다른 두 개는 측정된 출력을 나타내는 플랜트가 있다고 가정하겠습니다. 플랜트에는 상태가 4개 있습니다.

    다음과 같은 상태공간 행렬이 있다고 가정하고, sys를 만듭니다.

    A = [-0.71  0.06 -0.19 -0.17;
          0.06 -0.52 -0.03  0.30;
         -0.19 -0.03 -0.24 -0.02;
         -0.17  0.30 -0.02 -0.41];
    
    B = [ 1.44  2.91   0;
         -1.97  0.83 -0.27;
         -0.20  1.39  1.10;
         -1.2   0    -0.28];
    
    C = [ 0    -0.36 -1.58 0.28;
         -2.05  0     0.51 0.03];
    
    D = zeros(2,3);
    
    sys = ss(A,B,C,D);
    sys.InputName = {'u1','u2','w'};
    sys.OutputName = {'y1','y2'};

    플랜트에 공정 잡음 입력이 하나뿐이므로, 공분산 Q는 스칼라입니다. 이 예제에서는 공정 잡음이 단위 공분산을 갖는다고 가정합니다.

    Q = 1;

    kalmanQ의 차원을 사용하여, 어떤 입력이 알려진 입력이고 어떤 입력이 잡음 입력인지 결정합니다. 스칼라 Q의 경우, 사용자가 별도로 지정하지 않는 한 kalman은 잡음 입력이 하나 있다고 가정하며 마지막 입력을 사용합니다(미측정 출력이 있는 플랜트 항목 참조).

    두 출력의 측정 잡음에 대해 2×2 잡음 공분산 행렬을 지정합니다. 이 예제에서는 첫 번째 출력에는 단위 분산을 사용하고 두 번째 출력에는 분산으로 1.3을 사용합니다. 두 잡음 채널이 서로 상관관계가 없음을 나타내기 위해 비대각선 값을 0으로 설정합니다.

    R = [1 0;
         0 1.3];

    칼만 필터를 설계합니다.

    [kalmf,L,P] = kalman(sys,Q,R);

    입력과 출력을 검토합니다. kalmf의 입력과 출력이 무엇을 나타내는지를 쉽게 추적할 수 있도록 kalmankalmfInputName, OutputName, InputGroup, OutputGroup 속성을 사용합니다.

    kalmf.InputGroup
    ans = struct with fields:
         KnownInput: [1 2]
        Measurement: [3 4]
    
    
    kalmf.InputName
    ans = 4x1 cell
        {'u1'}
        {'u2'}
        {'y1'}
        {'y2'}
    
    
    kalmf.OutputGroup
    ans = struct with fields:
        OutputEstimate: [1 2]
         StateEstimate: [3 4 5 6]
    
    
    kalmf.OutputName
    ans = 6x1 cell
        {'y1_e'}
        {'y2_e'}
        {'x1_e'}
        {'x2_e'}
        {'x3_e'}
        {'x4_e'}
    
    

    따라서 알려진 두 입력 u1u2kalmf의 첫 번째 두 입력이며 측정된 두 입력 y1y2kalmf에 대한 마지막 두 입력입니다. kalmf 출력의 경우 첫 번째 두 항목은 추정된 출력이며, 남은 네 항목은 상태 추정값입니다. 칼만 필터를 사용하려면, 칼만 필터링의 SISO 플랜트에 대해 나타낸 것과 유사한 방법으로 이러한 입력을 플랜트와 잡음 신호에 연결하십시오.

    입력이 4개이고 출력이 2개인 플랜트를 가정하겠습니다. 첫 번째와 세 번째 입력은 알려진 입력이며, 두 번째와 네 번째 입력은 공정 잡음을 나타냅니다. 플랜트에는 출력이 2개 있지만 두 번째 출력만 측정됩니다.

    아래 상태공간 행렬을 사용하여 sys를 만듭니다.

    A = [-0.37  0.14 -0.01  0.04;
         0.14 -1.89  0.98 -0.11;
        -0.01  0.98 -0.96 -0.14;
         0.04 -0.11 -0.14 -0.95];
    
    B = [-0.07 -2.32  0.68  0.10;
         -2.49  0.08  0     0.83;
          0    -0.95  0     0.54;
         -2.19  0.41  0.45  0.90];
    
    C = [ 0     0    -0.50 -0.38;
         -0.15 -2.12 -1.27  0.65];
    
    D = zeros(2,4);
    
    sys = ss(A,B,C,D,-1);    % Discrete with unspecified sample time
    
    sys.InputName = {'u1','w1','u2','w2'};
    sys.OutputName = {'yun','ym'};

    kalman을 사용하여 이 시스템의 필터를 설계하기 위해, knownsensors 입력 인수를 사용하여 플랜트의 알려진 출력과 측정된 출력을 지정합니다.

    known = [1 3];
    sensors = [2];

    잡음 공분산을 지정하고 필터를 설계합니다.

    Q = eye(2);
    R = 1;
    N = 0;
    
    [kalmf,L,P] = kalman(sys,Q,R,N,sensors,known); 

    kalmf의 입력과 출력 레이블을 확인하면 필터가 기대하는 입력과 필터가 반환하는 출력이 표시됩니다.

    kalmf.InputGroup
    ans = struct with fields:
         KnownInput: [1 2]
        Measurement: 3
    
    
    kalmf.InputName
    ans = 3x1 cell
        {'u1'}
        {'u2'}
        {'ym'}
    
    

    kalmfsys의 알려진 두 입력과 sys의 잡음이 포함되어 측정된 출력을 입력으로 받습니다.

    kalmf.OutputGroup
    ans = struct with fields:
        OutputEstimate: 1
         StateEstimate: [2 3 4 5]
    
    

    kalmf의 첫 번째 출력은 측정된 플랜트 출력의 참값에 대한 추정값입니다. 남은 출력은 상태 추정값입니다.

    입력 인수

    모두 축소

    공정 잡음이 있는 플랜트 모델로서, 상태공간(ss) 모델로 지정됩니다. 플랜트에는 알려진 입력 u와 백색 공정 잡음 입력 w가 있습니다. 플랜트 출력 yt는 측정 잡음을 포함하지 않습니다.

    Diagram showing that sys includes plant dynamics and process noise inputs, but not the additive noise on the plant output.

    이러한 플랜트 모델의 상태공간 행렬은 다음과 같이 작성할 수 있습니다.

    A,[BG],C,[DH]

    kalman은 출력에서 가우스 잡음 v를 가정합니다. 따라서 연속시간에서 kalman이 사용하는 상태공간 방정식은 다음과 같습니다.

    x˙=Ax+Bu+Gwy=Cx+Du+Hw+v

    이산시간에서의 상태공간 방정식은 다음과 같습니다.

    x[n+1]=Ax[n]+Bu[n]+Gw[n]y[n]=Cx[n]+Du[n]+Hw[n]+v[n]

    known 입력 인수를 사용하지 않을 경우 kalman에서는 Q의 크기를 바탕으로 어떤 sys 입력이 잡음 입력인지를 결정합니다. 이 경우 kalman은 마지막 Nw = size(Q,1) 입력을 잡음 입력으로 취급합니다. 잡음 입력 wsys의 마지막 입력이 아닌 경우, known 입력 인수를 이용해 어느 플랜트 입력이 알려진 입력인지 지정해 줄 수 있습니다. kalman은 남은 입력을 확률적 입력으로 취급합니다.

    플랜트 행렬 속성에 대한 다른 제약은 제한 사항 항목을 참조하십시오.

    스칼라나 NwxNw 행렬로 지정되는 공정 잡음 공분산으로, 여기서 Nw는 플랜트에 대한 잡음 입력의 개수입니다. kalmanQ의 크기를 바탕으로 어떤 sys 입력이 잡음 입력인지 결정하고, 사용자가 known 입력 인수를 이용해 별도로 지정하지 않는 한 마지막 Nw = size(Q,1) 입력을 잡음 입력으로 받습니다.

    kalman은 공정 잡음 w가 분산 Q = E(wwT)인 가우스 잡음이라고 가정합니다. 플랜트에 공정 잡음 입력이 하나뿐이면 Q는 w의 분산과 동일한 스칼라입니다. 플랜트에 상관관계가 없는 잡음 입력이 여러 개 있으면 Q는 대각 행렬입니다. 실제로 사용자는 시스템의 잡음 속성을 측정하거나 합리적으로 추측하여 Q에 적합한 값을 결정합니다.

    스칼라나 NyxNy 행렬로 지정되는 측정 잡음 공분산으로, 여기서 Ny는 플랜트 출력의 개수입니다. kalman은 측정 잡음 v가 공분산 R = E(vvT)인 백색 잡음이라고 가정합니다. 플랜트에 출력 채널이 하나뿐이면 R은 v의 분산과 동일한 스칼라입니다. 플랜트에 상관관계가 없는 측정 잡음이 있는 출력 채널이 여러 개 있으면 R은 대각 행렬입니다. 실제로 사용자는 시스템의 잡음 속성을 측정하거나 합리적으로 추측하여 R에 적합한 값을 결정합니다.

    측정 잡음 공분산에 대한 다른 제약은 제한 사항 항목을 참조하십시오.

    스칼라나 NyxNw 행렬로 지정되는 잡음 교차 공분산입니다. kalman은 공정 잡음 w와 측정 잡음 v가 N = E(wvT)를 만족한다고 가정합니다. 두 잡음원이 서로 상관관계가 없으면 N을 생략해도 되며, 이는 설정 N = 0과 같습니다. 실제로 사용자는 시스템의 잡음 속성을 측정하거나 합리적으로 추측하여 N에 적합한 값을 결정합니다.

    sys의 측정된 출력으로, sys의 출력 중 어느 것이 측정된 출력인지를 식별하는 인덱스의 벡터로 지정됩니다. 예를 들어 시스템에 출력이 3개 있지만 sys의 첫 번째와 세 번째 출력에 해당하는 2개만 측정된다고 가정해 보겠습니다. 이 경우에는 sensors = [1 3]으로 설정합니다.

    sys의 알려진 입력으로, 알고 있는(즉, 결정적) 입력을 식별하는 인덱스의 벡터로 지정됩니다. 예를 들어 시스템에 입력이 3개 있지만 첫 번째와 두 번째 입력만 알고 있다고 가정해 보겠습니다. 이 경우에는 known = [1 2]로 설정합니다. kalmansys의 모든 잔여 입력을 확률적 입력으로 해석합니다.

    계산할 이산시간 추정기의 유형으로, 'current''delayed'로 지정됩니다. 이 입력은 이산시간 sys에만 유효합니다.

    • 'current'y[n]까지의 모든 사용 가능한 측정값을 사용하여 출력 추정값 y^[n|n]과 상태 추정값 x^[n|n]을 계산합니다.

    • 'delayed'y[n1]까지의 측정값만 사용하여 출력 추정값 y^[n|n1]과 상태 추정값 x^[n|n1]을 계산합니다. 지연 추정기는 제어 루프 내부에서 더 쉽게 구현할 수 있습니다.

    kalman에서 현재 및 지연 추정값을 계산하는 자세한 방법은 이산시간 추정 항목을 참조하십시오.

    출력 인수

    모두 축소

    칼만 필터 또는 칼만 추정기로, 상태공간(ss) 모델로 반환됩니다. 결과로 얻게 되는 추정기는 입력 [u;y]와 출력 [y^;x^]를 가집니다. 다시 말해 kalmf는 플랜트 입력 u와 잡음 있는 플랜트 출력 y를 입력으로 취하며, 추정된 무잡음 플랜트 출력 y^와 추정된 상태 값 x^를 출력으로 생산합니다.

    Diagram showing Kalman filter with inputs u and y and outputs y-hat and x-hat.

    kalmankalmfInputName, OutputName, InputGroup, OutputGroup 속성을 자동으로 설정하여 사용자가 신호에 대응하는 입력과 출력을 쉽게 확인할 수 있게 합니다.

    kalmf의 상태 및 출력 방정식에 대해서는 연속시간 추정이산시간 추정 항목을 참조하십시오.

    필터 이득으로, Nx×Ny 크기의 행렬로 지정됩니다. 여기서 Nx는 플랜트 내 상태의 개수이고 Ny는 플랜트 출력의 개수입니다. 연속시간에서 칼만 필터의 상태 방정식은 다음과 같습니다.

    x^˙=Ax^+Bu+L(yCx^Du).

    이산시간에서 상태 방정식은 다음과 같습니다.

    x^[n+1|n]=Ax^[n|n1]+Bu[n]+L(y[n]Cx^[n|n1]Du[n]).

    이러한 수식과 L의 계산 방법에 대한 자세한 내용은 연속시간 추정이산시간 추정 항목을 참조하십시오.

    정상 상태 오차 공분산으로, NxxNx로 반환됩니다. 여기서 Nx는 플랜트의 상태 개수입니다. 칼만 필터는 P를 최소화하는 상태 추정값을 계산합니다. 연속시간에서 정상 상태 오차 공분산은 다음과 같이 주어집니다.

    P=limtE({xx^}{xx^}T).

    이산시간에서 정상 상태 오차 공분산은 다음과 같이 주어집니다.

    P=limnE({x[n]x^[n|n1]}{x[n]x^[n|n1]}T),Z=limnE({x[n]x^[n|n]}{x[n]x^[n|n]}T).

    이러한 수량과 kalman에서 이러한 수량을 사용하는 방법에 대한 자세한 내용은 연속시간 추정이산시간 추정 항목을 참조하십시오.

    이산시간 시스템용 상태 추정기의 혁신 이득으로, 배열로 반환됩니다.

    MxMy는 이산시간 시스템의 기본 추정기인 type = 'current'일 때만 유효합니다. 연속시간 sys 또는 type = 'delayed'의 경우 Mx = My = []입니다.

    'current' 유형 추정기의 경우 MxMy는 업데이트 방정식의 혁신 이득입니다.

    x^[n|n]=x^[n|n1]+Mx(y[n]Cx^[n|n1]Du[n])

    y^[n|n]=Cx^[n|n1]+Du[n]+My(y[n]Cx^[n|n1]Du[n])

    잡음 입력 w에서 플랜트 출력 y로 이어지는 직접 피드스루가 없으면(즉 H = 0, 자세한 내용은 이산시간 추정 항목 참조), My=CMx이며 출력 추정값은 y^[n|n]=Cx^[n|n]+Du[n]으로 단순화됩니다.

    배열 MxMy의 차원은 다음과 같이 sys의 차원에 따라 달라집니다.

    • Mx — NxxNy이며, 여기서 Nx는 플랜트의 상태 개수이고 Ny는 출력의 개수입니다.

    • My — NyxNy.

    kalmanMxMy를 얻는 자세한 방법은 이산시간 추정 항목을 참조하십시오.

    제한 사항

    플랜트 및 잡음 데이터는 다음을 충족해야 합니다.

    • (C,A)는 감지 가능하며, 여기서 각각은 다음과 같습니다.

    • R¯>0[Q¯N¯;N¯R¯]0이며, 여기서 각각은 다음과 같습니다.

      [Q¯N¯N¯R¯]=[G0HI][QNNR][G0HI].

    • (AN¯R¯1C,Q¯N¯R¯1N¯T)는 연속시간에서는 허수축에서, 또는 이산시간에서는 단위원에서 제어 불가능한 모드를 가질 수 없습니다.

    알고리즘

    모두 축소

    연속시간 추정

    알려진 입력 u, 백색 공정 잡음 w, 백색 측정 잡음 v인 연속시간 플랜트가 있다고 가정하겠습니다.

    x˙=Ax+Bu+Gwy=Cx+Du+Hw+v

    잡음 신호 w와 v가 다음을 충족합니다.

    E(w)=E(v)=0,E(wwT)=Q,E(vvT)=R,E(wvT)=N

    칼만 필터 또는 칼만 추정기는 정상 상태 오차 공분산을 최소화하는 상태 추정값 x^(t)를 계산합니다.

    P=limtE({xx^}{xx^}T).

    칼만 필터는 다음과 같은 상태 방정식과 출력 방정식을 갖습니다.

    dx^dt=Ax^+Bu+L(yCx^Du)[y^x^]=[CI]x^+[D0]u

    필터 이득 L을 얻기 위해 kalman은 대수 리카티 방정식을 풀어 다음을 얻습니다.

    L=(PCT+N¯)R¯1

    여기서

    R¯=R+HN+NTHT+HQHTN¯=G(QHT+N)

    P는 대응하는 대수 리카티 방정식을 풉니다.

    추정기는 알려진 입력 u와 측정값 y를 사용하여 출력 및 상태의 추정값 y^x^를 생성합니다.

    이산시간 추정

    이산 플랜트는 다음과 같이 주어집니다.

    x[n+1]=Ax[n]+Bu[n]+Gw[n]y[n]=Cx[n]+Du[n]+Hw[n]+v[n]

    이산시간에서 잡음 신호 w와 v가 다음을 충족합니다.

    E(w[n]w[n]T)=Q,E(v[n]v[n]T)=R,E(w[n]v[n]T)=N

    이산시간 추정기는 다음과 같은 상태 방정식을 갖습니다.

    x^[n+1|n]=Ax^[n|n1]+Bu[n]+L(y[n]Cx^[n|n1]Du[n]).

    kalman은 이산 리카티 방정식을 풀어 이득 행렬 L을 얻습니다.

    L=(APCT+N¯)(CPCT+R¯)1

    여기서 각각은 다음과 같습니다.

    R¯=R+HN+NTHT+HQHTN¯=G(QHT+N)

    kalman은 이산시간 칼만 추정기의 두 가지 변형된 형태인 현재 추정기(type = 'current')와 지연 추정기(type = 'delayed')를 계산할 수 있습니다.

    • 현재 추정기 — y[n]까지의 모든 사용 가능한 측정값을 사용하여 출력 추정값 y^[n|n]과 상태 추정값 x^[n|n]을 생성합니다. 이 추정기는 다음과 같은 출력 방정식을 갖습니다.

      [y^[n|n]x^[n|n]]=[(IMy)CIMxC]x^[n|n1]+[(IMy)DMyMxDMx][u[n]y[n]].

      여기서 혁신 이득 Mx와 My는 다음과 같이 정의됩니다.

      Mx=PCT(CPCT+R¯)1,My=(CPCT+HQHT+HN)(CPCT+R¯)1.

      따라서 Mx는 새 측정값인 y[n]을 사용하여 상태 추정값 x^[n|n1]을 업데이트합니다.

      x^[n|n]=x^[n|n1]+Mx(y[n]Cx^[n|n1]Du[n])

      마찬가지로 My는 업데이트된 출력 추정값을 계산합니다.

      y^[n|n]=Cx^[n|n1]+Du[n]+My(y[n]Cx^[n|n1]Du[n])

      H = 0인 경우 My=CMx이며, 출력 추정값은 y^[n|n]=Cx^[n|n]+Du[n]으로 단순화됩니다.

    • 지연 추정기 — 측정값을 yv[n–1]까지만 사용하여 출력 추정값 y^[n|n1]과 상태 추정값 x^[n|n1]을 생성합니다. 이 추정기는 다음과 같은 출력 방정식을 갖습니다.

      [y^[n|n1]x^[n|n1]]=[CI]x^[n|n1]+[D000][u[n]y[n]]

      지연 추정기는 제어 루프 내부에서 더 쉽게 구현할 수 있습니다.

    버전 내역

    R2006a 이전에 개발됨