Phase delay between two signal using FFT I am working in calculating the phase delay between two signals. The signals are sent through the same transmitter and received in two different receivers.
They have many frequencies, but with a primary one. I need to calculate the phase delay at the maximum value. The FFT magnitude gives me the main frequency component. I can calculate the phase difference at any exact frequency bin around the max freq if I use the same freq for both signals.
B
elow are the FFT magnitude and phase.


As you can see the phase at maximum freq is always located at a peak. Any small change because of noise gives a big error.
When I unwrap the phase the difference is very big.
Is this the correct approach? Any idea of how to deal with this?
Thank you
Do an fftshift before the FFT (rotate your sample vector by N/2), this relocates the phase reference to the center of your sample window (instead of at a potential circular discontinuity around the ends).  This also often requires less unwrapping, as well as making phase interpolation (between FFT result bins) and phase differences more intuitive.