This function calculates the power matrix based on the provided steering vector, eigenvalues, and eigenvectors. The computation differs depending on the number of columns in the steering vector matrix.
Arguments
- eig
A list containing the eigenvalues and eigenvectors of a covariance matrix. The list should include:
values: A numeric vector of eigenvalues.vectors: A matrix where each column is an eigenvector.
- a
A complex matrix representing the steering vector(s). Each column corresponds to a direction of arrival.
Value
A complex matrix representing the power matrix, calculated based on the provided eigenvalues, eigenvectors, and steering vectors. If the number of columns in a is zero, the function returns NULL.
Details
The function computes the power matrix using the following steps:
If
ahas two columns:Select the first two eigenvalues and their corresponding eigenvectors.
Compute the matrix \(G = a^* \cdot \text{eigVector}\), where \(a^*\) is the conjugate transpose of
a.Calculate the inverse of
Gand its conjugate transpose.Compute the power matrix \(P = G_{\text{inv}}^* \cdot \text{diag(eigValues)} \cdot G_{\text{inv}}\).
If
ahas one column:Select the first eigenvalue and its corresponding eigenvector.
Follow similar steps as above with single-column operations.
If a has no columns, the function returns NULL.
Mathematical Formula
For a steering vector matrix \(a\), eigenvectors \(\text{eigVector}\), and eigenvalues \(\text{eigValues}\), the power matrix is calculated as: $$P = G_{\text{inv}}^* \cdot \text{diag(eigValues)} \cdot G_{\text{inv}}$$ where: \(G = a^* \cdot \text{eigVector}\) and \(G_{\text{inv}}\) is the inverse of \(G\).