I have a signal of the form $f(\omega,x) = g(\omega) e^{i \omega (x +c)},$ for $g: [\omega_1 , \omega_2] \rightarrow C, \, x\in R$ and some constant $c.$ I want to get the function $$ F (\omega,x) = \mathcal{H} ( \Re \{f(\cdot,x)\}) (\omega), $$ where $\mathcal{H}$ denotes the Hilbert transform with respect to frequency $\omega,$ and $\Re$ the real part. I need the function $F$ to be again symbolic on $x$ such that I can differentiate it later.

I am trying to implement it in Matlab using:

L = 1e-2; K = 100; c = 1;
omega = (1/L)*(-K:K-1);

g = exp(-omega.^2/4);

syms x; f(x) = real(g.*exp(1i*omega*(x+c)));

but then the hilbert build-in function is not working. Do you have any idea how to do it?


1 Answer 1


The real part, the Hilbert transform and the derivation are all operators that commute. So you can move the derivative just close to the function.

  • 1
    $\begingroup$ "commune"? or "commute"? $\endgroup$ May 21, 2019 at 23:14
  • 1
    $\begingroup$ I don't even have the excuse that letters are close on the keyboard $\endgroup$ May 23, 2019 at 7:15
  • $\begingroup$ Thanks for your comment, but I think this does answer my question. The derivative is with respect to x and the Hilbert with respect to omega. My question is if the hilbert transform can be applied to f, that is symbolic at x, and result to a symbolic function at x. $\endgroup$
    – Nikolas
    May 23, 2019 at 8:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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