conv()函数表示的是对某个离散序列做卷积运算,比如说两个数组:
x(n)=[3,11,7,0,-1,4,2],-3<=n<=3;h(n)=[2,3,0,-5,2,1],-1<=n<=4;
求两者的卷积则可以进行如下运算:
>> x=[3,11,7,0,-1,4,2];
>> h=[2,3,0,-5,2,1];
>> conv(x,h)
ans =
6 31 47 6 -51 -5 41 18 -22 -3 8 2
-4≤n≤7
其运算机理是:先将上面的第二个离散序列反转,之后进行移位相乘。
其中运算之后的序列的长度是这两个序列的长度相加并减去1。
对于xcorr()函数表示的两个序列对于较短的序列先将其后面补零到相等。之后不反转直接进行移位相乘。
如上面的
>>xcorr(x,h)
ans =
Columns 1 through 8
0.0000 3.0000 17.0000 14.0000 -41.0000 -27.0000 41.0000 58.0000
Columns 9 through 13
-2.0000 -13.0000 10.0000 14.0000 4.0000
conj是求复数的共轭,Matlab有这个函数
若x=a+bi(a,b∈R),则 x'=a-bi(a,b∈R)。共轭复数
Matlab有conj这个函数,或者
x'=CONJ(x) = REAL(x) - i*IMAG(x)