フィルターのクリア

How to find phase shift and do phase shift correction between two signals in frequency domain?

33 ビュー (過去 30 日間)
I have 2 time domain signals collected from Terahertz Time Domain Spectroscopy (Reflection); reference and sample. I managed to find out the time delay between the two signals. And I thought by aligning the peak of two signals in time domain will correct the phase shift problem in frequency spectrum. But it does not seem to work this way. Therefore,I thought can explore the option of finding phase shift between the two signals in a particular frequency spectrum before correcting the phase shift.
Can someone kindly enlighten me how to find phase shift between the two signal in the frequency spectrum and how to correct phase shift in the frequency spectrum? Really any help will be deeply appreciated.
  1 件のコメント
Mohammad Wahiduzzaman Khan
Mohammad Wahiduzzaman Khan 2018 年 7 月 27 日
You can use cross-correlation as in [c,lags]= xcorr (sig1, sig2); and follow the rest of the procedure as in the examples.

サインインしてコメントする。

採用された回答

Star Strider
Star Strider 2018 年 1 月 21 日
You have not provided enough information to provide a specific response. Note that if your signal contains multiple frequencies, as the Wikipedia article appears to indicate, it may not be possible to get all the phase angles to zero.
Since you mentioned analysing your signals in the frequency domain, I assume you are already familiar with the fft (link) function. Use the angle (link) function on the complex output of the fft to get the phase. You can use this utility function to convert angles going from 0 to ±pi to angles going from 0 to 2*pi. That could make the angle comparisons easier:
Angles2pi = @(a) rem(2*pi+a, 2*pi); % For ‘atan2’
Also consider using the unwrap (link) function.
If you provide more information, we may be able to provide a more specific response.
  4 件のコメント
Minnie
Minnie 2018 年 1 月 22 日
I shall try it out. Really thank you so much for helping out and explaining so much in great details.
Star Strider
Star Strider 2018 年 1 月 22 日
As always, my pleasure.

サインインしてコメントする。

その他の回答 (1 件)

chirag hb
chirag hb 2018 年 6 月 20 日
I need to phase shift the incoming sine signal by 90 degree using matlab coding . what ever the frequency or samples of signal the signal should have shifted by 90 degree. this is possible?? is so please give with input output defined in matlab function. Thanks and regards, Chirag H B

カテゴリ

Help Center および File ExchangeSignal Processing についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by