Signal Processing Toolbox |
Hilbert Transform
The toolbox function hilbert
computes the Hilbert transform for a real input sequence x
and returns a complex result of the same length
where the real part of y
is the original real data and the imaginary part is the actual Hilbert transform. y
is sometimes called the analytic signal, in reference to the continuous-time analytic signal. A key property of the discrete-time analytic signal is that its z-transform is 0 on the lower half of the unit circle. Many applications of the analytic signal are related to this property; for example, the analytic signal is useful in avoiding aliasing effects for bandpass sampling operations. The magnitude of the analytic signal is the complex envelope of the original signal.
The Hilbert transform is related to the actual data by a 90° phase shift; sines become cosines and vice versa. To plot a portion of data (solid line) and its Hilbert transform (dotted line):
t = (0:1/1023:1); x = sin(2*
pi*
60*
t); y = hilbert(x); plot(t(1:50),real(y(1:50))), hold on plot(t(1:50),imag(y(1:50)),':'), hold off
The analytic signal is useful in calculating instantaneous attributes of a time series, the attributes of the series at any point in time. The instantaneous amplitude of the input sequence is the amplitude of the analytic signal. The instantaneous phase angle of the input sequence is the (unwrapped) angle
of the analytic signal; the instantaneous frequency is the time rate of change of the instantaneous phase angle. You can calculate the instantaneous frequency using the MATLAB function, diff
.
Discrete Cosine Transform | Selected Bibliography |
© 1994-2005 The MathWorks, Inc.