卷積檢視原始碼討論檢視歷史
卷積 |
![]() |
卷積,在泛函分析中,卷積、旋積或摺積(英語:Convolution)是通過兩個函數f 和g 生成第三個函數的一種數學算子,表徵函數f 與g經過翻轉和平移的重疊部分的面積。
如果將參加卷積的一個函數看作區間的指示函數,卷積還可以被看作是"滑動平均"的推廣。
簡介
褶積(又名卷積)和反褶積(又名去卷積)是一種積分變換的數學方法,在許多方面得到了廣泛應用。用褶積解決試並解釋中的問題,早就取得了很好成果;而反褶積,直到最近,Schroeter、Hollaender和Gringarten等人解決了其計算方法上的穩定性問題,使反褶積方法很快引起了試井界的廣泛注意。有專家認為,反褶積的應用是試井解釋方法發展史上的又一次重大飛躍。他們預言,隨着測試新工具和新技術的增加和應用,以及與其它專業研究成果的更緊密結合,試井在油氣藏描述中的作用和重要性必將不斷增大。
評價
卷積在工程和數學上都有很多應用:
統計學中,加權的滑動平均是一種卷積。概率論中,兩個統計獨立變量X與Y的和的概率密度函數是X與Y的概率密度函數的卷積。聲學中,回聲可以用源聲與一個反映各種反射效應的函數的卷積表示。電子工程與信號處理中,任一個線性系統的輸出都可以通過將輸入信號與系統函數(系統的衝激響應)做卷積獲得。物理學中,任何一個線性系統(符合疊加原理)都存在卷積。
介紹一個實際的概率學應用例子。假設需求到位時間的到達率為poisson(λ)分布,需求的大小的分布函數為D(.),則單位時間的需求量的分布函數為 F(x):
其中 D(k)(x)為k階卷積。
卷積是一種線性運算,圖像處理中常見的mask運算都是卷積,廣泛應用於圖像濾波。castlman的書對卷積講得很詳細。
高斯變換就是用高斯函數對圖像進行卷積。高斯算子可以直接從離散高斯函數得到:
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
{
g[i*N+j]=exp(-((i-(N-1)/2)^2+(j-(N-1)/2)^2))/(2*delta^2));
sum += g[i*N+j];
}
}
再除以 sum 得到歸一化算子
N是濾波器的大小,delta自選
首先,在提到卷積之前,必須提到卷積出現的背景。卷積是在信號與線性系統的基礎上或背景中出現的,脫離這個背景單獨談卷積是沒有任何意義的,除了那個所謂褶反公式上的數學意義和積分(或求和,離散情況下)。
信號與線性系統,討論的就是信號經過一個線性系統以後發生的變化(就是輸入 輸出 和所經過的所謂系統,這三者之間的數學關係)。所謂線性系統的含義,就是,這個所謂的系統,帶來的輸出信號與輸入信號的數學關係式之間是線性的運算關係。
因此,實際上,都是要根據我們需要待處理的信號形式,來設計所謂的系統傳遞函數,那麼這個系統的傳遞函數和輸入信號,在數學上的形式就是所謂的卷積關係。
卷積關係最重要的一種情況,就是在信號與線性系統或數字信號處理中的卷積定理。利用該定理,可以將時間域或空間域中的卷積運算等價為頻率域的相乘運算,從而利用FFT等快速算法,實現有效的計算,節省運算代價。
C++語言代碼:[1]