我正在做一个通过透射法找到材料相速的实验。我有两个不同距离的接收信号作为csv文件。你可以看到下图;
我想使用互相关方法来寻找飞行时间。我使用matlab代码进行交叉相关,如下所示:
clc
clear all
% received signal 1
data = read_tektronix_csv('TEK0058.CSV');
plot(data.time, data.values)
s1=data.values;
%received signal 2
data = read_tektronix_csv('TEK0059.CSV');
plot(data.time, data.values)
s2=data.values;
[acor,lag] = xcorr(s1,s2);
Fs=1E9;
[~,I] = max(abs(acor));
lagDiff = lag(I)
timeDiff = lagDiff/Fs
figure
plot(lag,acor)
那个matlab代码给了我3.17E-7秒作为飞行时间.figtt的真实时间必须是4.881E-5。
如下图所示,从两个接收信号中获得了互相关。
代码算法有问题吗?
谢谢。