| 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 | ![]() |