如何对采样数据进行去均值,白化处理
[s1,fs1]= audioread('1.wav');[s2,fs2]= audioread('2.wav');
[s3,fs3]= audioread('3.wav');
%三路语音信号
s=[s1,s2,s3];
m=size(s);
a=rand(3,3);
x=s*a;
x1=x(:,1);
x2=x(:,1);
x3=x(:,1);
%混合三路信号
%% 1、去均值
[XVariableNum, XSampleNum] = size(x); % 行数为变量个数,列数为采样点数
Xave = mean(x')'; % 均值
for i = 1 : XVariableNum
x(i,:) = x(i,:) - Xave(i)*ones(1,XSampleNum);
end
%% 2、白化/球化
Cx = cov(x', 1); % 计算协方差矩阵Cx
[eigvector, eigvalue] = eig(Cx); % 计算Cx的特征值和特征向量
WhiteMartix = eigvalue^(-1/2)*eigvector'; % 白化矩阵
Z = WhiteMartix * x; % 正交
去均值和白化是从别的地方找的 不懂 运行了也不对 求教 谢谢