怎么计算复数随机变量的方差和协方差矩阵?
使得其与MATLAB中var函数和cov函数的结果一致。
前言
复信号在信号处理中随处可见,关于复信号(复随机变量)的方差和协方差矩阵该如何计算呢?本文给出了复信号的方差和协方差矩阵的计算,该计算与MATLAB提供的计算方差的函数var和计算协方差矩阵的函数cov的结果是一致的。
提示:以下是本篇文章正文内容,欢迎各位阅读,转载请附上链接。
方差的计算
复数随机变量X方差的计算公式如下:
或
方差的计算 MATLAB验证代码
clc;
clear;
close all;
x = [1, -1+i, 1+1i, 1-1i];
Var1 = var(x)
Var2 = sum(abs(x-mean(x)).^2)/(numel(x)-1) %方法一
Var1 = var(x,1)
Var2 = mean(abs(x).^2)-(abs(mean(x)).^2) %方法二
运行结果:
Var1 =
1.9167
Var2 =
1.9167
Var1 =
1.4375
Var2 =
1.4375
协方差矩阵的计算MATLAB验证代码
复数随机变量X和Y协方差矩阵的计算如下:
clc;
clear;
close all;
rng default;
X=randn(100,2)+j*randn(100,2); %1列为1个随机变量
[m n]=size(X);
Cov1=cov(X)
Cov2=(X-mean(X))'*(X-mean(X))/(m-1) % 方法一
Cov1-Cov2
% 计算第1列和第2列的协方差 % 方法二
y=X-mean(X);
cov12=sum(conj(y(:,1)).*(y(:,2)))/(m-1)
Cov1(1,2)-cov12
运行结果:
Cov1 =
2.3841 + 0.0000i 0.1264 + 0.2678i
0.1264 - 0.2678i 1.8974 + 0.0000i
Cov2 =
2.3841 + 0.0000i 0.1264 + 0.2678i
0.1264 - 0.2678i 1.8974 + 0.0000i
ans =
1.0e-15 *
0.4441 - 0.0010i -0.0278 + 0.0555i
-0.0278 + 0.0000i 0.0000 - 0.0046i
cov12 =
0.1264 + 0.2678i
ans =
-5.5511e-17
可见,结果一致,计算无误。