2
$\begingroup$

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. enter image description here enter image description here

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

$\endgroup$
2
  • $\begingroup$ This has already been answered: dsp.stackexchange.com/questions/63141/… $\endgroup$ – Dan Boschen Feb 16 '20 at 19:34
  • $\begingroup$ Welcome to SE.SP! I've closed this as duplicate, but if you edit your question to explain why that question and its answer doesn't answer your question, we can reopen this one. $\endgroup$ – Peter K. Feb 19 '20 at 16:33
0
$\begingroup$

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.

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.