Envelope Extraction Using the Analytic Signal

http://cn.mathworks.com/help/signal/ug/envelope-extraction-using-the-analytic-signal.html

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 onplot(t,[-1;1]*abs(y),'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.


posted @ 2015-07-01 16:37  alameda  阅读(118)  评论(0编辑  收藏  举报