關於卷積的理解
一、連續域
1.衝擊函數的介紹
- 衝擊函數是狄拉克爲了解決一些瞬間作用的物理現象而提出的一個概念。衝量這一物理現象很能說明“衝擊函數”。在t時間內對一物體作用F的力,倘若作用時間t很小,作用力F很大,但讓Ft的乘積(這個極短時間的積分不變)不變,即衝量不變。在數學中即使它無限瘦、無限高、但它仍然保持面積不變,這個主要是爲了闡述 “時間無限小,一瞬間的”這個概念,但是這個時間無限小的時間並不是衝擊函數本身,衝激函數的值是,時間無限小情況下這個Ft面積即這個積分的值是多少。即衝擊函數是時間無限小,值爲這個無限小時間內Ft的面積即無限小時間內積分值的這樣一個函數。單位衝擊函數指的是這個無限小時間內的積分值爲 “1”的衝激函數,也叫狄拉克函數,記爲:
2.系統函數(零狀態衝擊響應)的介紹
- 單位衝激響應 :系統在單位衝激函數激勵下引起的零狀態響應,稱爲該系統的單位衝擊響應,一般用 h(t)表示。,h(t)包含了系統的所有信息(我個人習慣稱他爲系統函數),它與系統的傳遞函數互爲傅里葉變換關係。例如我們對一個RC單路進行一瞬間的充電操作,加入這個一瞬間施加的電壓與極短時間的積分是“1”,即系統激勵是一個單位衝擊函數,那麼這個系統中電容兩端的電壓隨時間的變化爲下圖,那麼這個電壓U隨時間變化的規律就是單位衝擊響應h(t)
3.線性時不變系統的介紹
- 依然以上面的RC電路爲例,先介紹時不變性。加入我在早上0點的時候對RC系統加了單位衝擊函數delt(t),得到的系統函數爲h(t),我tao時刻做了同樣的操作delt(t-tao),得到的系統函數是h(t-tao),即不論我在什麼時間對系統激勵單位衝激函數,得到的系統函數都是一樣的(時間起點不一樣而已,對由應與數學就是函數圖像相對於參考時間統一向後(右)移動了tao時刻),記爲:我們稱這樣的系統是時不變的,簡單說就是系統的內部情況不隨時間的變化而變化。在介紹線性性,線性性分爲齊次性和疊加性:
齊次性表示爲:
疊加性表示爲:
總結線性性就是:
剛纔例子爲單位衝擊函數作爲激勵,積分的值爲“1”,假如現在的衝激函數不是單位衝擊函數,而是0.4delt,也就是積分值爲“0.4”,那麼假如系統得到的響應爲0.4h(t),那麼系統就符合疊加性;假如在同一個“一瞬間極短時間內”有兩個衝擊函數同時激勵系統,一個是0.4delt,另一個是0.9delt那麼得到的響應爲0.4h(t) + 0.9h(t) = 1.3h(t),這就是系統符合線性性。
4.信號與系統中輸入與輸出關係的介紹
在連續時間系統中,任一個信號可以分解爲具有不同時延的衝激信號的疊加。這就是說一個信號X(t),(0<t<T)可以將它分解爲時間區間[0,T]上的無限個具有不同時延的衝擊信號的疊加,X(t)在不同時刻的值(函數幅度)就是對應時延時刻衝擊信號的值(就是該衝擊信號的積分值)。
自然界中我們遇到的信號基本上都是連續時間信號,因此,對於一個系統來說他的激勵,基本上都是連續時間信號,基本上沒有衝擊信號,因此,我們要用衝擊信號的理論來研究當一個系統的激勵是連續時間信號X(t),已知系統函數爲h(t)時,他的響應是什麼。其實他的響應就是X(t)卷積h(t)。X(t)卷積h(t)的含義分爲兩部分,第一就是將X(t)變成無數個衝擊函數的和的形式,即不同時延上的delt(t)函數乘以X(t)在當前位置上的幅度大小(權)(X(t)與dele(t)的時延參考點都選0時刻,即0時刻纔開始有輸入激勵,開始有輸入激勵的時間定義爲0時刻),然後將無數個加權了的衝擊函數時域相加,就得到了用衝擊函數表示X(t)的形式了,例如tao時刻連續信號的值爲X(tao),那麼對應的衝擊函數就應該是delt(t-tao),即: 相乘之後就是另一個衝激函數:即一個常數乘以一個單位衝擊函數得到的衝激函數,用這個結果來表示X(t)的tao時刻,那麼這個衝擊函數 的系統響應是什麼呢,根據系統線性時不變性,可知由這個衝擊函數得到的響應就是:這是一個非常重要的事情,即X(t)被表示成無數個加權衝擊函數的和之後,在tao時刻的衝擊函數的系統響應是:那麼這樣的話tao1時刻tao2時刻的衝擊響應就是:由於:(相當於X(t)是無數個加權衝激函數的時域和),那麼根據系統的線性性質,可以知道X(t)的系統響應應該等於每一個加權衝激函數的響應的和,即X(tao)×h(t-tao)的和,即X(t)的響應Y(t)爲:這就是連續時間信號X(t)作爲激勵得到的系統響應,這個表達式也是X(t)與h(t)卷積的表達式,即:
即普通的連續時間信號X(t)經過系統函數爲h(t)的系統後得到的響應爲X(t)與h(t)的卷積結果。
上述將連續時間信號作爲激勵得到響應的推導過程可以分爲以下三個步驟:
1.根據單位衝擊函數得到系統函數h(t)。
2.根據單位衝激函數狄拉克函數的性質,將連續時間信號X(t)表示爲無數個加權衝擊函數的和,這個加權就是利用了單位衝擊函數積分值的物理意義與X(t)的幅值相乘形成的,將單位衝擊函數變成了一般的衝擊函數。這一點其實就是表達式(1-1)要說明的。
3.將上述無數個衝激函數一個一個帶入系統求得各自的系統響應,根據系統的線性時不變性,利用各個衝激函數是相加關係得到最後的系統響應是各個分散系統響應的和,得到連續時間信號的系統響應
即表達式 (1-2)。
因此只有線性時不變系統才能做卷積。
5.廣義的卷積運算
廣義的卷積運算是兩個連續的時間信號做單純的卷積運算,比如:求結果,這樣的話我們可以理解爲X2(t)是某個系統的系統函數,X1(t)是連續時間激勵輸入,那麼這兩個函數的卷積就是:理解方式與式(1-2)相同
二、離散域
類比連續域即可
連續域的衝擊函數是從衝量引入的,讓時間極端小,但是又能對函數對物理量積分,積分的值就是衝擊函數的值,單位衝擊函數的值爲“1”,
但是在離散域,單位衝擊函數(離散域叫做單位脈衝函數)是一個幅度爲“1”的函數,離散域沒有積分的概念,只有累加的概念,因此離散域中,物理量的幅度值就是衝激函數的值(沒有擠壓壓縮時間無限小的概念)離散域單位衝擊函數表示爲:
同理當物理量的幅度不是1的話根據線性性就有了一般的離散衝激函數比如: 同理,離散系統的系統函數也是離散單位衝激函數作爲激勵得到的離散單位衝擊響應(離散域叫做單位脈衝響應)h(n),這樣的話根據連續域的三條法則可知:
- 離散系統的系統函數就是單位脈衝函數作爲激勵得到的單位脈衝響應h(n)。
- 任何離散時間信號都可以看成是由離散時間脈衝組成的,即:(離散域用的是累加)這裏的X(k)就相當於權係數,delt(n-k)相當於單位脈衝函數delt(n)向右移動k個單位長度,這就表示離散時間信號X(n),表示爲了無數個加權之後的單位脈衝函數經過各自延時k之後的和,這裏的k相當於連續域的tao。
- 將上述每個對應k時延加權之後的脈衝函數經過系統得到的響應爲:那麼由於這麼多輸入信號是相加關係,根據線性時不變特性,得到X(n)的系統響應爲:這就是離散域的三法則,與連續域相對應。
三、一些類比故事
卷積的物理意義:
在生活當中有很多現象都體現了卷積的含義,比如古人鑽木取火就是一個很形象的例子。當我們用一根木頭與另一根木頭接觸並鑽一下,由於摩擦產生熱,在兩根木頭接觸的地方就會發熱,但是很明顯,就只鑽一下,木頭是不可能燃起來的,而且隨着時間變長,那一點由摩擦產生的熱量會一點一點消失掉。妙果我們加快鑽的頻率,也就是在之前所鑽出來的熱量還沒有消失掉的時候再多鑽幾下,把之前所有的殘餘的熱量疊加起來,時間越短,殘餘的熱量就會越多,這樣熱量就會在發熱的地方積累得很多,木頭的溫度也就會越來越高,最後達到着火點而燃燒起來。對於這個例子,其中有幾個關鍵的地方,第一,每一次鑽出來的熱量消失的速度快慢是由環境客觀條件比如溫度,和木頭的導熱係數所決定的。第二,我們認定木頭是一個線性系統,也就是對於幾任意兩次鑽的過程互不影響,只存在疊加關係。而且對於每一次不同程度的鑽所產生的熱量是與鑽的程度成正比的。
我們可以把這個問題抽象爲一個數學模型:
鑽的過程爲輸入x(t), 系統的衰減函數爲h(t),木頭被鑽的地方積累的熱量爲y(t)。在某個時間點u,鑽所產生的輸入爲x(u),此時的衰減係數爲h(t-u)[爲什麼是t-u呢?衰減函數接受的參數是經歷的衰減時間,從u到t還要經歷t-u這麼長時間的衰減,所以就要用t-u了],對x(u)h(t-u)du做個積分就得到y(t) 了。
也就是卷積表達了系統對於輸入的累計效應。