This is different from this and this question.

How can we generate (in Matlab) complex random vectors which are distributed according to the proper complex distribution $\mathcal{CN}(\vec\mu, \Sigma)$, where $\vec\mu$ is mean and $\Sigma$ is complex hermitian positive definite matrix (lets assume that pseudo-covariance is zero)?

Please note that I am not talking about wishrnd(Sigma,df) which generates ensembles of real random matrices. I am interested in complex numbers which have a fixed mean and covariance and which may be correlated.


Lets say we try to generate complex random vectors from a $\textit{proper}$ complex Gaussian distribution, which is defined as $f(z)=\frac{1}{\pi^N |\Lambda|} e^{-(z-b)^H\Lambda^{-1}(z-b)}$ with $z \in \mathbb{C}^{N \times 1}.$ This paper says that (at page. 1295, equation-8) that for such a distribution the covariance matrix of real parts must be equal to covariance of imaginary parts of $z$, i-e $\Lambda_{cc}=\Lambda_{ss}$ and their cross covariance must be anti-symmetric i-e $\Lambda_{cs}=\Lambda_{cs}^T$.

So, according to the paper the real covariance matrix,$\Phi$, (of order $2n \times 2n$) should have this structure:

$$ \Phi=\begin{bmatrix} \Lambda_{cc} & -\Lambda_{cs}^T \\ \Lambda_{cs} & \Lambda_{ss} \end{bmatrix} $$

This is only possible when $\Lambda_{cs}=0=\Lambda_{cs}^T $ and rank of $\Phi$ is made equal to $2n$.

But I think I am wrong some where in interpretation, could someone help me out.

  • $\begingroup$ Are you looking for help programming Matlab or do you need guidance on the random number generation process? Since a complex vector of length $n$ is identical to a real vector of length $2n$, there shouldn't be any difficulty obtaining what you need by means of the usual multivariate Normal random number generators. $\endgroup$ – whuber Mar 6 '15 at 14:59
  • $\begingroup$ Just need an idea on how to do it. So, is it always $\textit{True}$ that complex Gaussian vector of length $n$ can be fully specified (at least statistically) by length $2n$ real Gaussian vector? $\endgroup$ – kaka Mar 7 '15 at 6:04
  • $\begingroup$ Yes. The complex Normal distributions are just another way to parameterize real Normal distributions. One way to see that is to count dimensions. In the Wikipedia notation, there is a Hermitian covariance matrix $\Gamma$ which has $n(n-1)/2$ complex and $n$ real parameters; and a symmetric "relation matrix" $C$ with $n(n+1)/2$ complex parameters. That's equivalent to $2n(n-1)/2+n+2n(n+1)/2=(2n)(2n+1)/2$ real parameters, which is exactly the number needed for a $2n\times 2n$ real covariance matrix. $\endgroup$ – whuber Mar 7 '15 at 14:19
  • $\begingroup$ @whuber would you please have a look at my attempt above. $\endgroup$ – kaka Mar 8 '15 at 8:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.