资源简介
Kalman滤波算法S-Function程序,主要完成电池SOC估计。
代码片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%S函数实现对输入信号Kalman滤波
function[sysx0strts]=SimuKalmanFilter(txuflag)
%输入参数
% t、x、u、分别对应时间、状态、输入信号
% flag为标志位,其,取值不同,s函数执行的任务和返回的数据也是不同的
%输出参数
% sys为一个通用的返回参数值,其数值根据flag的不同而不同
% x0位状态初始数值
% str在目前为止的MATLAB版本中并没有什么作用,一般str=[]即可
% ts为一个两列的矩阵,包含采样时间和偏移量两个参数
switch flag
case 0 % 系统进行初始化,调用mdlInitializeSizes函数
[sysx0strts]=mdlInitializeSizes;
case 1 % 计算连续状态变量的导数,调用mdlDerivatives函数
sys=mdlDerivatives(txu);
case 2 % 更新离散状态变量,调用mdlUpdate函数
sys=mdlUpdate(txu);
case 3 % 计算s函数的输出,调用mdlOutputs
sys=mdlOutputs(txy);
case 4 % 计算下一仿真时刻
sys=mdlGetTimeOfNextVarHit(txu);
case 9 % 仿真结束,调用mdlTerminate函数
sys=mdlTerminate(txu);
otherwise % 其他未知情况处理,用户可以自定义
error([‘Unhandled flag=‘num2str(flag)]);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%1. 系统初始化子函数
function[sysx0strts]=mdlInitializeSizes
sizes=simsizes;
sizes.NumContStates =0;
sizes.NumDiscStates =1;
sizes.NumOutputs =1;
sizes.NumInputs =1;
sizes.DirFeedthrough =1;
sizes.NumSampleTimes =1; %至少需要的采样时间
sys=simsizes(sizes);
x0 =5000+sqrt(5)
相关资源
- Kalman滤波在船舶GPS导航定位系统中的
- KALMAN自适应滤波进行参数估计
- Optimal State Estimation(最优状态估计)
- 基于卡尔曼滤波的目标跟踪matlab经典
- 二维singer滤波
- 基于GPS_IMU组合定位的kalman滤波
- matlab开发-第二代Voldkalmanderfiltering
- 卡尔曼滤波(Kalman)Matlab工具箱
- kalman滤波的语音降噪matlab程序
- Kalman滤波原理及源码(matlab).rar
- 3.2.2kalman_tempreture.m
- 卡尔曼滤波-Matlab程序
- 基于cv模型的kalman 滤波matlab程序,有
-
Simuli
nk EKF vehicle model - 卡尔曼滤波EKF UKF PF对比matlab源程序
- 用Kalman滤波方法估计目标航迹的Matl
- kalman_filter2 北航研究生课程卡尔曼滤
- 卡尔曼滤波目标轨迹跟踪预测 (kal
- STKalman 强跟踪滤波器的MATLAB函数文件
- BP神经网络辅助组合导航卡尔曼滤波
- Kalman 用卡尔曼滤波跟踪目标实例
- SINS_Kalman2833410
- GPS_Kalman
- Loosecombination
- gps_kalman GPS接收机中的卡尔曼滤波
- Kalman-Filter
- SINS_Kalman
- kalman-tracking 卡尔曼滤波的一个视频跟
- Kalman-Track-filter 带高斯白噪声的Kalma
- Kalman_matlab 卡尔曼滤波方法用于估计物
评论
共有 条评论