在線即時計算器 · 純前端本地秒算 · 零數據上傳

🛠️ 線性卷積計算機

專業免費的 線性卷積計算機。純前端本機毫秒級計算、零資料上傳、極致隱私保護。提供詳細公式推導、實例示範與常見問答。

即時推算結果 (Computed Output)
即時試算完成
專業公認計算模型,即時運算完畢
📜 計算歷史記錄 (試算軌跡)
尚無歷史記錄,每次點擊「計算」將在此留下試算軌跡...

這個計算機能做什麼

線性卷積計算機可將兩組離散序列透過「離散線性卷積」運算結合在一起。卷積是數位訊號處理(DSP)中最基礎的工具之一,當你已知一個線性非時變(LTI)系統的輸入訊號與脈衝響應時,便能用卷積算出系統的輸出。只要輸入兩組數列,計算機就會立即回傳完整的卷積序列,並附上其中的最大值與最小值。

使用方法

只需要填寫兩個欄位:

  • 第一組序列-你的輸入訊號 x,以逗號分隔的數字輸入,例如 1, 2, 3。
  • 第二組序列-你的第二組訊號 h(通常是脈衝響應),例如 0, 1, 0.5。

小數與負數都可以使用。系統會自動去除每個數值前後的空白並轉換為數字,因此空格多寡完全不影響結果。

計算公式

離散線性卷積的定義如下:

y[n] = \sum_{k} x[k] · h[n-k]

實際運算上,計算機是以直接的雙重迴圈來實作:將第一組序列的每個元素,與第二組序列的每個元素相乘,並把每個乘積 x[i]· h[j] 累加到輸出位置 i + j 上。最終得到的序列長度為 len(x) + len(h) − 1。

範例演算

假設 x = [1, 2, 3]、h = [1, 1],則輸出長度為 3 + 2 - 1 = 4。

  • y[0] = 1· 1 = 1
  • y[1] = 1· 1 + 2· 1 = 3
  • y[2] = 2· 1 + 3· 1 = 5
  • y[3] = 3· 1 = 3

因此卷積結果為 [1, 3, 5, 3],其中最大值為 5、最小值為 1。

卷積中的關鍵術語

術語 含義
離散序列 x[n] 一個按整數 n 索引的有序數字列表,通常是信號的樣本。您以逗號分隔的值輸入的項是 x[0],x[1],x[2],\dots
衝擊響應 h[n] 當系統的輸入是單個單位衝擊時,系統產生的輸出。對於 LTI 系統,它完全表徵該系統:對任何輸入的響應是該輸入與 h[n] 的卷積。
LTI 系統 線性時不變:縮放和相加輸入會縮放和相加輸出(線性),延遲輸入只會延遲輸出(時不變性)。卷積確切描述了 LTI 類。
單位衝擊 \delta[n] 在 n=0 處等於 1,其他地方都等於 0 的序列。它是卷積的單位元素:x[n]*\delta[n]=x[n]。
核/濾波器抽頭 當有限序列 h 用作濾波器時的常見名稱。每個單獨的係數 h[k] 是一個「抽頭」;長度為 5 的核是 5 抽頭濾波器。
卷積和 y[n]=\sum_{k} x[k] h[n-k] — 對於每個輸出索引 n,將每個輸入樣本乘以其索引使 k+(n-k)=n 的核值,然後相加乘積。
支撐/長度 序列非零的索引集。對於長度為 N 和 M 的有限序列,卷積的支撐長度為 N+M-1。
索引 n 和移位 n-k n 是輸出位置;k 遍歷輸入樣本。寫 h[n-k] 意味著核是時間反轉(翻轉)並滑動到位置 n — 卷積的「翻轉和滑動」圖像。
線性與圓形卷積 線性卷積(此計算器)增長到長度 N+M-1。圓形卷積將序列視為周期長度 L=\max(N,M) 並將溢出環繞回開始,給出長度 L 的結果;它對應於兩個 DFT 的逐元素乘積。
互相關 r[n]=\sum_k x[k] h[k+n] — 相同的滑動和求和操作但沒有翻轉。x 與 h 的相關等於 x 與時間反轉 h 的卷積;當 h 對稱時兩者一致。
交換性 x*h=h*x:交換兩個項得到相同的輸出序列。
結合性 (x*h_1)*h_2=x*(h_1*h_2):級聯濾波器可以組合成一個等效核。
分配性 x*(h_1+h_2)=x*h_1+x*h_2:平行分支相加,這是分解濾波器的基礎。
零填充 向序列追加零。零不改變線性卷積的非零值,但將兩個序列填充到長度 ≥ N+M-1 使圓形(基於 DFT)卷積等於線性卷積。

解釋您的卷積序列

輸出索引的含義。計算器報告 y[0],y[1],y[2],\dots,假設兩個輸入都從索引 0 開始。如果您的序列實際上從其他地方開始,第一個輸出樣本位於兩個起始索引的和:如果 x 從 n_x 開始,h 從 n_h 開始,那麼 y 從 n_x+n_h 開始。例如,以 -1 為中心的核與從 0 開始的信號卷積給出一個輸出,其第一個樣本位於 n=-1,因此您必須在根據時間繪製之前將打印列表向左移動一位。

長度和擴展。輸出長度始終為

len(y)=len(x)+len(h)-1

因此信號由 len(h)-1 個額外樣本擴展。這些額外樣本出現為啟動暫態(前 len(h)-1 個輸出,其中核只部分重疊數據)和末尾的尾聲。在實時濾波中,這些邊緣樣本通常被丟棄或單獨處理,因為它們是從不完全重疊而不是從完整核計算的。

總和檢查。確認結果的一個快速方法是輸出的總和等於輸入總和的乘積:

\sum_n y[n]=≤ft(\sum_n x[n]\right)≤ft(\sum_n h[n]\right)

對於 x=[1,2,3] 和 h=[1,1],輸出是 [1, 3, 5, 3],其總和為 1+3+5+3=12,符合 6× 2=12。如果您的總和不符合,索引已被丟棄或符號被誤處理。

核的和告訴您什麼。如果 \sum_n h[n]=1,該操作保留信號的總體水準和平均值 — 這是平滑或低通核的特徵,例如 [0.5,0.5] 或 [1/3,1/3,1/3]。如果 \sum_n h[n]=0,輸入的常數部分被消除,只有變化存活:h=[1,-1] 是一個一階差分(高通)核,在任何常數段上輸出零,並在邊緣處產生峰值。求和為大於 1 的值的核應用淨增益;小於 1(但非零)應用淨衰減。

峰值振幅。報告的最大值和最小值給出濾波信號的最大正和負偏移 — 對於檢測定點實現中的溢出或裁剪很有用。每個輸出樣本滿足

|y[n]|≤≤ft(\sum_k |x[k]|\right)\max_k |h[k]|

這是一個安全的最壞情況界。一個更緊密和同樣標準的界是 \max_n|y[n]|≤ \max_n |x[n]|·\sum_k|h[k]|;量 \sum_k|h[k]| 是濾波器對最壞情況有界輸入的增益。

衝擊行為。與 \delta[n]=[1] 卷積返回未改變的輸入,與移位衝擊 — [0,0,1],即 \delta[n-2] — 卷積返回延遲 2 個樣本的精確副本。這使衝擊成為方便的合理性測試:如果核應該是中性的,向其提供單個 1 應該重現核本身,因為 \delta[n]*h[n]=h[n]。

這些性質是關於離散線性卷積的一般數學事實,不依賴於任何國家標準或軟體包。如果您將結果與基於 DFT 的程序進行比較,請記住它計算圓形卷積,除非兩個序列都零填充到至少 len(x)+len(h)-1。

使用注意事項與精準校對原則(6 大核心守則)

📐 1. 嚴格對齊輸入量綱與單位

輸入各項數值時請務必確認量綱(例如小時、天數、金額、百分比),避免單位不匹配引發推算偏差。

🔒 2. 純前端本機毫秒級隱私保障

所有計算邏輯 100% 在您的終端瀏覽器內完成,資料絕不上傳伺服器,嚴格守護商業與個人隱私。

📊 3. 符合公認學術與產業計算模型

演算法嚴格遵循國際通用數學公式與標準計算模型,經多重情境交叉核對,數值嚴密精確。

📋 4. 一鍵複製與免登入 PDF 匯出

支援一鍵複製推算結果字串至剪貼簿,亦可直接點擊列印按鈕輸出純淨 PDF 工作報表。

🔄 5. 多情景敏感度動態對比

建議針對極端值與多組預期情景分別試算,觀察輸出數據的波動區間,輔助做出更穩健的決策。

🛡️ 6. 專業諮詢與日常參考免責聲明

本工具運算結果供日常排程、學業研習與事前參考之用,如涉及重大法規或投資決策請諮詢持證專家。

常見問題 (FAQ)

結果序列有多長?
永遠是兩組輸入序列長度相加後再減一。將一組 4 個元素與一組 3 個元素的序列做卷積,會得到 6 個數值。
兩組序列的順序會影響結果嗎?
不會。卷積符合交換律,因此對調第一組與第二組序列,得到的卷積結果完全相同。
這跟互相關(cross-correlation)是一樣的嗎?
不一樣。卷積會在滑動之前先將其中一組序列翻轉(也就是 \(h[n - k]\) 這一項),而互相關則不會翻轉。除非其中一組序列本身對稱,否則兩者的結果並不相同。