Extracting envelope using hilbert transform

조회 수: 8 (최근 30일)
Lucas Weissmann
Lucas Weissmann 2022년 9월 30일
답변: Walter Roberson 2022년 9월 30일
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);
plot(I)
hold on
plot(env)
hold off
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.
Thanks!
  댓글 수: 2
Walter Roberson
Walter Roberson 2022년 9월 30일
Would it be possible for you to attach your data for us to test with?
Lucas Weissmann
Lucas Weissmann 2022년 9월 30일
Hi, there is my intesity signal

댓글을 달려면 로그인하십시오.

답변 (1개)

Walter Roberson
Walter Roberson 2022년 9월 30일
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))

카테고리

Help CenterFile Exchange에서 Hilbert and Walsh-Hadamard Transforms에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by