Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Frequency and power content using eigenvector method

`[w,pow] = rooteig(x,p)`

[f,pow] = rooteig(...,fs)

[w,pow] = rooteig(...,'corr')

`[w,pow] = rooteig(x,p)`

estimates
the frequency content in the time samples of a signal `x`

,
and returns `w`

, a vector of frequencies in rad/sample,
and the corresponding signal power in the vector `pow`

in
units of power, such as volts^2. The input signal `x`

is
specified either as:

A row or column vector representing one observation of the signal

A rectangular array for which each row of

`x`

represents a separate observation of the signal (for example, each row is one output of an array of sensors, as in array processing), such that`x'*x`

is an estimate of the correlation matrix

You can use the output of `corrmtx`

to
generate such an array `x`

.

You can specify the second input argument `p`

as
either:

A scalar integer. In this case, the signal subspace dimension is

`p`

.A two-element vector. In this case,

`p(2)`

, the second element of`p`

, represents a threshold that is multiplied by λ_{min}, the smallest estimated eigenvalue of the signal's correlation matrix. Eigenvalues below the threshold λ_{min}`*p(2)`

are assigned to the noise subspace. In this case,`p(1)`

specifies the maximum dimension of the signal subspace.

The extra threshold parameter in the second entry in `p`

provides
you more flexibility and control in assigning the noise and signal
subspaces.

The length of the vector `w`

is the computed
dimension of the signal subspace. For real-valued input data `x`

,
the length of the corresponding power vector `pow`

is
given by

length(pow) = 0.5*length(w)

For complex-valued input data `x`

, `pow`

and `w`

have
the same length.

`[f,pow] = rooteig(...,fs)`

returns
the vector of frequencies `f`

calculated in Hz.
You supply the sampling frequency `fs`

in Hz. If
you specify `fs`

with the empty vector `[]`

,
the sampling frequency defaults to 1 Hz.

`[w,pow] = rooteig(...,'corr')`

forces
the input argument `x`

to be interpreted as a correlation
matrix rather than a matrix of signal data. For this syntax, you must
supply a square matrix for `x`

, and all of its eigenvalues
must be nonnegative.

You can place `'corr'`

anywhere after `p`

.

The eigenvector method used by `rooteig`

is
the same as that used by `peig`

.
The algorithm performs eigenspace analysis of the signal's correlation
matrix in order to estimate the signal's frequency content.

The difference between `peig`

and `rooteig`

is:

`peig`

returns the pseudospectrum at all frequency samples.`rooteig`

returns the estimated discrete frequency spectrum, along with the corresponding signal power estimates.

`rooteig`

is most useful for frequency estimation
of signals made up of a sum of sinusoids embedded in additive white
Gaussian noise.

Was this topic helpful?