Learn R Programming

spectral (version 2.0)

analyticFunction: Analytic function

Description

In general a causal real valued signal in time has negative frequencies, when a Fourier transform is applied. To overcome this, a complex complement can be calculated to compensate the negative frequency spectrum. The result is called analytic signal or analytic function, which provides a one sided spectrum.

Usage

analyticFunction(x)

Arguments

x

real valued data vector

Value

Complex valued analytic function

Details

An analytic function \(xa\) is composed of the real valued signal representation \(y\) and its Hilber transform \(H(y)\) as the complex complement $$xa(t) = x(t)+i H(x(t))$$. In consequence, the analytic function has a one sided spectrum, which is more natural. Calculating the discrete Fourier transform of such a signal will give a complex vector, which is only non zero until the half of the length. Every component higher than the half of the sampling frequency is zero. Still, the analytic signal and its spectrum are a unique representation of the original signal \(x(t)\). The new properties enables us to do certain filtering and calculations more efficient in the spectral space compared to the standard FFT approach. Some examples are:

Filtering

because the spectrum is one sided, the user must only modifiy values in the lower half of the vector. This strongly reduces mistakes in indexing. See filter.fft

Envelope functions

Since the Hilbert transform is a perfect phase shifter by pi/2, the envelope of a band limited signal can be calculated. See envelope

Calculations

Deriving and integrating on band limited discrete data becomes possible, without taking the symmetry of the discrete Fourier transform into account. The secound example of the spec.fft function calculates the derivative as well, but plays with a centered spectrum and its corresponding "true" negative frequencies

A slightly different approach on the analytic signal can be found in R. Hoffmann "Signalanalyse und -erkennung" (Chap. 6.1.2). Here the signal \(x(t)\) is split into the even and odd part. According to Marko (1985) and Fritzsche (1995) this two parts can be composed to the analytic signal, which lead to the definition with the Hilbert transform above.

References

R. Hoffmann, Signalanalyse und -erkennung: eine Einfuehrung fuer Informationstechniker, Berlin; Heidelberg: Springer, 1998.

H. Marko, Systemtheorie: Methoden und Anwendungen fuer ein- und mehrdimensionale Systeme. 3. Aufl., Berlin: Springer, 1995.

G. Fritzsche, Signale und Funktionaltransformationen - Informationselektronik. Berlin: VEB Verlag Technik, 1985