发明名称 基于扩展卡尔曼粒子滤波算法的动力电池SOC估计方法
摘要 本发明公开了一种基于扩展卡尔曼粒子滤波算法的动力电池SOC估计方法,现有方法存在不能满足在线估计,累计误差大,发散等问题。本发明方法结合扩展卡尔曼滤波和粒子滤波方法,采用扩展卡尔曼滤波来产生重要密度函数,避免粒子退化现象,提高估计精度。本发明方法可以有效的估计电池SOC,精度较高,而且适用于各种电池SOC估计。
申请公布号 CN103472398B 申请公布日期 2016.01.20
申请号 CN201310361928.8 申请日期 2013.08.19
申请人 南京航空航天大学 发明人 周晓凤;赵又群;臧利国
分类号 G01R31/36(2006.01)I 主分类号 G01R31/36(2006.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 许方
主权项 基于扩展卡尔曼粒子滤波算法的动力电池SOC估计方法,其特征在于,包括如下步骤:步骤1,建立电池电量数学模型:动力电池电化学复合模型的状态空间方程:<img file="FDA0000799476890000011.GIF" wi="740" he="113" />动力电池电化学复合模型的观测方程:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>y</mi><mi>k</mi></msub><mo>=</mo><mi>g</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><msub><mi>i</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>v</mi><mi>k</mi></msub><mo>=</mo><msub><mi>K</mi><mn>0</mn></msub><mo>-</mo><msub><mi>Ri</mi><mi>k</mi></msub><mo>-</mo><mfrac><msub><mi>K</mi><mn>1</mn></msub><msub><mi>x</mi><mi>k</mi></msub></mfrac><mo>-</mo><msub><mi>K</mi><mn>2</mn></msub><msub><mi>x</mi><mi>k</mi></msub><mo>+</mo><msub><mi>K</mi><mn>3</mn></msub><mi>l</mi><mi>n</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>K</mi><mn>4</mn></msub><mi>l</mi><mi>n</mi><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>x</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>v</mi><mi>k</mi></msub><mo>,</mo></mrow>]]></math><img file="FDA0000799476890000012.GIF" wi="1323" he="132" /></maths>动力电池电化学复合模型的状态空间方程以及观测方程分别对k时刻动力电池荷电x<sub>k</sub>、离散状态k时刻充放电电流i<sub>k</sub>求偏导得到电池系统离散空间模型:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>A</mi><mi>k</mi></msub><mo>&CenterDot;</mo><msub><mi>x</mi><mi>k</mi></msub><mo>+</mo><msub><mi>B</mi><mi>k</mi></msub><mo>&CenterDot;</mo><msub><mi>i</mi><mi>k</mi></msub><mo>+</mo><msub><mi>w</mi><mi>k</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>y</mi><mi>k</mi></msub><mo>=</mo><msub><mi>C</mi><mi>k</mi></msub><mo>&CenterDot;</mo><msub><mi>x</mi><mi>k</mi></msub><mo>+</mo><msub><mi>D</mi><mi>k</mi></msub><mo>&CenterDot;</mo><msub><mi>i</mi><mi>k</mi></msub><mo>+</mo><msub><mi>v</mi><mi>k</mi></msub></mrow></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000799476890000013.GIF" wi="672" he="161" /></maths>其中,<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>A</mi><mi>k</mi></msub><mo>=</mo><mfrac><mrow><mo>&part;</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><msub><mi>i</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow><mrow><mo>&part;</mo><msub><mi>x</mi><mi>k</mi></msub></mrow></mfrac><mo>=</mo><mn>1</mn><mo>,</mo></mrow>]]></math><img file="FDA0000799476890000014.GIF" wi="521" he="149" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>C</mi><mi>k</mi></msub><mo>=</mo><mfrac><mrow><mo>&part;</mo><mi>g</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><msub><mi>i</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow><mrow><mo>&part;</mo><msub><mi>x</mi><mi>k</mi></msub></mrow></mfrac><mo>=</mo><mfrac><msub><mi>K</mi><mn>1</mn></msub><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mfrac><mo>-</mo><msub><mi>K</mi><mn>2</mn></msub><mo>+</mo><mfrac><msub><mi>K</mi><mn>3</mn></msub><msub><mi>x</mi><mi>k</mi></msub></mfrac><mo>-</mo><mfrac><msub><mi>K</mi><mn>4</mn></msub><mrow><mn>1</mn><mo>-</mo><msub><mi>x</mi><mi>k</mi></msub></mrow></mfrac><mo>,</mo><msub><mi>B</mi><mi>k</mi></msub><mo>=</mo><mfrac><mrow><mo>&part;</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><msub><mi>i</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow><mrow><mo>&part;</mo><msub><mi>i</mi><mi>k</mi></msub></mrow></mfrac><mo>=</mo><mfrac><mrow><mo>-</mo><mi>&eta;</mi><mi>&Delta;</mi><mi>t</mi></mrow><mi>C</mi></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000799476890000015.GIF" wi="1711" he="150" /></maths><maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>D</mi><mi>k</mi></msub><mo>=</mo><mfrac><mrow><mo>&part;</mo><mi>g</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><msub><mi>i</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow><mrow><mo>&part;</mo><msub><mi>i</mi><mi>k</mi></msub></mrow></mfrac><mo>=</mo><mo>-</mo><mi>R</mi><mo>,</mo></mrow>]]></math><img file="FDA0000799476890000016.GIF" wi="476" he="146" /></maths>x<sub>k+1</sub>为k+1时刻动力电池荷电,y<sub>k</sub>是离散状态k时刻电池工作电压,f(x<sub>k</sub>,i<sub>k</sub>)、g(x<sub>k</sub>,i<sub>k</sub>)分别为非线性状态转移函数和非线性测量函数,w<sub>k</sub>、v<sub>k</sub>为k时刻互不相关的系统噪声,η为库仑系数,充电时η=1,放电时η&lt;1,Δt为采样周期;C为电池标称容量,R为电池内阻;K<sub>0</sub>、K<sub>1</sub>、K<sub>2</sub>、K<sub>3</sub>、K<sub>4</sub>为电池模型参数,通过动力电池充放电试验数据,利用最小二乘法辨识得到电池模型参数K<sub>0</sub>、R、K<sub>1</sub>、K<sub>2</sub>、K<sub>3</sub>、K<sub>4</sub>,进而可求得k=0时的A<sub>k</sub>、B<sub>k</sub>、C<sub>k</sub>、D<sub>k</sub>;步骤2,利用扩展卡尔曼粒子滤波算法预测动力电池SOC:步骤2‑1,在初始采样时刻,由初始概率分布随机产生粒子集;步骤2‑2,在当前采样时刻内,由扩展卡尔曼滤波算法得到当前时刻每个粒子状态量右侧估计值以及协方差右侧估计值;步骤2‑3,计算当前时刻各粒子权重,归一化当前时刻粒子权重,由归一化的当前时刻粒子权重得到有效粒子数,当有效粒子数目小于粒子数目阈值时,返回步骤2‑1;否则,输出当前时刻电池荷电状态更新值;步骤2‑4,进入下一采样时刻,重复步骤2‑2至步骤2‑3。
地址 210016 江苏省南京市白下区御道街29号