Multichannel Spectra Theoretical background on multichannel spectra.
Multichannel noise generation Theoretical introduction to multichannel noise generation.
Noisegen 1D Generation of one-dimensional noise with given spectral density.
Noisegen 2D Generation of two-dimensional noise with given cross-spectral density.

The following sections gives an introduction to the generation of model noise with a given cross spectral density.

Theoretical background on multichannel spectra

We define the autocorrelation function (ACF) of a stationary multichannel process as:

If the multichannel process is L dimensional then the kth element of the ACF is a LxL matrix:

The ACF matrix is not hermitian but have the property that:

The cross-spectral density matrix (CSD) is defined as the fourier transform of the ACF:

the CSD matrix is hermitian.

A multichannel white noise process is defined as the process whose ACF satisfies:

therefore the cross-spectral matrix has constant terms as a function of the frequency:

The individual processes are each white noise processes with power spectral density (PSD) given by . The cross-correlation between the processes is zero except at the same time instant where they are correlated with a cross-correlation given by the off-diagonal elements of . A common assumption is (identity matrix) that is equivalent to assume the white processes having unitary variance and are completely uncorrelated being zero the off diagonal terms of the CSD matrix. Further details can be found in [1, 2].

Theoretical introduction to multichannel noise generation

The problem of multichannel noise generation with a given cross-spectrum is formulated in frequency domain as follows:

is a multichannel digital filter that generating colored noise data with given cross-spectrum starting from a set of mutually independent unitary variance with noise processes.

After some mathematics it can be showed that the desired multichannel coloring filter can be written as:

where and are the eigenvectors and eigenvalues matrices of matrix.

Generation of one-dimensional noise with given spectral density

noisegen1D is a coloring tool allowing the generation of colored noise from withe noise with a given spectrum. The function constructs a coloring filter through a fitting procedure to the model provided. If no model is provided an error is prompted. The colored noise provided has one-sided psd corresponding to the input model. The function needs a model for the one-sided power spectral density of the given process. Details on accepted parameters can be found on the noisegen1D documentation page.

  1. The square root of the model for the power spectral density is fit in z-domain in order to determine a coloring filter.
  2. Unstable poles are removed by an all-pass stabilization procedure.
  3. White input data are filtered with the identified filter in order to be colored.

Generation of two-dimensional noise with given cross-spectral density

noisegen2D is a nose coloring tool allowing the generation two data series with the given cross-spectral density from two starting white and mutually uncorrelated data series. Coloring filters are constructed by a fitting procedure to a model for the corss-spectral density matrix provided. In order to work with noisegen2D you must provide a model (frequency series analysis objects) for the cross-spectral density matrix of the process. Details on accepted parameters can be found on the noisegen2D documentation page.

  1. Coloring filters frequency response is calculated by the eigendecomposition of the model cross-spectral matrix.
  2. Calculated responses are fit in z-domain in order to identify corresponding autoregressive moving average filters.
  3. Input time-series are filtered. The filtering process corresponds to:
    o(1) = Filt11(a(1)) + Filt12(a(2))
    o(2) = Filt21(a(1)) + Filt22(a(2))

References

  1. S. M. Kay, Modern Spectral Estimation, Prentice-Hall, 1999
  2. G. M. Jenkins and D. G. Watts, Spectral Analysis and Its Applications, Holden-Day 1968.