自动控制原理基础——拉普拉斯变换

由于自动控制研究的是动态过程,因此常常用微分方程来描述。非线性微分方程的求解十分困难,因此常常在正常工作点附近将非线性微分方程线性化来得到线性微分方程,再通过拉普拉斯变换将微分方程转换为代数方程进行求解。

在自控原理基础中,拉普拉斯变换(拉氏变换)作为一个工具,在大多数情况下不需要考虑数学意义上严谨的使用条件。在此不介绍具体知识,仅给出常用的拉氏变换对及性质。

拉普拉斯变换:

函数 f ( t ) f(t) f(t)的拉氏变换: F ( s ) = ∫ 0 − ∞ f ( t ) e − s t d t = L { f ( t ) } F(s) = \int_{0_-}^\infty f(t)e^{-st}dt = \mathscr{L}\{f(t)\} F(s)=0f(t)estdt=L{f(t)}

函数 F ( s ) F(s) F(s)的拉氏逆变换: f ( t ) = 1 2 π j ∫ c − j ∞ c + j ∞ F ( s ) e s t d s = L − 1 { F ( s ) }        t > 0 f(t)=\frac{1}{2\pi j} \int_{c -j\infty}^{c +j\infty}F(s)e^{st}ds=\mathscr{L}^{-1}\{F(s)\}\ \ \ \ \ \ t>0 f(t)=2πj1cjc+jF(s)estds=L1{F(s)}      t>0

注意此处有隐含要求:当 t < 0 t<0 t<0 时, f ( t ) = 0 f(t)=0 f(t)=0.控制理论中涉及的时间函数 f ( t ) f(t) f(t) 在时间为负时总是等于 0 0 0,因此采用的是单边拉普拉斯变换。有时积分下限设为 0 − 0_- 0 ,这是是为了处理有些时间函数在 t = 0 t=0 t=0 的点上不连续的情况。
在本篇中为描述方便,也记
L + { f ( t ) } = ∫ 0 + ∞ f ( t ) e − s t d t       ,       L − { f ( t ) } = ∫ 0 − ∞ f ( t ) e − s t d t \mathscr{L}_+\{f(t)\}=\int_{0_+}^{\infty}f(t)e^{-st}dt \ \ \ \ \ , \ \ \ \ \ \mathscr{L}_-\{f(t)\}=\int_{0_-}^{\infty}f(t)e^{-st}dt L+{f(t)}=0+f(t)estdt     ,     L{f(t)}=0f(t)estdt

对于自控原理基础的内容,在一般的情况下很少需要通过定义来计算时间函数的拉氏变换,大多数情况下只需要根据常用的拉氏变换对以及性质计算即可。

常用拉氏变换对

f ( t ) f(t) f(t) F ( s ) F(s) F(s)
脉冲函数 δ ( t ) \delta(t) δ(t)1
阶跃函数 u ( t ) u(t) u(t) 1 s \frac{1}{s} s1
e − a t ⋅ u ( t ) e^{-at}·u(t) eatu(t) 1 s + a \frac{1}{s+a} s+a1
s i n ( ω t ) ⋅ u ( t ) sin(\omega{t})·u(t) sin(ωt)u(t) ω s 2 + ω 2 \frac{\omega}{s^2+\omega^2} s2+ω2ω
c o s ( ω t ) ⋅ u ( t ) cos(\omega{t})·u(t) cos(ωt)u(t) s s 2 + ω 2 \frac{s}{s^2+\omega^2} s2+ω2s
e − a t s i n ( ω t ) ⋅ u ( t ) e^{-at}sin(\omega{t})·u(t) eatsin(ωt)u(t) ω ( s + a ) 2 + ω 2 \frac{\omega}{(s+a)^2+\omega^2} (s+a)2+ω2ω
e − a t c o s ( ω t ) ⋅ u ( t ) e^{-at}cos(\omega{t})·u(t) eatcos(ωt)u(t) s + a ( s + a ) 2 + ω 2 \frac{s+a}{(s+a)^2+\omega^2} (s+a)2+ω2s+a
t ⋅ u ( t ) t·u(t) tu(t) 1 s 2 \frac{1}{s^2} s21
1 2 t 2 ⋅ u ( t ) \frac{1}{2}t^2·u(t) 21t2u(t) 1 s 3 \frac{1}{s^3} s31
t n ⋅ u ( t ) t^n·u(t) tnu(t) n ! s n + 1 \frac{n!}{s^{n+1}} sn+1n!

常用性质

  1. 线性定理
    L { f 1 ( t ) } = F 1 ( s )   ,   L { f 2 ( t ) } = F 2 ( s )   ,   α 、 β \mathscr{L}\{f_1(t)\}=F_1(s)\ ,\ \mathscr{L}\{f_2(t)\}=F_2(s)\ ,\ \alpha、\beta L{f1(t)}=F1(s) , L{f2(t)}=F2(s) , αβ 为常数,则有: L { α f 1 ( t ) ± β f 2 ( t ) } = α F 1 ( s ) ± β F 2 ( s ) \mathscr{L}\{\alpha f_1(t) \pm \beta f_2(t)\}=\alpha F_1(s) \pm \beta F_2(s) L{αf1(t)±βf2(t)}=αF1(s)±βF2(s)

  2. 比例定理
    L { f ( t ) } = F ( s )   , a \mathscr{L}\{f(t)\}=F(s)\ ,a L{f(t)}=F(s) ,a为常数,则有: L { f ( t a ) } = a F ( a s )    ,    L { f ( a t ) } = 1 a F ( s a ) \mathscr{L}\{f\left(\frac{t}{a}\right)\}=aF(as)\ \ ,\ \ \mathscr{L}\{f(at)\}=\frac{1}{a}F\left(\frac{s}{a}\right) L{f(at)}=aF(as)  ,  L{f(at)}=a1F(as)

  3. 时域平移定理
    L { f ( t ) } = F ( s )   ,   τ \mathscr{L}\{f(t)\}=F(s)\ ,\ \tau L{f(t)}=F(s) , τ为正常数,将 f ( t ) f(t) f(t)纯滞后 τ \tau τ秒: f ( t − τ ) u ( t − τ ) = { 0                  t < τ f ( t − τ )      t > τ f(t-\tau)u(t-\tau)=\left\{ \begin{array}{c} 0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ t<\tau \\ f(t-\tau) \ \ \ \ t>\tau\end{array}\right. f(tτ)u(tτ)={0                t<τf(tτ)    t>τ , 则有: L { f ( t − τ ) u ( t − τ ) } = e − τ s F ( s ) \mathscr{L}\{f(t-\tau)u(t-\tau)\}=e^{-\tau s}F(s) L{f(tτ)u(tτ)}=eτsF(s)

  4. 复域平移定理
    L { f ( t ) } = F ( s )   ,   τ \mathscr{L}\{f(t)\}=F(s)\ ,\ \tau L{f(t)}=F(s) , τ为实数或负数 ,则有: L { e − τ t f ( t ) } = F ( s + τ ) \mathscr{L}\{e^{-\tau t}f(t)\}=F(s+\tau) L{eτtf(t)}=F(s+τ)

  5. 实微分定理
    L { f ( t ) } = F ( s ) \mathscr{L}\{f(t)\}=F(s) L{f(t)}=F(s) f ( t ) f(t) f(t) 1 到 n 1到n 1n阶导数分别存在,且其拉氏变换也都存在,则有: L ± { d n d t n f ( t ) } = s n F ( s ) − ∑ k = 1 n s n − k f ( k − 1 ) ( 0 ± ) \mathscr{L}_\pm\left\{\frac{d^n}{dt^n}f(t)\right\}=s^nF(s)-\sum_{k=1}^ns^{n-k}f^{(k-1)}(0^\pm) L±{dtndnf(t)}=snF(s)k=1nsnkf(k1)(0±)

  6. 实积分定理
    L { f ( t ) } = F ( s ) \mathscr{L}\{f(t)\}=F(s) L{f(t)}=F(s) ,则有多重积分的拉氏变换: L ± { ∫ … ∫ f ( t ) ( d t ) n } = 1 s n F ( s ) + ∑ k = 1 n 1 s n − k + 1 [ ∫ … ∫ f ( t ) ( d t ) k ] t = 0 ± \mathscr{L}_\pm\left\{\int…\int f(t)(dt)^n\right\}=\frac{1}{s^n}F(s)+\sum_{k=1}^n\frac{1}{s^{n-k+1}}\left[\int…\int f(t)(dt)^k\right]_{t=0^\pm} L±{f(t)(dt)n}=sn1F(s)+k=1nsnk+11[f(t)(dt)k]t=0±多重定积分的拉氏变换: L { ∫ 0 ± t … ∫ 0 ± t f ( t ) ( d t ) n } = 1 s n F ( s ) \mathscr{L}\left\{\int_{0^\pm}^t…\int_{0^\pm}^tf(t)(dt)^n\right\}=\frac{1}{s^n}F(s) L{0±t0±tf(t)(dt)n}=sn1F(s)

  7. 复微分定理
    L { f ( t ) } = F ( s ) \mathscr{L}\{f(t)\}=F(s) L{f(t)}=F(s) ,则除 F ( s ) F(s) F(s)的极点外,有: L { t n f ( t ) } = ( − 1 ) n d n d s n F ( s ) \mathscr{L}\{t^nf(t)\}=(-1)^n\frac{d^n}{ds^n}F(s) L{tnf(t)}=(1)ndsndnF(s)

  8. 复积分定理
    L { f ( t ) } = F ( s ) \mathscr{L}\{f(t)\}=F(s) L{f(t)}=F(s) ,则除 F ( s ) F(s) F(s)的极点外,有: L { 1 t n f ( t ) } = ∫ s ∞ … ∫ s ∞ F ( s ) ( d s ) n \mathscr{L}\left\{\frac{1}{t^n}f(t)\right\}=\int_s^\infty…\int_s^\infty F(s) (ds)^n L{tn1f(t)}=ssF(s)(ds)n

  9. 卷积定理
    函数 f 1 ( t ) f_1(t) f1(t)与函数 f 2 ( t ) f_2(t) f2(t)的卷积运算为: f 1 ( t ) ∗ f 2 ( t ) = ∫ 0 t f 1 ( t − τ ) f 2 ( τ ) d τ = ∫ 0 t f 1 ( τ ) f 2 ( t − τ ) d τ = f 2 ( t ) ∗ f 1 ( t ) f_1(t)*f_2(t)=\int_0^tf_1(t-\tau)f_2(\tau)d\tau=\int_0^tf_1(\tau)f_2(t-\tau)d\tau=f_2(t)*f_1(t) f1(t)f2(t)=0tf1(tτ)f2(τ)dτ=0tf1(τ)f2(tτ)dτ=f2(t)f1(t) L { f 1 ( t ) } = F 1 ( s ) \mathscr{L}\{f_1(t)\}=F_1(s) L{f1(t)}=F1(s) L { f 2 ( t ) } = F 2 ( s ) \mathscr{L}\{f_2(t)\}=F_2(s) L{f2(t)}=F2(s) ,则有: L { f 1 ( t ) ∗ f 2 ( t ) } = F 1 ( s ) F 2 ( s ) \mathscr{L}\{f_1(t)*f_2(t)\}=F_1(s)F_2(s) L{f1(t)f2(t)}=F1(s)F2(s)

  10. 函数乘积的拉氏变换
    L { f ( t ) } = F ( s ) \mathscr{L}\{f(t)\}=F(s) L{f(t)}=F(s) L { g ( t ) } = G ( s ) \mathscr{L}\{g(t)\}=G(s) L{g(t)}=G(s),则有: L { f ( t ) g ( t ) } = 1 2 π j ∫ c − j ∞ c + j ∞ F ( p ) G ( s − p ) d p \mathscr{L}\{f(t)g(t)\}=\frac{1}{2\pi j}\int_{c-j\infty}^{c+j\infty}F(p)G(s-p)dp L{f(t)g(t)}=2πj1cjc+jF(p)G(sp)dp

  11. 终值定理
    L { f ( t ) } = F ( s ) \mathscr{L}\{f(t)\}=F(s) L{f(t)}=F(s) s F ( s ) sF(s) sF(s)的所有极点均位于左半开平面,则 lim ⁡ t → ∞ f ( t ) \lim_{t\to\infty}f(t) limtf(t)存在,成立终值定理: lim ⁡ t → ∞ f ( t ) = f ( ∞ ) = lim ⁡ s → 0 [ s F ( s ) ] \lim_{t\to\infty}f(t)=f(\infty)=\lim_{s\to0}[sF(s)] tlimf(t)=f()=s0lim[sF(s)]

  12. 初值定理
    f ( t ) 、 f ′ ( t ) f(t)、f^{'}(t) f(t)f(t)的拉氏变换存在、 lim ⁡ s → ∞ [ s F ( s ) ] \lim_{s\to\infty}[sF(s)] lims[sF(s)]存在,则有初值定理: lim ⁡ t → 0 + f ( t ) = f ( 0 + ) = lim ⁡ s → ∞ [ s F ( s ) ] \lim_{t\to0^+}f(t)=f(0^+)=\lim_{s\to\infty}[sF(s)] t0+limf(t)=f(0+)=slim[sF(s)]

拉氏反变换

除根据常见拉氏变换对、使用拉氏变换公式和性质进行拉式反变换外,一般用部分分式展开法。
F ( s ) F(s) F(s) 是关于 s s s 的有理真分式, F ( s ) = B ( s ) A ( s ) = b m s m + b m − 1 s m − 1 + ⋅ ⋅ ⋅ + b 1 s + b 0 a n s n + a n − 1 s n − 1 + ⋅ ⋅ ⋅ + a 1 s + a 0        m < n F(s)=\frac{B(s)}{A(s)}=\frac{b_ms^m+b_{m-1}s^{m-1}+···+b_1s+b_0}{a_ns^n+a_{n-1}s^{n-1}+···+a_1s+a_0}\ \ \ \ \ \ m<n F(s)=A(s)B(s)=ansn+an1sn1++a1s+a0bmsm+bm1sm1++b1s+b0      m<n其中 b m 、 b m − 1 、 ⋅ ⋅ ⋅ 、 b 1 、 b 0 , a n 、 a n − 1 、 ⋅ ⋅ ⋅ 、 a 1 、 a 0 b_m、b_{m-1}、···、b_1、b_0,a_n、a_{n-1}、···、a_1、a_0 bmbm1b1b0anan1a1a0 是实常数, m 、 n m、n mn 是正整数,将 F ( s ) F(s) F(s) 展开成部分分式之和再进行拉式反变换。

情况一:特征方程 A ( s ) = 0 A(s)=0 A(s)=0 无重根
在此情况下 F ( s ) F(s) F(s) 可以展开成: F ( s ) = B ( s ) A ( s ) = c 1 s − s 1 + ⋅ ⋅ ⋅ + c n − 1 s − s n − 1 + c n s − s n = ∑ i = 1 n c i s − s i      i = 1 , ⋅ ⋅ ⋅ , n F(s)=\frac{B(s)}{A(s)}=\frac{c_1}{s-s_1}+···+\frac{c_{n-1}}{s-s_{n-1}}+\frac{c_n}{s-s_n}=\sum_{i=1}^n\frac{c_i}{s-s_i}\ \ \ \ i=1,···,n F(s)=A(s)B(s)=ss1c1++ssn1cn1+ssncn=i=1nssici    i=1,,n其中 s i s_i si 为特征方程 A ( s ) = 0 A(s)=0 A(s)=0 的第 i i i 个单根, c i c_i ci F ( s ) F(s) F(s) s i s_i si 处的留数,其计算方法如下: c i = { ( s − s i ) F ( s ) } s = s i c_i=\left\{(s-s_i)F(s)\right\}_{s=s_i} ci={(ssi)F(s)}s=si注意这里的 c i c_i ci 可以为复数。

情况二:特征方程 A ( s ) = 0 A(s)=0 A(s)=0有重根
A ( s ) A(s) A(s) r r r 重根 s 1 s_1 s1 ,则在此情况下有: F ( s ) = B ( s ) A ( s ) = B ( s ) ( s − s 1 ) r ( s − s r + 1 ) ⋅ ⋅ ⋅ ( s − s n ) F(s)=\frac{B(s)}{A(s)}=\frac{B(s)}{(s-s_1)^r(s-s_{r+1})···(s-s_n)} F(s)=A(s)B(s)=(ss1)r(ssr+1)(ssn)B(s)于是 F ( s ) F(s) F(s) 可以展开成: F ( s ) = c 1 s − s 1 + ⋅ ⋅ ⋅ + c r ( s − s 1 ) r + c r + 1 s − s r + 1 + ⋅ ⋅ + c n − 1 s − s n − 1 + c n s − s n = ∑ j = 1 r c j ( s − s 1 ) j + ∑ i = r + 1 n c i s − s i F(s)=\frac{c_1}{s-s_1}+···+\frac{c_r}{(s-s_1)^r}+\frac{c_{r+1}}{s-s_{r+1}}+··+\frac{c_{n-1}}{s-s_{n-1}}+\frac{c_n}{s-s_n}=\sum_{j=1}^r\frac{c_j}{(s-s_1)^j}+\sum_{i=r+1}^n\frac{c_i}{s-s_i} F(s)=ss1c1++(ss1)rcr+ssr+1cr+1++ssn1cn1+ssncn=j=1r(ss1)jcj+i=r+1nssici其中 j = 1 , ⋅ ⋅ ⋅ , r   ;   i = r + 1 , ⋅ ⋅ ⋅ , n j=1,···,r\ ;\ i=r+1,···,n j=1,,r ; i=r+1,,n

留数 c i c_i ci 按照情况一中方法计算,留数 c j c_j cj 的计算方法如下: c r = { ( s − s 1 ) r F ( s ) } s = s 1 c_r=\left\{(s-s_1)^rF(s)\right\}_{s=s_1} cr={(ss1)rF(s)}s=s1 c r − 1 = { d d s [ ( s − s 1 ) r F ( s ) ] } s = s 1 c_{r-1}=\left\{\frac{d}{ds}[(s-s_1)^rF(s)]\right\}_{s=s_1} cr1={dsd[(ss1)rF(s)]}s=s1 c r − j = 1 j ! { d j d s j [ ( s − s 1 ) r F ( s ) ] } s = s 1 c_{r-j}=\frac{1}{j!}\left\{\frac{d^j}{ds^j}[(s-s_1)^rF(s)]\right\}_{s=s_1} crj=j!1{dsjdj[(ss1)rF(s)]}s=s1 c 1 = 1 ( r − 1 ) ! { d r − 1 d s r − 1 [ ( s − s 1 ) r F ( s ) ] } s = s 1 c_1=\frac{1}{(r-1)!}\left\{\frac{d^{r-1}}{ds^{r-1}}[(s-s_1)^rF(s)]\right\}_{s=s_1} c1=(r1)!1{dsr1dr1[(ss1)rF(s)]}s=s1注意这里的 c i 、 c j c_i、c_j cicj 可以为复数。

以情况二为一般情况,可以得到 F ( s ) F(s) F(s) 的拉式反变换为: f ( t ) = L − 1 { F ( s ) } = L − 1 { ∑ j = 1 r c j ( s − s 1 ) j + ∑ i = r + 1 n c i s − s i } f(t)=\mathscr{L}^{-1}\{F(s)\}=\mathscr{L}^{-1}\left\{\sum_{j=1}^r\frac{c_j}{(s-s_1)^j}+\sum_{i=r+1}^n\frac{c_i}{s-s_i}\right\} f(t)=L1{F(s)}=L1{j=1r(ss1)jcj+i=r+1nssici} f ( t ) = L − 1 { F ( s ) } = { c 1 + c 2 t + ⋅ ⋅ ⋅ + c r − 1 ( r − 2 ) ! t r − 2 + c r ( r − 1 ) ! t r − 1 } e s 1 t + ∑ i = r + 1 n c i e s i t f(t)=\mathscr{L}^{-1}\{F(s)\}=\left\{c_1+c_2t+···+\frac{c_{r-1}}{(r-2)!}t^{r-2}+\frac{c_r}{(r-1)!}t^{r-1}\right\}e^{s_1t}+\sum_{i=r+1}^nc_ie^{s_it} f(t)=L1{F(s)}={c1+c2t++(r2)!cr1tr2+(r1)!crtr1}es1t+i=r+1nciesit

结语

最后需要说明的是:
有些函数是无法进行拉普拉斯变换的(在数学上,函数 f ( t ) f(t) f(t) 存在拉氏变换的条件是拉普拉斯积分收敛),
但是物理上可以实现的信号总是存在拉氏变换的。

鱼眼图像畸变校正的透视变换原理如下: 1. 首先,需要确定图像中的两个灭点,这可以通过球面透视投影得到。 2. 然后,根据灭点的位置,确定仿射变换矩阵,将图像进行仿射变换。 3. 最后,对变换后的图像进行裁剪,得到最终的校正图像。 下面是一个使用OpenCV进行鱼眼图像畸变校正的Python代码示例: ```python import cv2 import numpy as np # 读取鱼眼图像 img = cv2.imread('fisheye.jpg') # 确定灭点 h, w = img.shape[:2] K = np.array([[w, 0, w/2], [0, w, h/2], [0, 0, 1]]) D = np.array([0, 0, 0, 0]) newK = cv2.fisheye.estimateNewCameraMatrixForUndistortRectify(K, D, (w, h), np.eye(3)) map1, map2 = cv2.fisheye.initUndistortRectifyMap(K, D, np.eye(3), newK, (w, h), cv2.CV_16SC2) img_undistorted = cv2.remap(img, map1, map2, interpolation=cv2.INTER_LINEAR, borderMode=cv2.BORDER_CONSTANT) # 确定仿射变换矩阵 src_points = np.float32([[0, 0], [w-1, 0], [0, h-1], [w-1, h-1]]) dst_points = np.float32([[w/4, h/4], [w*3/4, h/4], [0, h], [w, h]]) M = cv2.getPerspectiveTransform(src_points, dst_points) # 进行仿射变换 img_transformed = cv2.warpPerspective(img_undistorted, M, (w, h)) # 裁剪图像 img_corrected = img_transformed[int(h/4):int(h*3/4), int(w/4):int(w*3/4)] # 显示结果 cv2.imshow('Original Image', img) cv2.imshow('Undistorted Image', img_undistorted) cv2.imshow('Transformed Image', img_transformed) cv2.imshow('Corrected Image', img_corrected) cv2.waitKey(0) cv2.destroyAllWindows() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值