Como Generar Ruido Gaussiano En Matlab
CLICK HERE - https://urluss.com/2t7Gte
J = imnoise(I,'localvar',intensity_map,var_local) añade ruido blanco gaussiano de media cero. La varianza local del ruido, var_local, es una función de los valores de la intensidad de la imagen de I. La aplicación del valor de la intensidad de la imagen a la varianza del ruido se especifica mediante el vector intensity_map.
Imagen con ruido, devuelta como matriz numérica del mismo tipo de datos que la imagen de entrada I. En cuanto a imágenes del tipo de datos double o single, la función imnoise recorta los valores del píxel de salida en el intervalo [0, 1] después de añadir el ruido.
Los parámetros de media y varianza de los tipos de ruido 'gaussian', 'localvar' y 'speckle' siempre se especifican como si la imagen fuera de clase double en el intervalo [0, 1]. Si la imagen de entrada es de otra clase, la función imnoise convierte la imagen a double, añade ruido según el tipo y los parámetros especificados, recorta los valores del píxel en el intervalo [0, 1] y, después, convierte la imagen con ruido en una de la misma clase que la imagen de entrada.
Si I es de doble precisión, los valores de los píxeles de entrada se interpretan como medias de distribuciones de Poisson escaladas por 1e12. Por ejemplo, si el valor de un píxel de entrada es 5.5e-12, se generará el píxel de salida correspondiente a partir de una distribución de Poisson con media de 5,5 y, después, se reducirá a 1e12.
r = snr(pxx,f,'psd') especifica la entrada pxx como una estimación de la densidad espectral de potencia (PSD) unilateral. El argumento f es un vector de las frecuencias a las que se producen las estimaciones de pxx. El cálculo del ruido excluye la potencia de las seis primeras armónicas, incluida la fundamental.
r = snr(___,'aliased') elimina las armónicas de la fundamental con alias en el rango de Nyquist. Utilice esta opción cuando la señal de entrada sinusoidal esté submuestreada. Si no se especifica esta opción, o si se establece en 'omitaliases', la función trata como ruido cualquier armónica de la frecuencia fundamental que se encuentre más allá del rango de Nyquist.
Ancho de banda de la resolución, especificado como un escalar positivo. El ancho de banda de la resolución es el producto de la resolución de frecuencia de la transformada discreta de Fourier y el ancho de banda de ruido equivalente de la ventana.
Relación señal-ruido, expresada en decibelios en relación con la portadora (dBc), devuelta como un escalar de valor real. La SNR se devuelve en decibelios (dB) si la señal de entrada no es sinusoidal.
Si desea agregar ruido blanco a su señal, puede usar la función wgn(), que genera las muestras de ruido blanco gaussiano en voltios. El primer y segundo argumento de esta función es el array m-por-n de ruido blanco, y el tercer argumento es la potencia del ruido, y el tercer argumento es la impedancia de la carga en ohmios y así sucesivamente. Por ejemplo, generemos un array de 101 por 1 de ruido gaussiano blanco con una potencia de carga de -20 dbW y agreguemosla a una onda sinusoidal. Vea el código a continuación.t = 1:0.01:2;x = sin(2*pi*t);figureplot(t,x)w_noise = wgn(1,101,-20);hold onplot(t,(x+w_noise))legend('Sine Wave','Sine Wave with Noise')Producción:
En el código anterior, generamos ruido blanco y lo agregamos a una onda sinusoidal, y el resultado se muestra en la figura anterior. Tenga en cuenta que el número de muestras de ruido blanco debe ser igual al número de muestras de la señal en la que se agrega el ruido; de lo contrario, habrá un error. Puede cambiar la intensidad del ruido cambiando la potencia en dbW. Consulte este enlace para obtener más detalles sobre la función wgn().Genere el ruido blanco usando la función awgn() en MATLABSi desea agregar ruido blanco a su señal, puede usar la función awgn(), que agrega el ruido blanco gaussiano a la señal de entrada. El primer argumento de esta función es la señal de entrada, el segundo argumento es la relación señal / ruido, y el tercer argumento es la potencia de la señal de entrada, y así sucesivamente. Por ejemplo, agreguemos ruido blanco con una relación señal / ruido de 2 y una potencia de señal de -2 dbW a una onda sinusoidal. Vea el código a continuación.t = 1:0.01:2;x = sin(2*pi*t);figureplot(t,x)w_noise = awgn(x,2,-20);hold onplot(t,(x+w_noise))legend('Sine Wave','Sine Wave with Noise')Producción:En el código anterior, agregamos el ruido blanco a una onda sinusoidal, y el resultado se muestra en la figura anterior. Puede cambiar la intensidad del ruido cambiando la potencia en dbW y la relación señal / ruido. Consulte este enlace para obtener más detalles sobre la función awgn().Author: Ammar AliHello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.
El valor retornado por mi_ruido es una matriz de m x n que contiene valores aleatorios de ruido blanco. La variable "potencia" es un valor, en decibeles, relacionado con los vatios de ruido generado con una carga de impedancia de un ohmio. El valor de impedancia puede ser modificado, incluyéndolo después de la variable de potencia en el llamado de la función. Las unidades de potencia pueden alterarse incluyendo los parámetros: "dBW", "dBm" o "linear" después de la variable en el llamado de la función. Es posible generar valores tanto reales como complejos, incluyendo "real" o "complex" ("complejo") en el llamado de la función.
Añadir ruido blanco sirve para simular señales similares a las que obtendrías en experimentos en el mundo real. El ruido blanco también puede utilizarse como base para analizar el ruido captado en experimentos reales, para determinar la fuente del sonido. El ruido de un experimento podría no tener la distribución de frecuencia uniforme del ruido blanco. Por ejemplo, el ruido de la interferencia eléctrica se concentra en la frecuencia de 60 Hz, que es la frecuencia de corriente AC en Estados Unidos.
Se describe un algoritmo llamado ICM-TM para reducir el efecto del ruido Gaussiano en imágenes monocromáticas. La operación del algoritmo se basa en el Modelo de Intersección Cortical (ICM) que es un tipo de Red Neuronal Artificial tipo Pulso-Acoplado. Una matriz de tiempos (TM) proporciona la información correspondiente a la iteración cuando la neurona correspondiente se activa por primera vez. Se establece un criterio de filtrado selectivo que combina el operador de mediana y promedio tomando como base el tiempo de activación de las neuronas. El desempeño del algoritmo propuesto se evaluó experimentalmente con ruido Gaussiano a varios niveles. Los resultados muestran la efectividad de la propuesta con respecto a los filtros mediana, Gaussiano, Sigma, Wiener y las Redes Neuronales Pulso-Acopladas tipo PCNNNI. Los resultados son representados principalmente a través del Cociente Pico Señal a Ruido (CPSR).
Entre las técnicas más recientes de filtrado de ruido Gaussiano se encuentran los algoritmos basados en onditas (wavelets) multidireccionales [7], que pueden remover el ruido y preservar los detalles como bordes y texturas. Tal es el caso del método de filtrado basado en la Transformada Directionlet que permite la reducción multidireccional al construir una matriz con las principales direcciones encontradas en la imagen para evitar eliminar bordes. Este algoritmo es laborioso y no toma en cuenta la información de similitud espacial entre los pixeles por lo que puede llevar a falsas detecciones.
Dentro de las técnicas de inteligencia artificial también se han hecho propuestas para mejorar el filtrado de ruido Gaussiano, las más prominentes son las que emplean el aprendizaje para máquinas como el Ridgelet Suppport Vector Filter (RSVM) [12] que se basan en la generación de Diccionarios Multiescala generados mediante aprendizaje a partir de ejemplos (MRSVF y NCSR) y que permiten extraer las características sobresalientes asociadas con singularidades lineales y así evitar su desaparición. Dicho método consiste en el cálculo de una serie de matrices, la extracción de vectores columna centrales y la comparación con los diccionarios de las características estadísticas de las imágenes con ruido para después minimizar el error en un laborioso e iterativo proceso.
Una forma distinta de enfrentar el problema de eliminación del ruido Gaussiano en imágenes digitales ha surgido de la exploración experimental, tal es el caso de las Redes Neuronales Artificiales de tercera generación llamadas Redes Neuronales Pulso-Acopladas o por sus siglas en inglés PCNN (Pulse Coupled Neural Networks), las cuales han sido empleadas de modo eficiente para el procesamiento de imágenes en diversas tareas como la segmentación, la clasificación, la identificación de imágenes, entre otras [13].
El método ICM-TM que se propone consiste en utilizar una red ICM para generar la matriz de tiempos y aplicar selectivamente los operadores mediana y promedio para suprimir el ruido Gaussiano en imágenes digitales en escala de grises, de forma que se logre una reducción significativa del ruido con un método computacional sencillo que puede ser implementado para aplicaciones con sistemas embebidos.
Se realizó la comparación del método propuesto con los filtros de mediana, Wiener, Gaussiano, Sigma y el basado en PCNNNI para la imagen de Lena (Fig. 7) a la que se agregó ruido Gaussiano con varianza 0.08; se observó que la capacidad de suavizado del filtro de mediana puede ser empleado para disminuir el ruido Gaussiano que genera valores extremos en los pixeles, no obstante, no se debe aplicar este filtro de manera uniforme pues la imagen se verá afectada en detalles y bordes. Para otras regiones se debe tomar en cuenta la información presente en los pixeles por medio de un suavizado más fino como es el generado por el operador promedio. 2b1af7f3a8