Matlab - generador de ruido

   
Vista:

generador de ruido

Publicado por diana (4 intervenciones) el 10/10/2007 16:10:18
Necesito generar un ruido para realizar una serie de calculos..el ruido lo tendré que realizar mediante función random verdad? pero mi problema son los parámtros.la frecuencia de muestreo debe ser de 32..pero la duda está en que dicha función exige un nombre para la distribución,, cual sería la más adecuada para crear un ruido blanco?

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:generador de ruido

Publicado por fismat (391 intervenciones) el 12/10/2007 14:45:20
Hola Diana

A continuacion te envio un ejemplo para crear una signal que luego sera analizada mediante un analisis espectral con fft

Saludos
Fismat
-------------------

% FFT PARA ANÁLISIS ESPECTRAL

% Este ejemplo muestra el uso de la función FFT para el análisis
espectral.
% Un uso común de las FFT es encontrar los componentes de la
frecuencia de
% una señal enterrada en una señal ruidosa con dominio de tiempo.

% Primero vamos a crear algunos datos. Considerar los datos
muestreados
% en 1000 Hz

% Empezaremos formando un eje de tiempo para nuestros datos, que
funcione
% desde t=0 hasta t=25 con pasos de 1 milisegundo. Luego formamos una
% señal, x, que contenga ondas seno a 50 Hz y 120 Hz

t = 0:.001:.25;
x = sin(2*pi*50*t) + sin(2*pi*120*t);

% Adicionar algún ruido aleatorio con una desviación estandar de 2
para
% producir una señal de ruido y. Dar una mirada a esta señal de ruido
y
% graficándola.

y = x + 2*rand(size(t));
plot(y(1:50))
title ('Tiempo de Dominio de la Señal Ruidosa')

% Claramente, resulta dificil identificar los componentes de la
frecuencia
% de la mirada a esta señal; es por eso que el análisis espectral es
tan
% popular.

% Encontrar la trnsformada discreta de Fourier de la señal ruidosa y
es
% fácil; solo usar la transformada rápida de Fourier (FFT)

Y = fft(y,256);

% Computar la densidad espectral de la energía, una medida de la
energía a
% varias frecuencias, usando la compleja conjugada (CONJ). Formar un
eje de
% frecuencia para los primeros 127 puntos y usarlo para diagramar el
% resultado. (Los restantes 256 puntos son asimétricos.)

Pyy = Y.*conj(Y)/256;
f = 1000/256*(0:127);
plot(f,Pyy(1:128))
title('Densidad espectral de la energía')
xlabel('Frecuencia(Hz)')

% Enfocar adentro y trazar solamente hasta los 200 Hz. Notar los picos
en
% 50 Hz y 120 Hz. Esas son las frecuencias de la señal original.

plot(f(1:50),Pyy(1:50))
title('Densidad espectral de la energía')
xlabel('Frecuencia (Hz)')

%____________________________??????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:generador de ruido

Publicado por cris (1 intervención) el 29/12/2007 00:09:45
hola, me gustaría saber cómo hago para conocer las frecuencias de las componentes espectrales de una señal, sabiendo que son 3 y teniendo su frecuencia de muestreo. También me gustaría saber cómo hago para filtrar una frecuencia media, es decir, cómo hacer un filtro pasabanda. Todo esto en lenguaje para Octave. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:generador de ruido

Publicado por WILSON (1 intervención) el 05/01/2008 18:28:00
ALGUN FORO DONDE SE PUEDE HABLAR SOBRE ANALIZADORES DE ESPECTRO POR FAVOR HABICENME Y SI TIENEN ALGUNA PAGINA WEB MUCHO MEJOR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:generador de ruido

Publicado por fismat (391 intervenciones) el 12/10/2007 14:45:31
Hola Diana

A continuacion te envio un ejemplo para crear una signal que luego sera analizada mediante un analisis espectral con fft

Saludos
Fismat
-------------------

% FFT PARA ANÁLISIS ESPECTRAL

% Este ejemplo muestra el uso de la función FFT para el análisis
espectral.
% Un uso común de las FFT es encontrar los componentes de la
frecuencia de
% una señal enterrada en una señal ruidosa con dominio de tiempo.

% Primero vamos a crear algunos datos. Considerar los datos
muestreados
% en 1000 Hz

% Empezaremos formando un eje de tiempo para nuestros datos, que
funcione
% desde t=0 hasta t=25 con pasos de 1 milisegundo. Luego formamos una
% señal, x, que contenga ondas seno a 50 Hz y 120 Hz

t = 0:.001:.25;
x = sin(2*pi*50*t) + sin(2*pi*120*t);

% Adicionar algún ruido aleatorio con una desviación estandar de 2
para
% producir una señal de ruido y. Dar una mirada a esta señal de ruido
y
% graficándola.

y = x + 2*rand(size(t));
plot(y(1:50))
title ('Tiempo de Dominio de la Señal Ruidosa')

% Claramente, resulta dificil identificar los componentes de la
frecuencia
% de la mirada a esta señal; es por eso que el análisis espectral es
tan
% popular.

% Encontrar la trnsformada discreta de Fourier de la señal ruidosa y
es
% fácil; solo usar la transformada rápida de Fourier (FFT)

Y = fft(y,256);

% Computar la densidad espectral de la energía, una medida de la
energía a
% varias frecuencias, usando la compleja conjugada (CONJ). Formar un
eje de
% frecuencia para los primeros 127 puntos y usarlo para diagramar el
% resultado. (Los restantes 256 puntos son asimétricos.)

Pyy = Y.*conj(Y)/256;
f = 1000/256*(0:127);
plot(f,Pyy(1:128))
title('Densidad espectral de la energía')
xlabel('Frecuencia(Hz)')

% Enfocar adentro y trazar solamente hasta los 200 Hz. Notar los picos
en
% 50 Hz y 120 Hz. Esas son las frecuencias de la señal original.

plot(f(1:50),Pyy(1:50))
title('Densidad espectral de la energía')
xlabel('Frecuencia (Hz)')

%____________________________??????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

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);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:generador de ruido

Publicado por fernando (1 intervención) el 02/05/2015 00:00:57
me podrias decir la deduccion teorica de como hallas esa aproximacion al ruido blanco WN?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar