離散卷積的計算


本文轉自: 離散卷積與自相關----------信號處理系列   http://www.cnblogs.com/einyboy/archive/2012/12/30/2839633.html

一、  定義

離散信號f(n),g(n)的定義如下:

 

N-----為信號f(n)的長度

s(n)----為卷積結果序列,長度為len(f(n))+len(g(n))-1

以3個元素的信號為例:

f(n) = [1 2 3]; g(n) = [2 3 1];

s(0) = f(0)g(0-0) + f(1)g(0-1)+f(2)g(0-2) = 1*2 + 2*0 + 3*0 =2

s(1) = f(0)g(1-0) + f(1)g(1-1) + f(2)g(1-2) = 1*3 + 2*2 + 3*0 = 7

s(2) = f(0)g(2-0) + f(1)g(2-1) + f(2)g(2-2) =1*1 + 2*3 + 3*2=13

s(3) = f(0)g(3-0) + f(1)g(3-1) + f(2)g(3-2) =1*0 + 2*1 + 3*3=11

s(4) = f(0)g(4-0) + f(1)g(4-1) + f(2)g(4-2) =1*0 + 2*0 + 3*1=3

最終結果為:

     s(n) = [2 7 13 11 3]

上述計算圖示如下:

在數學里我們知道f(-x)的圖像是f(x)對y軸的反轉

     g(-m)就是把g(m)的序列反轉,g(n-m)的意義是把g(-m)平移的n點:

如上圖g(m)在信號處理中通常叫做濾波器或掩碼,卷積相當於掩碼g(m)反轉后在信號f(n)上平移求和。Matlab計算卷積的函數為conv,

>> A = [1 2 3];

B = [2,3,1];

convD = conv(A,B)

convD =

     2     7    13    11     3

相應的二維卷積定義如下:

 


免責聲明!

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



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