I would like to create complex normal Gaussian noise with dimensions $(M,N)$. The noise should be zero mean and the variance should be equal to one.

How can I do so?


1 Answer 1


You should use the the standard formula:

s = randn(m, n) + 1i*randn(m, n);

And as pointed out by MBaz, the output should be scaled accordingly by $\frac{1}{\sqrt{2}}$

s = s/sqrt(2);

More on that topic you can find for example in a book Digital Media Processing by Hazarathaiah Malepati:

enter image description here

It should generate exactly what you want.

  • $\begingroup$ You'll have to scale by $\frac{1}{\sqrt2}$ to get unit variance in the complex case. $\endgroup$
    – David
    Commented Jul 23, 2015 at 11:45
  • $\begingroup$ @David can you please explain why that is?? $\endgroup$
    – Wanderer
    Commented Jul 23, 2015 at 12:46
  • 1
    $\begingroup$ @DimitriC The variance of a complex RV is equal to the variance of its real part plus the variance of its imaginary part. $\endgroup$
    – MBaz
    Commented Jul 23, 2015 at 13:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.