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.

 Respuesta aceptada

Thorsten
Thorsten el 6 de Sept. de 2016
Editada: Thorsten el 6 de Sept. de 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 comentarios

+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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre RF Toolbox en Centro de ayuda y File Exchange.

Preguntada:

el 6 de Sept. de 2016

Comentada:

el 7 de Sept. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by