卷積及其應用


卷積的定義

向量的計算

給定向量:$a=(a_0,a_1,.,a_{n-1}), \ b = (b_0,b_1,...,b_{n-1})$

向量和:$a+b = (a_0+b_0, a_1+b_1, ... ,a_{n-1}+b_{n-})$

內積:$a\cdot b = a_0b_0 + a_1b_1 +...+a_{n-1}b_{n-1}$

卷積:$a*b = (c_0, c_1,...,c_{2n-2})$,其中$C_k = \sum_{i+j=k,\ i,j< n} a_ib_j, \ k = 0,1,...,2n-2$

即$$ \begin{aligned}
C_0 &= a_0b_0 \\ C_1 &= a_0b_1+a_1b_0 \\C_2 &= a_0b_2 + a_1b_1 + a_2b_0 \\ \cdots
\end{aligned} $$

這就是卷積的基本公式,即將下標和相同的數相乘再相加,對於這個公式我們有矩陣形式的解釋。

卷積的含義

構造如下形式的矩陣:

可發現,每條斜線的項之和恰好是卷積中的各個分量。

例如,$C_{n-1}$

計算實例

向量$a=(1,2,4,3)$和向量$b=(4,2,8,0)$進行運算。

例如卷積結果中的28,既可以通過前3項交叉相乘$1\times 8 + 2 \times 2 + 4 \times 4$得到,也可以矩陣形式斜線相加得到。

卷積與多項式乘法的關系

多項式乘法:$C(x) = A(x)B(x)$

$A(x) = a_0 + a_1x + a_2x^2+...+a_{m-1}x^{m-1}$

$B(x) = b_0 + b_1x + b_2x^2 + ... + b_{n-1}x^{n-1}$

$C(X) = a_0b_0 + (a_0b_1 + a_1b_0)x+(a_0b_2 + a_1b_1 + a_2b_0)x^2 + ...+ a_{m-1}b_{n-1}x^{m+n-2}$,其中$x^k$的系數

$$c_k = \sum _{i+j=k \\  i\in\{0,1,...,m-1\} \\  j\in\{0,1,...,n-1\} } a_ib_j, \ k=0,1,...,m+n-2$$

 可見,多項式乘法的系數就是卷積的結果。

卷積應用:信號平滑處理

    由於噪聲干擾,對信號需要平滑處理。

 

    如圖,紅色的線是有噪音的情況,黑色的線就是處理以后的結果,它把噪音去掉了,這種處理叫平滑處理。

平滑處理

信號向量:$a = (a_0,a_1,...,a_{m-1})$

$b = (b_{2k}, b_{2k-1}, ..., b_0) = (w_{-k}, ..., w_k)$

於是${a_i}' = \sum _{s=-k} ^k a_{i+s}b_{k-s} = \sum _{s=-k}^k = a_{i+s}w_s$

 

     由於a是升序,b是降序,所以對應項的下標和相等,相乘再相加也即是一個卷積值,用新的值代替原來位置的值。把b向量看作一個2k+1長度窗口在a上移動,少數項有誤差。

實例

 

 矩陣表示如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM