How to generate 2D complex white Gaussian sequence with a zero mean and identity covariance?
3 views (last 30 days)
Show older comments
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.
0 Comments
Accepted Answer
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
cov_w = cov([real(w(:)), imag(w(:))]) % Covariance of w (real and imaginary parts)
Hey, can you check this modified code.
0 Comments
More Answers (0)
See Also
Categories
Find more on Numerical Integration and Differential Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!