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

3 visualizaciones (últimos 30 días)
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.

Respuesta aceptada

Shaik
Shaik el 16 de Mayo de 2023
Editada: Torsten el 16 de Mayo de 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.

Más respuestas (0)

Categorías

Más información sobre Numerical Integration and Differential Equations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by