理论上,由于噪声的存在,自相关矩阵是正定的,而对于对称正定阵,它的奇异值分解等价于于特征值分解。
在之前看到的论文中,有用单边jacobi算法来求出矩阵特征值及特征向量,我在matlab上并没有实现,其中有条求theta的公式不知原作者是怎么得到的,在看了BLV阵列的文章后决定来用BLV阵列求特征值和特征向量。
BLV脉动阵列的方法如下,假设一n阶矩阵(n为偶数,若n为奇数可以加一行和一列“0”元素),将其分成(n/2)²个单元,每个单元是一个2x2阶的子矩阵。1.首先处理对角线上子矩阵,求出对应的theta_l和theta_r,并使用双边jacobi旋转(如果是对称阵则theta_l与theta_r相等)。
2.第二步,在上一步求出的theta_l和theta_r分别向行和列传递,非对角线上的二阶子矩阵在接受的角度theta后同样做双边jacobi旋转,使其对角化,如图1。
3.第三步,在所有子矩阵完成对角化后,交换元素位置,完成一轮操作;
交换规则如下: