1:簡述
Numpy擁有函數numpy.convolve(a, v, mode=’full’)[source]¶,通過該函數完成卷積算法並圖形化(Matplotlib)實現。
2:卷積定理
原理:
設:f(x),g(x)是R1上的兩個可積函數,作積分:
用處:
二個二維連續函數在空間域中的卷積可求其相應的二個傅立葉變換乘積的反變換而得。反之,在頻域中的卷積可用的在空間域中乘積的傅立葉變換而得。
f(x,y) * h(x,y)<=>F(u,v)H(u,v)
f(x,y)h(x,y)<=>[F(u,v) * H(u,v)] (A * B 表示做A與B的卷積)
3:官方函數解讀
numpy.convolve(a, v, mode=’full’)
(http://docs.scipy.org/doc/numpy/reference/generated/numpy.convolve.html#r17)
a,v是兩個算子(array_like),mode有三種情況,’full‘ : 默認值,將計算每個點的卷積,即若a,v長度為n,m。最終輸出圖形x長度為(n+m-1),在邊界處信號不完全重疊,即存在邊界效應。‘same‘:返回長度為max(n,m),仍然有邊界效應。‘valid‘:返回長度為max(n,m)-min(n,m)+1。其中只會顯示兩個信號重疊的部分,不會有邊界效應。
類似功能函數:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
案例:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
4:編碼嘗試
