2017-08-30 41 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