首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

永磁同步电机的EKF观测器滤波控制

后端 56.59KB 14 需要积分: 1
立即下载

资源介绍:

针对《现代永磁同步电机控制》一书中,扩展卡尔曼滤波算法仿真模型的搭建
function [sys,x0,str,ts] = EKF(t,x,u,flag) %主函数 %主函数包含四个输出: % sys数组包含某个子函数返回的值,返回值取决于flag的值。例如flag=3,sys则包含了S-function的输出。 % x0为所有状态的初始化向量,除flag=0外,x0被忽略 % str是保留参数,总是一个空矩阵(M文件s-function 必须设置该元素为空矩阵) % Ts返回系统采样时间(一个两列矩阵,包含块的采样时间和偏移量) %函数的四个输入分别为采样时间t、状态x、输入u和仿真流程控制标志变量flag %输入参数后面还可以接续一系列的附带参数simStateCompliance switch flag case 0, [sys,x0,str,ts]=mdlInitializeSizes; case 1, sys=mdlDerivatives(t,x,u); case 2, sys=mdlUpdate(t,x,u); case 3, sys=mdlOutputs(t,x,u); case 4, sys=mdlGetTimeOfNextVarHit(t,x,u); case 9, sys=mdlTerminate(t,x,u); otherwise DAStudio.error('Simulink:blocks:unhandledFlag', num2str(flag)); end %主函数结束 %下面是各个子函数,即各个回调过程 function [sys,x0,str,ts]=mdlInitializeSizes %初始化回调子函数 %提供状态、输入、输出、采样时间数目和初始状态的值 %初始化阶段,标志变量flag首先被置为0,S-function首次被调用时该子函数首先被调用, %且为S-function模块提供下面信息 %该子函数必须存在 global P0; sizes = simsizes; %生成sizes数据结构,信息被包含在其中 sizes.NumContStates = 0; %连续状态数,缺省为0 sizes.NumDiscStates = 4; %离散状态数,缺省为0 sizes.NumOutputs = 2; %输出个数,缺省为0 sizes.NumInputs = 4; %输入个数,缺省为0 sizes.DirFeedthrough = 0; %是否存在直馈通道,1存在,0不存在 sizes.NumSampleTimes = 1; %采样时间个数,至少是一个 sys = simsizes(sizes); %返回size数据结构所包含的信息 x0 = [0 0 0 0]; P0 = diag([0.1 0.1 180 0.1]); %设置初始状态 str = []; %保留变量置空 ts = 1e-6; %设置采样时间 function sys=mdlDerivatives(t,x,u) %计算导数回调子函数 %给定t,x,u计算连续状态的导数,可以在此给出系统的连续状态方程 %该子函数可以不存在 sys = []; %sys表示状态导数,即dx function sys=mdlUpdate(t,x,u) %状态更新回调子函数 %给定t、x、u计算离散状态的更新 %每个仿真步内必然调用该子函数,不论是否有意义 %除了在此描述系统的离散状态方程外,还可以在此添加其他每个仿真步内都必须执行的代码 global P0; Rs=2.875; Ls=0.0085; np=4; J=0.001; flux=0.175; B1=0; Q=diag([0.1 0.1 80 0.1]); R=diag([0.2 0.2]); T=1e-6; vs_ab=[u(3),u(4)]'; is_ab=[u(1),u(2)]'; H=[1 0 0 0; 0 1 0 0]; A=1.5*np^2*flux/J; V=A*(x(2)*cos(x(4))-x(1)*sin(x(4)))-B1*np^2*x(3)/J; B=[1/Ls 0 0 0;0 1/Ls 0 0]'; F=[Rs/Ls 0 flux/Ls*sin(x(4)) flux/Ls*x(3)*cos(x(4)); 0 -Rs/Ls -flux/Ls*cos(x(4)) x(3)*flux/Ls*sin(x(4)); 0 0 0 0; 0 0 1 0]; f1=[-Rs/Ls*x(1)+x(3)*flux/Ls*sin(x(4)); -Rs/Ls*x(2)-x(3)*flux/Ls*cos(x(4)); V; x(3)]; f2=diag([1 1 1 1])+F*T; X_pred=x+T*(f1+B*vs_ab); Y_pred=H*X_pred; Y=is_ab; P_pred=f2*P0*f2'+Q; K=P_pred*H'*inv(H*P_pred*H'+R); sys=X_pred+K*(Y-Y_pred); P0 = P_pred-K*H*P_pred; %sys表示下一个离散状态,即x(k+1) function sys=mdlOutputs(t,x,u) %计算输出回调函数 %给定t,x,u计算输出,可以在此描述系统的输出方程 %该子函数必须存在 sys = [x(3),x(4)]; %sys表示输出,即y function sys=mdlGetTimeOfNextVarHit(t,x,u) %计算下一个采样时间 %仅在系统是变采样时间系统时调用 sampleTime = 1; %设置下一次采样时间是在1s以后 sys = t + sampleTime; %sys表示下一个采样时间点 function sys=mdlTerminate(t,x,u) %仿真结束时要调用的回调函数 %在仿真结束时,可以在此完成仿真结束所需的必要工作 sys = [];

资源文件列表:

EKF滤波电机控制.zip 大约有11个文件
  1. EKF滤波电机控制/EKF.m 4KB
  2. EKF滤波电机控制/PMSM_EKF.slx 53.04KB
  3. EKF滤波电机控制/PMSM_EKF.slxc 4.91KB
  4. EKF滤波电机控制/slprj/
  5. EKF滤波电机控制/slprj/sim/
  6. EKF滤波电机控制/slprj/sim/varcache/
  7. EKF滤波电机控制/slprj/sim/varcache/PMSM_EKF/
  8. EKF滤波电机控制/slprj/sim/varcache/PMSM_EKF/checksumOfCache.mat 392B
  9. EKF滤波电机控制/slprj/sim/varcache/PMSM_EKF/tmwinternal/
  10. EKF滤波电机控制/slprj/sim/varcache/PMSM_EKF/tmwinternal/simulink_cache.xml 312B
  11. EKF滤波电机控制/slprj/sim/varcache/PMSM_EKF/varInfo.mat 1.32KB
0评论
提交 加载更多评论
其他资源 河南师范大学软件学院C语言题面_筛选后.zip
河南师范大学软件学院C语言题面_筛选后.zip
Q-Learning在路径规划中的应用(MATLAB版)
针对于已知环境中的路径规划问题,本文提出Q-Learning解决智能体在复杂环境中找到最优路径。最终阶段包括查询 Q 表以选择最佳行动路径。训练完成后,呈现了历时、最小步数、最大奖励值等结果,以及 Q 表的可视化、最短路径和整个训练过程。Q-learning 是强化学习中的一种基于值函数的学习方法,用于解决无模型的马尔可夫决策过程(MDP)问题。在 Q-learning 中,代理尝试学习一个价值函数 Q(s, a),它估计在状态 s 采取动作 a 后所能获得的长期回报的价值。状态 s、动作a、奖励信号r、Q 值函数 (Q-table)、折扣因子 γ、学习率 α、探索-利用策略。图1 Q-Learning结构图状态s:在 Q-learning 中,代理与环境进行交互,环境处于不同的状态。状态是描述环境的特定情况或配置的抽象表示。
Android开发实战经典-030802-文件存储-B-资源文件视频教程.zip
Android开发实战经典_030802_文件存储_B_资源文件视频教程.zip
Android开发实战经典-041301-配置Google.API.SDK视频教程.zip
Android开发实战经典_041301_配置Google.API.SDK视频教程.zip
基于CLIP模型的视频文本检索设计与实现
针对现有基于CLIP预训练模型方法存在的训练时间长、模型规模大等问题,本文在CLIP4Clip模型的基础上,采用关键帧保存方案和Adapter Tuning低参数量微调,提高了计算资源有限情况下的训练效率和模型性能。 训练速度方面,本文首先采用帧保存方案,将视频库中的关键帧提取并保存为图片,从而加快数据加载速度,将训练速度提高了14.6倍;然后采用AIM模型的Adapter设计方案,在CLIP4Clip模型中插入可训练的Adapter层,只训练少量参数实现快速收敛,最终实现训练速度提高34倍。 模型性能方面,论文证明了平均选取视频关键帧,比按照最大帧间差选取视频关键帧的效果更优;然后证明了AIM在视频检索领域的有效性;并可以使用AIM来提高模型性能,将模型在MSR-VTT数据集上的R@1从42.2%提升至43.4%,R@5从70.2%提升为71.1%。 本文设计并实现了一个视频文本检索系统,为了保障系统的检索速度,搭建了向量数据库,并测试了不同数据保存方式的数据存取速度。系统使用Django搭建了Web端应用,实现了多种功能需求,展示了本文方法在视频文本检索系统中的应用效果和潜力。
基于CLIP模型的视频文本检索设计与实现 基于CLIP模型的视频文本检索设计与实现 基于CLIP模型的视频文本检索设计与实现
c语言队列实现(不强制数据类型,包含三种实现)
c语言队列实现(不强制数据类型,包含三种实现)
Allegro-Skill-Xtool一键gerber及生产资料归档工具
Allegro-Skill_Xtool一键gerber及生产资料归档工具
FreeRTOS西西菜鸟.zip
FreeRTOS西西菜鸟.zip