一、卷積及其背後的意義

1、卷積產生的意義:上一節講了傅立葉變換,他是為了將一個函式拆成一系列不同頻率的正弦波,為什麼要將一個完整的函式拆分成一個正弦波呢,答案是為了簡化計算,因為正弦函式求導和積分之後都仍是正弦函式,並且很多在時域不好處理的事情在頻域很簡單,比如濾噪,下面是傅立葉變換講解的連結,感興趣的朋友們可以看一下

但是有時候轉換成正弦波的形式同樣不好處理,我們還需要將一個函式轉換成其他的形式,比如衝激,因此便有了卷積,所以卷積其實和傅立葉一樣,是一種函式轉換工具,只是將函式轉換成了不一樣的形式,傅立葉將原始函式轉換成了一系列不同頻率的正弦波,卷積將函式轉換成一系列衝激,對於轉換成衝激有什麼用處會在第二部分給一個具體的例子。

2、卷積是如何將一個函式拆分成一個個的衝激的

(1)階躍函式

首先這裡需要引入一個階躍函式

\varepsilon(t)

,其表達形式如圖1所示:

卷積(背後意義、應用及計算)

圖1

我們可以透過這個函式將原函式分成一段一段的,具體操作如下:

卷積(背後意義、應用及計算)

圖2

將上述函式右移一小段,可以得到如圖2所示的影象,假設需要將原函式截成一小段一小段的,每一個小段的長度是t0,只需要令

\varepsilon(t-nt_{0})-\varepsilon(t-(n+1)t_{0})

即可,即得到

t_{0}

長的一小段,並且可以調節n的大小來移動這個小段的位置,與原函式相乘,即可得到原函式在

nt_{0}

處的近似函式值。因此我們可以得到下列式子,雖然很長,但是很簡單,就是把原函式分為很多小段再加起來

f(t)\approx\sum_{-\infty}^{+\infty}{f(nt_{0})(\varepsilon(t-nt_{0})-\varepsilon(t-(n+1)t_{0}))}

\approx\sum_{-\infty}^{+\infty}{f(nt_{0})\frac{(\varepsilon(t-nt_{0})-\varepsilon(t-(n+1)t_{0}))}{t_{0}}}t_{0}

t_{0}\rightarrow0

時,即我們將原函式分為無數多個點組成的形式的時候,原函式可以寫成如下的形式

f(t)=\lim_{t_{0} \rightarrow 0}{\sum_{-\infty}^{+\infty}{f(nt_{0})\frac{(\varepsilon(t-nt_{0})-\varepsilon(t-(n+1)t_{0}))}{t_{0}}}t_{0} }

我們將

\frac{\varepsilon(t-nt_{0})-\varepsilon(t-(n+1)t_{0})}{t_{0}}

單獨提出來分析,當

t_{0}\rightarrow0

時這是一個求導的式子,求的是函式

\varepsilon(t)

t=nt_{0}

處的導數,從圖1、圖2我們知道,函式

\varepsilon(t)

nt_{0}

處發生了跳變,對這點的求導需要引入一個新的函式即衝激函式

(2)衝激函式

定義:

\left\{ _{\delta(t) = 0,t\ne0}^{\int_{-\infty}^{+\infty}\delta(t)d{t} = 1} \right\}

影象:

卷積(背後意義、應用及計算)

為什麼衝激函式是函式

\varepsilon(t)

nt_{0}

處的導數呢?可以看作是無窮大的力量(突變)但只作用了極端的時間(只在t=0處),所以只造成了有限的影響(階躍到1),這個影響相當於是對無窮大和無窮小相乘後求極限。

3、有了上述鋪墊,現在我們再回到這個公式

f(t)=\lim_{t_{0} \rightarrow 0}{\sum_{-\infty}^{+\infty}{f(nt_{0})\frac{(\varepsilon(t-nt_{0})-\varepsilon(t-(n+1)t_{0}))}{t_{0}}}t_{0} }

可以將上述式子寫成一下形式

f(t)=\sum_{-\infty}^{+\infty}f(nt_{0})\delta(t-nt_{0})t_{0}

t_{0}\rightarrow0

時,每次n增加對

nt_{0}

的影響非常小,因此

nt_{0}

可以看作是一個連續變化的值,將其看作連續量

\tau

,則上式可以寫成如下形式:

f(t)=\int_{-\infty}^{\infty}f(\tau)\delta(t-\tau)d\tau

這樣就將原函式分解成了一系列衝激組成的形式了,上述原理也可以參考珂學原理的文件

連結如下:

二、卷積的應用

現在智慧手機在接聽電話時都會自動進行降噪處理,這就是以來卷積實現的。

我們在接打電話時,周圍存在很多的噪音,但是對方卻聽不到我們這邊的噪聲,因為手機將我們傳入的聲波進行了處理,增強了我們的聲音,濾去了噪聲,這種場景我們很熟悉,自然而然的我們想到了傅立葉變換,但是想象一下,世界上有那麼多聲音,那麼多組合,每個人不一樣,每個人又都可以組合在一起,聲波的形狀有無數中,其中的頻率組成也有無數種,我們無法對世界上所有的人取樣來分離每個人的聲音,但是所有的函式 波形都可以分成一系列的衝激,對於每一個衝激輸入我們給一個相應,令其對應一個固定的輸出,所以就簡單了許多,我們要做的就是令系統給衝激一個固定的相應。

對應的過程如下圖所示(圖片來在珂學原理):

卷積(背後意義、應用及計算)

每一個單位沖沖激對應相應是h(t),這是一個線性時不變系統,不什麼時候輸入一個衝激,對應的響應是一樣的,因此衝激平移,對應的響應函式也平移,且響應的幅值變化也對應著衝激的幅值變化(即衝激成原函式則響應的各個位置也成原函式值同比例增大),如上圖所示,每一個衝激對應一個h(t)的波形,隨著衝激移動而移動,隨著衝激幅值變化而同比例變化,最後每一個時刻的值就是這些響應在這一時刻的累加。最終形成的新的波形就是一個經過濾噪之後的目標波形。

三、卷積的計算

1、數學計算,代入求的時刻t然後積分就好

2、卷積的數學意義

公式:

f(t)\otimes h(t)=\int_{-\infty}^{\infty}f(\tau)h(t-\tau)d\tau

(注意:

\tau

是變數)

對於

h(x_{0}-x)

影象相當於將

h(x)

先沿著y軸對稱翻轉,然後再向右移動

x_{0}

個單位

因此

h(t-\tau)

就相當於翻轉後又向右平移了

t

個單位長度,因此改變t就相當於在不斷的平移翻轉後的

h(-\tau)

函式,在函式

h(-\tau)

和函式

f(\tau)

相交的部分對應相乘並求和。

用下面一組圖來說明:圖片中的x均相當於上述公式中的

\tau

,卷積每次求解的就是陰影部分的面積

卷積(背後意義、應用及計算)

卷積(背後意義、應用及計算)

推薦一本很好的opencv入門書籍