
matlab中c = xcorr(x,y,maxlags,'option') 与c = xcorr(y,x,maxlags,'option') 运算结果不一样
matlab中c=xcorr(x,y,maxlags,'option')与c=xcorr(y,x,maxlags,'option')运算结果不一样,c分别代表什么意思?...
matlab中c = xcorr(x,y,maxlags,'option') 与c = xcorr(y,x,maxlags,'option') 运算结果不一样,c分别代表什么意思?
展开
1个回答
展开全部
结果其实是一样的,只是倒转了结果的排列顺序。
c代表互相关,如果option选coeff, c就是互相关系数。
c = xcorr(x,y,maxlags,'option')是保留x的相位,平移y。而c = xcorr(y,x,maxlags,'option')是保留y的相位,平移x。因为对x平移-k个单位等同与对y平移k个单位,所以这两个c其实表达了同样的结果。只是结果的顺序倒置了。如果你想验证这个,可以将用fliplr(c)将第二个c的顺序倒转回来,结果和第一个c应该是一样的。
由此可知,如果maxlags=0,这两个c也会是一样的。
c代表互相关,如果option选coeff, c就是互相关系数。
c = xcorr(x,y,maxlags,'option')是保留x的相位,平移y。而c = xcorr(y,x,maxlags,'option')是保留y的相位,平移x。因为对x平移-k个单位等同与对y平移k个单位,所以这两个c其实表达了同样的结果。只是结果的顺序倒置了。如果你想验证这个,可以将用fliplr(c)将第二个c的顺序倒转回来,结果和第一个c应该是一样的。
由此可知,如果maxlags=0,这两个c也会是一样的。
更多追问追答
追问
这个我验证过,x,y颠倒位置,结果一正一负,关键是我要用这个相关提取时差。如果是c = xcorr(x,y,maxlags,'option'),,t=(find(c==max(c))-lag)/fs;这样提取的时差是x-y的时差,还是y-x的时差?
追答
你的意思是求出来的t是一正一负吗?lag和fs是什么?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询