直流电机的系统辨识——LZW

前言

  本文采用基于最小二乘的线性辨识方法和基于Nonlinear ARX模型的非线性辨识方法对图1所示的直流电机进行系统辨识,并分别设计H∞控制器,分析比较控制效果。
直流电机的系统辨识——LZW_第1张图片

图1 实验器材

目录

  • 前言
  • 一、数据采集
  • 二、系统辨识
    • 1.最小二乘法(线性辨识)
    • 2.Nonlinear ARX(非线性辨识)
      • (1)去除非线性模块
      • (2)加入非线性模块
  • 三、H∞控制器比较
  • 总结


一、数据采集

  给电机输入幅值为60RPM的PRBS信号,采样周期为0.01s,共采集2000组数据。前1000组数据用于模型估计、训练,后1000组用于结果验证,输入输出数据如下。
直流电机的系统辨识——LZW_第2张图片

图2 直流电机输入输出数据
  上述数据频谱如下所示:

直流电机的系统辨识——LZW_第3张图片

图3 数据频谱
  由输入输出频谱可以看出,输入信号频率范围从0.1-50Hz。随着输入信号频率增加,输出信号逐渐衰减,说明该系统有一定带宽。

二、系统辨识

1.最小二乘法(线性辨识)

  设SISO线性时不变系统ARX数学模型为
在这里插入图片描述
  即
在这里插入图片描述
  假设该电机系统为5阶,即有10个未知参数,通过最小二乘法求出该系统为
在这里插入图片描述
  该系统Bode图为
直流电机的系统辨识——LZW_第4张图片

图4 直流电机Bode图
  从电机的Bode图可以看出,电机的幅频响应与输入输出数据频谱基本一致。
  将基于最小二乘法辨识的模型带入验证集验证。

直流电机的系统辨识——LZW_第5张图片

图5 系统验证
  该模型有76.59%的拟合度。

2.Nonlinear ARX(非线性辨识)

直流电机的系统辨识——LZW_第6张图片

图6 Nonlinear ARX模型

ARX模型

  ARX 模型全称带外部输入的自回归 (Autoregressive with Extra Input)。模型结构方程:

在这里插入图片描述

  u(t),y(t),e(t)分别是输入、输出和噪声。y(t-1),y(t-2),···,y(t-na),u(t),u(t-1),···,u(t-nb-1)是原始输入和输出的一些延迟项,它们可以看作 y(t) 的回归量 。系数矩阵 -a1,···bn是作用在这些回归量上的权重。线性 ARX 的输出 y(t) 是这些回归量的线性权重加和。

Nonlinear ARX 模型

在这里插入图片描述

  y(t)与回归量之间的关系不是线性映射,而是一个非线性的映射 F,F可以选择不同的非线性函数,如小波网络,树分类,sigmoid 网络。

计算输出y(t)的步骤

1.根据当前输入 u(t)、历史输入 u(t-1)···、历史输出 y(t-1)··· 计算这些回归量 (regressor) 的值。
2.使用输出函数(同时包含线性和非线性两部分)将前面计算的回归量regressor 映射到输出。

(1)去除非线性模块

在这里插入图片描述

图7 线性ARX模型
  该模型中,设电机系统为两阶,即
y=a1*u1(t-1)+a2*u2(t-2)+b1*y1(t-1)+b2*y2(t-2)

  系统辨识结果:
在这里插入图片描述
  模型验证:
直流电机的系统辨识——LZW_第7张图片

图8 线性ARX模型验证
  不加入非线性模块的Nonlinear ARX模型系统辨识拟合度为76.55%。

(2)加入非线性模块

在这里插入图片描述

图9 非线性ARX模型
  在线性ARX模型基础上加入非线性模块,此处Nonlinear Block采用小波网络。小波是一种持续时间有限的波形,其平均值为零,范数不为零。小波变换主要通过伸缩和平移实现多尺度细化,突出所要处理的问题细节,有效提取局部信息、瞬态行为。
  模型验证:

直流电机的系统辨识——LZW_第8张图片

图10 非线性ARX模型验证
  可以看出,加入非线性模块后模型拟合度为91%,比原来提升15%左右。

三、H∞控制器比较

  基于上述两种方法辨识的结果,通过H∞算法用相同的加权函数合成控制器,阶跃响应如下:
直流电机的系统辨识——LZW_第9张图片

图11 阶跃响应
  可以看出,基于Nonlinear ARX辨识设计的控制器阶跃响应好于基于最小二乘法辨识设计的控制器。(超调量更小,响应时间更短。)

总结

在两种系统辨识方法中,
从模型验证来说,Nonlinear ARX模型输出与实际输出吻合率高达91%。
由阶跃响应来说,由Nonlinear ARX模型算出的控制器控制电机阶跃响应震荡最小。
综合来说,Nonlinear ARX对该电机系统辨识效果最好。

你可能感兴趣的:(算法,嵌入式硬件)