3.5. fmas.analytic_signal

Implements class AnalyticSignal, which uses the frequncy-domain algorithm detailed in [M1999] to compute the complex-valued analytic signal for a real-valued discrete-time field.

M1999(1,2,3,4)

S. L. Marple, Computing the Discrete-Time Analytic signal via FFT, IEEE Transactions on Signal Processing, 47 (1999) 2600.

fmas.analytic_signal.AS

alias of fmas.analytic_signal.AnalyticSignal

class fmas.analytic_signal.AnalyticSignal(x)

Class converting real-valued field to analytic signal.

Implements methods that take a real-valued \(N\)-point discrete-time field \(E\) and provide access to the complex-valued discrete-time analytic signal \(\mathcal{E}\), both in time-domain and Fourier-domain.

Note

The class implements the frequency-domain algorithm specified in [M1999], given by the three-step procedure

1. Compute \(E_\omega\), i.e. the \(N\)-point discrete Fourier-trasform (DFT) of the real-valued discrete-time field \(E\).

2. Compute the \(N\)-point discrete-time analytic signal in the Fourier-domain, given by

\[\begin{split}\mathcal{E}_\omega[m] = \begin{cases} E_\omega[0], & m=0,\\ 2E_\omega[m], & 1\leq m \leq N/2-1,\\ E_\omega[N/2], & m = N/2,\\ 0, & N/2+1 \leq m \leq N - 1. \end{cases}\end{split}\]

3. Compute the complex-valued \(N\)-point discrete-time analytic signal \(\mathcal{E}\) using an inverse DFT.

Parameters

x (numpy.ndarray) – Real-valued field \(E\).

x

Real-valued field \(E\).

Type

numpy.ndarray

num

Number \(N\) of field points.

Type

int

property t_rep

Time-domain representation \(\mathcal{E}\) of the analytic signal.

Type

numpy.ndarray

test_orthogonality()

Check if real and imaginary parts are orthogonal.

Real and imaginary parts of the analytic signal must be orthogonal, i.e.

\[\sum_{n=0}^{N-1} \mathsf{Re}(\mathcal{E}[n])\,\mathsf{Im}(\mathcal{E}[n]) = 0,\]

see Eq. (7) of [M1999].

test_recover_original_field()

Check if real part of analytic signal equals original field.

Real part of the discrete-time analytic signal must be equal to the original field, i.e.

\[\mathsf{Re}(\mathcal{E}[n]) = E[n], \quad 0\leq n\leq N-1,\]

see Eq. (6) of [M1999].

property w_rep

Frequency-domain representation \(\mathcal{E}_\omega\) of the analytic signal.

Type

numpy.ndarray