Documentation

This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.

Envelope Extraction Using the Analytic Signal

This example shows how to extract the signal envelope using the analytic signal.

Create a double sideband amplitude-modulated signal. The carrier frequency is 1 kHz. The modulation frequency is 50 Hz. The modulation depth is 100%. The sampling frequency is 10 kHz.

t = 0:1e-4:1;
x = [1+cos(2*pi*50*t)].*cos(2*pi*1000*t);

plot(t,x)
xlim([0 0.1])
xlabel('Seconds')

Obtain the analytic signal. Extract the envelope, which is the magnitude (modulus) of the analytic signal. Plot the envelope along with the original signal.

y = hilbert(x);
env = abs(y);

plot(t,x)
hold on
plot(t,[-1;1]*env,'r','LineWidth',2)
xlim([0 0.1])
xlabel('Seconds')

The magnitude of the analytic signal captures the slowly varying features of the signal, while the phase contains the high-frequency information.

Was this topic helpful?