摘要:根据“系统辨识”课程的特点,对理论与实践相结合教学要求下的“系统辨识”课程教学改革问题展开了讨论,着重研究了MATLAB在系统辨识实验环节中的应用。MATLAB实验环节的互动性、主动性活跃了课堂气氛,调动了学生积极性。教学效果证明,学生在应用该软件的过程中,易于掌握算法的本质,巩固对算法的理解,从而提高教学质量。
关键词:系统辨识;MATLAB;教学改革
作者简介:刘娣(1983-),女,江苏盱眙人,南京工程学院自动化学院,讲师;许有熊(1980-),男,福建晋江人,南京工程学院自动化学院,讲师。(江苏 南京 211167)
基金项目:本文系南京工程学院引进人才基金项目(项目编号:121108100004)、南京工程学院教学改革项目(项目编号:JG201116)的研究成果。
中图分类号:G642.423 文献标识码:A 文章编号:1007-0079(2013)01-0139-02
一、课程特点及教学要求
1.课程特点
“系统辨识”是自动化及相关专业高年级本科生和研究生的专业课程,其理论性强、应用范围广、算法种类多。学生在初次接触和学习该课程时往往会遇到一定的困难,一方面,各种辨识算法的理论推导涉及较多的公式,若教师的教学方法不当,可能会降低学生对该课程的学习积极性,阻碍其对辨识算法的理解;另一方面,即使学生掌握了各种算法的理论思想,若不能直观有效地实现各种算法,依然不能从根本上理解系统辨识的涵义,进而无法将辨识算法应用到实际系统中。
由此可见,“系统辨识”课程兼具理论性与实践性的特点。学生不仅要从理论上理解算法的意义,更需要通过实践环节完善对算法的理解。MATLAB仿真软件地有效利用加快了这一学习过程,通过仿真实例完成对研究对象的结构辨识及参数辨识,可使学生从总体上理解辨识概念,即如何从输入、输出数据中提取研究对象的数学模型。[1]
2.教学要求
针对“系统辨识”课程的特点,在教学过程中,尤其是针对本科生的教学,教师应做到理论上深入浅出,算法实现上直观易行。培养学生的学习兴趣是首要的教学要求,笔者在教学过程中发现,学生往往会因抽象化的理论知识及大量的公式推导对一些算法望而却步,先入为主的排斥对算法的消化吸收,因此,理论教学应以引导为主,不要求学生独立推导书中给出的结论,只要学生能看懂、理解推导过程即可;根据研究对象的不同特点,选用合适的辨识算法获得相应的数学模型是教学的根本要求,教师借助仿真软件直观、快速地实现这一过程能帮助学生将算法原理与应用结合起来,真正使其做到学以致用,也能让学生更加深入地理解各种辨识算法,因此,实验环节在教学过程中的作用至关重要,加强实验环节的教学不仅能使学生在初学阶段受益匪浅,也能为以后的深入学习打下坚实基础。
二、MATLAB基本功能
美国Math Works公司于1967年开发了Matrix Laboratory(MATLAB)软件包,经不断地更新和扩充,该软件的应用范围越来越广。其高效的数值计算及符号计算功能帮助用户从繁重的数学运算中解脱出来;完备的图形处理功能实现了可视化操作;友好的用户界面及自然化语言方便了用户的学习和使用;目前,在系统建模、自动控制、语言处理、信号分析、图像处理、优化设计等领域的实用工具箱为用户提供了方便的处理工具,极大地丰富了MATLAB内容。
MATLAB的系统辨识工具箱(System Identification Toolbox)是进行模型辨识的有力工具,[2]其主要功能有:各种模型类的建立、参数和非参数模型地辨识、参数估计、模型验证等。在教学过程中教师可以基于辨识工具箱简单介绍其中涉及到的函数及辨识算法的实现方法,除使用系统辨识工具箱进行模型辨识外,还可指导学生采用M文件进行原始编程。这样,学生可对具体算法的实现过程有更直观地理解,且这种原始编程灵活性高,避免了工具箱固定模式地限制,不同系统、不同算法间的程序移植也较为方便。此外,教师还可将MATLAB与其他编程软件有机结合完成系统辨识。[3]
三、“系统辨识”实验教学改革方案
“系统辨识”是理论性较强的学科,在很多学校只设置了理论教学内容,对于研究生教学来说,学生的理论研究水平达到了一定的高度,应将理论研究作为教学的侧重点,而对于一般的本科生教学,则需要在理论研究的基础上增加实验环节以加强学生对理论知识的理解。
1.实验时间及内容设置
MATLAB软件能在短时间内帮助学生对辨识算法有直观的感性认识。实验时间安排应与课堂理论教学紧密相连,这样可及时巩固所学的内容,加深对算法的理解,理论课时与实验课时穿插交替进行也在一定程度上降低了课程的枯燥性,提高了学生的学习兴趣。
在实验内容设置方面,可由浅入深安排两到三个实验,如MATLAB环境下基本的伪随机信号的生成方法、最小二乘参数辨识方法(包括最小二乘批处理法、最小二乘递推算法、慢时变参数最小二乘递推算法、带遗忘因子的最小二乘递推算法等)、极大似然参数估计法、系统结构估计方法等。以伪随机信号生成程序为例,教师可给出常用的四级移位寄存器生成伪随机信号的程序,然后指导学生对M文件进行加工处理,使得其更具有通用性,如可任意选择移位寄存器的级数和反馈通道,这样就避免了学生在实验课上只是简单地运行已有程序的情况,之所以要先给出一些相关的程序,是为了引导学生学习MATLAB编程的方法,否则学生可能完全不知道如何着手。再比如在采用最小二乘法辨识系统参数时,教师可指导学生同时进行输出观测值含白噪声和不含白噪声情况下的辨识,并将辨识结果与理论课上的结论做比较,这样就达到了实验教学的目的。
2.课程考核方式改革
课程考核分大作业和实验两个部分,为强调实验环节的重要性,应提高实验环节在课程考核中的比例。实验环节的考核可分为实验操作与实验报告两部分,在实验操作部分,不同于传统的实际系统实验操作,考虑到设备的维护及学生的安全性,学生只需完成固定内容的实验,最终的成绩评定也往往区别不大,这里采用在MATLAB环境下完成实际系统的仿真实验,实验内容可根据需要灵活设置,在完成基础实验的前提下,有能力的同学可完成扩展实验内容,如对同一问题采用不同的辨识方法进行仿真实验,并对仿真结果进行比较,这样不仅使学生的能力得到了锻炼,教师也能依据此对学生做出更客观正确的成绩评定。实验报告应与理论课内容相结合,根据算法和仿真结果对所学习的内容进行总结。
3.教学实例
在实验开始之前,教师有必要将算法原理重新讲解一遍以帮助学生回忆理论课中的内容。在此以最小二乘递推算法为例利用M文件进行编程。辨识的基本步骤可概括为:选定代表研究对象的数学模型类;给系统加试验信号并记录输入输出数据(或利用系统正常运行的输入输出数据);对模型参数进行辨识;模型的有效性检验。如图1所示。
最小二乘递推算法的基本思想是:新的估计值旧的估计值修正项,根据获得的新的观测数据,逐步修正估计值,相比于批处理算法,其计算量小,运算速度快,可进行在线辨识。由相关文献[4]可知,递推算法的迭代公式为:
(1)
其中,,。
教师应对其中参数的设置逐个介绍,包括一些常用的参数取值方法,比如输入初值u0、输出初值y0取零向量,待辨识参数θ初值取零向量或充分小的正实向量,输入信号u、噪声信号w可选用方差一定的白噪声信号等。MATLAB实现的最小二乘递推算法程序如下:
K=P*phi/(1+phi"*P*phi);%P(0)=αI,α为充分大的正实数,I为单位阵
para_est(:,l)= para+K*(y(l)-phi"* para);%y(l)为系统输出数据
P=(eye(n+m+1)-K*phi")*P;%完成矩阵P的递推
para=para_est(:,l);%l=1:L,根据设定的仿真长度完成参数的更新,生成参数矩阵
考虑如下的二阶线性模型,[4]采用最小二乘递推算法进行参数估计。
(2)
实际系统中,a1=1.4,a2=-0.5,b1=0.6,b2=-0.6,e(k)为方差为0.1的白噪声。取方差为1的白噪声作为输入信号,利用plot函数画出参数估计曲线如图2所示,参数估计结果与参数真值趋于一致,估计结果满足要求。
四、结束语
结合“系统辨识”课程的特点及教学要求,开展“系统辨识”课程的实验教学有重要意义。有效利用MATLAB仿真软件实现各种辨识算法有助于学生更加深刻地理解算法的理论意义;直观的仿真结果能激发学生的学习兴趣,积极将各种算法应用于实际系统中,从而达到理论学习与实践学习相互促进的教学效果。应用MATLAB仿真软件开展实验教学在一定程度上节约了教学成本,且内容丰富、灵活性高、可操作性强,建立完善的MATLAB仿真实验平台能大大提高教学质量,但这需要教师在教学过程中不断地积累经验。
参考文献:
[1]庞中华,崔红.系统辨识与自适应控制MATLAB仿真[M].北京:北京航空航天大学出版社,2009.
[2]倪博溢,萧德云.MATLAB环境下的系统辨识仿真工具箱[J].系统仿真学报,2006,18(6):1493-1496.
[3]王浩宇,张云生,张果.系统辨识及自适应控制系统算法仿真实现[J].控制工程,2008,(S2):77-80.
[4]王秀峰,卢桂章.系统建模与辨识[M].北京:电子工业出版社,2004.
(责任编辑:李杰)
相关热词搜索: 教学改革 辨识 课程 实验 系统