Generate Gassian Colored Noise

6 visualizzazioni (ultimi 30 giorni)
S. David
S. David il 23 Mag 2014
Modificato: S. David il 24 Mag 2014
Hello all,
Is there any built-in function in MATLAB to generate a Gaussian noise with a specific covariance matrix R (colored noise), not necessarily the identity matrix (white noise)?
Thanks

Risposta accettata

Matt J
Matt J il 23 Mag 2014
Modificato: Matt J il 23 Mag 2014
There's MVRND, if you have the Stats Toolbox.
Otherwise, you can just do
sqrtm(R)*randn(size(R,2),1);
  5 Commenti
Matt J
Matt J il 24 Mag 2014
Modificato: Matt J il 24 Mag 2014
If R is close to singular, it can be mis-perceived as having some negative eigenvalues (and hence as not being psd) due to numerical imprecision.
However, if your R is close to singular, it really means you're taking the covariance of have some redundant variables - some of them are approximately linear combinations of the others - and should get rid of them.
S. David
S. David il 24 Mag 2014
Modificato: S. David il 24 Mag 2014
I have two matrices, and I found the eigenvalue of both of them: one of them has all positive eigenvalues, but the other has some negative eigenvalues. I guess the second one is close to singular as you said. But even when I try the first one in mvrand(Mu,Sigma), I still get the same error.
For the matrix with negative eigenvalues, how to eliminate the redundant variables?

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by