致 谢
通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题
全面系统的锻炼,使我在MATLAB软件及其应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下了良好的基础。
通过这次毕业设计,我不仅将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真实的东西。在整个毕业设计过程中,我花费了大量的时间和精力,更重要的是,我在学会创新的基础上,同时还懂得合作精神的重要性,学会了与他人合作。我在张老师的精心指导和严格要求下,获得了丰富的理论知识,极大的提高了实践能力,信号领域这对我今后进一步学习图像处理方面的知识有极大的帮助。在此,衷心感谢老师以及许多同学的指导和支持。我会继续努力的学习,大胆创新,使自己得到更大的提升。
大学学习生活即将结束,回顾这几年来的学习生活,感受颇深,最重要的是收获丰厚。在论文的写作过程中,有很多困难,无论是在开始的理论的学习阶段,还是在论文的选题、资料查询、开题、研究和撰写的每一个环节,都没有离开过老师的指导和同学的帮助。借此机会我向导师和授课老师表示衷心的感谢!同时,我要感谢各位帮助我的同学、感谢他们给与我的帮助,他们为我撰写论文提供了不少的建议和帮助。在此感谢我的指导老师张老师,谢谢你的教诲,我将终生不忘。
19
参考文献
[1] 张洁.基于粒子滤波算法的电动汽车剩余电量动态估计研究[D].北京:北京交通大 学,2012.
[2] 田晓辉.锂离子电池SOC预测方法应用研究[D].河南:河南科技大学,2009. [3] 孙骏,李宝辉,薛敏.电动汽车SOC估算方法[J].汽车工程师,2011,32(1):25-27. [4] 朱志宇.粒于滤波算法及其应用[M].北京:科学技术出版社,2010:13-15,28. [5] 胡十强,敬忠良.粒子滤波原理及应用[M].北京:科学技术出版社,2008:18-21,31. [6] 李孟敏.改进粒子滤波算法及其在目标跟踪中应用研究[D].合肥:合肥工业大学,2011. [7] 贺本林.锂离子电池的新研究[D].兰州:兰州大学,2008. [8] 郭炳坤.锂离子电池[M].湖南:中南大学出版社,2005:11-13,21.
[9] 黄可龙.锂离子电池原理与关键技术[M].北京:化学工业出版社,2001:15-18,14. [10] Gordon N,Salmond D. Novel approach to nonlinear/non-Gaussian Bayesian state estimation[J].Proceedings of Institute Electric Engineering. 1993, 140(2):107-113.
[11] David Linden,Thomas B,Reddy,汪继强.电池手册[原著第三版][M].北京:化学工业出版社,2007: 723-726,31.
[12] Hongwen He,Rui Xiong,Xiaowei Zhang,Fengchun Sun,JinXin Fan.State-of-Charge Estimation of the Lithium-Ion Battery Using an Adaptive Extended Kalman Filter Based on an Improved
Thevenin
Model[J].IEEE
Transactions
on
vehicular
technology,2011,
60(4):1461-1469.
[13] 刘卫国.MATLB程序设计教程[M].北京:中国水利水电出版社,2005:138-139,21. [14] 杨小军,潘,王睿,张洪才.粒子滤波进展与展望[J].控制理论与应用,2006,23(2): 261-265.
[15] 皇丰辉.基于粒于滤波器的故障诊断研究[D].江苏:江苏科技人学,2008.
20
附 录
程序代码:
x = 0; % 初始状态
R = input('方差R的值: ');; % 测量噪声协方差 Q = input('方差Q的值: '); % 过程状态协方差 tf = 100; % 模拟长度
N = 100; % 粒子滤波器中的粒子个数 xhat = x; P = 2;
xhatPart = x;
%粒子滤波器初期 for i = 1 : N
xpart(i) = x + sqrt(P) * randn; end
xArr = [x];
yArr = [x^2 / 20 + sqrt(R) * randn]; xhatArr = [x]; PArr = [P];
xhatPartArr = [xhatPart]; close all; for k = 1 : tf % 模拟系统
x = 0.5 * x + 25 * x / (1 + x^2) + 8 * cos(1.2*(k-1)) + sqrt(Q) * randn; y = x^2 / 20 + sqrt(R) * randn; % 粒子滤波器 for i = 1 : N
xpartminus(i) = 0.5 * xpart(i) + 25 * xpart(i) / (1 + xpart(i)^2) + 8 * cos(1.2*(k-1)) + sqrt(Q) * randn; ypart = xpartminus(i)^2 / 20;
vhat = y - ypart;% 观测和预测的差
q(i) = (1 / sqrt(R) / sqrt(2*pi)) * exp(-vhat^2 / 2 / R); end
% 平均每一个估计的可能性 qsum = sum(q); for i = 1 : N
q(i) = q(i) / qsum;%归一化权值 end
21
% 重采样 for i = 1 : N u = rand; qtempsum = 0; for j = 1 : N
qtempsum = qtempsum + q(j); if qtempsum >= u
xpart(i) = xpartminus(j); break; end end end
xhatPart = mean(xpart);
% 在图片中表示出数据 xArr = [xArr x]; yArr = [yArr y];
xhatArr = [xhatArr xhat]; PArr = [PArr P];
xhatPartArr = [xhatPartArr xhatPart]; end
t = 0 : tf;
figure;
plot(t, xArr, 'b.', t, xhatPartArr, 'k-');
set(gca,'FontSize',10); set(gcf,'Color','yellow'); xlabel('time step'); ylabel('state'); legend('真实值', 'SOC估计值');
xhatRMS = sqrt((norm(xArr - xhatArr))^2 / tf);
xhatPartRMS = sqrt((norm(xArr - xhatPartArr))^2 / tf);
disp(['SOC估计误差均方值 = ', num2str(xhatPartRMS)]);
22