博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kalman处理realsense数据
阅读量:5153 次
发布时间:2019-06-13

本文共 1343 字,大约阅读时间需要 4 分钟。

代码来自:https://www.cnblogs.com/zjuhjm/archive/2012/12/29/2838472.html

import numpy as np

import matplotlib.pyplot as plt
Q = 0.00001
R = 0.1
P_k_k1 = 1
Kg = 0
P_k1_k1 = 1
x_k_k1 = 0
ADC_OLD_Value = 0

kalman_adc_old = 0

def kalman(ADC_Value):
  global kalman_adc_old
  global P_k1_k1
  Z_k = ADC_Value

  if (abs(kalman_adc_old-ADC_Value)>=30):

    x_k1_k1= ADC_Value*0.382 + kalman_adc_old*0.618
  else:
    x_k1_k1 = kalman_adc_old;

  x_k_k1 = x_k1_k1

  P_k_k1 = P_k1_k1 + Q

  Kg = P_k_k1/(P_k_k1 + R)

  kalman_adc = x_k_k1 + Kg * (Z_k - kalman_adc_old)

  P_k1_k1 = (1 - Kg)*P_k_k1
  P_k_k1 = P_k1_k1

  ADC_OLD_Value = ADC_Value

  kalman_adc_old = kalman_adc
  return kalman_adc

a= [100]*200
array = np.array(a)

s = np.random.normal(0, 25, 200)

#test_array = array + s

test_array = [0.618,0.672,0.905,0.985,1.028,1.255,1.320,1.396,1.724,1.753,1.769,2.091,2.113,2.367,2.414,2.817,2.840,2.897,3.073,3.254,3.289,4.717,4.407,5.113,5.200,5.091,4.967,5.580,5.888,6.338,6.473,6.542,5.795,5.907,5.850,4.987,5.028,5.028,4.987,5.291,5.084,5.156,5.481,5.200,4.507,4.575,4.541,3.457,3.450,3.477,2.884,2.596,2.983,3.012,2.753,2.468,2.453,1.358,1.281,1.249,0.908]

plt.plot(test_array)

adc=[]
for i in range(len(test_array)):
  adc.append(kalman(test_array[i]))

plt.plot(adc)
plt.title('kalman')
#plt.plot(array)

 

 

 

 

 

转载于:https://www.cnblogs.com/herd/p/9832621.html

你可能感兴趣的文章
使用caffe时遇到的问题
查看>>
模运算
查看>>
JVM性能调优监控工具——jps、jstack、jmap、jhat、jstat、hprof使用详解
查看>>
软件包管理器之一——RPM介绍及应用
查看>>
Python作用域
查看>>
salesforce 零基础开发入门学习(十三)salesforce中JSON的使用
查看>>
Leetcode 410: Split Array Largest Sum
查看>>
单例模式 (3)
查看>>
QueryRunner的使用
查看>>
[模板]左偏树
查看>>
ASP.NET 邮件发送 System.Net.Mail
查看>>
Linux下文件权限:ACL与selinux
查看>>
jsp页面跳转方式 总结
查看>>
如何在Source Insight中配置Pc Lint
查看>>
初识python 面向对象
查看>>
常用的PHP数据库操作方法(MYSQL版)
查看>>
浮点型数据精度偏差与异常
查看>>
RSA加密
查看>>
小问题
查看>>
hdu 4223 Dynamic Programming?
查看>>