Extracting envelope using hilbert transform
27 views (last 30 days)
Hi, I want to extract the envelope using the hilbert transformation. I got the discrete intensity signal I as an input. I used the following code
H = hilbert(I);
env = abs(H);
But the envelope seems to be the same as the original signal:
Is there anything I'm missing? According to other explanations this code should not give back the original signal.
Walter Roberson on 30 Sep 2022
According to the documentation, the real part of the return value is the same as the input value, and the hilbert transform is stored as the imaginary component.
When you take abs() of the return value, you are taking the square root of (the square of the input plus the square of the hilbert). If your input is a larger magnitude compared to the hilbert transform then the contribution of the hilbert portion might not be very noticable.
You should plot(I) and plot(imag(h))