计算得出的互相关系数曲线好像不对,改变测试数据,时间延迟值并未发生改变。
S1=xlsread('C:\Users\ZYD\Desktop\工作簿1.xlsx');
x=S1(:,2);
y=S1(:,5);
n=1024;
fs=1024;
t=(1:n).*(1/fs);
[c,lags]=xcorr(x,y,'coeff');
figure(2)
subplot(211);
plot(t,x,'r');
hold on;
plot(t,y,'b');
legend('x信号', 'y信号');
xlabel('时间/s');ylabel('x(t) y(t)');
title('原始信号');grid on;
hold off
subplot(212);
plot(lags/fs,c,'r');
title('相关函数');
xlabel('时间/s');ylabel('Rxy(t)');
grid on
[Am,Lm]=max(c);
d=Lm-n;
phy=2*10*d*180/fs
Delay=d/fs
%d是延迟的样点数,phy是相应的延迟相角(程序中是60,计算出是57.6),Delay是对应的延迟时间。