欢迎来到本博客❤️❤️
博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
本文目录如下:
目录
1 概述
2 运行结果
3 参考文献
4 Matlab代码、Simulink实现
卡尔曼滤波算法最先由美国学者 R.E.Kalman 提出,它最早是用来解决离散线性系统滤波的问题[60],该算法一经提出就得到广泛关注。卡尔曼滤波器属于随机观测器,采用状态空间法在时域内设计滤波器,使用线性最小方差估计,有良好的滤波性能。卡尔曼滤波器是一组数学方程,用一种有效的递归方法来估计系统的状态,在考虑系统的输入、输出随机干扰的情况下,得到满足最小均方根误差的最优估计,可以有效的削弱随机干扰和测量噪声的影响。因为它采用递推的方法,为方便数字化实现,还可以将算法进行离散化。随着计算机控制技术的发展,其计算复杂性已经不再是障碍,所以卡尔曼滤波器逐渐得到了大家的重视,如今已广泛应用于各个领域,如导航制导、工业控制、目标跟踪、大地测量和金融等。卡尔曼滤波器系统结构如图 3-1 所示,下面介绍离散系统卡尔曼滤波器的原理[61] [62]。
系统的状态方程和量测方程为:
部分代码:
% Parametry silnika
% 1G 7 5102-0EE 77 -4TV1
Un = 280; %V
wn = 1640*pi/30; %rad/s
Pn = 1.52e3; %W
Tn = 8.85; %Nm
In = 7.2; %A
Ra = 6.41; %Ohm
La = 23e-3; %H
PSI_M = Tn/In;
PSI_E = (Un-Ra*In)/wn;
J = 0.013*2; %kgm2
Ts = 1e-4;
Tdelay = 2*Ts;
% Wariancje szumow
% System
rng('shuffle');
rand_seed_1 = round(rand*(2^32-1));
rand_seed_2 = round(rand*(2^32-1));
rand_seed_3 = round(rand*(2^32-1));
rand_seed_4 = round(rand*(2^32-1));
部分理论来源于网络,如有侵权请联系删除。
[1]曹正鑫. 基于改进的卡尔曼滤波算法的电机参数估计[D].南京邮电大学,2021.DOI:10.27251/d.cnki.gnjdc.2021.000567.
[2]张祥虎. 基于卡尔曼滤波的无刷直流电机无传感器控制[D].中国矿业大学,2015.
[3]刘思华,张树春.用扩展卡尔曼滤波器估计无刷直流电机转子位置和转速[J].微电机(伺服技术),2006(06):8-10+18.DOI:10.15934/j.cnki.micromotors.2006.06.003.