How do I construct a vector of complex numbers whose absolute value is not above 1?

I want to add complex noise to my signal but the absolute value of my signal + added complex noise has to be equal to or smaller than 1.

 Réponse acceptée

Thorsten
Thorsten le 6 Sep 2016
Modifié(e) : Thorsten le 6 Sep 2016
You can generate a vector of complex number where the maximum absolute value is always 1:
C = rand(1,10) + 1i*rand(1,10);
C = C/max(abs(X(:)));
If you are not happy that the maximum value is always 1, subtract a random complex number:
C = C - rand - 1i*rand;

2 commentaires

+1
C = rand(10,2)*[1;1i];
t = abs(C);
l = t > 1;
C(l) = C(l)/max(t(l));
Thank You. It works nicely.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur RF Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by