Control Systems/Transfer Functions

来自osdev
Zhang3讨论 | 贡献2022年5月20日 (五) 06:08的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

{{#invoke:TScope|shiftLeft|BookCat/core|1 |namespace = |pagename =Control Systems/Transfer Functions |fullpagename=Control Systems/Transfer Functions |sortkey = }}

传递函数

模板:MATLAB CMD

在考虑初始条件和平衡点为零的情况下,在拉普拉斯域中,传递函数是系统的输出与输入的比率。 对于观察瞬态的系统,此假设是放宽的。 如果输入函数为X(s),输出函数为Y(s),则传递函数H(s)定义为:


[Transfer Function]

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle H(s) = {Y(s) \over X(s)}}

读过电路理论这本书的读者会认识到,传递函数是分压器的阻抗、导纳、阻抗比或分流器的导纳比。

冲动响应

Note:
时域变量通常用小写字母书写。 拉普拉斯-属性域和其他变换域变量通常使用大写字母。

为了进行比较,我们将考虑与上述输入/输出关系等效的时域。 在时域中,我们通常将系统的输入表示为x(t),将系统的输出表示为y(t)。 输入和输出之间的关系被表示为脉冲响应h(T)

我们将冲动响应定义为系统输出与其输入之间的关系。 我们可以使用以下方程式来定义脉冲响应:

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle h(t) = \frac{y(t)}{x(t)}}

脉冲函数

在这一点上,精确定义什么是 冲动 会很方便。 Impulse Function,用δ(t)表示是按段定义的特殊函数,如下所示:


[Impulse Function]

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle \delta(t) = \left\{ \begin{matrix} 0, & t < 0 \\ \mbox{undefined}, & t = 0 \\ 0, & t > 0 \end{matrix}\right. }

脉冲函数也称为Delta函数,因为它用希腊小写字母δ表示。 delta函数通常绘制为指向无穷大的箭头,如下所示:

它被画成箭头,因为在任何其他作图方法中,很难在无穷远处显示一个点。 请注意,箭头只存在于位置0,而不存在于任何其他时间‘’t‘’。 delta函数与其他函数一样,具有规则的时间偏移。 例如,我们可以将函数δ绘制成图形(t-N)通过移动函数δ(t)右侧,如下所示:

对脉冲函数的检查将显示它与单位阶跃函数的关系如下:

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle \delta(t) = \frac{du(t)}{dt}}

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle u(t) = \int \delta(t) dt}

未在t=0点定义脉冲函数,但脉冲必须始终满足以下条件,否则它不是真正的脉冲函数:

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle \int_{-\infty}^\infty \delta(t)dt = 1}

系统对脉冲输入的响应称为脉冲响应。 现在,要得到冲动函数的拉普拉斯变换,我们取单位阶跃函数的导数,这意味着我们将单位阶跃函数的变换乘以s:

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle \mathcal{L}[u(t)] = U(s) = \frac{1}{s}}
解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle \mathcal{L}[\delta(t)] = sU(s) = \frac{s}{s} = 1}

此结果可在附录中的变换表中验证。

阶跃响应

模板:MATLAB CMD

与冲动响应类似,系统的 阶跃响应 是使用单位阶跃函数作为输入时系统的输出。 阶跃响应是一种常用的分析工具,用于确定系统的某些指标。 通常,当设计一个新的系统时,系统的阶跃响应是要分析的系统的第一个特性。

卷积

模板:MATLAB CMD 然而,脉冲响应不能用于以与传递函数相同的方式从系统输入中找到系统输出。 如果我们有系统输入和系统的脉冲响应,我们可以使用卷积运算来计算系统输出,如下所示:

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle y(t) = h(t) * x(t)}
记住: 星号表示 卷积 ,而不是 乘法 !

其中“*”(星号)表示卷积运算。 卷积是乘法、积分和时移的复杂组合。 我们可以定义两个函数,“a(t)” 和 “b(t)” 之间的卷积如下:


[Convolution]

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle (a*b)(t) = (b*a)(t) = \int_{-\infty}^\infty a(\tau)b(t - \tau)d\tau}

(变量tau;(希腊语tau)是用于积分的虚拟变量)。 此操作可能很难执行。 因此,许多人更喜欢使用拉普拉斯变换 (或另一种变换) 将卷积运算转换为乘法运算,通过 卷积定理

时不变系统响应

如果所讨论的系统是时不变的,则系统的一般描述可以用系统的脉冲响应和系统输入的卷积积分来代替。 我们可以将其称为系统的卷积描述,并在下面定义它:


[Convolution Description]

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle y(t) = x(t) * h(t) = \int_{-\infty}^\infty x(\tau)h(t - \tau)d\tau}

卷积定理

这种求解系统输出的方法相当繁琐,如果要求解一个系统的各种输入信号,实际上会浪费大量的时间。 幸运的是,拉普拉斯变换有一个特殊的性质,称为 卷积定理 ,这使得卷积的操作更容易:

卷积定理:时域中的卷积变为复拉普拉斯域中的乘法。 时间域中的乘法变成复拉普拉斯域中的卷积。

卷积定理可以使用以下方程式表示:


[Convolution Theorem]

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle \mathcal{L}[f(t) * g(t)] = F(s)G(s)}
解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle \mathcal{L}[f(t)g(t)] = F(s) * G(s)}

这也是对偶性属性的一个很好的例子。

使用传递函数

传递函数完全描述了一个控制系统。 顺序、类型和频率响应都可以从该特定功能中获取。 Nyquist图和Bode图可以从开环传递函数中绘制出来。 这些图显示了闭环时系统的稳定性。 利用传递函数的分母,即特征方程,可以导出系统的根。

由于这些原因,传递函数是经典控制系统的一个重要方面。 让我们从定义开始:

传递函数:系统的传递函数是系统输出与其输入之间的关系,用复数拉普拉斯域表示。

如果复拉普拉斯变量是s,那么我们通常将系统的传递函数表示为G(S)H(S)。 如果系统输入是x(s),而系统输出是y(s),那么传递函数可以这样定义:

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle H(s) = \frac{Y(s)}{X(s)}}

如果我们知道给定系统的输入,并且我们有系统的传递函数,我们可以通过乘以以下等式来求解系统输出:


[传递函数描述]

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle Y(s) = H(s)X(s)}

示例: 冲击响应

从拉普拉斯变换表中,我们知道脉冲函数的拉普拉斯变换,δ (t)是:

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle \mathcal{L}[\delta (t) ] = 1}

因此,当我们将这个结果代入输入、输出和传递函数之间的关系时,我们得到:

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle Y(s) = X(s)H(s)}
解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle Y(s) = (1) H(s)}
解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle Y(s) = H(s)}

换句话说,“冲击响应” 是当我们输入冲动函数时系统的输出。

示例:阶跃响应

从拉普拉斯变换表中,我们还可以看到单位阶跃函数‘’u(T)‘’的变换由下式给出:

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle \mathcal{L}[u(t)] = \frac{1}{s}}

将结果插入传递函数的关系中,我们得到:

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle Y(s) = X(s)H(s)}
解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle Y(s) = \frac{1}{s}H(s)}
解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle Y(s) = \frac{H(s)}{s}}

我们可以看到阶跃响应就是冲激响应除以s

示例:MATLAB阶跃响应

使用MATLAB找到以下传递函数的阶跃响应:

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle F(s)=\frac{79s^2+916s+1000}{s(s+10)^3}}

我们可以将分子和分母多项式分开如下:

num = [79 916 1000];
den = [1 30 300 1000 0];
sys = tf(num, den);
% 如果你使用系统识别工具箱而不是控制系统工具箱:
sys = idtf(num, den);

现在,我们可以从 step 函数获得步骤响应,并将其绘制为1到10秒的时间:

T = 1:0.001:10;
step(sys, T);

频率响应

频率响应类似于传递函数,不同之处在于它是复数富里叶域中系统输出和输入之间的关系,而不是拉普拉斯域中的关系。 我们可以通过使用以下变量的变化从传递函数获得频率响应:

解析失败 (带SVG或PNG备选的MathML(建议用于现代的浏览器和辅助工具):从服务器“https://wikimedia.org/api/rest_v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle s = j\omega}
频率响应:系统的频率响应是系统输出与其输入之间的关系,用傅立叶域表示。

由于频率响应和传递函数密切相关,通常只计算一个,而另一个是通过简单的变量代换获得的。 然而,尽管这两种表示之间有着密切的关系,但它们都是单独有用的,并且各自用于不同的目的。

← Transforms

Control Systems

Sampled Data Systems →