亲测MATLAB/Simulink R2022b 和某国产半实物仿真平台 历经因模型精度欠缺、时钟未同步致使误差超20%的状况 新手依步骤逐一执行 便能够轻而易举地躲开此类常见问题情境句……
亲测MATLAB/Simulink R2022b 和某国产半实物仿真平台 历经因模型精度欠缺、时钟未同步致使误差超20%的状况 新手依步骤逐一执行 便能够轻而易举地躲开此类常见问题情境句号。
第一步:强制校准模型解算步长
将固定步长参数直接填进1e – 5(也就是0.01毫秒)吧。这一步骤能够迫使模型依照统一的时间间隔去进行计算, 以此来防止因步长自适应而引发的时序偏差。
【新手避坑】
通常出现的报错情况是什么呢 是“步长太小, 仿真时间过长”。那出错的原因是啥呀 是通过把步长设置得过低从而致使电脑的算力没办法跟得上哇。快速的解决办法是怎样的呢 是先采用1e – 4进行试跑 , 要是误差仍然处于能够接受的范围之内那就保持 , 要不然就逐渐地调小 , 与此同时开启性能加速选项。可千万别一开始就设置成1e – 6 , 不然会把你等死的。
第二步:统一时钟域并锁定采样率
【新手避坑】
被报错的现象呈现为: “数据出现丢帧”或者是“时间戳发生错乱”。其核心的原因在于: 软件时钟跟硬件时钟在默认状态下是不同步的。有着快速解决的办法: 于硬件配置面板当中进行勾选 、强制时钟同步, 随后再去重启仿真, 别询问我启动它的缘由是什么, 很多配置一旦不去重启就不会产生效果。
实操方案对比
方案A, 采用统一的时钟频率, 并且锁定采样率, 这种方式适合高精度的场景当中, 像是电机控制这类情况就行, 其误差能够被压制到3%以内。
方案B: 径直采用默认异步时钟, 此情形适宜快速原型验证, 误差存在跑到15%的可能性, 然而配置较为省事。
在进行选择的逻辑方面, 要是你所操作执行的是针对产品层面的仿真工作, 那么必然得是方案A才行。要是仅仅是运行一下模型从而查看某种趋势, 那方案B用来使用就是能够满足需求的。
第三步:逐层验证模型输出并做残差修正
在完成前面两步操作之后, 开始运行仿真, 于诊断查看器当中调出信号日志, 将所有关键输出信号进行选中, 用右键点击信号线, 从中选择数据检查这一选项, 用来对比仿真值与实测值之间的均方根误差。
【新手避坑】
经常出现的报错是: “残差震荡呈现出不收敛的状况”。有着完整且成体系不受其他干扰的解决流程: 首先要查看滤波器的截止频率是不是过高, 建议调节之后降低到300Hz这里;接下来,在模型里添加饱和限幅模块, 把输出范围限定在物理实际值的正负多百分之十的区间;最后呢, 如果还是存在震荡的情况, 在误差反馈回路当中串联接入一个一阶低通滤波器, 将这里设定的时间常数成为0.005秒。这三步完成之后, 百分之九十九的震荡问题都能够得到解决。
此套方法对脉冲信号或者阶跃响应极为陡峭的场景(像爆炸冲击仿真这类)并不适用, 这是由于固定步长会致使瞬态细节遗失。替代的方案是, 换用变步长ode45求解器, 并且在跳变点附近手动加密采样点。简单来讲, 稳态误差采用我的方法, 而瞬态误差则要更换方式。
微信扫一扫
还没有评论呢,快来抢沙发~