由Matlab实现对系统的辨识,借助Matlab提供的引擎功能将数据采集子程序与系统辨识子程序合成一体,用VC++生成程序主界面。这种组合方式,既体现了VC++灵活多变,控制低端硬件简便的特点,又充分发挥了Matlab简单易用的开放式可扩展环境与功能强大的工具箱支持,可大大减轻辨识系统设计者的编程工作,同时也显著降低了辨识系统修改难度,提高了系统的适应性。另外,本文在第四部分应用实例中,在充分考虑液压控制系统特点的基础上,介绍了比较实用的数据采集和系统辨识方法。
硬件系统包括:(1)传感器,(2)数据采集卡及相应的端子板,(3)功率放大电路与滤波电路。其中,功率放大与滤波电路主要是考虑输入信号与采集卡的匹配以及对外部干扰信号的消除。
软件系统:软件控制系统作为测试辨识系统的核心,应该具有很强的灵活性,可调整性和可扩充性,这样才能体现本系统的特点,满足不断变化的实际需要。用VC++编写的程序具有很强的可扩充和可更改性,可以根据需要添加或者更改所编写的程序,运用灵活、方便,能够比较好地实现系统要求。同时,VC++对低端控制也有一定的优势。此外,由于本软件系统用于系统的测试,能否由计算机实时、准确的采集到系统的参数是关键,测试系统要能够精确完成瞬时控制,即可以每隔几毫秒采集一次数据并进行相应的数据处理。本软件控制系统采用了多媒体计时器,能够实现精确到1ms的实时数据采集。在此基础上,实现实时的数据显示与数据存储,以便试验后进一步的数据处理和数据辨识。同时,本系统采用Matlab完善的系统辨识方法,在VC++主程序中可直接调用Matlab编写的系统辨识部分子程序,依据所采集到的液压系统的输入输出数据对系统进行系统模型结构和参数的辨识。因此,本系统既体现了VC++开发软件可扩充、可更改性好的特点,又充分发挥了Matlab的辨识功能,便于操作。
辨识系统的功能介绍辨识系统工作流程图辨识系统总的工作流程图。系统工作时,首先在VC++主界面中进入数据采集系统获取系统数据,对这些数据进行预处理,将数据存储到计算机中;然后由主界面通过调用Matlab提供的引擎,进入Matlab辨识子系统;将由采集程序存储的数据导入Matlab工作空间,根据所获取的输入、输出数据,利用Matlab系统辨识工具箱进行系统阶次辨识;*后依据已辨识出的系统阶次进行系统参数辨识,得到系统参数并显示系统参数。在本系统中,在激活系统数据采集功能后,系统自动获取待测参数,对参数进行预处理并存储;系统自动通过Matlab引擎调用辨识子系统,用户只需选择需要辨识的数据将其导入workspace中,系统便可自动给出待测系统的参数辨识结果。