# Estimation of Instantaneous Amplitude

I'm reading a paper on EMG analysis. The formulas are all clear to me, but the paper refers to the signal amplitude as "instantaneous" amplitude.

I know what instantaneous mean, but what does it mean in the context of signal processing?

The instantaneous amplitude (or envelope) is usually defined as the magnitude of the (complex-valued) analytic signal $x_a(t)$ associated with the given signal $x(t)$:

$$x_a(t)=x(t)+j\mathcal{H}\{x(t)\}\tag{1}$$

where $\mathcal{H}$ denotes the Hilbert transform. So the instantaneous amplitude (envelope) of $x(t)$ is given by $|x_a(t)|$.

As a very simple example, take $x(t)=\cos(\omega_0t)$. Its Hilbert transform is $\sin(\omega_0t)$, and, consequently, its associated analytic signal is

$$x_a(t)=\cos(\omega_0t)+j\sin(\omega_0t)=e^{j\omega_0t}\tag{2}$$

The instantaneous amplitude (envelope) of $x(t)$ is $|x_a(t)|=1$.

Instantaneous amplitude is usually done in conjunction with analytic signals and the Hilbert transform. See this answer on this site.

For signal $s(t)$, given its Hilbert Transform $\hat{s}(t)$ it is defined as a composition:

$$s_A(t)=s(t)+j\hat{s}(t)$$

The Analytic Signal that we obtain is complex valued, therefore we can express it in exponential notation:

$$s_A(t)=A(t)e^{j\psi(t)}$$

where:

$A(t)$ is the instantaneous amplitude (envelope)

$\psi(t)$ is the instantaneous phase.

• You were a few secs faster, so we have a lot of redundancy now ... Good that you quoted that other answer, I didn't realize we already had such a good explanation here. +1 Jan 19, 2016 at 13:41
• @MattL. : Yes, I was tempted to close this question as a duplicate of the other one, but it's not: the other one asks explicitly about the Hilbert Transform, and this one is more general. I felt just giving a link to the other answer was poor form, but I wanted to give credit --- hence the quotation.
– Peter K.
Jan 19, 2016 at 14:11

To calculate the amplitude envelope from of any signal, we take the absolute value of the Hilbert transform of this signal. The Hilbert transform is easily accessible in most programming languages (e.g., hilbert in Matlab ,scipy.signal. Hilbert in Python (Scipy),).Wavelet transforms can also be used.