MATLAB Answers

0

How to create a complex normal i.i.d.?

Gn Gnk 님이 질문을 제출함. 27 Oct 2019
최근 활동 Gn Gnk 님이 댓글을 추가함. 27 Oct 2019
Hello ,
i want to create a i.i.d CN(0,σ^2)
I create the variable like that :
x=sqrt(var/2)*(randn+1i*randn);
Is this correct?

  댓글 수: 2

Does that satisfy your definition of a complex normal distribution? Does it fit with for example the definitions here: Complex_normal_distribution?
I just want to know how to convert it to matlab code and if this : x=sqrt(var/2)*(randn+1i*randn);
is correct or not.
Thank you.

로그인 to comment.

답변 수: 1

John D'Errico 님의 답변 27 Oct 2019
 채택된 답변

Is it correct? It is what it is. You are creating a rotationally symmetric complex random variable, where if we define the variance to be
N = 1e7;
V = 3;
X = sqrt(V/2)*(randn(N,1) + i*randn(N,1));
Does it have zero mean? That is trivial, yes. The population mean is clearly zero, and the sample mean will approach zero as N-->inf.
Xbar = mean(X)
Xbar =
0.0002026 - 0.00027059i
Vbar = (X-Xbar)'*(X - Xbar)/(N-1)
ans =
2.999
As you can see, the sample variance seems to approach 3. I could spend some time to verify the expected value of that result for the population, done in symbolic form. But I can as easily just say that is is "correct".

  댓글 수: 1

Thank you a lot sir!

로그인 to comment.



Translated by