0
$\begingroup$

I have a sine wave signal with a frequency of 1 Hz, and it is evident that there is low-frequency modulation.

enter image description here

I want to compensate for it by extracting the envelope using the Hilbert transform. However, the effect of the Hilbert extraction is not satisfactory (red). This puzzles me, and I hope someone can help me understand.

enter image description here


Thanks for your responses. During class, the teacher mentioned that signals of the following form can be extracted using the Hilbert transform。When the frequency bandwidth of both a(t) and φ(t)is much smaller than ω , the Hilbert transform can be used to solve for a(t). ​
$S(t)=a(t)\cos(\omega t+ \phi(t))$

OH!!!I suddenly realized my mistake! The low-frequency drift a(t) is not amplitude modulation but is superimposed on the carrier wave, as shown in the following equation.

$S(t)=a(t)+\cos(\omega t+ \phi(t))$

After transforming it into a product form using trigonometric functions, the frequency bandwidth of b(t) at the amplitude position is close to w.

$S(t)=b(t)\cos(\omega t+ \phi(t))$

$\endgroup$
6
  • $\begingroup$ Why so complicated? A simple highpass filter would do the job. $\endgroup$ Commented Apr 4, 2024 at 7:23
  • $\begingroup$ You're absolutely right. I just felt that the Hilbert transform would be perfect for handling this. Therefore, I tried using the Hilbert transform, but encountered this strange issue. $\endgroup$ Commented Apr 4, 2024 at 11:12
  • $\begingroup$ why would a Hilbert filter be any use for this? $\endgroup$ Commented Apr 4, 2024 at 11:28
  • $\begingroup$ An ideal Hilbert transformer has an impulse response that is infinitely long and infinitely causal. That makes it numerically very difficult to calculate and you have to carefully manage the approximations for your specific signal and requirements. You always end up with significant artifacts around DC and Nyquist. $\endgroup$ Commented Apr 4, 2024 at 13:31
  • $\begingroup$ You may wish to edit your question, starting with changing the title to something like "Why didn't the Hilbert Transform work for me?". Tell us your sampling rate and the number of samples. Tell us what tool you're using (Python/scipy? Matlab? Octave?). Show us -- in as few lines of code as you can manage -- how you applied your approximation of the Hilbert transform. $\endgroup$ Commented Apr 7, 2024 at 16:35

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.