查看“Control Systems/Transforms”的源代码
←
Control Systems/Transforms
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{Control Systems/Page|System Modeling|Transfer Functions}} ==变换== 我们将在本书中讨论许多变换,假定读者对这些转换至少有一点先验知识。 本书的目的不是要向以前没有接触过他们的听众讲授变换的主题。 然而,我们将在这里提供一个简短的复习,让那些可能记不清主题的人重新熟悉。 如果你还不知道拉普拉斯变换或傅立叶变换是什么,强烈建议你将本页作为简单的指南,并在其他来源上查找信息。 具体来说,[[w:|Wikipedia]] 有很多关于这些主题的信息。 ===变换基础=== '''变换'''是一种数学工具,它将方程从一个变量(或一组变量)转换为一个新变量(或一组新变量)。 为此,转换必须删除第一个变量 “域变量” 的所有实例,并添加一个新的 “”。 积分是变换的最佳选择,因为定积分的极限将被替换到域变量中,并且该变量的所有实例都将从方程中删除。 将域变量''a''转换为范围变量''b''的整数转换通常格式如下: :<math>\mathcal{T}[f(a)] = F(b) = \int_C f(a)g(a,b)da</math> 其中函数''f(a)''是被变换的函数,而''g(a,b)''被称为变换的 “内核”。 通常,各种积分变换之间的唯一区别是内核。 ==拉普拉斯变换== {{Wikipedia|Laplace transform}} {{MATLAB CMD|laplace|Control Systems/MATLAB}} '''拉普拉斯变换''' 将时域中的方程式转换为所谓的 “S域 “ 或 '''拉普拉斯域''',甚至 “复域”。 这些都是同一数学空间的不同名称,它们都可以在本书和其他关于这个主题的文本中互换使用。 变换只能在以下条件下应用: #有问题的系统或信号是模拟的。 #所讨论的系统或信号是线性的。 #所讨论的系统或信号是时不变的。 #有问题的系统或信号是因果关系。 变换是这样定义的: {{eqn|Laplace Transform}} :<math>\begin{matrix}F(s) = \mathcal{L}[f(t)] = \int_0^\infty f(t) e^{-st}dt\end{matrix}</math> 拉普拉斯变换结果已被广泛制成表格。 有关拉普拉斯变换的更多信息,包括变换表,可在[[Control Systems/Transforms Appendix|'''附录''']]中找到。 如果我们在时域中有一个线性微分方程: :<math>\begin{matrix}y(t) = ax(t) + bx'(t) + cx''(t)\end{matrix}</math> 在零初始条件下,我们可以将方程的拉普拉斯变换取为: :<math>\begin{matrix}Y(s) = aX(s) + bsX(s) + cs^2X(s)\end{matrix}</math> 分开后,我们会得到: :<math>\begin{matrix}Y(s) = X(s)[a + bs + cs^2]\end{matrix}</math> === 拉普拉斯逆变换 === {{MATLAB CMD|ilaplace|Control Systems/MATLAB}} '''逆拉普拉斯变换'''的定义如下: {{-}} {{eqn|Inverse Laplace Transform}} :<math>\begin{matrix}f(t) = \mathcal{L}^{-1} \left\{F(s)\right\} = {1 \over {2\pi i}}\int_{c-i\infty}^{c+i\infty} e^{st} F(s)\,ds\end{matrix}</math> 逆变换将函数从拉普拉斯域转换回时间域。 === 矩阵和向量 === 拉普拉斯变换可以直观地用于线性方程组。 假设我们有一个线性方程组: :<math>\begin{matrix}y_1(t) = a_1x_1(t)\end{matrix}</math> :<math>\begin{matrix}y_2(t) = a_2x_2(t)\end{matrix}</math> 我们可以将这些方程排列成矩阵形式,如图所示: :<math>\begin{bmatrix}y_1(t) \\ y_2(t)\end{bmatrix} = \begin{bmatrix}a_1 & 0 \\ 0 & a_2\end{bmatrix}\begin{bmatrix}x_1(t) \\x_2(t)\end{bmatrix}</math> 并形式化地写下: :<math>\mathbf{y}(t) = A\mathbf{x}(t)</math> 我们可以两边采用拉普拉斯变换: :<math>\mathcal{L}[\mathbf{y}(t)] = \mathbf{Y}(s) = \mathcal{L}[A\mathbf{x}(t)] = A\mathcal{L}[\mathbf{x}(t)] = A\mathbf{X}(s)</math> 这与对方程组中的每个单独方程进行变换相同。 ===示例:RL电路=== {{SideBox|有关电路的详细信息,请参阅:<br>'''[[Circuit Theory|电路理论]]'''}} 这里,我们将展示一阶系统的一个常见例子,一个“RL电路”。 在电感中,时间域中的电流I和电压V之间的关系表示为导数: :<math>V(t) = L\frac{dI(t)}{dt}</math> 其中L是称为 “电感” 的特殊量,它是电感器的属性。 {{TextBox|1= [[Image:Series-RL.png|right|framed|RL电路示例问题的电路图。 V<sub>L</sub>是电感上方的电压,是我们要查找的量。]] 假设我们有一个1阶RL系列电路。 电阻器有电阻R,电感器有电感L,电压源有输入电压V<sub>in</sub>。 我们电路的系统输出是电感上的电压,V<sub>out</sub>。 在时域中,我们有以下一阶微分方程来描述电路: :<math>V_{out}(t) = V_{L}(t) = L\frac{dI(t)}{dt}</math> :<math>V_{in}(t) = RI(t) + L\frac{dI(t)}{dt}</math> 然而,由于电路本质上起着分压器的作用,我们可以按照如下输入方式输出: :<math>V_{out}(t) = \frac{L\frac{dI(t)}{dt}}{RI(t) + L \frac{dI(t)}{dt}}V_{in}(t)</math> 这是一个非常复杂的方程,除非我们使用拉普拉斯变换,否则将很难求解: :<math>V_{out}(s) = \frac{Ls}{R + Ls}V_{in}(s)</math> 我们可以将顶部和底部除以L,并将V<sub>in</sub> 移动到另一侧: :<math>\frac{V_{out}}{V_{in}} = \frac{s}{\frac{R}{L} + s}</math> 通过简单的查表,我们可以解决电路输入和电路输出之间的时域关系: :<math>\frac{V_{out}}{V_{in}} = \frac{d}{dt}e^{\left(\frac{-Rt}{L}\right)}u(t)</math>}} ===部分分数展开=== {{SideBox|有关部分分数展开的更多信息,请参见:<br>'''[[Calculus|微积分]]'''}} 拉普拉斯变换对有广泛的表格,但我们经常有传递函数和其他方程没有表格反变换。 如果我们的方程是分数,我们通常可以利用'''部分分数展开''' (PFE) 来创建一组更简单的项,这些项将具有容易获得的逆变换。 本节将为已经学习过PFE主题的人简要介绍PFE。 由于它与拉普拉斯变换有关,因此该刷新程序将以该过程的几个示例的形式出现。 鼓励不熟悉PFE的人在 '''[[Calculus|微积分]]''' 中阅读更多有关PFE的信息。 === 示例:二阶系统=== {{TextBox|1=如果我们在S域中有一个给定的方程: :<math>F(s) = \frac{2s + 1}{s^2 + 3s + 2}</math> 我们可以将其扩展为几个较小的部分: :<math>F(s) = \frac{2s + 1}{(s + 1)(s + 2)} = \frac{A}{(s + 1)} + \frac{B}{(s + 2)} = \frac{A(s+2)+B(s+1)}{(s + 1)(s + 2)}</math> 这看起来是不可能的,因为我们有一个包含3个未知数(''s''、''a''、''B'')的单一方程,但实际上''s''可以取任意值,我们可以“插入”s的值来求解''a''和''B'',而不需要其他方程。 例如,在上面的等式中,我们可以乘以分母,并取消项: :<math>\frac{}{}(2s + 1) = A(s + 2) + B(s + 1)</math> 现在,当我们设置 ''s & rarr; -2 '时,''a'' 项消失了,我们剩下的是 “b & rarr; 3”。 当我们设定s&rarr-1“,我们可以解“A&rarr-1“”。 把这些值放回我们原来的方程式中,我们得到: :<math>F(s) = \frac{-1}{(s + 1)} + \frac{3}{(s + 2)}</math> 请记住,由于拉普拉斯变换是线性算子,因此以下关系成立: :<math>\mathcal{L}^{-1}[F(s)] = \mathcal{L}^{-1}\left[\frac{-1}{(s + 1)} + \frac{3}{(s + 2)}\right] = \mathcal{L}^{-1}\left[\frac{-1}{s + 1}\right] + \mathcal{L}^{-1}\left[ \frac{3}{(s + 2)}\right]</math> 求这些较小项的逆变换应该比求整个函数的逆变换更容易。 部分分数展开对于求S域方程的逆来说是一个有用的,而且常常是必要的工具。}} === 示例: 四阶制 === {{TextBox|1=如果我们在S域中有一个给定的方程: :<math>F(s)=\frac{79s^2+916s+1000}{s(s+10)^3}</math> 我们可以将其扩展为几个较小的分数,如下所示: :<math>F(s)=\frac{A}{s}+\frac{B}{(s+10)^3}+\frac{C}{(s+10)^2}+\frac{D}{s+10}</math> :<math>F(s)=\frac{A(s+10)^3+Bs+Cs(s+10)+Ds(s+10)^2}{s(s+10)^3}</math> :<math>\frac{}{}A(s+10)^3+Bs+Cs(s+10)+Ds(s+10)^2=79s^2+916s+1000</math> 消去项在这里还不够,我们将打开括号 <small>(分隔为多行)</small>: :<math>As^3+30As^2+300As+1000A+Bs+</math> :<math>Cs^2+10Cs+Ds^3+20Ds^2+100Ds</math> :<math>=79s^2+916s+1000</math> 让我们比较一下系数: :''A + D = 0'' :''30A + C + 20D = 79'' :''300A + B + 10C + 100D = 916'' :''1000A = 1000'' 而解问题则给了我们: :''A = 1'' :''B = 26'' :''C = 69'' :''D = -1'' 我们从拉普拉斯变换表中知道以下关系成立: :<math>\frac{1}{(s+\alpha)^{n+1}} \to \frac{t^{n}}{n!}e^{-\alpha t} \cdot u(t) </math> 我们可以将''A''、''B''、''C''和''D''的值插入到扩展中,并尝试将其转换为上面的形式。 :<math>F(s)=\frac{A}{s}+\frac{B}{(s+10)^3}+\frac{C}{(s+10)^2}+\frac{D}{s+10}</math> :<math>F(s)=A\frac{1}{s}+B\frac{1}{(s+10)^3}+C\frac{1}{(s+10)^2}+D\frac{1}{s+10}</math> :<math>F(s)=1\frac{1}{s}+26\frac{1}{(s+10)^3}+69\frac{1}{(s+10)^2}-1\frac{1}{s+10}</math> :<math>f(t)=u(t)+13t^2e^{-10t}+69te^{-10t}-e^{-10t}</math>}} ===示例:复根=== {{TextBox|1=给定以下传递函数: :<math>F(s)=\frac{7s+26}{s^2-80s+1681}=\frac{As+B}{s^2-80s+1681}</math> 当分母的解是复数时, 我们使用复数表示法''A+iB'',如''3+i4'',而不是使用单个字母(例如''D'') - 对于实数: :''As + B = 7s + 26'' :''A = 7'' :''B = 26'' 我们需要将其分成两部分,如下所示(不改变其值): :<math>e^{-\alpha t} \sin(\omega t) \cdot u(t) \ </math>→<math> { \omega \over (s+\alpha )^2 + \omega^2 } </math> :<math>e^{-\alpha t} \cos(\omega t) \cdot u(t) \ </math>→<math> { s+\alpha \over (s+\alpha )^2 + \omega^2 } </math> 让我们从分母开始(对于两个分数): ''s<sup>2</sup> - 80s + 1681 ''的根是“ 40 + j9 ”和“ 40 - j9 ”。 :<math>(s+a)^2+\omega^2=(s-40)^2+9^2</math>→<math>\frac{As+B}{(s-40)^2+9^2}</math> 现在分子是: :<math>\frac{As+40A-40A+B}{(s-40)^2+9^2}</math> :<math>\frac{As-40A}{(s-40)^2+9^2}+\frac{B+40A}{(s-40)^2+9^2}</math> :<math>A\frac{(s-40)}{(s-40)^2+9^2}+\frac{B+40A}{9}\frac{9}{(s-40)^2+9^2}</math> 拉普拉斯逆变换: :<math>f(t)=7e^{40t}cos(9t)+34e^{40t}sin(9t)</math> }} === 示例: 六阶制 === {{TextBox|1=给定以下传递函数: :<math>F(s)=\frac{90s^2-1110}{s(s-3)(s^2-12s+37)}=\frac{A}{s}+\frac{B}{s-3}+\frac{Cs+D}{s^2-12s+37}</math> 我们乘以分母,使方程式有理: :<math>A(s-3)(s^2-12s+37)+Bs(s^2-12s+37)+(Cs+D)s(s-3)</math> :<math>=90s^2-1110</math> 然后我们合并项: :<math>As^3-15As^2+73As-111A+Bs^3-12Bs^2+37Bs+Cs^3-3Cs^2+Ds^2-3Ds</math> :<math>=90s^2-1110</math> 比较系数: :''A + B + C = 0'' :''-15A - 12B - 3C + D = 90'' :''73A + 37B - 3D = 0'' :''-111A = -1110'' 现在,我们可以解出''A''、''B''、''C''和''D'': :''A = 10'' :''B = -10'' :''C = 0'' :''D = 120'' 现在为 “拟合”: “s<sup>2</sup>-12s + 37”的词根是“6 + j”和“6 - j” :<math>A\frac{1}{s}+B\frac{1}{s-3}+C\frac{s}{(s-6)^2+1^2}+D\frac{1}{(s-6)^2+1^2}</math> 不需要拟合''D''的分数,因为它是完整的;不需要费心拟合''C''的分数,因为''C''等于零。 :<math>10\frac{1}{s}-10\frac{1}{s-3}+0\frac{s}{(s-6)^2+1^2}+120\frac{1}{(s-6)^2+1^2}</math> :<math>\frac{}{}f(t)=10u(t)-10e^{3t}+120e^{6t}sin(t)</math>}} === 终值定理 === '''终值定理'''允许我们在时间接近无穷大时,从S域方程确定时域方程的值。 在控制工程中,最常用的是终值定理来确定系统的稳态值。 函数极点的实部必须 <0。 {{eqn|终值定理(拉普拉斯)}} :<math>\lim_{t \to \infty}x(t) = \lim_{s \to 0} s X(s)</math> 从我们关于系统度量的一章中,你可能会认识到系统在无限时间的价值就是系统的稳定时间。 稳态值和预期输出值之间的差我们记得是系统的稳态误差。 利用终值定理,我们可以在复S域中求出系统的稳态值和稳态误差。 ===示例:终值定理=== {{TextBox|1=求以下多项式的最终值: :<math>T(s) = \frac{1 + s}{1 + 2s + s^2}</math> 我们可以应用'''终值定理''': :<math>\lim_{s \to \ 0} s \frac{1 + s}{1 + 2s + s^2} </math> 我们获得的值为: :<math>\lim_{s \to \ 0} s \frac{1 + s}{1 + 2s + s^2} = 0 \cdot \frac{1+0}{1+2\cdot 0+0^2}=0 \cdot 1 = 0 </math>}} === 初值定理 === 与终值定理类似,'''初值定理'''允许我们从S域方程确定系统的初值(时间零点的值)。 初值定理最常用于确定系统的起始条件或“初始条件”。 {{eqn|初值定理 (拉普拉斯)}} :<math>x(0) = \lim_{s \to \infty} s X(s)</math> ===常见变换=== 我们现在将向你展示我们已经学习过的三个函数的变换: 单位台阶、单位坡道和单位抛物线。 单位阶跃函数的变换式如下: :<math>\mathcal{L}[u(t)] = \frac{1}{s}</math> 由于单位斜率是单位步长的积分,因此我们可以将上述结果乘以''1/s''来得到单位斜率的变换: :<math>\mathcal{L}[r(t)] = \frac{1}{s^2}</math> 再次,我们可以乘以''1/s''得到单位抛物线的变换: :<math>\mathcal{L}[p(t)] = \frac{1}{s^3}</math> ==傅里叶变换== {{Wikipedia|Fourier Transform}} '''傅立叶变换'''与拉普拉斯变换非常相似。 傅里叶变换使用的假设是,任何有限时域信号都可以分解为正弦(正弦波和余弦波)信号的无限和。 在此假设下,傅里叶变换将时域信号转换为其频域表示,作为径向频率的函数, 傅立叶变换是这样定义的: {{eqn|Fourier Transform}} :<math>F(j\omega) = \mathcal{F}[f(t)] = \int_0^\infty f(t) e^{-j\omega t} dt</math> {{MATLAB CMD|fourier|Control Systems/MATLAB}} 现在我们可以证明,当下列条件成立时,傅里叶变换等价于拉普拉斯变换: :<math>\begin{matrix}s = j\omega\end{matrix}</math> 因为拉普拉斯变换和傅立叶变换是如此密切相关,所以对所有问题都使用这两种变换没有多大意义。 因此,本书将集中讨论几乎所有主题的拉普拉斯变换,除了那些直接涉及频率值的问题。 对于频率问题,使用傅里叶变换表示法使问题变得容易得多。 与拉普拉斯变换一样,傅立叶变换已被广泛列出。 除了常见变换表外,傅里叶变换的属性也可在[[Control Systems/Transforms Appendix|'''附录''']中找到。 ===傅里叶逆变换=== {{MATLAB CMD|ifourier|Control Systems/MATLAB}} ''' 傅立叶逆变换 ''' 定义如下: {{-}} {{eqn|Inverse Fourier Transform}} :<math>f(t) = \mathcal{F}^{-1}\left\{F(j\omega)\right\} = \frac{1}{2\pi}\int_{-\infty}^\infty F(j\omega) e^{j\omega t} d\omega</math> 这种变换与傅里叶变换几乎相同。 ==复杂平面== [[Image:S Plane.svg|right|200px]] 利用上述等价,我们可以证明拉普拉斯变换总是等于傅立叶变换,如果变量''s''是虚数。 然而,如果“s”是实变量或复变量,则拉普拉斯变换是不同的。 因此,我们通常将''s''定义为既有实部又有虚部,因此: :<math>\begin{matrix}s = \sigma + j\omega\end{matrix}</math> 我们可以证明 ''s = j'' & omega; 如果 & sigma;''= 0''。 由于变量''s''可以分解为两个独立的值,因此将变量“s”绘制在其自己的特殊“s平面”上通常具有一定的价值。 S平面在水平轴上绘制变量&sigma;,在垂直轴上绘制''j''&omega;的值。 此轴排列显示在右侧。 {{-}} ==欧拉公式== 微积分有一个重要的结果,被称为'''欧拉公式'''或“欧拉关系”。 此重要公式关联了 “e”,“j”,& pi;,1和0的重要值: :<math>\begin{matrix}e^{j\pi} + 1 = 0\end{matrix}</math> 然而,这个结果是从下面的方程式得出的,设&omega;为&pi;: {{eqn|Euler's Formula}} :<math>\begin{matrix}e^{j\omega} = \cos(\omega) + j\sin(\omega)\end{matrix}</math> 这个公式将在本书的一些章节中广泛使用,所以现在熟悉它是很重要的。 == MATLAB == MATLAB symbolic工具箱包含自动计算拉普拉斯和傅立叶变换的函数。 函数'''laplace'''和函数'''fourier'''可分别用于计算输入函数的laplace和fourier变换。 例如,代码: t = sym('t'); fx = 30*t^2 + 20*t; laplace(fx) 产生输出: ans = 60/s^3+20/s^2 我们将在[[Control Systems/MATLAB|附录]]中详细讨论这些函数。 ==进一步阅读== *[[Digital Signal Processing/Continuous-Time Fourier Transform]] *[[Signals and Systems/Aperiodic Signals]] *[[Circuit Theory/Laplace Transform]] {{Control Systems/Nav|System Modeling|Transfer Functions}}
本页使用的模板:
模板:-
(
查看源代码
)
模板:Anchor
(
查看源代码
)
模板:BookCat
(
查看源代码
)
模板:Control Systems/Nav
(
查看源代码
)
模板:Control Systems/Page
(
查看源代码
)
模板:Eqn
(
查看源代码
)
模板:MATLAB CMD
(
查看源代码
)
模板:Mbox-side
(
查看源代码
)
模板:Sec link/relative url
(
查看源代码
)
模板:Sec link/text
(
查看源代码
)
模板:Sec link auto
(
查看源代码
)
模板:SideBox
(
查看源代码
)
模板:TextBox
(
查看源代码
)
模板:Wikipedia
(
查看源代码
)
返回至“
Control Systems/Transforms
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
变体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息