在移动机器人导航方面,卡尔曼滤波是最常用的状态估计方法。直观上来讲,卡尔曼滤波器在这里起了数据融合的作用,只需要输入当前的测量值(多个传感器数据)和上一个周期的估计值就能估计当前的状态,这个估计出来的当前状态综合考量了传感器数据(即所谓的观察值、测量值)和上一状态的数据,为当前最优估计,可以认为这个估计出来的值是最可靠的值。由于我们在SLAM中主要用它做位置估计,所以前面所谓的估计值就是估计位置坐标了,而输入的传感器数据包括码盘推算的位置、陀螺仪的角速度等(当然可以有多个陀螺仪和码盘),最后输出的最优估计用来作为机器人的当前位置被导航算法以外的其他程序所调用。
2022-11-29 16:22:57 108KB 卡尔曼滤波
1
完全可行的中值滤波代码。用MATLAB编写,下载后直接可以使用。理解容易使用方便。
2022-11-29 16:02:59 294B MATLAB
1
FIR低通滤波器具有设计简单,易于实现的优点,缺点是只能用于低通滤波器,不能用于高通滤波器,所以,通过粒子群算法对FIR低通滤波器进行优化,提高FIR滤波器的性能
1
根据 NovAtel OEM6 接收机接收的星历参数,计算在轨卫星位置;联 合实测的卫星伪距数据,用 C 语言建立解算模型,分别用最小二乘法以及卡尔曼 滤波求解用户位置。结果表明,这两种方法算出的定位精度不高。为了提高精度, 本文将容积卡尔曼滤波算法引入用户位置求解流程。结果证明,用 C 语言建立的 容积卡尔曼滤波解算模型,能够提供比最小二乘法和卡尔曼滤波更高的定位精度。
1
16.1 FIR和IIR滤波器 在数字信号处理领域中,数字滤波器占有非常重要的地位。根据其计算方式可以分为FIR(有限脉冲响 应)滤波器,和IIR(无限脉冲响应)滤波器两种。 FIR滤波器根据如下公式进行计算: y[m] = b[0]x[m] + b[1]x[m− 1] + · · ·+ b[P ]x[n− P ] IIR滤波器根据如下公式(直接1型)进行计算: y[m] = b[0]x[m] + b[1]x[m− 1] + · · ·+ b[P ]x[m− P ] − a[1]y[m− 1]− a[2]y[m− 2]− · · · − a[Q]y[m−Q] 其中x是输入信号,数组a和b是滤波器的系数,y是滤波器的输出。我们可以把FIR滤波器看作是IIR滤 波器的一种特殊情况:当系数a都为0时就从IIR滤波器变为了FIR滤波器了。 根据FIR滤波器的计算公式我们可以知道,时刻m的输出y[m]由时刻m的输入x[m]以及之前的输入x [m-1] ... x[m-P]和滤波器的系数b[0] ... b[P]求乘积和而得。而IIR滤波器只不过是再减去之前的输出y [m-1] ... y[m-Q]和系数a[1] ... a[m-Q]的乘积和。 总之,数字滤波器的计算方法并不复杂,仅仅是数组对应元素的乘积和求和而已。然而其计算量对 于Python来说是相当大的:通常FIR滤波器的系数长度都上百,而CD音质的数字声音信号一秒钟有 44100个取样值,假设滤波器的长度是100,那么一秒钟需要计算4百万次以上的乘积和加法。这对于 Python这样的动态语言来说是很困难的。 199
2022-11-29 00:23:59 6.06MB numpy
1
完成信号抽取与插值过程,绘图说明了频谱混叠和以及利用“插值+低通滤波+抽取”方法消除混叠的matlab程序。 特点:1)注释详细;2)内含一些参考资料,包括一些参考的代码;3)我设置的是,所需积分为0就可以直接获取(好像要关注才能白嫖?) 建议使用前认真阅读readme文件!
2022-11-28 21:25:09 8KB 数字信号处理 频谱混叠 matlab
1
delphi下关于db4 小波滤波的算法实现,附带一个测试的数据用例。希望对碰到这些问题的人有点帮助
2022-11-28 21:19:59 1.08MB db4 小波滤波 delphi
1
粒子滤波及重要性采样
2022-11-28 20:26:04 268KB 重要性采样
1
基于MATLAB的凯泽窗法和双线性变换法高通滤波器的设计
2022-11-28 18:09:31 152KB 凯泽窗和双线性
1
使用matlab进行波导H面膜片滤波器仿真设计,含代码、结果以及说明文档
2022-11-27 17:31:31 233KB 仿真 matlab
1