钟晓芸
(广西师范大学电子与信息工程学院,广西 桂林 541004)
信号与系统课程是电子信息类专业必修的重要专业课程之一,高等数学、电路和复变函数等是它的先修课程,而其后续课程则有数字信号处理和自动控制原理等[1-2]。该课程既是信号处理领域的入门课程,也包含后续课程学习及学生考取研究生的重要基础理论,其特点是概念抽象较难理解,数学推导复杂较难掌握,结果灵活较难运用。该课程的理论性和实践性都较强,其课程目标主要是使学生获得连续系统的时域分析和s域分析、离散系统的时域分析、傅里叶变换和系统的频域分析、拉普拉斯变换、系统状态动力学分析等,同时提高学生的实践能力。考虑到该课程涉及较多的现代数学知识,概念抽象,内容灵活,没有一定的养成训练和实验试探,相当多的同学会对其原理和方法感到难以正确把握,特别是对于课程中诸如时域分析和频域分析以及系统动力学特征等重要的知识点和较难掌握的内容,仅通过教师传统课堂的教学,容易造成学生们不愿意手工求解,或者对原理的运用不得要领。
为此,文章在课程实验的教学环节中有针对性地结合若干经过简化的科研前沿问题,引入若干Matlab仿真实验,引导学生通过计算机编程完成数值仿真,以便可视化地演示课程的一些基本原理及方法,达到科研实践与课程教学相互融合,增强学生在计算机软件的配合下正确把握课本知识,适当开展一定的科学探索的目的。实践表明,由于结合一些适当简化的科研前沿问题,加上Matlab程序设计语言非常简洁而高效,可以很快掌握,极大调动了学生自己进行课程实验的积极性。大家主动参与实验、自己试着编写M程序实现对所学基本原理和方法进行实验验证,包括对于文献上的一些可类比的新结果进行检验,有效地促进了学生创新能力的提升。客观上,由于Matlab软件不仅运算能力强大,而且计算精度特别高,其数值计算误差可以调节。这些特点使得Matlab 仿真结果能够真实地反映与理论分析的一致性,相比传统的课程实验教学具有明显的创新优势。通过这些实验,将有助于学生理解和运用现代信号与系统课程的基本原理和方法,获得利用Matlab仿真解决现代分数阶系统的初步科研训练。
基于科研实践与课程教学相互融合理念[3],结合Matlab仿真开展信号与系统课程实验的设计,有效打破了以在实验中大量使用硬件和常规问题为特征的传统实验教学的局限性,实验项目设计可以很容易地触及科研前沿内容,同时联系到连续或离散系统的时域仿真和频域分析等理论课程中的难点和重点,学生们通过编写M程序并自己上机进行测试分析,不仅增加了实验设计的前沿性和实验项目选择的灵活性,而且使得信号与系统的计算可以直观演示。这样,在开展信号与系统课堂理论学习的同时,通过计算机的配合,不仅学会Matlab 基本的编程技巧和实现方法,而且尝试将体现课程基本原理的重难点习题及通过将课本中的一些连续信号系统的状态方程进行分数阶推广。具体来说,我们结合若干课程实验内容的分数阶推广并且借用Matlab 程序和仿真演示,给学生布置一些应用Matlab语言的课程习题作为实验作业,不仅有利于提高学生的学习兴趣,培养学生综合运用计算机辅助分析实际控制系统的科研创新能力,而且有利于加深对信号与系统课程的基本原理、基本方法的理解。
在课程实验中应用Matlab 进行分数阶的信号和系统的可视化绘图,主要使用到plot,stairs,stem,jieyue,即阶跃函数等,以及一些简单的拉普拉斯变换及其逆变换的Matlab 求解命令laplace,ilaplace 的分数阶实现。
与经典的整数阶系统类似,简单分数阶非线性系统的稳定性分析方法最主要的也是根轨迹法和李雅普诺夫方法。根轨迹法主要通过雅可比迭代法分解法计算系统雅可比矩阵A的特征值λ(A),并且根据其分布情况判定系统的稳定性,如果涉及导数的阶为分数阶α∈(0,1],且arg(λ(A)) >πα/2 时,可判定系统是稳定的。李雅普诺夫方法主要通过判别满足PA+ATP=-Q的矩阵P的性质判断系统是否稳定。这些分析方法涉及Matlab 函数主要有:时域分析函数,比如,impulse.m、step.m 和lsim.m。频域分析分析函数,比如bode.m、nyquist.m和freqs.m等。其中,impulse 函数和step函数来求解LTI系统的冲激响应和阶跃响应数值解,而lsim 函数来对LTI 系统的零状态响应进行数值仿真。step(sys)函数既可以求解系统的单位阶跃响应,也可以绘制响应波形图,impulse(sys)函数既可以求解系统的单位冲激响应,也可以绘制响应的图形,其他M 函数还有mtimes.m、plus.m 和feedback.m等,还可以利用Simulink,通过仿真求解。
分数阶微积分诞生于三百年前,主要研究任意阶次的微分和积分的特性及其应用问题。分数阶控制系统已成为现代非线性控制理论的一个不可或缺的部分[4-5]。随着分数阶系统在现代实际工程领域的作用日益凸显,目前,分数阶非线性系统的研究已经引起了越来越多的学者的兴趣。其主要原因在于分数阶系统自身具有的特性,即分数阶系统具有记忆特性,这是整数阶系统所没有的,所以研究含有分数阶微分或积分环节的控制系统在工程应用中愈发重要。
本文以一个经简化后的工程问题中的分数阶的均匀RC线连接的电压源模拟电路[5]的波动为例,说明基于Matlab的教学实验的具体设计内容。图1显示的电路系统表示了电压源的内部传统电感L= 1H与一个非常长的(l≈∞)均匀RC传输线的连接。该电路的波动特征可由以下简单的微分方程表示-σ0u(t) +σ0e(t),其中,σ0=L-1C-1R, 0 <α≤2。如果α= 1.5,相应的系统的动力学特征在文献[5]中进行了详细研究,如果系统的阶α= 1.0,相应的整数阶系统就是熟悉的经典RC电路模型。在σ0= 0.1,e(t) = 10e-t的情形,由此实现传统的教材内容与前沿的分数阶系统研究适当结合起来。
图1 仿真系统电路图
通过如下的Matlab 语言:
可以得到均匀RC线连接的电压源模拟电路的仿真结果如图2(a) 所示。改变系统的设置,当σ0= 0.1,e(t) =cos(0.4t)时,该电压源模拟电路的时间波形如图2(b)所示。
图2 电路系统的动力学特征仿真波形图
本课程实验中电路系统的动力学特征仿真在计算机上模拟进行,同时将表征系统特征的微分方程的阶处理为一个在0到1之间取值的分数参数进行实验结果分析。参加实验的学生在教师的指导下,针对不同的分数阶取值选择,通过仿真波形图直观地发现分数阶的改变对于电路特征的影响。实验过程中,通过采用图1所示的仿真系统电路尽可能地降低实验复杂度,忽略了实验环境噪声以及随机性因素的影响,体现在系统的微分方程模型中,方程的右边关于电路状态变量的函数是简单的一次函数。鼓励学生在完成实验后,探索其他的方法进一步提高仿真精度,比如考虑对应的随机系统或者将高斯白噪声考虑进去,还可以进一步考虑模糊控制。结合实验教学让学生注意,在复杂而艰辛的科学研究过程中,对科学问题进行适当的简化无论是对于成功获得理论研究成果还是有效获得实验现象都是非常必要的。学生可以像科学家那样,结合自己的学习专业及自己感兴趣的方向,选择自己比较熟悉的课题,在一定的理论分析和结果预测的基础上,通过编写计算机程序,比如M 程序,进行计算机仿真研究。尝试按照科研论文的写作要求和格式,把课程的实验报告作为一篇基本符合投稿要求的教学科研论文进行撰写,不仅给出课程实验的结果,而且分析产生这些结果的内在机理及其表现形式,探讨这些实验结果与文献上已经发表的科研结果的联系与区别。同时,训练学生的科研语言表达能力,让他们通过图书馆期刊及CNKI 中国知网了解科技论文的写作格式和要求,激发他们初步了解和思考自己所学专业的相关科研前沿问题,有效提高科研意识,培养他们从课程内容出发通过引申、变通等方式发现科学问题、通过实验探索科学问题、通过理论分析解决科学问题的科研创新能力。在这个过程中,教师要及时收集学生对于课程实验的建议和实验反馈意见,进一步完善实验设计,把课程实验的教学质量提升到一个新的台阶。
科研实践与课程教学相互融合的实验教学设计是信号与系统课程实验教学改革,实现“专创融合”和“思创融合”的重要举措之一。本文提出基于科研实践与课程教学相互融合理念结合Matlab 的信号与系统课程实验教学设计,并给出一个典型实验说明科研前沿内容与课程基本理论内容如何结合有效进行Matlab 仿真的程序设计与用法。本文所述的分数阶电路系统的动力学特征仿真实验设计是“科研实践与课程教学相互融合”课程实验的典型案例之一。它使得同学们在大学本科阶段就接触到与自己专业相同或者相近的学科前沿的若干热点课题,比如,通过编写计算机M 程序和对比该实验电路的整阶及分数阶动力学特征,获得机会通过本科课程实验教学亲身体验一个相对完整的科研过程。这既有助于对《信号与系统》课程内容,特别是系统函数及系统的状态变量分析的深入理解和掌握,也对学生在计算机软件的配合下通过实验探索的体验促进初步的科研训练有重要作用。