永磁同步电机参数辨识算法--递推最小二乘法辨识

一、原理介绍

最小二乘法大约是1795年高斯在其著名的星体运动轨道预报研究工作中提出的。后来,最小二乘法成为了估计理论的基石。最小二乘法由于原理简明、收敛较快、易于编程实现等特点,在系统参数估计中应用相当广泛。

其基本原理为:

改写为递推的形式的最小二乘法估计则如下:

在启动上述递推公式时需要确定初值P(0),θ(0),一般直接令

式中,a为充分大的正实数,ε为零向量或充分小的正实向量

递推最小二乘法算法步骤

(1)设置初始值P(0),θ(0),输入初始数据,

(2)采样当前y(k)和∮(k);

(3)利用递推形式的最小二乘公式依次计算K(k)、P(k)、θ(k);

(4)k→k+1,返回第(2)步,继续循环。

网上有很多具体实现方法,比如

但是这种单用电机d轴电压公式辨识两个电气参数的方法,在实际搭建过程中会出现两个参数无法收敛到实际值的情况,我个人理解中这两个参数任意变化,只要满足这个等式,那么就是对的,那怎么能确定两个值收敛到实际值呢,如果一个增大一个减小,最后应该等式也是成立的。

所以在本仿真中,采用分布辨识的方法,即固定等式中其他参数,辨识一个参数,依次辨识出所有参数,这样意味着在不清楚电机部分电气参数的情况下,无法从零辨识出所有参数,更加适用于已经离线辨识了电气参数,用在线辨识对容易变化的参数进行辨识,毕竟电气参数一般情况下也不会突变,比如电阻随着温度变化而变化,电感随电流饱和等。

那下面分别给出SPMSM辨识电阻、电感、转子磁链,以及IPMSM辨识电阻、dq轴电感、转子磁链的仿真波形。

二、仿真模型

在MATLAB/simulink里面验证所提算法,搭建MRAS辨识SPMSM电阻、电感和转子磁链仿真。采用和实验中一致的控制周期1e-4,电机部分计算周期为1e-6。仿真模型如下所示:

 

2.1 电阻辨识

2.2 电感辨识

2.3 转子磁链辨识

算法控制步长为1e-4,电阻辨识精度97.6%,电感辨识精度99%,转子磁链辨识精度99.8%

接下来,在MATLAB/simulink里面验证所提算法,搭建MRAS辨识IPMSM电阻、dq轴电感和转子磁链仿真。采用和实验中一致的控制周期1e-4,电机部分计算周期为1e-6。仿真模型如下所示:

2.4 电阻辨识

 

2.5 dq轴电感辨识

d轴电感

q轴电感

2.6 转子磁链辨识

算法控制步长为1e-4,电阻辨识精度99.8%,d轴电感辨识精度98%,q轴电感辨识精度99.8%,转子磁链辨识精度99.9%

总体来说,RLS参数辨识实现并不复杂,如果不加遗忘因子,基本不需要调试,代入即可运行。个人感觉RLS类似一种开环估计,并且收敛速度较慢。本次仿真并无直接参考文献,更多是验证对RLS的理解。

### 使用最小二乘法进行永磁同步电机参数辨识的仿真 #### 永磁同步电机参数辨识概述 为了提升永磁同步电机(PMSM)的控制性能,采用最小二乘法(Least Squares Method, LSM)可以在转子同步旋转坐标系下对电机参数进行在线辨识。该方能够在MATLAB/Simulink环境中构建PMSM参数辨识系统的仿真模型,并验证其有效性和准确性[^1]。 #### 最小二乘法原理简介 最小二乘法是一种用于估计线性回归模型系数的方,通过最小化实际测量值与预测值之间的平方差来求解最优参数向量。对于PMSM而言,这种方可以用来估算定子电阻\(R_s\)、直轴电感\(L_d\)、交轴电感\(L_q\)等重要电气特性参数[^2]。 #### 递推最小二乘的应用 考虑到实时性的需求,通常会使用递推形式的最小二乘法(Recursive Least Square, RLS),它允许随着新样本的到来不断更新参数估值而无需重新处理整个历史数据集。这使得RLS非常适合应用于动态变化环境下的在线参数识别场景中[^3]。 #### MATLAB/Simulink中的具体实现步骤 在MATLAB/Simulink平台内建立如下结构: - **信号发生器**:生成激励信号作为输入给被测系统; - **待估参数初始化**:设定初始猜测值并定义遗忘因子以调整过去信息的重要性程度; - **状态空间建模**:根据已知物理规律描述目标对象的行为模式; - **残差计算单元**:对比理论输出与实测反馈间的差异; - **增益矩阵更新机制**:利用当前时刻的信息修正之前的估计结果; - **最终输出显示区**:呈现最新获得的最佳拟合曲线及其对应的参数集合。 以下是部分核心代码片段展示如何设置Simulink中的RLS算法模块: ```matlab % 初始化变量 theta_hat = zeros(n, 1); % 待估计参数初值设为零向量 P = eye(n)*large_number; % 协方差阵取较大数值表示不确定性很高 lambda = forgetting_factor; % 遗忘因子介于0到1之间,默认接近但小于1 while t <= T_final y(t) = ... ; % 获取t时刻的真实响应 phi(t,:) = [...]; % 构造t时刻的状态特征列向量 K = P*phi'/(lambda + phi'*P*phi'); % 计算Kalman Gain theta_hat = theta_hat + K*(y(t)-phi*theta_hat); I = eye(size(phi)); P = (I-K*phi')/lambda * P; end ``` 上述过程展示了完整的基于递推最小二乘永磁同步电机参数辨识流程,在理想条件下可以获得较高的辨识精度和较快的收敛速度[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值