您當前的位置:首頁 > 攝影

什麼是卷積

作者:由 愛醬的L.C 發表于 攝影時間:2021-12-04

第一次遇到卷積這個概念是在學習複變函式的過程中,書中對卷積進行了明確的定義:設

f(x)

g(x)

是定義在無窮區間上的兩個連續時間訊號,則將積分

\int_{-\infty}^{+\infty}f(\tau )g(t-\tau )d\tau

定義為

f(x)

g(x)

的卷積(Convolution),記為

f(x)\ast g(x)

數學給出了一個新的定義,按照慣例,會研究它的一系列性質。但我們如果對這個定義的物理含義理解的不夠通透,很容易成為一個只會解題的工具人,而不會在實際工程中去真正的應用它。當時在學習卷積的時候,覺得從定義出發很難理解它的物理意義究竟是什麼,於是在維基百科上看到了這張圖

什麼是卷積

圖中重疊部分的面積就相當於t處的卷積

直觀上,我明白了卷積的物理含義:函式

f

g

t

時刻的卷積表徵為函式

f

與經過翻轉和平移的

g

的重疊部分的面積。卷積即為面積、面積就是積分、積分便為疊加。所以卷積即為疊加,這解釋了卷積為什麼叫“積”,但它為什麼帶個“卷”,直到後來我學習了自控原理,才終於明白何為“卷”。

對於線性時不變系統(Linear time invariant system, LTI system),輸入訊號為

x(t)

,系統衝擊響應為

h(t)

,則系統的輸出

y(t)

y(t)=x(t)\ast h(t)=\int_{0}^{t}x(\tau )h(t-\tau )d\tau

什麼是卷積

線性時不變系統

注意積分範圍是[0, t],即不考慮t<0的情況(畢竟這是工程問題,而不是哲學問題),再者系統的輸出是對t時刻所有輸入的響應。舉個形象的例子:我們在一桶水中扔入一顆石子,桶中的水則會產生波紋,這即為水這個系統對輸入的石子產生的響應(輸出)。由於流體阻力的存在,該波紋會持續衰減,但在波紋完全消失之前,我們接著扔入一顆石子,此時系統產生的波紋就是系統對第二顆石頭的響應和第一顆衰減後的響應的疊加。為了更加形象的表達,我用一幅圖來詳細說明。

什麼是卷積

卷積示意圖

當我們在

t

=10時刻投入一顆石子,其產生的響應為上圖中最粗的那根紫色虛線,但是在前0~9個時刻的輸入仍然對系統產生著殘留響應,不過由於系統阻尼的影響,這些殘留響應都在衰減。我用線的粗細來表示殘留響應的大小,卷積就是對這些殘留響應的疊加。觀察這十一根線段,它們相互交錯,如果我們將其立體化,它們就好像是由一張紙經過了“扭曲”而形成,而這種變化就用“卷”來描述。

以上,我用影象比較形象的描述了卷積的“卷”和“積”的物理意義,簡而言之,卷積可以理解為系統對當前時刻之前的所有輸入的響應的疊加。自然而然,我們就會想這種響應的表達形式如何?即卷積到底對輸入產生了什麼樣的作用呢?接下來,我將用一系列的數學推導來詳細的闡明這種響應,其中涉及的到的知識點,我都會盡量說明出處。希望能看這的同學拿起紙和筆,跟著我一步步推導,這樣你的理解會更加深刻。

上文提到,對於線性時不變系統,輸入訊號為

x(t)

,系統衝擊響應為

h(t)

,則系統的輸出

y(t)

y(t)=x(t)\ast h(t)=\int_{0}^{t}x(\tau )h(t-\tau )d\tau

我們對上式兩邊進行拉普拉斯變換(Laplace transform)(其定義參考複變函式相關章節)

\begin{equation} \begin{aligned} Y(s)=L(y(t))=L(x(t)*h(t))&=\int_{0}^{+\infty}\int_{0}^{t}x(\tau )h(t-\tau )d\tau\ e^{-st}dt \\&=\int_{0}^{+\infty}\int_{\tau}^{+\infty}x(\tau )h(t-\tau )e^{-st}dtd\tau \end{aligned} \end{equation}

換元:令

u=t-\tau

,由

t\in[\tau,+\infty)

,則

u\in[0,+\infty)

,則有:

\begin{equation} \begin{aligned} Y(s)&=\int_{0}^{+\infty}\int_{0}^{+\infty}x(\tau )h(u )e^{-s(u+\tau)}dud\tau \\&=\int_{0}^{+\infty}x(\tau )e^{-\tau}d\tau\int_{0}^{+\infty}g(u )e^{-su}du \\&=X(s)H(s) \end{aligned} \end{equation}

由上式可知,卷積的拉普拉斯變換就是拉普拉斯變換的乘積。則線性時不變系統可以表示為:

Y(s)=X(s)H(s)

我們假設系統輸入為

\begin{equation} \begin{aligned} x(t)&=Asinwt+Bcoswt=\sqrt{A^2+B^2}(\frac{A}{\sqrt{A^2+B^2}}sinwt+\frac{B}{\sqrt{A^2+B^2}}coswt)\\&=\sqrt{A^2+B^2}(cos\phi_isinwt+sin\phi_icoswt)\\&=\sqrt{A^2+B^2}sin(wt+\phi_i)=M_isin(wt+\phi_i) \end{aligned} \end{equation}

其中

\phi_i=arctan(B/A)

M_i

是輸入振幅,

\phi_i

是輸入相位。

對上式進行拉氏變換,可得

X(s)=L(x(t))=AL(sinwt)+BL(coswt)=\frac{Aw}{s^2+w^2}+\frac{Bs}{s^2+w^2}=\frac{Aw+Bs}{(s+jw)(s-jw)}

對於三角函式的拉氏變換可以用“分部積分”的方式求解,具體公式請查閱高數課本

又知,對於線性時不變系統,系統的傳遞函式為(參考自控原理相關內容)

G(s)=\frac{D(s)}{N(s)}=\frac{D(s)}{(s-p_1)(s-p_2)...(s-p_n)}

上式子

G(s)

即為前文中的

H(s)

。則系統輸出為

\begin{equation} \begin{aligned} Y(s)&=X(s)H(s)=\frac{Aw+Bs}{(s+jw)(s-jw)}\cdot\frac{D(s)}{(s-p_1)(s-p_2)...(s-p_n)}\\&=\frac{k_1}{s+jw}+\frac{k_2}{s-jw}+\frac{c_1}{s-p_1}+\frac{c_2}{s-p_2}+...+\frac{c_n}{s-p_n}\\&=\frac{k_1(s-jw)\cdot N(s)+k_2(s+jw)\cdot N(s)+c_1(s+jw)(s-jw)...+...+c_n(s+jw)(s-jw)...}{(s+jw)(s-jw)(s-p_1)(s-p_2)...(s-p_n)} \end{aligned} \end{equation}

上式為

(1)

式則有

k_1(s-jw)\cdot N(s)+k_2(s+jw)\cdot N(s)+c_1(s+jw)(s-jw)...+...+c_n(s+jw)(s-jw)...=(Aw+Bs)D(s)

為求解上式,我們令

s=-jw

,可得

-2jwk_1N(s)=(Aw+Bjw)D(-jw)

k_1=\frac{B+Aj}{2}\cdot \frac{D(-jw)}{N(-jw)}=\frac{B+Aj}{2}\cdot G(-jw)

再令

s=jw

,可得

k_2=\frac{B-Aj}{2}\cdot G(jw)

我們對

(1)

式進行反拉氏變換

y(t)=L^{-1}(Y(s))=k_1e^{-jwt}+k_2e^{jwt}+c_1e^{p_1t}+c_2e^{p_2t}+...+c_ne^{p_nt}

由上式可知,若要系統能達到穩態,則

p_1,p_2,...p_n

的實部都要小於零,若大於零,當t趨近於無窮,

y(t)

會指數發散。於是,穩態下,系統輸出為:

\begin{equation} \begin{aligned} y_{ss}(t)&=k_1e^{-jwt}+k_2e^{-jwt}=\frac{B+Aj}{2}G(-jw)e^{-jwt}+\frac{B-Aj}{2}G(jw)e^{jwt}\\&=\frac{B+Aj}{2}|G(jw)|e^{-j\phi_G}e^{-jwt}+\frac{B-Aj}{2}|G(jw)|e^{j\phi_G}e^{jwt} \end{aligned} \end{equation}

上述變換使用了複數的不同表達:對於複數

z=a+bi

可以寫為

z=\sqrt{a^2+b^2}cos\theta+i\sqrt{a^2+b^2}sin\theta

再由尤拉公式

e^{i\theta}=cos\theta+isin\theta

可得

z=|z|e^{i\theta}

\begin{equation} \begin{aligned} y_{ss}(t)&=\frac{1}{2}|G(jw)|((B+Aj)e^{-(\phi_G+wt)j}+(B-Aj)e^{(\phi_G+wt)j})\\&=\frac{1}{2}|G(jw)|((B+Aj)(cos(\phi_G+wt)-jsin(\phi_G+wt))+(B-Aj)(cos(\phi_G+wt)+jsin(\phi_G+wt)))\\&=|G(jw)|(Bcos(wt+\phi_G)+Asin(wt+\phi_G))\\&=|G(jw)|M_isin(wt+\phi_i+\phi_G) \end{aligned} \end{equation}

以上,我們得到了系統的輸出,將其與系統輸入進行對比,我們發現當系統輸入與系統響應進行卷積之後,訊號的頻率

w

沒有發生變化,但訊號的振幅變化了

|G(jw)|

這叫做振幅響應(Magnitude response),訊號的相位也變化了

\phi_G=\angle G(jw)

這叫做幅角響應(Phase response)。也就是說輸入訊號在經過卷積的作用後,它的訊號強度(幅值)和相位發生了變化,而且這些變化與訊號本身的頻率有關,這也是濾波器的雛形。

總結:本文從卷積的定義出發,探討了卷積的物理意義,最後結合線性時不變系統,推導了卷積的作用。希望讀到這邊部落格的同學,當再有人問你卷積是什麼的時候,你的腦海不僅是浮現出那個積分符號,而是想起那張扭曲的紙,那個幅值和相位都發生改變的訊號。

細心的同學可能發現了我們做了一個假設:我們假設系統輸入為

x(t)=Asinwt+Bcoswt

下週我將對傅立葉變換(Fourier transform)進行詳細的討論,從而解釋這個假設的合理性

最後感謝B站的UP主DR_CAN對於知識的無私分享,才讓我有了上述的感悟。也希望大家留言,討論,分享。

標簽: 卷積  響應  系統  輸入  變換