phase angle from discrte hilbert tranform
    31 views (last 30 days)
  
       Show older comments
    
If I have time series data and I want to Hilbert transformation it to get the phase angle as a function of time what do I need to do? Sorry I'm completely stumped and brand new to matlab
0 Comments
Accepted Answer
  Wayne King
    
      
 on 2 Dec 2011
        Hi Bobby, the derivative of the phase of the analytic signal is the instantaneous frequency that is true. But estimating the instantaneous frequency is tricky business. There are a number of papers on algorithms for that. It's very sensitive to noise for one thing. Yes, in the simple case I gave you, you can fit a least squares line to the unwrapped phase and get the frequency. But that is because the instantaneous frequency is the same everywhere.
x = cos(pi/4*(0:99));
y = hilbert(x);
sigphase = (unwrap(angle(y)))';
X = ones(length(sigphase),2);
X(:,2) = (1:length(sigphase))';
beta = X\sigphase;
beta(2)
Note beta(2) is very close to the frequency of pi/4. But this is a very simple example where the frequency is not changing.
3 Comments
  Wayne King
    
      
 on 2 Dec 2011
				I can recommend:
B. Boashash, “Estimating and interpreting the instantaneous frequency of asignal. II. Algorithms and applications,” Proceedings of the IEEE, vol. 80, no. 4, pp. 540–568, 1992.
  Wayne King
    
      
 on 2 Dec 2011
				yea, it definitely won't be a simple process. If you're feeling ready to head into the thick of it, write back and I can suggest a few routes, but it's definitely tricky business. Don't get me wrong, it's a fruitful endeavor, but not straightforward.
More Answers (1)
  Wayne King
    
      
 on 2 Dec 2011
        Hi, Do you really just want the phase function, or are you trying to get the instantaneous frequency. At any rate, you can get the phase with:
x = cos(pi/4*(0:100));
y = hilbert(x);
sigphase = atan2(imag(y),real(y));
% or
sigphase = angle(y);
3 Comments
  Fatma Keskin
 on 20 May 2023
				If we have an amplitude modulated signal, what would the instantaneous phase give me? Phase of the envelope or the actual oscillation?
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

