RE:generador de ruido
Publicado por
jc (1 intervención) el 18/04/2008 02:00:32
La distribucion más adecuada seria la uniforme, porque todos los elementos tienen la misma probabilidad, por ejemplo :
ruido=random('Uniform',inf,sup,NP,1);
Genera un vector de 'NP' numero de puntos cuyos valores son numeros aleatorios entre 'inf' y 'sup'.
O bien usa la función rand para generar numeros aleatorios entre 0 y 1, por ejemplo:
ruido=rand(NP,1);
Genera un vector de 'NP' numero de puntos cuyos valores son numeros aleatorios entre 0 y 1.
Yo uso una pequeña funcion para generar ruido blanco, con la cual se puede controlar la potencia del ruido (amplitud en el espectro). Puedes copiar el siguiente texto y guardarlo como un archivo *.m
%ruidoblanco Genera un vector de ruido blanco gaussiano
%jcamargop 17-04-08
%WN=ruidoblanco(P,NP)
%P -> Potencia del ruido
%NP-> Numero de puntos
%WN=r*cos(fi) r=sqrt(-2*P*log(1-b))
function WN=ruidoblanco(NP,P)
%b es una variable aleatoria uniformemente distribuida entre 0 y 1
%fi es una variable aleatoria uniformemente distribuida entre 0 y 2pi
b=rand(NP,1);
fi=2*pi*rand(NP,1);
r=sqrt(-2*P*log(1-b));
WN=r.*cos(fi);