[칼만필터는어렵지않아/Python] CH.04 칼만필터

2021. 6. 22. 17:33·Minding's Reading/칼만필터는 어렵지 않아
728x90
반응형

본인의 Github

https://github.com/JeongMinHyeok/Kalman_Filter

 

JeongMinHyeok/Kalman_Filter

Contribute to JeongMinHyeok/Kalman_Filter development by creating an account on GitHub.

github.com


 

칼만필터의 전체 계산과정

칼만필터 알고리즘 구조

  • 입력과 출력이 하나씩인 간단한 구조
  • 측정값(zk)이 입력되면 내부처리 후 추정값 (x hat k) 출력
  • 내부계산은 총 네 단계
  • 아래첨자 k는 칼만필터 알고리즘이 반복해서 수행된다는 의미
  • 위첨자 '-'는 중요한 의미, '-'첨자가 붙으면 이름이 같아도 전혀 다른 변수를 의미

 

칼만 필터 알고리즘의 계산과정

 

계산과정 단계별 설명

  • 1단계 (추정값 및 오차 공분산 예측단계)
    • 2 ~ 4단계에서 사용하는 두 변수 x hat k, P-k 계산
    • 위 첨자 '-'는 예측값을 의미
    • 예측단계의 계산식은 시스템모델과 밀접한 관련
  • 2단계 (칼만이득 계산단계)
    • 칼만이득(Kk) 계산
    • 변수 P-k는 앞 단계에서 계산한 값 사용
    • H, R은 알고리즘 밖에서 미리 결정되는 값
  • 3단계 (추정값 계산단계)
    • 입력된 측정값(zk)으로 추정값(x hat k) 계산
    • 저주파 통과 필터와 관련된 계산식
    • 변수 x hat - k는 1단계에서 계산한 값
  • 4단계 (오차 공분산 계산 단계)
    • 오차 공분산은 추정값이 얼마나 정확한지 알려주는 척도
    • 오차 공분산 검토하여 계산한 추정값을 쓸지 버릴지 결정

 

알고리즘에 등장하는 변수

  • 외부입력 : zk(측정값)
  • 최종출력 : x hat k (추정값)
  • 시스템 모델 : A, H, Q, R
  • 내부 계산용 : x hat - k, P hat - k, Pk, Kk
    • A, H, Q, R은 구현 전에 미리 결정
    • 대상 시스템과 칼만필터 사용목적에 따라 설계자가 사전에 확정
    • 이 값을 어떻게 선정하느냐에 따라 칼만필터의 성능이 달라짐
    • 칼만필터의 성능은 시스템 모델이 실제 시스템과 가까울수록 좋음

 

칼만필터 알고리즘 의미 별 분류 (예측과정과 추정과정)

  • 예측과정
    • 1단계가 여기에 해당
    • 직전 추정값(x hat k-1)과 오차공분산(Pk-1)이 입력되면 최종결과로 예측값(x hat - k, P - k)을 출력
    • 예측값은 추정과정에 사용
    • 해당 단계에서 사용하는 시스템 모델 변수는 A와 Q
  • 추정과정
    • 2 ~ 4단계가 여기에 해당
    • 추정과정의 결과물은 추정값(x hat k)과 오차공분산(Pk)
    • 입력값은 예측과정의 예측값과 측정값(zk) 사용
    • 사용하는 시스템 모델 변수는 H와 R

 

정리 (의미 분류 관점으로)

  1. 시스템 모델(A, Q)을 기초로 다음 시각에 상태와 오차 공분산 예측 (x hat - k, P - k)
  2. 측정값과 예측값의 차이를 보정하여 새로운 추정값 계산 (x hat k, Pk)
    • 칼만필터의 최종결과물
  3. 위의 두 과정 반복
728x90

'Minding's Reading > 칼만필터는 어렵지 않아' 카테고리의 다른 글

[칼만필터는 어렵지않아/Python] CH.06 예측과정  (0) 2021.06.24
[칼만필터는 어렵지않아 / Python] CH.05 추정과정  (0) 2021.06.23
[칼만필터는 어렵지않아 / Python] CH.03 저주파 통과 필터  (0) 2021.06.21
[칼만필터는 어렵지 않아/Python] CH.02 이동평균 필터  (0) 2021.06.19
[칼만필터는 어렵지 않아] CH.01 평균필터  (2) 2021.06.16
'Minding's Reading/칼만필터는 어렵지 않아' 카테고리의 다른 글
  • [칼만필터는 어렵지않아/Python] CH.06 예측과정
  • [칼만필터는 어렵지않아 / Python] CH.05 추정과정
  • [칼만필터는 어렵지않아 / Python] CH.03 저주파 통과 필터
  • [칼만필터는 어렵지 않아/Python] CH.02 이동평균 필터
Minding
Minding
  • Minding
    Today's Minding
    Minding
  • 전체
    오늘
    어제
    • 울고넘는 딥러닝 (278)
      • Minding's Baseball (57)
        • MLB Statcast (29)
        • 머신러닝으로 홈런왕 예측하기 (3)
        • 야구칼럼 (12)
        • 야구 규칙, 용어 (1)
        • 2022-23 질롱 코리아 (8)
        • 류현진 등판경기 (4)
      • Minding's Programming (185)
        • 프로그래머스 코딩테스트 (21)
        • Knowledge (44)
        • Numpy & Pandas (6)
        • Excel (3)
        • Git (1)
        • Pygame (11)
        • CV (3)
        • Tensorflow tutorial (4)
        • Kaggle and Dacon (4)
        • 에러 코드 (8)
        • FastAPI (8)
        • Airflow (29)
        • Crawling (6)
        • Django (14)
        • AWS (18)
        • Spark (5)
      • Minding's Reading (30)
        • 머신러닝 딥러닝에 필요한 기초 수학 with 파이.. (2)
        • 칼만필터는 어렵지 않아 (11)
        • 밑바닥부터 시작하는 딥러닝 (6)
        • 메이저리그 야구 통계학 2e (8)
        • 논문읽기 (2)
        • 빅데이터를 지탱하는 기술 (1)
      • Minding's Life (5)
        • 주식 (4)
        • 각종 소식 (1)
  • 블로그 메뉴

    • 홈
    • Baseball
    • Programming
    • Reading
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    파이썬게임개발
    KBO
    데이터 엔지니어
    넘파이
    칼만필터는어렵지않아파이썬
    코딩테스트
    딥러닝
    django
    pygame
    파이게임
    질롱코리아
    파이썬
    FastAPI
    데이터분석
    칼만필터는어렵지않아python
    django python
    MLB
    Python
    KalmanFilter
    칼만필터는어렵지않아
    AWS
    칼만필터
    야구
    머신러닝
    게임개발
    에어플로우
    메이저리그
    Airflow
    mlb stats api
    프로그래머스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Minding
[칼만필터는어렵지않아/Python] CH.04 칼만필터
상단으로

티스토리툴바