• Generating complex-valued Gaussian noise. "Noise" is a random signal. That is, each amplitude value is a random number.

    Additive thermal noise is commonly modeled as having a Gaussian distribution. Thermal noise is from random motion of electrons due to temperature. The hotter the temperature, the more motion and hence noise power there is.

    In Matlab, the randn generates one real-valued random value that follows a Gaussian (Normal) distribution with zero mean and unit variance. The following code will create a column vector of N values of a complex normal distribution:

    N = 700;
    variance = 10;
    complexGaussianNoise = sqrt(variance/2)*(randn(N,1) + i*randn(N,1));
    
    One can check the random signal values by computing the mean, which should close to zero, and the variance, which should be close to 10:
    mean(complexGaussianNoise)
    var(complexGaussianNoise)