主要内容

本页采用了机器翻译。点击此处可查看英文原文。

估计具有未知传输延迟的传递函数模型

本示例演示了如何估计具有未知传输延迟的传递函数模型,并对未知传输延迟施加上界。

创建具有预期分子和分母结构以及延迟约束的传递函数模型。

例如,试验数据由两个输入和一个输出组成。两种传输延迟都是未知的,并且具有相同的上限。此外,从两个输入到输出的传递函数在结构上是相同的。

init_sys = idtf(NaN(1,2),[1, NaN(1,3)],'IODelay',NaN);
init_sys.Structure(1).IODelay.Free = true;
init_sys.Structure(1).IODelay.Maximum = 7;

init_sys 是一个 idtf 模型,描述从一个输入到输出的传递函数的结构。传递函数包含一个零点、三个极点和一个传输延迟。NaN 表示未知系数。

init_sys.Structure(1).IODelay.Free = true 表示传输延迟不固定。

init_sys.Structure(1).IODelay.Maximum = 7 将传输延迟的上限设置为 7 秒。

指定从两个输入到输出的传递函数。

init_sys = [init_sys,init_sys];

加载时域系统响应数据,并对数据进行去趋势处理。

load co2data;
Ts = 0.5; 
data = iddata(Output_exp1,Input_exp1,Ts);
T = getTrend(data);
T.InputOffset = [170,50];
T.OutputOffset = mean(data.y(1:75));
data = detrend(data, T);

根据指定的延迟约束,为测量数据确定一个传递函数模型。

sys = tfest(data,init_sys);

sys 是一个包含已辨识传递函数的 idtf 模型。