通过数据辨识传递函数(系统辨识第三篇)

本文介绍了工业智能控制中建模的重要性,特别是针对加热炉等设备的温度、压力控制。通过MATLAB的系统辨识工具箱,详细阐述了数据处理和辨识步骤,以获取被控对象的传递函数。强调了原始数据采样时间和工具箱设置的一致性,并通过两个实验验证了辨识结果的准确性。此外,探讨了数据处理方法对辨识结果的影响,包括随机数据生成和去除滞后数据的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工业智能控制行业经常提起建模,建模的本质是辨识被控对象,这个被控对象可以是加热炉的炉膛温度、锅炉的蒸汽压力、热风炉的拱顶温度、高炉的顶压等。线下编写程序时需要测试代码的控制效果,这时需要模拟现场,这种通过现场数据模拟出来的被控对象,当作虚拟现场。同样测试PID时就需要一个被控对象。

基于前两篇的基础上,通过数据反推传递函数。这里用到MATLAB系统辨识工具箱。
通过第一篇中得到的工作区数据进行反验证。
在这里插入图片描述

辨识步骤如下
命令窗口中输入“ident”
在这里插入图片描述
选择Import data中的Time domain data…;输入x、y数据,采样时间1s。点击Import,如果有提示,一直点击“是”即可。
在这里插入图片描述
选择Estmate—>中的Process Models…,选取一介惯性加滞后模型,将滞后时间常数修改“inf”,点击Estimate。
在这里插入图片描述
辨识结果
在这里插入图片描述

                           50        Y(S)
  G(S) = exp(-100*s) * ---------- = -----
                       1000 s + 1    X(S)

辨识结果与第一篇给定传递函数一致。

注意:

%{
1、ident 工具箱 Sample time = 1(使用原始数据 x、y)
采样周期1秒 K=50、Tp1=1000、Td=100
2、ident 工具箱 Sample time = 1(使用处理数据 DTx、DTy)
采样周期10秒 K=50、Tp1=100、Td=10
3、ident 工具箱 Sample time = 10(使用处理数据 DTx、DTy)
采样周期10秒 K=50、Tp1=1000、Td=100

使用MATLAB工具箱(ident)辨识原始数据时,原始数据的采样时间要与工具箱的采样时间保持一致。如果原始数据经过处理(例如:间隔10取数),工具箱的采样时间也要设置10。这样才能辨识正确。

%}

% 数据处理
nn = 10;
DTx=x(1:nn:10000);
DTy=y(1:nn:10000);

尝试一:
将第一篇中的代码,“x=linspace(1, 1, 10000);”替换成“x = 100+(200-100)*rand(1,10000);”,重复以上辨识过程,辨识结果也是与第一篇给定传递函数一致,这里不再推导。(注意:一介惯性加滞后环节)

尝试二:
将第一篇中的数据x,y数据进行截取,去掉滞后数据,辨识数据由x,y替换成xx,yy,即xx=x(102:end);、yy=y(102:end);,重复以上辨识过程,辨识结果与第一篇给定传递函数中的一介惯性环节一致,这里不再推导。(注意:一介惯性环节)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨铮...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值