MATLAB程序实现系统辨识与参数辨识

需积分: 34 169 下载量 147 浏览量 更新于2023-03-16 18 收藏 364KB DOC 举报
"该资源是关于系统辨识的MATLAB程序示例,主要涉及神经网络仿真和研究生系统辨识课程的实践作业。内容包括利用伪随机信号进行相关分析法辨识系统的脉冲响应函数,以及使用最小二乘算法和遗忘因子算法进行参数辨识,并对比不同方法的效果。具体涉及了AR模型和ARMA模型的辨识,通过表格展示辨识结果,并附有误差与相关性分析的图形展示。" 系统辨识是控制理论中的一个重要领域,其目的是通过观测系统的输入和输出数据来建立数学模型。在这个案例中,MATLAB被用作实现系统辨识的工具,涉及到的主要知识点包括: 1. **伪随机信号**:伪随机信号通常作为系统的输入,因为它可以提供均匀且无规律的数据流,有助于更准确地揭示系统的动态特性。在这种情况下,采用了伪随机二位式序列作为输入信号。 2. **相关分析法**:这是一种辨识系统脉冲响应的方法,通过计算输入信号与输出信号的互相关函数来估计系统的参数。在程序中,需要显示10个脉冲响应的结果,这有助于评估模型的性能。 3. **最小二乘算法(Least Squares Algorithm)**:这是一种常用的数据拟合方法,用于找出使所有数据点误差平方和最小的模型参数。在这个任务中,最小二乘法被用来辨识AR模型和ARMA模型的参数。 4. **遗忘因子算法**:在递推辨识中,遗忘因子用于平衡新数据与旧数据的影响,避免过早固定模型参数。遗忘因子取值为0.95,表示新数据的权重相对较高,而旧数据逐渐被“遗忘”。 5. **AR(AutoRegressive)模型**:是一种时间序列模型,描述了当前值与过去几个时刻值的关系。在这个例子中,AR模型的参数通过最小二乘法和遗忘因子算法辨识,并对比了两种方法的参数估值。 6. **ARMA(AutoRegressive Moving Average)模型**:结合了AR模型和MA(Moving Average)模型,考虑了当前值与过去值的线性组合以及过去的误差项。同样,使用最小二乘法和遗忘因子算法进行辨识,并给出了辨识结果。 7. **模型误差与相关性分析**:通过图形(图1和图2)展示了模型误差与输入信号的相关性,这是评估模型精度的重要手段。较小的误差和较高的相关性表明模型对实际系统行为的拟合较好。 8. **参数辨识**:在结构辨识的基础上,对模型的参数进行估计。这个过程涉及到了系统的阶数选择和参数优化,以使模型尽可能接近实际系统的行为。 这个MATLAB程序涵盖了系统辨识的基本流程,包括数据获取、模型选择、参数辨识和模型验证,对于学习和理解系统辨识概念具有很高的教学价值。