Práctica #2:Cancelación de Ruido Mediante Filtro Adaptativo

August 13, 2017 | Autor: Jose Lucero | Categoría: Ruido
Share Embed


Descripción

1

Práctica #2:Cancelación de Ruido Mediante Filtro Adaptativo. Christian Alvarez, Miguel Cajas, José Lucero, Christian Urigüen [email protected] [email protected] [email protected] [email protected] Universidad Politecnica Salesiana Cuenca-Ecuador

Abstract—En el siguiente documento se presenta la forma en la cual se elaboró un filtro que tiene la función de cancelar o eliminar el ruido que se ha sumado a una señal de audio, el filtro utilizado tiene la característica de estar estructurado con una neurona adaline, dicha neurona presenta la característica de ser adaptativa ante cualquier cambio que se puede presentar en la señal. Index Terms—Adaline, Filtro Adaptativo, Cancelación, Ruido. Figura 1. Neurona artificial [2].

I. O BJETIVOS A. Principal •

Implementar el algoritmo de un filtro adaptativo en Matlab, para la cancelación de ruido en una señal de audio, utilizando una neurona adaline.

B. Específicos • •

El estímulo que recibe una neurona es igual a la suma de sus entradas (xi ) multiplicadas por un peso sináptico (wi ) figura 1, de tal manera que:

Implementar el algoritmo de aprendizaje y adaptación de la neurona utilizando el método del gradiente decreciente. Probar el sistema con diferentes coeficientes de aprendizaje para obetener la mejor respuesta en cuanto a velocidad de aprendizaje y exactitud de respuesta. II. I NTRODUCCIÓN

Dentro de las distintos tipos de redes neuronales artificiales, se encuentra la red Adaline, la misma que permite resolver problemas en donde los datos sean linealmente separables entre ellos. La principal aplicación para la red Adaline, es un filtro que permita eliminar el ruido de una señal que se desee procesar. Por tal razón, en este documento se hará uso de la red Adaline para el filtrado de una señal de audio, con el método de aprendizaje LMS, de tal manera que se puedan determinar el mejor vector de pesos en función del error mínimo cuadrático.

m X

(1)

Este estímulo se procesa en el núcleo, dando como resultado el nivel de excitación de la neurona (net de la figura 1), el cuál en las ecuaciones se representara con n: m X xi wi + b n=

(2)

j=1

Como se puede observar en la ecuación 2, a más de la sumatoria de los estímulos por los pesos, el nivel de excitación de la neurona depende del bias o umbral, finalmente la activación de la neurona se dará según su función de activación, que dependerá de n [3]. a = f (n)

(3)

B. Función de activación de la neurona La salida de la neurona es llamada purelin y está dada por:

A. Modelado De Una Neurona Artificial Los estímulos en las neuronas artificiales son considerados vectores.

xi wi = x1 w1 + x2 w2 + ....xm wm

j=1

a = purelim(n)

(4)

m X a = purelin( xi wi + b)

(5)

j=1

donde:

2

a=n

(6)

La cual según su forma matemática se dice que es una función lineal, totalmente derivable a diferencia de la función de activación del perceptrón, la forma gráfica de la función se muestra en la figura 2.

Figura 3. Diagrama De Bloques Del Sistema[1]

En la figura 4 se pude observar el diagrama de bloques de la neurona que se implemento.

Figura 2. Función de activación de la neurona.[2]

C. Coeficiente de aprendizaje (α) La variación de este coeficiente (α) influye directamente en el proceso de aprendizaje de la red, si este es demasiado grande puede que la red no converja al mínimo error requerido, saltándose ese valor en cada iteración, pudiendo incluso provocar que la red nunca aprenda, por otro lado seleccionar un valor demasiado pequeño afecta directamente a la velocidad de aprendizaje de la red, ocasionando que la convergencia sea muy lenta o que se quede en un mínimo local.

D. Algoritmo LMS Figura 4. Diagrama De Bloques De la Neurona Adaline.[1]

Este algoritmo es también conocido como mínimo error cuadrático. W (k + 1) = W (k) + 2αe(k)pT (k)

(7)

III. D ESARROLLO DEL FILTRO El diseño del filtro adaline busca cumplir con la función de un filtro adaptativo, los cuales son sistemas dinámicos capaces de estar en constante cambio para adaptarse a nuevas condiciones. Este filtro tiene la principal característica que sus coeficientes conocidos como pesos sinápticos son variantes en el tiempo, es decir se van actualizando para obtener los valores óptimos mediante el entrenamiento continuo. En la figura 3 se puede observar el diagrama de bloques utilizado para la cancelación de ruido a través del filtro adaptativo.

A. Descripción del programa implementado en matlab La estructura que se realizó para la implementación del filtro adaptativo, se llevó a cabo en el software de matlab por medio del cual se realizó el filtrado de una señal de audio acondicionada con ruido aleatorio; para lo cual se estructuro un programa que recibe dos señales como entradas, una señal que es el ruido que se lo acondicionara para ser introducido al algoritmo de aprendizaje, el mismo que está basado en la ecuación de aprendizaje del algoritmo LMS, ecuación 7; dicha ecuación está constituido por las variables de entrada, los pesos sinápticos, el coeficiente de error y el error. La segunda señal es el audio contaminado que queremos filtrar, esta señal la utilizamos con la señal de ruido restándolas una de la otra para obtener la señal deseada; estos parámetros los introducimos en el algoritmo de aprendizaje correspondientemente a las variables antes mencionadas. La estructuración del programa está dividida en cuatro partes fundamentales: 1. Obtención de la señal de audio, generación de ruido randomico (ecuación 8) y acondicionamiento del mismo en magnitud o fase (ecuación 9).

3

ruido−generado = rand(1, length(entrada−audio)) (8)

ruido−acond = 1,5∗rand(1, length(entrada−audio)) (9) 2. Generación de algunas variables de la ecuación de entrenamiento como: generación de pesos sinápticos randomicos y creación de la constante de aprendizaje (alfa). α = 0,01

(10)

3. Estructura en la cual se realizan las operaciones de filtrado mediante la actualización de los parámetros del filtro (pesos sinápticos ). 4. Visualización de los resultados.

Figura 6. Ruido con 2 estímulos.

IV. A NÁLISIS DE RESULTADOS En la figura 5 se puede observar las señales obtenidas con un número de estímulos igual a dos, en donde la primera señal corresponde a la señal original con la cual se comenzó a trabajar el diseño del filtro, la segunda señal corresponde a la señal contaminada, para lo cual se sumó la señal original más la señal de ruido, finalmente la tercera señal corresponde a la señal restaurada (e) obtenida de la diferencia entre la señal contaminada (t) y el ruido adaptativo del filtro para la cancelación de la contaminación (a). La señal restaurada obtenida al final del sistema, corresponde a la señal con una leve atenuación y con un porcentaje de ruido, este ruido es la retroalimentación del filtro que utiliza para obtener la señal restaurada con el mínimo error.

En la figura 7 se puede observar las señales obtenidas con un número de estímulos igual a siete; la primera señal corresponde a la señal original con la cual trabaja el filtro, la segunda señal corresponde a la señal original contaminada con el ruido, finalmente la tercera señal corresponde a la señal restaurada (e) obtenida de la diferencia entre la señal contaminada (t) y el ruido adaptativo del filtro para la cancelación de la contaminación (a).

Figura 7. Entrenamiento de la red adaline con 7 estímulos. Figura 5. Entrenamiento de la red adaline con 2 estímulos.

En la figura 6 se puede observar las señales de ruido randomico, ruido modificado y el ruido obtenido a la salida de la neurona.

En la figura 8 se puede observar la señal de error

4

de respuesta disminuya. Es por estas razones es que el valor del coeficiente debe ser el adecuado para que la red Adaline converja de manera adecuada.

DIFERENCIA ENTRE LA SEÑAL "E" Y LA SEÑAL "S" 0.2 0.15 0.1

R EFERENCIAS Amplitud

0.05 0 −0.05 −0.1 −0.15 −0.2

0

0.2

0.4

0.6

0.8

1

Tiempo (s)

Figura 8. Diferencia entre la señal “E"y la señal “ S".

De acuerdo a los resultados que se pueden observar en la figura 5 y figura 7, el número de estímulos que se le aplique al filtro repercute en la respuesta de la red, ya que al proporcionar un número de estímulos igual a 7, la red mejora su calidad de filtrado de la señal y los tiempos de aprendizaje. Sin embargo se debe tomar en cuenta que al dar un número grande de estímulos, la red no tiene una adaptación adecuada a la señal que se desea reconstruir. Como se puede observar en las figuras anteriores, las señales obtenidas a la salida de la neurona siguen presentando un aprendizaje del comportamiento del ruido pero con una leve atenuación, la cual es menor para el sistema que utiliza 7 estímulos, pero con un menor grado de correlación. Esto puede deberse a factores como el inicio randomico de los pesos sinápticos de la red, siendo también un factor importante el coeficiente de aprendizaje, que para nuestro caso es igual a 0.01. Este coeficiente de aprendizaje determina que tan rápido puede llegar a encontrar la red el mínimo global, así como que tan cerca se va a analizar el siguiente punto supuesto como mínimo global. El valor que utilizamos de 0.01 fue basado en el método de prueba y error, proporcionando una mejor aproximación tanto en tiempo como en exactitud de valor. V. C ONCLUSIÓN El número de retrasos o muestras y el coeficiente de aprendizaje son una parte fundamental para el desarrollo de una red Adaline, ya que estos parámetros permiten definir su comportamiento. Si estos parámetros no son los adecuados, se da la posibilidad de que la red no se comporte de acuerdo a los resultados que se desean obtener, puesto que muy pocos retrasos pueden provocar un mal filtrado, debido a que la red neuronal no logra adaptarse al comportamiento de la señal de ruido, además un coeficiente de aprendizaje demasiado elevado puede no llevarnos a un mínimo global. De acuerdo a pruebas realizadas en el filtro implementado, el valor del coeficiente de aprendizaje puede generar dos respuesta en la red, en el primer caso si se da un valor demasiado grande se puede presentar el problema de que la red no converja en el mínimo error requerido. Por otro lado si se da un valor demasiado pequeño se consigue que la velocidad

[1] Martin T. Hagan, Howard B. Demuth, Oklahoma State University, Neural Network desing, second edition, [2] Patricio García Báez, Introducción a las Redes Neuronales y su aplicación a la Investigación Astrofísica, Investigación Astrofísica, Visitado el 16 de noviembre del 2013, Disponible en:http://www.iac.es/sieinvens/SINFIN/Sie_Courses_PDFs/ NNets/confiac.pdf [3] Minaya Villasana, Introducción a Las redes Neuronales (Neurales) CO-6612, Introducción a las Redes Neuronales Artificiales, Visitado el 16 de noviembre del 2013, Disponible en internet en: http://prof.usb.ve/mvillasa/redes/Introduccion-vl.pdf

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.