向量的特征值

信息处理 matlab 自适应滤波器
2022-02-27 05:23:07

我正在尝试(使用 Matlab)计算最小和最大特征值λminλmax自相关矩阵的R调整自适应滤波器的步长。

我的输入信号x是有色噪声的向量。我的计划是做类似的事情

lmin = min(eig(xcorr(x)));
lmax = max(eig(xcorr(x)));

但它失败了,因为“对于标准特征问题 EIG(A),A 必须是正方形。”

我认为这有点奇怪,因为在我看来,自相关的输出始终只是一个向量。

请帮我找出重点,我是否需要使用 Matlabs 'eig' 函数以外的其他东西,或者在数学上无法计算单个向量的特征值。

2个回答

自相关矩阵是一个Toeplitz 对称矩阵,可以形成为:

Rxx = toeplitz(xcorr(x));

这应该会给你一个合理的(方形)矩阵,可以传递给eig.

[在@Jazzmaniac 对角化的 1 级错误后编辑]

xcorr向量的 只产生一个向量,您应该按照@Peter K 的建议在其上构建一个自协方差矩阵。

如果我没记错的话,最大的特征值大致随着维度增长n. 这些矩阵的理论超出了我的知识范围。您可以在最大特征值和样本协方差矩阵中获得更多信息

通常的做法是对协方差矩阵进行归一化,以获得协方差矩阵的有偏 ( xcorr(x,'biased')) 或无偏 ( xcorr(x,'unbiased')) 估计量。

在我对自适应滤波的记忆中,对称性只需要一半的自相关即可生成 Toepliz 矩阵:例如xc = xcorr(x,'biased'),则Rxx = toeplitz(xc(length(x):end))

您可以使用以下推导和 Matlab 代码获利:

  1. Hayes, Monson H.,统计数字信号处理和建模,John Wiley & Sons, Inc.,1996 年,第 9 章:自适应滤波(使用 Matlab 代码),
  2. Poularikas, Alexander D. 和 Ramadan, Zayed M.,使用 MATLAB 的自适应过滤入门 (使用 Matlab 代码)。