登录论坛

查看完整版本 : 第一次发帖 求教一个白化的问题


stefan_hawkeye
2009-05-19, 11:37
各位好,我想求教一个白化的问题

最近在做一些机械振动信号处理的东西,偶然看到ICA,想把算法直接拿来用了,可是遇到了一个头疼的问题:

一个简单的白化程序(假设待白化的矩阵为x):
Cx=cov(x');
[E,D]=eig(Cx);
V=E*D^(-1/2)*E';
z=V*x;

求白化矩阵V时需要求特征值矩阵D的-1/2次幂,但当D中含有负的特征值时,算出来就是复数了。。D中含有0特征值时,算出来是NaN。。。而且后面越算越离谱。。

所以请教一下前辈,负的或0特征值是正常的么?或者需要作什么工作保证特征值为正?(我第一次搞这个,问题比较白痴,随便拍)

谢谢了!