-
重疊-相加之卷積法
鎖定
重疊-相加之卷積法 ( Overlap-add method ) 是一種區塊卷積 ( block convolution, sectioned convolution ),可以有效的計算一個很長的信號 x[n] 和一個 FIR 濾波器 h[n] 的離散卷積。
- 中文名
- 重疊-相加之卷積法
- 外文名
- Overlap–add method
- 分 組
- 數理科學
重疊-相加之卷積法形式
重疊-相加之卷積法算出重疊的輸出區塊;另一種區塊卷積的作法,重疊-存儲之卷積法則是將輸入區塊重疊。
重疊-相加之卷積法算法
概念上,這個做法是選用一個較短的適當長度L來切割x[n] ,計算x[n] 的子數列濾波後的結果yk[n] ,然後連接起來成為y[n] 。並考慮到一個長度
和長度
的有限長度離散信號,做卷積之後會成為長度
的信號。
而因為卷積是線性時不變運算,所以y[n] 可被表示為
重疊-相加之卷積法偽代碼
Algorithm (OA for linear convolution) Evaluate the best value of N and L H = FFT(h,N) (zero-padded FFT) i = 1 while i <= Nx il = min(i+L-1,Nx) yt = IFFT( FFT(x(i:il),N) * H, N) k = min(i+N-1,Nx) y(i:k) = y(i:k) + yt (add the overlapped output blocks) i = i+L end
重疊-相加之卷積法區塊長度的選擇
當x[n] 的長度N'和h[n] 的長度M相差太大時(例如M< log2N'),直接卷積(不透過循環卷積和FFT)反而最快。而當N'和M差不多在同一個數量級時,不用分區,也就是隻有一塊長度L=N'的區塊去做 FFT 即可。而當N'比M大了不少,卻沒大太多時,區塊長度L就需要選擇。除了與N'和M相關以外,也要考慮當兩者相除有餘數時,剩下一小段的輸入可能會造成浪費。
重疊-相加之卷積法相關條目
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:2次歷史版本
- 最近更新: 双鱼雨后彩虹12