# How to generate 2D complex white Gaussian sequence with a zero mean and identity covariance?

1 view (last 30 days)
Brian on 16 May 2023
Edited: Torsten on 16 May 2023
I'm trying to create a 2D complex white Gaussian with a mean of zero and a covariance of (N/2)I where N is the size of the matrix.
I've been trying it with the following code:
w = randn(N) + i*randn(N);
but if I do cov(w) or mean(w) it doesn't fit that criteria. I feel like my process is a gross oversimplification of making a 2D complex Gaussian.

Shaik on 16 May 2023
Edited: Torsten on 16 May 2023
N = 100; % Size of the matrix
w_real = randn(N) * sqrt(N/2); % Real part with mean 0 and variance N/2
w_imag = randn(N) * sqrt(N/2); % Imaginary part with mean 0 and variance N/2
w = w_real + 1i * w_imag; % Combine real and imaginary parts
% Verify mean and covariance properties
mean_w = mean(w(:)) % Mean of w
mean_w = -0.0326 - 0.0201i
cov_w = cov([real(w(:)), imag(w(:))]) % Covariance of w (real and imaginary parts)
cov_w = 2×2
51.1531 -0.5130 -0.5130 50.2423
Hey, can you check this modified code.