在MATLAB中 如何产生 均值为0 方差为1 的 复高斯矩阵???注意 是复高斯!!

在线等~~很着急呀!
2025-03-22 05:20:39
推荐回答(4个)
回答1:

虽然你让回答者特别注意你的“复高斯”随机变量,但是实际上你就没说明白这是怎么个事。

问你个问题哈~你的方差指的是什么,你自己按照方差的定义来看一看,0均值,然后一堆复数做一些运算,怎么会得到一个实数1呢~~

所以这个方差1指的是谁的方差呢?

我猜八成你是要产生一个复高斯白噪声,功率为1吧~下边这样就行了~~~~~~
X = sqrt(1/2) * ( randn(1,100) + j * randn(1,100) );

回答2:

可以这样,先生成均值0方差1的实数部分,再生成虚数部分,再合成复数,如:
a=randn(1,10);b=randn(1,10);c=a+1i*b
结果是:
c =
1 至 7 列
0.5377 - 1.3499i 1.8339 + 3.0349i -2.2588 + 0.7254i 0.8622 - 0.0631i 0.3188 + 0.7147i -1.3077 - 0.2050i -0.4336 - 0.1241i
8 至 10 列
0.3426 + 1.4897i 3.5784 + 1.4090i 2.7694 + 1.4172i

回答3:

friends and relative

回答4:

The typical assumption for a complex-valued Gaussian random vector is to split the variance equally among the real and imaginary parts. Let the variance be sigma2.

z = sqrt(sigma2/2)*(randn(1000,1)+1j*randn(1000,1));

If you have the Communications Toolbox, see awgn().