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
Note
You can use the output of |
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(...,'
forces
the input argument corr
')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.
Note
You can place the string |