资源简介
双卡尔曼滤波算法是基于卡尔曼滤波算法的一个二级结构算法。第一步使用了卡尔曼滤波算法,用电池电压来修正SOC,然后将修正后的SOC作为第二个卡尔曼滤波算法的输入,对安时积分法得到的SOC进行修正,最终得到双卡尔曼滤波算法SOC估计值。结合EKF算法和安时积分法的优点,能够得到更稳定、更精确的估计结果。
代码片段和文件信息
function A = DEKF(yp)
%Dual Extended Klman Filter (DEKF) for MVAR parameter estimation
%
% Arguments:
% A: Estimated time-varying parameters A = [A1 A2 ... Ar]
% y: (CH x LEN) data matrix
% p: Model order
%
%
% References:
% [1] E. A. Wan and A. T. Nelson 揘eural dual extended Kalman filtering: applications in speech
% enhancement and monaural blind signal separation?in Neural Networks for Signal Processing
% of the 1997 IEEE Workshop 1997 pp. 466-475.
%
% [2] E. A. Wan and A. T. Nelson “Dual Extended Kalman Filter Methods“ Kalman Filtering and
% Neural Networks pp. 123-173: John Wiley & Sons Inc. 2002.
%
% [3] S. Haykin Kalman Filtering and Neural Networks p.^pp. 304: John Wiley and Sons 2001.
%
%
% See also: ‘Linear Kalman Filter‘ MATLAB implementation written by Amir Omidvarnia available at:
% http://www.mathworks.com/matlabcentral/fileexchange/29127-linear-kalman-filter
%
% Written by: Amir Omidvarnia
%%
CH = size(y1); % Number of states (here CH = N)
LEN = size(y2); % Number of the multivariate observations
%% Initial parameters for Dual Extended Kalman Filter
%%%%% (EKF 1)
xh = zeros(CH*pLEN); % (EKF 1) Initial a-posteriori states (Mp x 1)
Px = .1*eye(CH*p); % (EKF 1) Initial a-posteriori state covariance matrix
R = eye(CH);
B = zeros(CH*pCH); % (EKF 1) Relationship between states and the process noise ( x(k) = F[x(k-1)] + B*v(k) )
B(1:CH:) = eye(CH); % (EKF 1) B = [I 0 ... 0]‘
%%%%% EKF 2
Pa = eye(CH*CH*p); % (EKF 2) Initial a-posteriori parameters covariance matrix
Ah = zeros(CH*pCH*pLEN); % (EKF 2) Initial a-posteriori parameters estimates (matrix form of ‘ah‘ plus identity matrices)
Ah(1:CH1:CH*pp) = .1*randn(CHCH*p); % (EKF 2) Initial a-posteriori parameters estimates (matrix form of ‘ah‘ plus identity matrices)
for r = 2 : p
Ah((r-1)*CH+1:r*CH(r-2)*CH+1:(r-1)*CH p) = eye(CH);
end
for r = 1 : p
xh((r-1)*CH+1:r*CHp+1) = y(:p-r+1);
end
%%%%% Mutual variables between EKF 1 and DEKF 2
Q = 10*eye(CH); % (EKF 12) Initial process noise covariance matrix
C = B‘; % (EKF 12) Measurement matrix (identity matrix C = B‘)
%% DEKF starts ....
for i = p+1 : LEN
[J_x J_A] = MVAR_JacCSD(Ah(::i-1)xh(:i-1)p); % xh(k) = F(A(k-1) * xh(k-1)) = Ah(k-1) * xh(k-1)
Ah_ = Ah(::i-1); % Ah_(k) = Ah(k-1)
%% EKF 1 ---> States estimation
%---------- Time Update (EKF1) ----------
Rv = B * Q * B‘; % According to Haykin‘s book
xh_ = Ah_ * xh(:i-1); % xh_(k) = A_h(k-1) * xh(k-1)
Px_ = J_x * Px * J_x‘ + Rv; % Px_(k) = A_h(k-1) * Px(k-1) * A_h(k-1)‘ + B * Q * B‘
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-11-21 19:18 DEKF_Mathworks\
文件 4675 2011-11-21 16:30 DEKF_Mathworks\DEKF.m
文件 2055 2011-11-21 16:05 DEKF_Mathworks\MVAR_JacCSD.m
文件 1949 2011-11-21 16:42 DEKF_Mathworks\TVMVAR_Estimation_sc
文件 1536 2011-11-21 04:32 license.txt
- 上一篇:电子工程师必备知识
- 下一篇:Blender 基础教程 (中文语音)
相关资源
- WebSocket 常用工具类
- 微信小程序—基于websocket的聊天框
- QT实现简单的局域网聊天工具
- 拦截网络socket的数据
- Xilinx Zynq SoC与嵌入式Linux设计实战指南
- 防止Socket传递汉字乱码
- openwrt路由器之前文件传输
- Linux上实现基于Socket_的多进程实时通
- TcpConnectDemo.zip
- 自己写的最方便的tcp客户端dll
- Linux Socket 基于GTK+聊天软件
- SocksCap V2.35 汉化破解版
- linux平台基于socket图形化网络聊天
- 计算机网络实验基于Socket编程
- BMC socflash efi工具
- FTP客户端程序
- WebSocket客户端测试工具:v4.20_免费版
- 虚拟币交易平台开发解决方案介绍-
- 全志基于asoc音频驱动编写
- 局域网聊天程序基于套接字
- 发送字符到指定的IP和端口
- UDP通信QT
- zw_socket最简单.zip
- 易语言Winsocket模块
- 华中科技大学计算机网络实验
- 基于扩展卡尔曼神经网络算法估计电
- 基于多线程和SOCKET聊天室V05
- ARM linux 和上位机windows10进行TCP/IP网络
- socket(网络套接字)传输图片
- 封装的非常完善的socket类,支持服务
评论
共有 条评论