這個計算機能做什麼
線性卷積計算機可將兩組離散序列透過「離散線性卷積」運算結合在一起。卷積是數位訊號處理(DSP)中最基礎的工具之一,當你已知一個線性非時變(LTI)系統的輸入訊號與脈衝響應時,便能用卷積算出系統的輸出。只要輸入兩組數列,計算機就會立即回傳完整的卷積序列,並附上其中的最大值與最小值。
使用方法
只需要填寫兩個欄位:
- 第一組序列-你的輸入訊號 x,以逗號分隔的數字輸入,例如
1, 2, 3。 - 第二組序列-你的第二組訊號 h(通常是脈衝響應),例如
0, 1, 0.5。
小數與負數都可以使用。系統會自動去除每個數值前後的空白並轉換為數字,因此空格多寡完全不影響結果。
計算公式
離散線性卷積的定義如下:
$$y[n] = \sum_{k} x[k] \cdot h[n-k]$$實際運算上,計算機是以直接的雙重迴圈來實作:將第一組序列的每個元素,與第二組序列的每個元素相乘,並把每個乘積 \(x[i]\cdot h[j]\) 累加到輸出位置 \(i + j\) 上。最終得到的序列長度為 len(x) + len(h) − 1。
範例演算
假設 x = [1, 2, 3]、h = [1, 1],則輸出長度為 \(3 + 2 - 1 = 4\)。
- \(y[0] = 1\cdot 1 = 1\)
- \(y[1] = 1\cdot 1 + 2\cdot 1 = 3\)
- \(y[2] = 2\cdot 1 + 3\cdot 1 = 5\)
- \(y[3] = 3\cdot 1 = 3\)
因此卷積結果為 [1, 3, 5, 3],其中最大值為 5、最小值為 1。
常見問題
結果序列有多長?永遠是兩組輸入序列長度相加後再減一。將一組 4 個元素與一組 3 個元素的序列做卷積,會得到 6 個數值。
兩組序列的順序會影響結果嗎?不會。卷積符合交換律,因此對調第一組與第二組序列,得到的卷積結果完全相同。
這跟互相關(cross-correlation)是一樣的嗎?不一樣。卷積會在滑動之前先將其中一組序列翻轉(也就是 \(h[n - k]\) 這一項),而互相關則不會翻轉。除非其中一組序列本身對稱,否則兩者的結果並不相同。