What is the best way to generate samples from a multivariate complex normal distribution with an arbitrary covariance matrix?
10 ビュー (過去 30 日間)
古いコメントを表示
Is there a simple way to generate samples from X ~ CN(0,R), where X is Mx1 and R can be chosen arbitrarily?
回答 (2 件)
Bruno Luong
2019 年 7 月 9 日
編集済み: Bruno Luong
2019 年 7 月 9 日
% Generate test complex covariance matrix R sdp (m x m)
m = 3;
A = randn(m)+1i*randn(m);
R = A'*A
% Generate x, n-samples of complex normal random vector
% (in R^m) that have R as covariance matrix
n = 10000;
L = chol(R)
x = L'*(randn(m,n)+1i*randn(m,n))/sqrt(2);
2 件のコメント
the cyclist
2011 年 7 月 27 日
Do you have the Statistics Toolbox? If so, you can generate a 2-d vector using mvnrnd(), and take the first component as the real part, and second component as the imaginary part.
[Disclaimer: I just read about the complex normal distribution on Wikipedia, and I think what I said is accurate, but you might want to check.]
2 件のコメント
wenhao chen
2017 年 4 月 21 日
The answer is good for the condition when M = 1,but for M > 1,we need to find other way!
Pratish Dwivedi
2019 年 7 月 9 日
I don't get what you meant by taking the first component as real and second as complex.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!