主要内容

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

卡尔曼

칼만 필터 설계, 칼만 추정기

구문

[kest,L,P]=kalman(sys,Qn,Rn,Nn)
[kest,L,P]=kalman(sys,Qn,Rn,Nn,传感器,已知)
[kest,L,P,M,Z]=kalman(sys,Qn,Rn,…,类型)

설명

卡尔曼은 플랜트 및 공정의 상태공간 모델과 측정 잡음 공분산 데이터가 주어졌을 때 칼만 필터 또는 칼만 상태 추정기를 설계합니다. 칼만 추정기는 다음과 같은 연속 또는 이산 추정 문제에 대한 최적해를 제공합니다.

연속시간 추정

연속 플랜트가 다음과 같이 주어졌을 때

˙ = A. + B U + G W Y = C + D U + H W + v

알려진 입력 U백색 공정 잡음 W백색 측정 잡음 v가 다음을 충족한다고 가정합니다.

E ( W ) = E ( v ) = 0 , E ( W W T ) = Q , E ( v v T ) = R , E ( W v T ) = N

이때 다음과 같은 정상 상태 오차 공분산을 최소화하는 상태 추정값 ^ ( T ) 를 생성합니다.
P = T E ( { ^ } { ^ } T )

최적해는 다음과 같은 방정식을 갖는 칼만 필터입니다.

D ^ D T = A. ^ + B U + L ( Y C ^ D U ) [ Y ^ ^ ] = [ C ] ^ + [ D 0 ] U

필터 이득 L은 다음과 같은 대수 리카티 방정식을 풀면 결정됩니다.

L = ( P C T + N ¯ ) R ¯ 1.

여기서

R ¯ = R + H N + N T H T + H Q H T N ¯ = G ( Q H T + N )

이고 P는 해당 대수 리카티 방정식을 풉니다.

추정기는 알려진 입력 U와 측정값 Y를 사용하여 출력 및 상태의 추정값 Y ^ ^ 를 생성합니다. Y ^ 는 다음과 같은 실제 플랜트 출력을 추정한다는 것에 유의하십시오.

Y = C + D U + H W + v

이산시간 추정

이산 플랜트를 다음과 같이 지정합니다.

[ N + 1. ] = A. [ N ] + B U [ N ] + G W [ N ] Y [ N ] = C [ N ] + D U [ N ] + H W [ N ] + v [ N ]

잡음 공분산 데이터는 다음과 같습니다.

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

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

^ [ N + 1. | N ] = A. ^ [ N | N 1. ] + B U [ N ] + L ( Y [ N ] C ^ [ N | N 1. ] D U [ N ] ) .

이득 행렬 L은 다음과 같은 이산 리카티 방정식이 풀면 도출됩니다.

L = ( A. P C T + N ¯ ) ( C P C T + R ¯ ) 1.

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

R ¯ = R + H N + N T H T + H Q H T N ¯ = G ( Q H T + N )

이산시간 칼만 추정기에는 두 가지 변형이 있습니다.

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

    [ Y ^ [ N | N ] ^ [ N | N ] ] = [ ( M Y ) C M C ] ^ [ N | N 1. ] + [ ( M Y ) D M Y M D M ] [ U [ N ] Y [ N ] ] .

    여기서 혁신 이득(创新收益(M)와 MY는 다음과 같이 정의됩니다.

    M = P C T ( C P C T + R ¯ ) 1. , M Y = ( C P C T + H Q H T + H N ) ( C P C T + R ¯ ) 1. .

    M는 새로운 측정값 Y [ N ] 을 사용하여 예측 ^ [ N | N 1. ] 을 업데이트합니다.

    ^ [ N | N ] = ^ [ N | N 1. ] + M ( Y [ N ] C ^ [ N | N 1. ] D U [ N ] )

    H=0인 경우 M Y = C M 이고 Y ^ [ N | N ] = C ^ [ N | N ] + D U [ N ] 입니다.

  • 지연 추정기는 측정값을 Yv[n–1]까지만 사용하여 출력 추정값 Y ^ [ N | N 1. ] 과 상태 추정값 ^ [ N | N 1. ] 을 생성합니다. 이 추정기는 제어 루프 내부에서 구현하기가 더 쉬우며 다음과 같은 출력 방정식을 갖습니다.

    [ Y ^ [ N | N 1. ] ^ [ N | N 1. ] ] = [ C ] ^ [ N | N 1. ] + [ D 0 0 0 ] [ U [ N ] Y [ N ] ]

[kest,L,P]=kalman(sys,Qn,Rn,Nn)은 플랜트 모델系统와 잡음 공분산 데이터Qn公司,注册护士,神经网络(설명에서 설명하는 행렬 Q、 (右,右)이 주어졌을 때 칼만 추정기의 상태공간 모델凯斯特를 만듭니다.系统는 행렬 A. , [ B G ] , C , [ D H ] 를 갖는 상태공간 모델이어야 합니다.

결과로 생성되는 추정기凯斯特는 입력 [ U ; Y ] 와 출력 [ Y ^ ; ^ ] (또는 그에 대응하는 이산시간 값)을 갖습니다. N=0인 경우 마지막 입력 인수神经网络을 생략할 수 있습니다.

함수卡尔曼은 연속 문제와 이산 문제를 모두 처리하며系统가 연속인 경우 연속 추정기를 생성하고 그렇지 않은 경우 이산 추정기를 생성합니다. 연속시간에서,卡尔曼은 칼만 이득L과 정상 상태 오차 공분산 행렬P도 반환합니다.P는 해당 리카티 방정식을 풉니다.

[kest,L,P]=kalman(sys,Qn,Rn,Nn,传感器,已知)은 다음과 같은 경우에 보다 일반적인 상황을 처리합니다.

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

  • 외란 입력 W가系统의 마지막 입력이 아닌 경우.

인덱스 벡터传感器已知系统에서 어떤 출력 Y를 측정할 예정이고 어떤 입력 U가 알려졌는지를(결정적인지를) 지정합니다.系统의 다른 모든 입력은 확률적이라고 가정합니다.

[kest,L,P,M,Z]=kalman(sys,Qn,Rn,…,类型)은 이산시간 플랜트系统에 대한 추정기 유형을 지정합니다.类型인수는'当前'(디폴트 값) 또는'延迟'입니다. 이산시간 플랜트의 경우,卡尔曼은 추정기와 혁신 이득 L및 M그리고 다음과 같은 정상 상태 오차 공분산을 반환합니다.

P = N E ( E [ N | N 1. ] E [ N | N 1. ] T ) , E [ N | N 1. ] = [ N ] [ N | N 1. ] Z = N E ( E [ N | N ] E [ N | N ] T ) , E [ N | N ] = [ N ] [ N | N ]

예제

卡尔曼함수를 사용하는 예제는x轴LQG设计칼만 필터링을 참조하십시오.

제한 사항

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

  • (C、A)가 검출 가능함

  • R ¯ > 0 Q ¯ N ¯ R ¯ 1. N ¯ T 0

  • ( A. N ¯ R ¯ 1. C , Q ¯ N ¯ R ¯ 1. N ¯ T ) 의 허수축에(또는 이산시간에서는 단위원에) 제어 불가능한 모드가 없음. 여기서 기호 표기는 다음과 같습니다.

    Q ¯ = G Q G T R ¯ = R + H N + N T H T + H Q H T N ¯ = G ( Q H T + N )

참고 문헌

[1] Franklin,G.F.,J.D.Powell和M.L.Workman,《动态系统的数字控制》,第二版,Addison-Wesley,1990年。

[2] 刘易斯,F.,最优估计,约翰威利父子公司,1986年。

[3] Deshpande,A.S.,“填补应用卡尔曼滤波的空白:当测量值与过程噪声相关时估计输出”,《IEEE控制系统杂志》,第37卷,第3期,2017年,第87-93页。

R2006a型이전에 개발됨