2017-08-30 68 views
2

我有,当我试图实现xcorr(MATLAB)问题找到两个信号之间的延迟的时间来解决错误:x = cos(2*pi*10*t)和​​如何使用时xcorr找到两个窦之间的时间延迟为10Hz

这里实施xcorr MATLAB后的结果。我不明白如何消除时间延迟图形中的高峰。有人可以帮助我吗?先谢谢你。

2 raw signals 10Hz Time shift after xcorr MATLAB

+0

你在MATLAB中实现'xcorr'是什么意思?这是一个内建函数。你对't'的定义是什么? – m7913d

回答

3

使用你的信号定义如下:

[C, LAGS] = xcorr(x, y); 
[~, i] = max(C); 
time_lag = dt * LAGS(i) % returns -0.05 (i.e. 50ms delay) 

互相关应看:

dt = 0.01; 
t = 0:dt:1; 
x = cos(2*pi*10*t); 
y = cos(2*pi*10*t + pi); 

使用xcorr可以按如下方式计算时间延迟如下(plot(C)):

enter image description here