I have 2 PERFECT data of the transmitter and receiver. From 2 data, I can calculate the delay estimation:
Fs = 8e6 ; % sample rate
for i = 1 : 2
[ cc_correlation, lag ] = xcorr ( signal2(i) , signal1 ) ;
[ cc_maximum, cc_time ] = max( abs (cc_correlation ) ) ;
cc_estimation = abs(length(signal1) - cc_time);
delay ( i ) = cc_estimation / Fs ;
Then I have the matrix of delays are 11 microseconds and 13.875 microseconds.
The expectation in nanosecond from this function because from the sampling rate, I can see the period time T=1/Fs=125ns. Therefore, the delay should be in nanosecond, not microsecond as I had.
When I call the matlab function above:
[ cc_maximum , cc_time ] = max ( abs ( cc_correlation ) ) ;
It returns the values which are called cc_maximum, and another value cc_time. It is sample data.
What did I do wrong for this algorithm?
My professor also said:”you don’t have function, you have sample version of the function, the xcorr is a waveform of continuous function, they have a maximum in the current of time. When you work with a sample, the waveform you have entire function tell the value of the function you have discrete time”
and I still do not understand what his mean?
I hope someone can help me out.