Inverse Hilbert transform
If all input arguments are arrays of the same size, then
ihtrans acts element-wise.
If one input is a scalar and the others are arrays of the same size, then
ihtrans expands the scalar into an array of the same size.
f is an array of symbolic expressions with different
independent variables, then
var must be a symbolic array with
elements corresponding to the independent variables.
Compute the inverse Hilbert transform of
cos(x). By default, the inverse transform returns a function of
syms x; f = cos(x); H = ihtrans(f)
Compute the inverse Hilbert transform of the
sinc function, which is equal to
sin(πt)/πt. Express the result as a function of
syms H(t) f(s); H(t) = sinc(t); f(s) = ihtrans(H,s)
sinc function and its inverse Hilbert transform.
fplot(H(t),[0 6],'b') hold on fplot(f(s),[0 6],'r') legend('sinc(t)','f(s)')
Create a sine wave with a positive frequency in real space.
syms A x t u; assume([x t],'real') H = A*sin(2*pi*10*t + 5*x)
Apply a 90-degree phase shift to the positive frequency component using the inverse Hilbert transform. Specify the independent variable as
x and the transformation variable as
f = ihtrans(H,x,u)
Now create a complex signal with negative frequency. Apply a –90-degree phase shift to the negative frequency component using the inverse Hilbert transform.
Z = A*exp(-1i*10*t)
f = ihtrans(Z)
Create a real-valued signal with two frequency components, 60 Hz and 90 Hz.
syms s f(x) F(t) f(s) = sin(2*pi*60*s) + sin(2*pi*90*s)
Calculate the corresponding analytic signal using the inverse Hilbert transform.
F(t) = ihtrans(f(s),t) + 1i*f(t)
Calculate the instantaneous frequency of using
where is the instantaneous phase of the analytic signal.
InstantFreq(t) = diff(angle(F(t)),t)/(2*pi); assume(t,'real') simplify(InstantFreq(t))
Input, specified as a symbolic expression, symbolic function, symbolic vector, or symbolic matrix.
var— Independent variable
Independent variable, specified as a symbolic variable, symbolic vector, or symbolic
matrix. This variable is usually in the time domain. If you do not specify the variable,
x by default. If
H does not contain
ihtrans uses the function
determine the independent variable.
transVar— Transformation variable
f— Inverse Hilbert transform of
The inverse Hilbert transform f = f(t) of the expression H = H(x) with respect to the variable x at point t is
Here, p.v. represents the Cauchy principal value of the integral. The function H(x) can be complex, but x and t must be real.
To compute the Hilbert transform, use
htrans. The inverse Hilbert
transform of a function is equal to the negative of its Hilbert transform.
For a signal in the time domain, the inverse Hilbert transform applies a 90-degree phase shift to negative frequencies of the corresponding Fourier components. It also applies a –90-degree phase shift to positive frequencies.
A real-valued signal
b is the harmonic conjugate of its inverse
a = ihtrans(b). The inverse Hilbert transform
a = real(z) and the signal
b = imag(z) form the
z = a + 1i*b.