MATLAB Function Reference |
Syntax
w = conv(u,v)
Description
w = conv(u,v)
對向量 u
和 v
做卷積。在代數上來說,卷積(convolution)與係數是 u
和 v
元素的多項式相乘是一樣的動作。
Definition
假設 m
=
length(u)
而 n
=
length(v)
。
則 w
是長度為 m+n-1
的向量,且它的第 k
個元素是
大致上來說, j
的值導出 u(j)
和 v(k+1-j)
的正當式子,j
=
max(1,k+1-n)
: min(k,m)
。當 m
=
n
時,得到:
w(1) = u(1)*v(1) w(2) = u(1)*v(2)+u(2)*v(1) w(3) = u(1)*v(3)+u(2)*v(2)+u(3)*v(1) ... w(n) = u(1)*v(n)+u(2)*v(n-1)+ ... +u(n)*v(1) ... w(2*n-1) = u(n)*v(n)
Algorithm
卷積定理(convolution theorem)中粗略得提到,兩個序列(sequence)的卷積 與他們傅立葉轉換(Fourier transforms)的乘積是一樣的。為了讓它更明確,必須將兩個向量填滿零且忽略四捨五入的誤差。如此,假設
X = fft([x zeros(1,length(y)-1)]) and Y = fft([y zeros(1,length(x)-1)])
See Also
convmtx
and xcorr
in the Signal Processing Toolbox
contrast | conv2 |