Está en la página 1de 103

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECANICA Y ELÉCTRICA


SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN
UNIDAD CULHUACAN

ESTRUCTURA DE LÓGICA DIFUSA


PARA FILTRADO ADAPTIVO

TESIS
QUE PARA OBTENER EL GRADO DE:
MAESTRO EN CIENCIAS DE INGENIERÍA EN MICROELECTRÓNICA

PRESENTA:

ING. FLAVIO MANCERA OLIVARES

ASESOR:

DR. JUAN CARLOS SÁNCHEZ GARCÍA


DR. HÉCTOR M. PÉREZ MEANA

MÉXICO D.F. 2005


AGRADECIMIENTOS

A los directores de Tesis Dr. Juan Carlos Sánchez García y Dr. Héctor M. Pérez Meana, por
la valiosa conducción para el desarrollo del presente trabajo de investigación. Así mismo la
colaboración del M. en C. Henry Martínez Conde.

A los miembros del jurado por sus comentarios y atinadas sugerencias para lograr una
correcta distribución y presentación de los resultados obtenidos.

A las autoridades, profesores ,compañeros de la ESIME CULHUACAN y de la Sección de


Estudios de Posgrado e Investigación, de los que no menciono nombres por temor a omitir
alguno, pero de los que siempre recibí el apoyo incondicional.

A mi padre † y a mi madre, mis hermanos, mi hijo Alberto, a la persona que me dió la


certeza de que se pueden alcanzar los objetivos y en especial al ser supremo que nos da la
energía para lograrlo.
Capitulo 1. Introducción Índice
1.1 Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Organización de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Capitulo 2. Sistemas adaptivos

2.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Áreas de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Sistema adaptivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.1 Adaptación de lazo abierto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.2 Adaptación de lazo cerrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Combinador aditivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.5 Adaptación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5.1 Método de gradiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5.2 Método de mínimos cuadrados . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.8 Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Capitulo 3. Lógica difusa y razonamiento difuso

3.1 Lógica y conjunto clásico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18


3.2 Lógica y conjunto difuso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.1 Parámetros de los conjuntos difusos . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.2 Operaciones teóricas de conjuntos difusos . . . . . . . . . . . . . . . . . . 22
3.2.3 Intersección difusa. T-norma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.4 Unión difusa. T-conorma ó S-norma . . . . . . . . . . . . . . . . . . . . . . 25
3.2.5 Leyes de D'Morgan generalizadas 25
3.3 Parámetros de diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.1 Partición difusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.2 Tipos de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4 Sistemas difusos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.4.1 Principio de extensión . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.4.2 Relación difusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4.2.1 Relaciones binarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4.2.2. Composición de relaciones difusas . . . . . . . . . . . . . . . . 30
3.4.3 Variables lingüisticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4.3.1 Función de implicación . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.5 Razonamiento difuso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.5.1 Mecanismo de inferencia difuso . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Índice
3.5.1.1 Inferencia tipo Tsukamoto . . . . . . . . . . . . . . . . . . . . . . 33
3.5.1.2 Inferencia tipo Mandami . . . . . . . . . . . . . . . . . . . . . . . . 34
3.5.1.3 Inferencia tipo Sugeno . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.6 Defusificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.7 Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Capitulo 4. Filtro difuso para predicción de señales audibles

4.1 Modelado de Lógica difusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39


4.2 Arquitectura de un sistema difuso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3 Diseño del procesador con estructura difusa . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.4 Implementación del algoritmo FAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.5 El FAD como predictor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.6 El FAD como identificador de sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.7 Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Capitulo 5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Apéndice A. Programas del FAD


A1 Programa para llevar a cabo simulación en un canal no lineal
con funciones Gaussianas . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 66
A2 Programa para llevar a cabo simulación en un canal no lineal
con funciones triangulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
A3 Algoritmo para simulación con filtro FIR . . . . . . . . . . . . . . . . . . 71
A4 Algoritmo para aproximación de señal FAD. . . . . . . . . . . . . . . . . 73
A5 Algoritmo para aproximación de señal filtro FIR. . . . . . . . . . . . . 76
A6 Programa para gráficar la función no lineal . . . . . . . . . . . . . . . . . 78
A7 Funciones para los programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Apéndice B. Artículos publicados


Cast Tour / ICED
Estructura de Lógica Difusa para Filtrado Adaptivo . . . . . . . . . . . . . . . . . . 82
1er. Congreso Mexicano de Ing. En Coms. y Electrónica
Aplicación de la Lógica Difusa en el Filtrado Adaptivo . . . . . . . . . . . . . . . . 87

Lista de acrónimos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Índice de figuras

Capitulo 2
Figura 2.1 Adaptación de lazo abierto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Figura 2.2 Adaptación de lazo carrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Figura 2.3 Señales en adaptación de lazo cerrado . . . . . . . . . . . . . . . . . . . . . . 11
Figura 2.4 Ejemplos de aplicación de lazo cerrado: a)Predicción
b) Identificación de sistema (modelado), c)Ecualización
(deconvolución, filtrado inverso, modelado inverso),
d) Cancelación de eco ó ruido. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figura 2.5 Combinador lineal aditivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figura 2.6 Filtro transversal adaptivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Figura 2.7 Obtención del error en un combinador lineal aditivo . . . . . . . . . . . 14
Capitulo 3
Figura 3.1 Conjuntos: a) Clásico b) Difuso . . . . . . . . . . . . . . . . .. . . . . . . . . . 19
Figura 3.2 Partes importantes de una función de membresía . . . . . . . . . . . . . 21
Figura 3.3 Conjuntos difusos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Figura 3.4 Subconjunto. A está contenido en B . . . . . . . . . . . . . . . . . . . . . . . . 23
Figura 3.5 A unión B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figura 3.6 A intersección B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figura 3.7 Conjunto A negado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figura 3.8 Partición difusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figura 3.9 F.M. a) triangular b) trapezoidal c) gaussiana d) campana
e) sigmoidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figura 3.10 Diagrama a bloques de un sistema de inferencia
b) A implica B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figura 3.11 Modelo difuso tipo Tsukamoto . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figura 3.12 Modelo difuso tipo Mandami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figura 3.13 Modelo difuso tipo Sugeno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Figura 3.14 Métodos de defusificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Capitulo 4
Figura 4.1 Estructura de un sistema difuso . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figura 4.2 Sistema adaptivo difuso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figura 4.3 Modelo difuso propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Figura 4.4 Filtro adaptivo difuso (FAD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Figura 4.5 Fusificación: a) Secuencia de datos y su intersección con
conjuntos difusos b) y c) Cálculo del grado de membresía
función triangular y gaussiana respectivamente . . . . . . . . . . . . . . . 48
Figura 4.6 FAM del sistema difuso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Figura 4.7 Controlador difuso . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . 52
Figura 4.8 Neurona difusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Índice de figuras

Figura 4.9 Aplicación del FAD como predictor . . . . . . . . . . . . . . . . . . . . . . . 53


Figura 4.10 Señal aproximada: a) y b) 5 funciones triangulares,
c) y d) 5 funciones gaussianas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Figura 4.11 Aproximación a) Barrido de frecuencias b) Una señal audible 54
Figura 4.12 Aplicación como identificador de sistema . . . . . . . . . . . . . . . . . . . 55
Figura 4.13 Filtro adaptivo FIR de prueba para comparación . . . . . . . . . . . . . . 56
Figura 4.14 Función no lineal de prueba en el bloque H(S) planta .. . . . . . . . . 56
Figura 4.15 Resultados señal cuadrada con bloque no lineal. FAD . . . . . . . . . 57
Figura 4.16 Resultados señal cuadrada con bloque no lineal. FIR . . . . . . . . . . 57
Figura 4.17 Resultados para señal de voz: 5 funciones de membresía
gaussianas y ruido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Figura 4.18 Resultados para señal de voz: 5 funciones de membresía
triangulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Figura 4.19 Resultados para señal de voz: filtro FIR . . . . . . . . . . . . . . . . . . . . . 59
Figura 4.20 Error entre la señal deseada y estimada . . . . . . . . . . . . .. . . . . . . . . 60
Figura 4.21 Gráfica MSE del FAD con diferentes valores de alfa . . . . . . . . . . 60
Figura 4.22 Gráfica MSE del filtro FIR con diferentes valores de alfa . . . . . . . 61
RESUMEN

Recientemente la lógica difusa ha atraído la atención debido a su capacidad de representar


fenómenos complejos. La habilidad de la lógica difusa para describir sistemas complejos
por medio de un simple e intuitivo conjunto de reglas de comportamiento ha motivado un
interés por aplicarlo a varias tareas, por ejemplo: reconocimiento de patrones, filtrado
adaptivo y otros.
Es de interés particular desarrollar un filtro adaptivo difuso para aplicarlo a señales
audibles, debido a que la transmisión de información eléctrica por cualquier medio se ve
afectada por problemas de diversa índole, como puede ser la distorsión y el ruido aditivo,
por lo que es necesario regenerar las señales a su versión original.
La ventaja más importante de la lógica difusa es que se puede utilizar en el mismo sistema,
información numérica proveniente de un sensor ó dispositivo procesador de señal, así como
información en lenguaje natural provista por un experto humano asociada a algún proceso o
problema en forma de reglas del tipo si – entonces.
Un filtro adaptivo difuso (FAD) puede llevar a cabo adaptación no lineal a diferencia de las
técnicas de filtrado clásico, es decir con filtros FIR o IIR.
Los resultados muestran que el filtro tiene buen comportamiento comparado con un filtro
transversal tipo FIR.

v
ABSTRACT

Recently fuzzy logic has attracted considerable attention because of its capability for
representing complex phenomena. The ability of fuzzy logic to describe a complex system
by means of a simple and intuitive set of behavioral rules has motivated an increasing
interest for applying to several tasks, for instance: pattern recognition, adaptive filters,
prediction, etc.
A particular interest is to develop a fuzzy adaptive filter and use it in audible signals,
due to the electrical signals are affected by several problems during its transmission and is
necessary to convert to the original version.
The most important advantage of the fuzzy logic is that in the same system, can be used
numerical information coming from sensor or process signal device and linguistic
descriptions whose are provided by human experts in natural language about the problem in
form of fuzzy if-then rules.
A fuzzy adaptive filter (FAD) can develop non lineal adaptation unlike with those existent
as classical technical of filtering, namely with FIR or IIR filters.
The results show that fuzzy filter can provide a better performance that cannot be achieved
by conventional transversal type FIR filter.

vi
CAPÍTULO 1
INTRODUCCIÓN

1.1. Antecedentes
En la década de los años veinte del siglo pasado, J. Lukasiewicz desarrolló los principios de
la lógica multivaluada, cuyos enunciados pueden tener valores de verdad comprendidos
entre el 0 (falso) y el 1 (verdadero) de la lógica binaria clásica [1].
En 1965, L. Zadeh aplicó la lógica multivaluada a la teoría de conjuntos, estableciendo la
posibilidad de que los elementos pudieran tener diferentes grados de pertenencia a un
conjunto. Zadeh introdujo el término fuzzy (difuso) y desarrolló un álgebra completa para
los conjuntos difusos o borrosos. Pero se tuvieron resultados reales hasta mediados de los
años setenta, cuando E.H. Mamdani diseñó un controlador difuso para un sistema de
control de vapor[1].

Fue en los años 80 cuando se consiguió implementar aplicaciones realmente significativas,


alcanzando el máximo auge a partir de 1994.

Dicho lo anterior, podemos decir que la teoría difusa está totalmente inmersa en la vida
cotidiana, pero en cambio hemos de aceptar que es una teoría que abarca un extenso campo
en el mundo tecnológico, y todo ese campo no esta aún explotado, por consiguiente se
puede afirmar que se encuentra actualmente en vías de expansión.

Sin duda, donde más éxito tuvieron los sistemas difusos fue en Japón, y una de las
aplicaciones más importantes de la teoría difusa se aplicó en Sendai (Japón) donde se puso
en servicio un transporte metropolitano (metro) controlado mediante lógica difusa, este
tenía la peculiaridad de poseer controladores que hacían la frenada y la aceleración mucho
más suaves facilitando así la conducción [1],[2]. Así, a medida que los sistemas difusos
operaban correctamente estos comenzaron a utilizarse en numerosas aplicaciones y a partir
de la década de los 90 se incluyó también en los ascensores consiguiendo así reducir el

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
1
Introducción Capítulo1
1

tiempo de espera y la seguridad de los mismos. También se ha comenzado a implementar


en los controles de inyección electrónica del carburante y en los sistemas de guiado
automático de automóviles[2], haciendo los controles complejos más eficientes y fáciles de
utilizar. Las lavadoras difusas [2] tienen mas de 400 ciclos preprogramados y a pesar de su
complejidad tecnológica resultan más fáciles de operar que las lavadoras tradicionales; el
usuario solo pone en marcha la lavadora y el resto queda en manos del control difuso; el
sistema evalúa automáticamente el material, el volumen, la suciedad de la ropa, elige el
ciclo óptimo de lavado, así como el caudal de agua que emplea. En las actividades
domésticas cotidianas se inventó un sistema de ventilación [2] que usa el control difuso
para conmutar un ventilador según la detección de cantidad de polvo, olores, temperatura y
humedad ambiente. El baño difuso [2], por ejemplo tiene un controlador que mantiene el
agua a la temperatura ideal del usuario, ni muy fría ni muy caliente, etc.

En Estados Unidos de Norteamérica y Europa solamente se empezó a dar importancia a la


lógica difusa cuando desde Japón empezó a llegar información sobre numerosas
aplicaciones prácticas. A partir de entonces empresas como NASA, Boeing, Ford,
Rochwell o Bell comenzaron a aplicar la lógica difusa [3].

Con esta serie de ejemplos de sistemas difusos se puede concluir que se trata de una
aplicación con un presente confiable y un futuro inmediato sin límites.

En los últimos años los sistemas difusos se han venido consolidando como una herramienta
para modelar sistemas complejos y no lineales en áreas como el control, procesamiento de
señales, filtrado de señales, robótica, electrónica de consumo, control de tráfico, control en
centrales térmicas, predicción de terremotos, reconocimiento de escritura manuscrita,
reconocimiento de objetos, etc.[2].

El filtrado de señales en los sistemas de comunicación es de las áreas de mayor importancia


y de interés especial en el campo de la ingeniería, pues es común que exista distorsión de
tipo no lineal en los canales que se utilizan para envío de señales, ya sea analógica ó digital.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
2
Introducción Capítulo1
1

Uno de los problemas que presenta un canal de comunicación es, que se modifica de un
instante a otro por diversas circunstancias y por lo tanto se considera variante en el tiempo,
esto hace necesario contar con un sistema que evite la distorsión y mantenga un canal con
mínimos cambios, por lo que se requiere de un filtro que sea modificable en tiempo, es
decir, que se adapte de acuerdo a los cambios que se generen. Este tipo de filtros adaptivos
se pueden diseñar con estructuras no convencionales (filtros transversales FIR ó IRR) y es
un campo en el cual también se ha dado la aplicación de los sistemas difusos. En la revisión
de estos sistemas propuestos sobresalen algunos por su importancia y se relacionan a
continuación:

Investigadores como Wang/Mendel [4] proponen aplicaciones para filtrado adaptivo,


específicamente aplicado como ecualizador a un canal de comunicación no lineal, para
resolver problemas de interferencia intersímbolos en una transmisión con alta velocidad de
datos que incluye en su simulación ruido blanco aditivo de tipo Gaussiano. Los datos de
entrada toman valores [-1,1] con igual probabilidad. La propuesta difusa que presentan es
equivalente a un modelo de base radial aplicada en redes neuronales con una capa oculta,
cuya función de activación es una neurona Gaussiana. Para actualizar los parámetros que
son considerados y minimizar el error obtenido entre la salida del canal y la respuesta
estimada a la salida del filtro se utiliza un algoritmo de adaptación tipo RLS ó LMS, de
acuerdo a los resultados publicados se obtiene un filtro ecualizador que se aproxima a un
filtro ideal.

Existe una propuesta para eliminar ruido blanco en aplicaciones de audio, de Magdalena Di
Giura, et.al.[5]. Ellos proponen una aplicación para eliminación de ruido usando un modelo
neurodifuso. La técnica consiste en aplicar un preproceso con un algoritmo basado en una
estructura multiperceptrón para caracterizar el ruido blanco y hacer una correcta selección
de las funciones de membresía, mismas que describen las variables involucradas en el
proceso de filtrado. Los resultados obtenidos al filtrar una melodía corrompida con ruido y
comparados con una técnica de filtrado clásico FIR son alentadores, estos muestran una

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
3
Introducción Capítulo1
1

atenuación del ruido de manera considerable, a diferencia del resultado obtenido con el
filtro FIR.
Hao Ying[6] describe los sistemas difusos como aproximadores universales. El autor
muestra como un sistema difuso de una entrada y una salida SISO (por sus siglas en el
idioma inglés), puede aproximar cualquier función continua con buena precisión. También
propone una forma de determinar, el mínimo de conjuntos y reglas difusas de un sistema
para llevar a cabo esta aproximación.

En el campo de reductores de ruido para procesamiento de imágenes existen trabajos como


el de Muneyasu, et.al.[7]. La estructura del filtro es expresada como un filtro adaptivo que
usa proceso difuso para preservar la imagen de la corrupción de ruido blanco Gaussiano e
impulsivo. La clasificación de la señal o ruido se obtiene mediante la diferencia entre
píxeles como la característica para determinar los pesos.

También hay aplicaciones en modelos analógicos cuya autoría de Díaz-Mendez, et. al.[8]
desarrollan un sistema mediante el diseño de filtros adaptivos difusos que son modelados
usando la herramienta MDS-CAD (Fuzzy System Modeling) con apreciables resultados.

Una investigación realizada por A. Bastián [9] también arroja resultados alentadores, al
aplicar un algoritmo neurodifuso basado en el modelo aditivo estándar (SAM), para
ecualización de canales, simulando su propuesta en el ambiente de programación Matlab®.

1.2. Objetivos
El objetivo del presente trabajo es desarrollar un filtro adaptivo de baja complejidad y que
pueda adaptar cambios no lineales aplicando las técnicas de lógica difusa, en el
procesamiento de señales audibles. Para tal fin se considera el modelo propuesto por
Wang/Mendel [4], pero se modifican parámetros como son: las funciones de membresía
que caracterizan los conceptos difusos en reglas difusas del tipo si-entonces, el mecanismo
de inferencia difuso, el método de defusificación y el algoritmo de adaptación.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
4
Introducción Capítulo1
1

El filtro adaptivo difuso (FAD) se compara con un filtro transversal de respuesta finita al
impulso (FIR) que utiliza la técnica de filtrado clásico con orden similar al propuesto, esto
con la finalidad de observar las diferencias entre uno y otro al aplicarlo con señales
audibles de sonidos diversos a través de un bloque no lineal y ruido gaussiano aditivo. Los
resultados de esta aproximación no lineal pueden resultar atractivos como una alternativa al
filtrado adaptivo.

1.3. Organización de la tesis


La tesis esta conformada por 5 capítulos de la siguiente manera:
El Capítulo 1 es una descripción breve de la evolución de los sistemas difusos, las
investigaciones recientes que sirven de plataforma para el trabajo desarrollado, y la
estructuración del reporte de la investigación. El capítulo 2 presenta conocimiento de los
sistemas adaptivos en forma general y sus configuraciones de mayor aplicación, de tal
manera que el lector aun no familiarizado con el tema, comprenda la teoría elemental de las
estructuras utilizadas para la adaptación de sistemas, las cuales son aplicables en el análisis
de la presente tesis. Posteriormente el capítulo 3 permite involucrarnos con las bases de la
lógica difusa, la descripción de los sistemas difusos, el razonamiento difuso, creación de
reglas, los mecanismos de inferencia (Mamdani, TSK, Tsukamoto) y toda la información
necesaria que combinada con el capítulo anterior permiten comprender el modelo
presentado para aplicarlo a señales audibles en medios de tipo no lineal. El capítulo 4
presenta la propuesta del algoritmo desarrollado para realizar filtrado por medio de una
estructura de lógica difusa que nos permite aproximar funciones no lineales, se presentan
los resultados obtenidos, aplicando el procesamiento de predicción e identificación de
señales audibles cuando son aplicadas a un canal de transmisión con una función de
transferencia no lineal. La evaluación y simulaciones se llevan a cabo por medio de
Matlab®. El capítulo 5 especifica las conclusiones obtenidas a raíz de los resultados y que
permite dar una idea de los alcances sobresalientes de éste trabajo de investigación y el
trabajo a futuro que puede seguir el procesamiento de señales utilizando lógica difusa.
Los apéndices contienen la información adicional para el completo entendimiento de la
investigación realizada.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
5
Introducción Capítulo1
1

1.4. Referencias
[1]. José R. Hilera/Víctor J.Martínez. “Redes Neuronales Artificiales” Ed. Alfomega.2000.
[2].Página web de P.R. Perles. www.alu.ua.es/p/prpr/lógica/lógica_difusa.htm. Tutorial de
Lógica Difusa.
[3]. Bonifacio Martín del Brío, Alfredo Sanz Molina.”Redes Neuronales y Sistemas
Difusos” 2ª. Edición. Ed. Alfaomega. 2002.
[4]Li-Xin Wang and Jerry M. Mendel. “Fuzzy Adaptive Filters, with application to
Nonlinear Channel Equalization”.IEEE Transactions on Fuzzy Systems, Vol.1, No.3, 1993.
[5]Maddalena Di Giura, Nadia Serina, Gianguido Rizzotto “Adaptive Fuzzy Filtering for
Audio Applications Using a Neuro-Fuzzy Modelization”. IEEE. 1997.
[6]Hao Ying. “General SISO Takagi-Sugeno Fuzzy Systems with Linear Rule Consequent
are Universal Approximators”. IEEE Transactions on Fuzzy Systems, vol 6. no. 4 . 1998.
[7]Mitsuji Muneyasu, Kouichiro Asou, Yuji Wada, Akira Taguchi Takao Hinamoto “An
Implementation of Tunable Fuzzy Filters for Mixed Noise Reduction”. IEICE Trans,
Fundamentals, Vol.E84-A, No.2 February 2001.
[8]A. Díaz-Méndez, G. Espinoza F-V, H. Pérez-Meana, J.C. Sánchez-García y G. Duchén-
Sánchez. “A CMOS Current-Mode Analog Fuzzy Adaptive filter”. Journal of Signal
Processing, vol. 5, no. 4, 2001.
[9]J. A. Bastián. “Algoritmo difuso para ecualización de canales”. Tesis para obtener el
grado de Maestro en ciencias. SEPI ESIME UC.2001.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
6
CAPÍTULO 2
SISTEMAS ADAPTIVOS

2.1. Introducción
En los años recientes, un crecimiento en el campo de la investigación de los sistemas
“adaptivos” ha dado como resultado una variedad de autómatas adaptivos cuyas
características en forma limitada se parecen a los procesos biológicos de adaptación de los
seres vivos [1].
Estos sistemas se han desarrollado para llevar a cabo tareas de control adaptivo o
procesamiento de señal adaptivo y generalmente tienen alguna de las siguientes
características.
1.- Pueden adaptarse automáticamente (auto-optimizarse) frente a los cambios de su
ambiente.
2.- Pueden ser entrenados para realizar filtrado específico y tareas de decisión, es decir, son
“programados” por medio de un proceso de entrenamiento.
3.- Pueden extrapolar un modelo de comportamiento con nuevas situaciones después de
haber sido entrenado en un finito número de señales o patrones de entrenamiento.
4.- En un limitado alcance pueden actuar y adaptar correctamente el sistema sobre ciertas
clases de defectos internos del propio sistema.
5.- Usualmente describen sistemas lineales y no lineales con parámetros variantes en el
tiempo.
6.- Son más complejos y difíciles de analizar que los sistemas no adaptivos, pero ofrecen la
posibilidad y tienen la “capacidad de adaptación” cuando las características de la señal de
entrada son desconocidas y variantes en el tiempo.
El adjetivo “adaptivo” puede ser entendido como un sistema que trata de ajustar sus
parámetros con un objetivo bien definido que depende no sólo del estado del sistema, sino
también de su ambiente [2].

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
7
Sistemas Adaptivos Capitulo 2

2.2. Áreas de desarrollo


Los progresos en el diseño de microcircuitos ha resultado en la miniaturización, economía y
realización de procesadores de señal que rivalizan con los sistemas nerviosos biológicos en
tamaño y velocidad en el traslado de información, más no así en un proceso complejo como
podría ser el reconocimiento de una persona en forma visual ó por su voz. Esto ha
producido un rápido crecimiento en el campo de aplicaciones para todos los tipos de
procesamiento digital de señal, incluyendo por supuesto el procesamiento adaptivo. Dichas
aplicaciones son comunes en el campo de las comunicaciones, radar, sonar, sismología,
diseño mecánico, sistemas de navegación y electrónica biomédica, cancelación de ruido en
señales de voz, cancelación de ecos en canales telefónicos, modelado e identificación de
sistemas, control de ruido activo y más [1],[3].

2.3. Sistema adaptivo


Los sistemas de procesamiento en general, pueden ser “lineales o no lineales” y a su vez
estos pueden ser analógicos ó digitales. Un sistema analógico opera con señales continuas
en el tiempo. En cambio un sistema digital contiene señales en tiempo discreto, por lo que,
todas las señales son representadas por secuencias tales como x(n) [2].
La característica básica de un sistema lineal es que su comportamiento está gobernado por
el principio de superposición. Esto significa que si la respuesta de un sistema discreto lineal
con secuencias de entrada x1(n), x2(n), es: y1(n), y2(n), entonces, la respuesta del mismo
sistema con una entrada x(n)= ax1(n) + bx2(n) , será y(n) = ay1(n)+by2(n), donde a y b
son constantes arbitrarias [2].
Por otro lado, el comportamiento de un sistema adaptivo es lineal si los valores de a y b son
constantes, en cambio, si los valores están cambiando rápidamente con el tiempo, el
comportamiento del sistema ya no es lineal.
Ciertos sistemas adaptivos llegan a ser sistemas lineales con sus ajustes y mantener
constante la adaptación, a este tipo se le llama sistema adaptivo lineal y tiende a ser
matemáticamente tratable, por lo que resulta más simple diseñarlo en forma tradicional que
en forma adaptiva [2].

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
8
Sistemas Adaptivos Capitulo 2

A un sistema que lleva a cabo un proceso de filtrado es común aplicarle el adjetivo de “filtro”. Los
filtros adaptivos digitales son aquellos en los que la entrada, la salida y los pesos del filtro están
cuantificados y codificados en forma binaria. Los coeficientes variables del filtro son necesarios
cuando no se conocen de antemano las características estadísticas de la señal a filtrar, ó cuando se
conocen y se sabe que son cambiantes con el tiempo, y es donde se precisa este tipo de filtrado
adaptivo.
La ecuación de entrada-salida [3] de un filtro adaptivo digital es :

N M
y ( n) = ∑ a i ( n) x ( n − i ) − ∑ b j ( n ) y ( n − j ) n ≥ 0 ( señales causales) (2.1)
i =0 j =1

Donde x(n) e y(n) son las muestras de entrada y salida, respectivamente, en el instante n,
ai(n) y bj(n) son los pesos del filtro i-ésimo y j-ésimo en el instante n, y N+M+1 es el
número total de coeficientes del filtro, también conocido como filtro tipo IIR. Si bj(n)=0
para 1 ≤ j ≤ M, en la ecuación (2.1) entonces el filtro adaptivo es de respuesta impulsional
finita (FIR), esto es:
N
y ( n) = ∑ a i ( n ) x ( n − i ) n ≥0 (2.2)
i =0

Un filtro digital adaptivo [3] podría perfectamente implementarse mediante un filtro IIR
(respuesta impulsional infinita), pero los filtros FIR son mucho menos susceptibles de ser
inestables que los IIR. Hay que recordar que los filtros IIR tienen tanto polos como ceros,
y, si por alguna circunstancia los polos quedan fuera de la circunferencia de radio unidad, el
filtro es inestable. Además, aunque supiésemos teóricamente los coeficientes a utilizar para
tener los polos y ceros donde se necesitan, y consiguiendo siempre la estabilidad del filtro,
dado que estamos trabajando con filtros digitales, también los coeficientes (pesos) del filtro
están cuantificados y codificados en forma binaria, con lo que es posible que por problemas
de cuantificación los polos queden desplazados respecto del lugar teórico donde debieran
estar, haciendo el filtro inestable. Ello no quiere decir que los filtros FIR sean siempre
estables, de hecho, su estabilidad depende del algoritmo que se use para ajustar sus
coeficientes. Sin embargo, se utilizan generalmente filtros FIR porque su estabilidad es más
controlable que en los IIR[3].

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
9
Sistemas Adaptivos Capitulo 2

Actualmente existen varios criterios que pueden adoptarse para llevar a cabo la adaptación
de los pesos del filtro respecto a las variaciones de la señal de entrada, de los cuales se
mencionan algunos en los siguientes puntos.

2.3.1. Adaptación de lazo abierto


Este proceso de adaptación de lazo abierto [1],[4] involucra realizar mediciones de la
entrada o características del entorno para aplicarlas a una fórmula o a un algoritmo
computacional, y utilizar esta información para ajustar el sistema adaptivo. En la figura 2.1
se observa la configuración de este proceso. La entrada “otro dato” mostrado en la figura
incluye información acerca del ambiente en el cual se encuentra el sistema, señal deseada ó
la señal de entrenamiento.

Señal de Procesador Señal


entrada de
salida

Otro Algoritmo
dato de adaptación

Figura 2.1. Adaptación de lazo abierto.

2.3.2. Adaptación de lazo cerrado


Este proceso de adaptación de lazo cerrado [1],[4] que se muestra en la figura 2.2, involucra
una experimentación automática con los ajustes y conocimiento de sus salidas para
optimizar un desarrollado sistema de medición. La señal de salida se utiliza como
comparación de la señal de entrada ó con la señal etiquetada “otro dato”, y mediante un
proceso de decisión en el bloque de adaptación lleva a cabo las variaciones pertinentes al
procesador. Nuevamente la señal “otro dato” puede ser la señal deseada, información del
entorno, ó señal de entrenamiento.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
10
Sistemas Adaptivos Capitulo 2

Señal de Señal de
entrada Procesador
salida

Algoritmo de
adaptación

Criterio de Otro
cálculos dato

Figura 2.2 Adaptación de lazo cerrado.

Si la configuración de adaptación de lazo cerrado se adecua a una forma particular de


adaptación, el proceso de retroalimentación de lazo cerrado [1],[4]queda como la figura 2.3.

Figura 2.3. Señales en adaptación de lazo cerrado

Donde: “x” es la señal de entrada y definimos como respuesta deseada a la señal “d”. El
error “e” es la diferencia entre la señal de salida deseada y la señal de salida actual “y” del
sistema adaptivo[1],[5].

Utilizando la señal de error, un sistema adaptivo ajusta la estructura del sistema, alterando
las características de su respuesta mediante la minimización del error.
La figura 2.4 muestra ejemplos de aplicaciones en configuración de lazo cerrado[1][5].

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
11
Sistemas Adaptivos Capitulo 2

s d d
s
H

+ +
Procesador -
Retardo
x Adaptivo ∑ Procesador
Procesador -

y x Adaptivo
Adaptivo y
e e

a) (b)
s d s+n
Retardo d

_ + + e
H ∑
Procesador
∑ n' Procesador - ∑
+ Adaptivo y Adaptivo
e x y
+
Ruido x
(d)
c) d)
Figura 2.4. Ejemplos de aplicación en configuración de lazo cerrado. a) Predicción; b) Identificación de
sistema (modelado); c) Ecualización (deconvolución, filtrado inverso, modelado inverso); d) Cancelación de
eco ó ruido.

2.4. Combinador aditivo


El combinador lineal aditivo[1],[4] ó filtro adaptivo no recursivo, es fundamental en el
procesamiento de señales. Este aparece en las aplicaciones de los filtros ó sistemas
adaptivos y es el elemento más importante en sistemas de aprendizaje y procesamiento
adaptivo en general, como es el caso de los filtros transversales y la regla de propagación
de las redes neuronales[1],[4]. La estructura del combinador se muestra en la figura 2.5.
w0
x0

w1 y
Vector de la señal x1 Σ
de entrada Señal de
wL salida
xL

vector de pesos

Figura 2.5. Combinador lineal aditivo

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
12
Sistemas Adaptivos Capitulo 2

El combinador es llamado lineal porque para un número fijo de pesos, su salida es una
combinación lineal de sus componentes de entrada. Sin embargo, cuando sus pesos están en
un proceso de adaptación, estos son función de las componentes de la entrada, y la salida no
es precisamente una función lineal de la entrada [1],[4].
El vector de entrada del combinador aditivo puede ser de señales simultáneas de diferentes
fuentes ó pueden ser muestreos secuenciales de la misma fuente (señal a través de un
bloque de retardo) y este se interpreta como de entrada múltiple o de entrada simple
respectivamente.
En el caso de entrada simple, el procesador adaptivo puede ser implementado con un
combinador lineal y elementos de retardo como se muestra en la figura 2.6, y es llamado
filtro transversal adaptivo [1],[4].

xk Xk-1 Xk-2 Xk-L


Z-1 Z-1 Z-1

w0k w1k w2k wLk

∑ yk

Figura 2.6. Filtro transversal adaptivo.

Para el caso de un filtro con entrada simple, el vector de entrada es:

Xk = [ xok x1k x2k …… xLk ]T (2.3)

La relación de la salida con la entrada es la siguiente:

L
y = ∑ w x (2.4)
k l =0 lk k −1

El vector de pesos está dado por el siguiente vector:

Wk = [w0k w1k ...... wLk] T ( 2.5)

La relación entre (ec. 2.1) y (ec. 2.2) se expresa como:


MAESTRÍA EN CIENCIAS DE INGENIERÍA
EN MICROELECTRÓNICA
13
Sistemas Adaptivos Capitulo 2

yk = XkTWk = WkTXk (2.6)

Con esta descripción de la operación del combinador aditivo lineal podemos entender la
adaptación, como el efecto de cambio del vector Wk conforme cambia el índice k.
En el proceso de adaptación, el vector de los pesos es ajustado para producir la salida yk, lo
más parecida a la señal deseada dk. La comparación de la salida yk con la respuesta deseada
dk da como resultado una señal de error, esta señal de error debe minimizarse con el ajuste
u optimización del vector de los pesos. La figura 2.7 muestra el método de la derivación del
error.

Figura 2.7. Obtención del error en un combinador lineal aditivo.

De la figura (2.7 ) se observa que la señal de error ek es la diferencia de la señal deseada y


la señal de salida del combinador, esto es:

εk = dk - yk (2.7)

sustituyendo (2.4) en (2.5)

εk = dk - XkTW = dk - WTXk (2.8)

Elevamos (2.6) al cuadrado para obtener el error cuadrático instantáneo

εk2 = dk2 + WT Xk XkT W - 2dk XkT W (2.9)

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
14
Sistemas Adaptivos Capitulo 2

Suponemos que εk , dk , y Xk son estadísticamente estacionarios y tomamos el valor


esperado de (2.7) sobre k:

E[εk2] = E[dk2] +WT E[Xk XkT ] W – 2E [dkXkT ] W (2.10)

Note que el valor esperado de cualquier suma es la suma de valores esperados, pero que el
valor esperado de un producto, es el producto de valores esperados si las variables son
estadísticamente independientes. Las señales xk y dk no son generalmente independientes.
La función del error cuadrático medio puede ser convenientemente expresado como sigue.
Sea R definido como la matriz cuadrada.

⎡ x02k x0 k x1k x 0 k x 2 k K x0 k x Lk ⎤
⎢ ⎥
x x x12k x1k x 2 k K x1k x Lk ⎥
R = E[ X k X k ] = E ⎢⎢ 1k 0 k
T
( 2.11)
M M M M ⎥
⎢ ⎥
⎢⎣ x Lk x0 k x Lk x1k x Lk x 2 k K x Lk 2
⎥⎦

Esta matriz se llama matriz de correlación de entrada [1],[4]. Los términos de la diagonal
principal son los cuadrados principales de los componentes de entrada, y los términos
cruzados son las correlaciones cruzadas de los componentes de la entrada.
Sea P similarmente definido como el vector columna

P = E [dk Xk] = E [ dk x0k dk x1k …. DkxLk ] T (2.12 )

Este vector es el conjunto de las correlaciones cruzadas entre la respuesta deseada y los
componentes de entrada. Los elementos de ambos, R y P, son todos constantes estadísticas
de segundo orden cuando Xk y dk son estacionarias.
El error cuadrático medio en términos de (2.11) y (2.12)

MSE ≡ ξ = E [ε k2 ] = E[d k2 ] + W T R W − 2 P T W (2. 13)

El proceso de selección de los parámetros del filtro (coeficientes) se lleva a cabo para
obtener la mejor relación entre la señal deseada y la salida del filtro. Esta acción puede ser
definida mediante un funcionamiento estadístico ó determinístico. En la aproximación
MAESTRÍA EN CIENCIAS DE INGENIERÍA
EN MICROELECTRÓNICA
15
Sistemas Adaptivos Capitulo 2

estadística, la acción más común es aplicar como función el valor cuadrático medio del
error, esto es, la diferencia entre la señal deseada y la señal de salida del filtro. Y para
señales estacionarias, es conveniente aplicar el proceso de minimización del error
cuadrático medio, mejor conocido como filtro de Wiener. En la aproximación
determinística , la selección usual es una función de la suma pesada del error cuadrático de
la señal.[1],[2],[5] .

2.5. Adaptación
Como se menciona en la sección anterior, normalmente hay dos tipos de aproximación que
han sido ampliamente usadas para adaptar los algoritmos; estadísticas y deterministas.
Ambos tienen muchas variaciones en sus implementaciones y cada cual ofrece
características apropiadas, conduciendo a una gran variedad de algoritmos.

2.5.1 Método de gradiente


De acuerdo con la teoría del filtro de Wiener, el cual se origina de una estructura
estadística, los coeficientes óptimos de un filtro lineal son obtenidos por la minimización de
su error cuadrático medio (MSE). Como ya se ha mencionado, la minimización del MSE
requiere ciertas estadísticas obtenidas a través de un conjunto promedio, el cual no puede
ser posible en aplicaciones prácticas. El problema es resuelto usando ergodicidad, esto
quiere decir, el uso de tiempos promedio en lugar de conjuntos promedio[1],[4]. El
ampliamente usado algoritmo del mínimo valor cuadrático medio (LMS) usa el valor
instantáneo del error cuadrático como una estimación del MSE y cuando se usan pequeños
pasos en la búsqueda de los coeficientes óptimos del filtro se obtiene un algoritmo simple y
confiable.
La principal desventaja del algoritmo LMS es que la convergencia depende altamente de la
densidad espectral de potencia de la entrada del filtro. Es decir para que la convergencia sea
rápida, se requiere igual excitación sobre el rango de frecuencias. En algunas aplicaciones
son necesarios filtros adaptivos con una gran cantidad de bloques de retardo y estos filtros
son muy difíciles de implementar[1],[3].

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
16
Sistemas Adaptivos Capitulo 2

2.5.2. Método de mínimos cuadrados


Los algoritmos derivados de la teoría del filtro de Wiener han tenido su origen en
formulaciones estadísticas del problema. En contraste a esto, el método de mínimos
cuadrados se aproxima a una optimización desde el punto de vista determinístico, esto es, la
suma pesada de los errores cuadráticos. Una consecuencia de esta determinística
aproximación es que en general, el algoritmo converge más rápido y no es sensible a la
densidad espectral de potencia. El precio que hay que pagar para alcanzar esta ventaja es la
mayor complejidad y la pobre estabilidad numérica. A este algoritmo se le denomina filtro
adaptivo recursivo de mínimos cuadrados, de los cuales existen versiones mejoradas como
Fast RLS ó RLS(QRD-RLS) [1],[3].

2.6. Referencias

[1]. Bernard Widrow, Samuel D. Stearns. “Adaptive Signal Processing”.


[2]. B Farhang-Boroujeny. “Adaptive Filters. Theory and Applications”. Ed. John Wiley &
Sons. Capítulo 1 . Octubre 2000.
[3]. Página web. Filtrado adaptativo. Benemérita Universidad Autónoma de Puebla.
[4]. J. Rubén Azor Montoya . Página web. www.um.edu.ar/match/comple.htm. Matemática
Superior . Universidad de Mendoza. Argentina
[5]. Meter M. Grant, Colin F.N. Cowan. “Adaptive Filters”. Ed. Prentice Hall. 1985.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
17
CAPÍTULO 3
LÓGICA Y RAZONAMIENTO DIFUSO

3.1. Lógica y conjunto clásico


Lógica: del griego, logos, 'palabra', 'proposición', 'razón', disciplina y rama de la filosofía
que estudia los principios formales del conocimiento humano. Su principal análisis se
centra en la validez de los razonamientos y argumentos, para que a partir de proposiciones
dadas, llamadas premisas, alcance una conclusión derivada de ellas.
Los principios y terminología de la teoría de conjuntos es fundamental en los
razonamientos lógicos, pues se utilizan para construir proposiciones matemáticas y explicar
conceptos.
Un conjunto es una agrupación, clase o colección de objetos denominados elementos del
conjunto.
Un conjunto clásico es un conjunto con límites rígidos, es decir, se sabe con certeza que un
elemento pertenece o no pertenece al conjunto A.
Por consiguiente el conjunto clásico A de los números reales mayores que 25 puede ser
expresado como :
A= { x | x > 25 } , (3.1)

Es claro que el límite 25 no tiene ambigüedad, por lo que si x es mayor que el número 25,
entonces x pertenece al conjunto A; de otra manera x no pertenece al conjunto. Aunque los
conjuntos clásicos son utilizados para varias aplicaciones y han probado ser una
herramienta importante para las matemáticas y la ciencia, no reflejan los conceptos y
pensamientos de la naturaleza humana, los cuales tienden a ser abstractos e imprecisos[1].
Como ejemplo, matemáticamente podemos expresar el conjunto de las temperaturas altas
como una colección de valores que miden más de 25 grados centígrados, lo cual queda
denotado por la ecuación (3.1), donde A=”temperatura alta” y x=”temperatura en grados”.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
18
Lógica Difusa Capítulo 3

Como podemos observar, lo anterior es una forma inadecuada de representar el concepto de


“temperatura alta”. De acuerdo con el enunciado, podríamos clasificar una temperatura de
25.01 grados como una temperatura alta, pero una temperatura de 24.99 grados como una
temperatura no alta. Esta distinción es intuitivamente irrazonable. El defecto está en la
transición rígida entre inclusión y exclusión.

3.2. Lógica y Conjunto difuso


La lógica difusa proporciona un medio para enfrentar situaciones del mundo real,
situaciones complejas y dinámicas que son más fácilmente caracterizadas por palabras que
por ecuaciones matemáticas. La lógica difusa trabaja con conjuntos a los cuales llamamos
conjuntos difusos, estos conjuntos están definidos por funciones que expresan la
distribución de verdad de una variable. En contraste a un conjunto clásico, un conjunto
difuso como su nombre lo indica es un conjunto sin límites rígidos. Esto significa que: la
transición de “pertenece al conjunto” a “no pertenece al conjunto” es gradual, y esta
transición suave es caracterizada por su función de pertenencia que le dan a los conjuntos
difusos flexibilidad en el modelado usando expresiones lingüísticas tal como “el agua está
caliente” ó “la temperatura es alta” [1]. La figura 3.1 muestra estas importantes diferencias
entre los conjuntos.

(a) (b)
Figura 3.1 Conjuntos: a)Clásico b)Difuso
Lofti A. Zadeh, propuso los conjuntos difusos pensando en la necesidad de implementar
una teoría que permitiera implementar ideas subjetivas, es decir, ideas desde el punto de
vista humano.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
19
Lógica Difusa Capítulo 3

Un conjunto difuso A se define como una función de pertenencia que enlaza los elementos
de un dominio o universo X con elementos del intervalo [0,1]. [2]

A = X → [ 1, 0] (3.2)

Esto es, un conjunto difuso A en el universo X esta expresado como un conjunto de pares
ordenados:
A = {(x, µA (x)) | x ∈ X} (3.3)

donde A es el conjunto difuso, µA(x) es el grado de pertenencia ó membresía del elemento x


con respecto al conjunto difuso A, que puede tomar valores entre 0 y 1, y X es el universo
donde está definido A [1].
Obviamente la definición de un conjunto difuso es una simple extensión de la definición de
un conjunto clásico en la cual la función característica le permite tener valores continuos
entre 0 y 1, pero si la función de membresía µA(x) está restringida sólo a valores 0 ó 1,
entonces A es reducido a un conjunto clásico.
Usualmente X es referido como el “universo de discurso”, “universo de discusión” o
simplemente el “universo”, y puede contener tanto valores discretos como valores
continuos.
Un conjunto difuso se define también como una función de membresía (µ) en la cual para
cada elemento del universo le asocia su grado de pertenencia. Por lo tanto un conjunto
difuso A puede representarse como un conjunto de pares de valores para cada elemento x en
X con su respectivo grado de pertenencia a A. Es decir, la función mapea elementos de un
conjunto difuso a un valor en el intervalo [0 1] y se representa de la siguiente forma:

Para el caso de un universo de discurso discreto A = Σ µA(x) / x (3.4)

Para el caso de un universo de discurso continuo A =∫x µA(x) / x (3.5)


Cabe aclarar que el símbolo de la sumatoria (Σ) y el de la integral ( ∫ ) indican únicamente
la unión de los grados de membresía en cada caso, ya sea discreto o continuo; de manera

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
20
Lógica Difusa Capítulo 3

similar, el símbolo “/” indica únicamente una marca de separación y no implica la división
algebraica.
Así, una función de membresía describe el grado de pertenencia al conjunto difuso para los
diferentes elementos en el universo de discurso.

3.2.1. Parámetros de los conjuntos difusos


Un conjunto difuso puede representarse gráficamente como una función (función de
membresía), tal como se observa en la figura 3.2 donde las abscisas (eje x), es el universo y
las ordenadas (eje y) son los grados de pertenencia en el intervalo [0, 1], la misma figura
muestra las partes importantes en la caracterización de una función de membresía [1][8].

Figura 3.2. Partes importantes de una función de membresía

Soporte.- El soporte de un conjunto difuso A es el conjunto de todos los puntos x en X tales


que µA (x) > 0:
Soporte (A) = {x | µA (x) > 0}

Núcleo.- El núcleo de un conjunto difuso A es el conjunto de todos los puntos x en X tales


que µA (x) = 1:
Núcleo (A) = {x | µA (x) = 1}

Normalidad.- Un conjunto difuso A es normal si el núcleo no se encuentra vacío. En otras


palabras, se puede encontrar al menos un punto x ∈ X tal que µA (x) = 1.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
21
Lógica Difusa Capítulo 3

Singleton Difuso.- Es un conjunto difuso cuyo soporte es únicamente un solo punto en X


con µA (x) = 1 .
Corte-α, Corte-α fuerte.- El corte-α o conjunto nivel-α de un conjunto difuso A es un
conjunto certero definido por:
Aα = {x | µA (x) ≥ α}

El corte-α fuerte o conjunto nivel-α fuerte es definido de manera similar:


A’α = {x | µA (x) >α} donde α ∈ [0, 1].
Un corte α sirve como medio para establecer una interfaz entre un conjunto difuso y un
rango certero.
Un conjunto difuso A está abierto hacía la izquierda si
limx → -∞ µA (x) = 1 y limx →+∞ µA (x) = 0;
Un conjunto difuso A esta abierto a la derecha si
limx → -∞ µA (x) = 0 y limx → +∞ µA (x) =1;
Y esta cerrado si
limx → -∞ µA (x) = limx→ +∞ µA (x) = 0.

3.2.2. Operaciones teóricas de conjuntos difusos


En lógica difusa los valores no están definidos rígidamente, por tanto sus operaciones
exhiben una distribución descrita por su función de membresía[1][7]. Sean los conjuntos
difusos A y B de la figura 3.3

Figura 3.3. Conjuntos difusos


Un subconjunto esta determinado por la siguiente ecuación y se muestra en la figura 3.4
• Subconjunto A ⊆ B ⇔ µA ≤ µB

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
22
Lógica Difusa Capítulo 3

Figura 3.4 Subconjunto. A está contenido en B


En lógica difusa también se cuenta con operaciones de complemento, unión e intersección.
Cuando a dos variables difusas se les aplica una operación de "unión" (que en lógica binaria
es equivalente a una operación “O”), el resultado se obtiene tomando el valor más grande
de entre las variables de entrada, max(x1, x2, …, xn) , como se observa en la figura 3.5
• Unión: C= A ∪ B ⇔ µC (x) = max (µA (x), µB (x)) = µA (x) ∨ µB (x)

Figura 3.5 A union B

Para el caso de la "intersección" (que equivale a la operación “Y”) el valor resultante de la


operación corresponde al mínimo valor de alguna de las entradas: min(x1, x2, …, xn).
• Intersección: C = A ∩ B ⇔ µC (x) = min (µA (x), µB (x)) = µA (x) ∧ µB (x)

Figura 3.6 A intersección B

En la operación "complemento" (equivale a una operación NO), se toma el valor que


complemente a 1, de esta forma:
• Complemento: A = X − A ⇔ µ A ( x) = 1 − µ A ( x)

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
23
Lógica Difusa Capítulo 3

Figura 3.7 Conjunto A negado

3.2.3. Intersección difusa: T-Norma


La norma T o norma triangular establece modelos genéricos para las operaciones de
intersección, las cuales deben cumplir ciertas propiedades básicas (conmutativa, asociativa,
monotonicidad y condiciones frontera). [1],[7],[8]
La intersección de dos conjuntos difusos A y B están especificados en general por una
función T: [0, 1] x [0, 1] → [0, 1], que contiene dos grados de membresía como se muestra.
De forma simbolica:
~
µ A∩ B ( x ) = T ( µ A ( x ), µ B ( x )) = µ A ( x ) * µ B ( x ) (3.6)

donde ~
∗ es un operador para la función T norma.
Cuatro de los operadores T-norma más frecuentemente utilizados son:

• Mínimum: Tmin (a, b) = min (a, b) = a ∧ b


• Producto algebraico: Tap (a, b) = ab
• Producto acotado: Tbp (a,b) = 0 ∨ (a + b – 1)
⎧a , si b = 1

• Producto Drástico: Tdp (a, b) = ⎨b, si a = 1
⎪0, si a , b < 1

De lo anterior se puede comprobar que:

Tdp (a, b) ≤ Tbp (a, b) ≤ Tap (a, b) ≤ Tmin (a, b).

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
24
Lógica Difusa Capítulo 3

3.2.4. Unión difusa: T-Conorma o S-Norma


Al igual que la intersección difusa, el operador de unión difusa, conorma triangular ó norma
triangular S esta especificada en general por una función S : [0, 1] x [0, 1] → [0, 1].
De forma simbólica,
~ µ ( x)
µ A∪ B ( x ) = S ( µ A ( x ), µ B ( x )) = µ A ( x ) + (3.7)
B

~ es un operador para la función S [1][7][8]. Operador de unión difusa, que esta


donde +
referida regularmente como operador T-conorma (o S-norma),
Cuatro de los operadores T-conorma
• Máximum: S (a, b) = max (a, b) = a ∨ b
• Suma algebraica: S (a, b) = a + b – ab
• Suma acotada: S (a, b) = 1 ∧ (a + b)
⎧a , si b = 0

• Suma Drástica: ⎨b, si a = 0
⎪1, si a , b > 0
⎩ .
También se puede verificar que: Smax (a, b) ≤ Sap (a, b) ≤ Sbp (a, b) ≤ Sdp (a, b).

3.2.5. Leyes de D’ Morgan generalizadas


La T-norma y T-conorma son operadores duales que soportan la generalización de las leyes
de De Morgan[1]:
T (a, b) = N (S (N (a), N (b))),

S (a, b) = N (T (N (a), N (b))),


donde N (⋅) es el operador de complemento difuso. Si utilizamos ~ ~ para los
∗ y +
operadores T-norma y T-conorma respectivamente, entonces las ecuaciones anteriores
pueden ser re-escritas como:
a ~ ~ N (b)),
∗ b = N (N (a) +

~ b = N (N (a) ~∗ N (b)).
a +

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
25
Lógica Difusa Capítulo 3

Para un operador T-norma dado, se puede encontrar siempre un operador T-conorma


correspondiente, a través de las leyes generalizadas de De Morgan y viceversa.

3.3. Parámetros de diseño


Para la realización de sistemas basados en lógica difusa se han de definir particiones de las
variables. Se recomienda que estas particiones sean completas, con un solapamiento del
20% al 50%, y en un número impar. Normalmente se emplean particiones de 3 ó 7
conjuntos, pues la complejidad no es excesiva y permiten una aproximación suficiente en la
descripción de los valores de la variable, también se recomienda definir conjuntos de tipo T
(triangulares) en torno a puntos singulares, como el cero, pero depende de la aplicación.
[3],[7],[9]

3.3.1. Partición difusa.


La partición difusa es una división del espacio difuso o el universo de discurso por medio
de un número determinado de conjuntos difusos representando variables lingüísticas. Por
ejemplo la figura 3.8, muestra como el universo de discurso "Edad" se divide en lo que se
conoce como sub-espacio difuso, en este caso tres secciones. La partición difusa esta
formada por los valores lingüísticos “Joven”, “Adulto”, y “Viejo”.[1]

Figura 3.8.Partición difusa.

3.3.2. Tipos de funciones


Es precisamente a través de las funciones de membresía (FM) que los conjuntos difusos
pueden ser definidos, es decir, una función de membresía es un conjunto difuso, y una vez

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
26
Lógica Difusa Capítulo 3

que se han definido las propiedades más importantes que los conjuntos difusos deben tener,
se pueden definir o proponer diferentes conjuntos difusos, tanto continuos como discretos.
En la figura 3.9 se definen algunos de los conjuntos difusos continuos de mayor empleo, y
que son posibles de implementar en sistemas de cómputo.

a) FM triángulo:
⎛ ⎛ x − a c − x⎞ ⎞
trimf ( x; a , b, c) = max⎜ min⎜ , ⎟ ,0⎟
⎝ ⎝ b − a c − b⎠ ⎠

b) FM trapezoidal:
⎛ ⎛ x − a d − x⎞ ⎞
trapmf ( x; a , b, c, d ) = max ⎜ min⎜ ,1, ⎟ ,0⎟
⎝ ⎝ b − a d − c⎠ ⎠

c) FM gaussiana:
1 ⎛ x −c ⎞ 2
− ⎜ ⎟
2⎝ σ ⎠
gaussmf ( x; a , b, c) = e

d) FM campana generalizada:
1
gbellmf ( x; a , b, c) = 2b
x−c
1+
b

e) FM sigmoidal:
1
sigmf ( x; a , b, c) = −α ( x − c )
1+ e

Figura 3.9 F. M. a) triangular b) trapezoidal c) gaussiana d) campana e) sigmoidal

A pesar de que la función sigmoidal es una función difusa abierta hacia la derecha, se
puede utilizar para representar funciones difusas abiertas a la izquierda multiplicándola por

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
27
Lógica Difusa Capítulo 3

(–1), ó funciones difusas cerradas (utilizando la diferencia absoluta de dos funciones


sigmoidales o con el producto de dos funciones de membresía). Una de las principales
características de las funciones de membresía cerradas utilizando funciones sigmoidales es
que éstas pueden ser asimétricas.[1]
3.4. Sistemas difusos
Definición de función: Una función f de un conjunto D a un conjunto E es una
correspondencia que asigna a cada elemento “x” de D un único elemento “y” de E. El
elemento “y” de E se llama valor en “x” y se denota por f(x), también se le conoce como
imagen de x bajo f. El conjunto D se llama dominio de la función. El contradominio de f
consiste en todos los valores posibles de f(x), donde x está en D.
En el dominio difuso, por contraparte, existe la posibilidad de fusificar una función
utilizando el principio de extensión, el cual fue propuesto por Lofti Zadeh.
Él, sugirió el principio de extensión como el método para realizar un mapeo de un dominio
de ℜn a ℜm, es decir, es un extensión de la definición de función aplicado en el dominio
rígido al dominio difuso.[1]
A continuación se da la definición del principio de extensión.

3.4.1. Principio de Extensión


El principio de extensión es un concepto básico de la teoría de conjuntos difusos que
provee un método general para extender dominios rígidos de expresiones matemáticas al
dominio difuso. Este procedimiento generaliza un mapeo punto a punto de una función f (⋅)
a un mapeo entre dos conjuntos difusos.
Definición: Sea f: X → Y, donde X y Y denotan conjuntos difusos certeros para una
función dada y sea A un conjunto difuso en X. El principio de extensión sostiene que la
imagen de A en Y bajo la función f es un conjunto difuso B = f(A) definido como:

B(y) = sup { A(x) | x ∈ X , y = f(x) } (3.8)

La función sup denota el supremum que representa el valor máximo del conjunto y se
aplica si existen dos o más valores de x.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
28
Lógica Difusa Capítulo 3

Este principio se puede generalizar para el caso en que el universo X sea el producto
cartesiano de n universos X = X1 x X2 x . . . x Xn . Con la función de transformación

f: X → Y , y = f(x) , con x = (x1, x2, . . . , xn) (3.9)

Por lo que el principio de extensión transforma n conjuntos difusos A1 , A2 , . . . An de los


universos X1, X2, . . . , Xn en un conjunto difuso B = f (A1, A2, . . . , An) en Y definido
como:
B(y) = sup {min [ A1 (x1), A2 (x2), . . . , An (xn) ] | x ∈ X , y = f(x) (3.10)

3.4.2. Relación difusa


El concepto de relación difusa es una generalización del concepto de relación en la teoría
de conjuntos clásica. Mientras una relación entre dos conjuntos rígidos describe la
existencia o no de la asociación entre ambos conjuntos, una relación difusa describe el
grado de asociación ó interacción entre los elementos de los dos conjuntos [4].
Consideremos dos universos de discurso, U y V. Una relación difusa R es un subconjunto
del producto cartesiano UxV, o sea, un conjunto que puede ser representado por medio de
una secuencia de pares ordenados asignando un grado de membresía µR(u,v) para cada
elemento (u,v) en el espacio del producto UxV. [1],[4]

3.4.2.1. Relaciones Binarias


Una relación difusa binaria R es una función de 2 dimensiones, y para los universos X e Y
tenemos:
R = { ((x, y), µR (x, y)) | (x, y) ∈ X × Y} (3.11)
Ejemplos:
• x depende de y ( x e y son eventos)
• Si x es grande, entonces y es pequeño (x es una lectura observada e y es la
correspondiente acción)
La última expresión “Si x es A, entonces y es B,” es utilizada repetidamente en un sistema
de inferencia difuso.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
29
Lógica Difusa Capítulo 3

3.4.2.2. Composición de relaciones difusas


Una relación difusa es un conjunto definido en el espacio de un producto. Es posible aplicar
los operadores de unión, intersección y complemento. La composición de relaciones
definidas en diferentes espacios del producto que forman un universo de discurso se da de
la siguiente manera. Sean dos relaciones P y R definidas en XxY y YxZ, respectivamente,
la composición de P y R es una nueva relación (Q = P o R ) definida sobre XxZ donde (x,y)
serán miembros de Q si y solo si al menos hay un elemento de y en Y tal que (x,y) es
miembro de P y (y,z) es miembro de R.
La composición max-min de dos relaciones difusas R1 (definida en X y Y) y R2 (definida en
Y y Z ) es:
µR 1 o R2 ( x , z ) = ∨ [ µ R1 ( x , y ) ∧ µ R 2 ( y , z ) ]
y

Propiedades:
• Asociatividad: R ° (S ° T) = (R ° S) ° T
• Distributividad sobre la unión: R ° (S ∪ T) = (R ° S) ∪ (R ° T)
• Distributividad débil sobre la intersección: R ° (S ∩ T) ⊆ (R ° S) ∩ (R ° T)
• Monotonicidad: S ⊆ T ⇒ (R ° S) ⊆ (R ° T)
La composición max – product es: µR 1 o R2
( x , z ) = ∨ [ µ R 1 ( x , y ) µ R 2 ( y , z )]
y

En general, la composición max - *: µ R o R ( x , z ) = ∨[ µ R ( x , y ) * µ R ( y , z )]


1 2 1 2
y

donde * es un operador T-norma.[1]

3.4.3. Variables Lingüísticas


Una variable lingüística es una variable cuyo valor puede ser expresado por medio de
términos de lenguaje natural. Los diferentes términos ó valores lingüísticos son
representados con conjuntos difusos caracterizados por su función de membresía definidos
en el universo de discurso.[2],[4],[7].
Formato General:
Si X es A, entonces Y es B
Ejemplo: Si presión es alta, entonces el volumen es pequeño.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
30
Lógica Difusa Capítulo 3

A la primera parte de la regla se le conoce con el nombre de “antecedente” y la parte


complementaria “consecuente”.
Algunas veces la expresión "si x es A entonces y es B", se puede abreviar como A → B. En
esencia esta expresión describe una relación entre dos variables x e y; esto sugiere que una
regla difusa "si – entonces" puede ser definida como una relación difusa R en el espacio del
producto X × Y.

3.4.3.1. Función de implicación


Si tenemos dos variables lingüísticas, x e y definidas en el universo de discurso X e Y, y
dos conjuntos difusos, A y B sobre X e Y, respectivamente, la regla difusa :
“Si x es A entonces y es B”
es interpretada como una relación en X x Y con la siguiente función de implicación.
µA→B(x,y) = Φ [µA(x), µB(y)] (3.12)
donde Φ puede ser cualquier de los operadores de implicación difusos. Así un operador de
implicación o función de implicación expresa la relación entre el antecedente y el
consecuente de la regla. Los operadores comúnmente utilizados son “y” y “o”.

3.5. Razonamiento difuso


El razonamiento difuso, también conocido como razonamiento aproximado, es un
procedimiento de inferencia que deriva conclusiones de las reglas difusas si-entonces.
Generalmente hablando, hay dos formas de interpretar una regla difusa A → B.
Basado en estas dos interpretaciones y varios operadores T-norma y T-conorma, un número
de métodos calificados pueden ser formulados para calcular la relación difusa R = A → B.
Hay que notar que la relación R puede ser visto como un conjunto difuso con una FM de
dos dimensiones, es decir:
µ R (x,y) = f (µA (x),µB (y)) = f (a,b), (3.13)

con a = µA (x), b = µB (y), donde la función f, llamada función de implicación difusa, realiza
la tarea de transformar los grados de membresía de x en A y y en B en la relación (x, y)
cuando A → B.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
31
Lógica Difusa Capítulo 3

3.5.1. Mecanismo de inferencia difusa


En Lógica convencional (binaria) el razonamiento se basa en el “Modus Ponens”
[deducción] y en el “Modus Tollens” [inducción]. Estos razonamientos son
complementarios.[1],[2],[7].
En el Modus Ponens cuando la regla “Si A, entonces B” es cierta, se infiere o deduce que
“Si A es cierta, entonces B es cierta”.
En Modus Tollens, cuando la declaración “Si A, entonces B” es cierta, se infiere o deduce
que “Si A no es cierta, entonces B no es cierta”.
El razonamiento difuso está basado en el Modus Ponens Generalizado (GMP) o también
llamado Modus Ponens Difuso.
Si se escribe un GMP en la forma Si-entonces se tiene:

Premisa 1: SI x es A ENTONCES y es B
Premisa 2: x es A’
Consecuente y es B’

Donde A, B, A’ y B’ son conjuntos difusos.


La inferencia ó proceso de razonamiento difuso ó aproximado puede ser dividido en 4
pasos:
Grado de compatibilidad: compara los hechos conocidos con los antecedentes de las reglas
difusas para encontrar los grados de compatibilidad con respecto a cada MF antecedente.
Grado de activación: combina los grados de compatibilidad con respecto a las FM
antecedentes en una regla utilizando operadores “Y” e “O” para formar grados de
activación que indican los grados en los cuales el antecedente de la regla está satisfecha.
FM consecuente calificado (inducido): Aplica el grado de activación hacia la FM
consecuente de una regla para generar el FM consecuente calificado. La FM consecuente
calificada representa el grado de activación que se propaga y se utiliza en una declaración
de implicación difusa.
FM de salida total: Agrega (“suma”) todas las FM's consecuentes calificadas para obtener
una FM de salida total.
La figura 3.11 muestra un sistema general de inferencia difusa.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
32
Lógica Difusa Capítulo 3

Figura 3.10 Diagrama a bloques de un sistema de inferencia

3.5.1.1 Inferencia tipo Tsukamoto


En los modelos de Tsukamoto, los consecuentes de cada regla difusa si-entonces están
representados por un conjunto difuso con una FM monotónica. Como resultado, la salida
inferida de cada regla está definida como un valor certero inducido por medio de los grados
de activación. La salida total está tomada como el promedio ponderado de cada regla de
salida.[1],[2],[3],[7].

Figura 3.11 Modelo difuso tipo Tsukamoto

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
33
Lógica Difusa Capítulo 3

3.5.1.2 Inferencia tipo Mamdani


El sistema de inferencia Mamdani fue propuesto como un primer intento para controlar una
combinación de máquina de vapor y caldera por medio del control de reglas lingüísticas
obtenidas a partir de la experiencia de operadores humanos expertos en el manejo de este
tipo de máquinas[1],[2],[3],[7].

La figura 3.12 muestra un sistema de inferencia difuso tipo Mamdani, donde se observa que
la salida total z se obtiene mediante las dos reglas que se derivan de dos entradas certeras x
ey.
Regla 1: si x es A1 y y es B1, entonces z es C1
Regla 2: si x es A2 y y es B2, entonces z es C2 (3.14)
La salida de un sistema Mamdani puede obtenerse mediante diferentes procedimientos: uno
de ellos es la inferencia max-min, mediante la cual, el grado de activación limita al
conjunto difuso C en un punto donde se obtiene el valor mínimo entre las funciones de
membresía A y B, su salida total es la agregación de ambas áreas. En la inferencia max-
prod, el área obtenida es una versión escalada del conjunto difuso C y se obtiene por el
producto de los dos grados de activación de A y B, su salida total será también debida a la
agregación de ambas áreas.

Figura 3.12 Modelo difuso tipo Mandami ,inferencia Max-min y Max-prod

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
34
Lógica Difusa Capítulo 3

3.5.1.3. Inferencia tipo Sugeno


El modelo difuso Sugeno (también conocido como modelo difuso TSK) fue propuesto por
Takagi, Sugeno y Kang, en un esfuerzo por desarrollar un enfoque sistemático para generar
reglas difusas de un conjunto de datos entrada-salida. Una regla difusa típica en un modelo
difuso tipo Sugeno tiene la forma siguiente:

si “x” es A y “y” es B entonces z = fi (x,y) (3.15)

donde: fi (xp) es una función, por ejemplo:

fi (xp) = ai,0 + ai,1(x1)2 + … + ai,n (xp)2, (3.16)


ó
fi (xp) = exp[ai,0 seno (x1) + … + ai,n seno (xp)], (3.17)

donde ai,0, …, ai,n son constantes, fi (xp) es un polinomio en las variables x1 = x y x2 = y, y


fi(xp)=f(x,y), aunque puede ser cualquier función, mientras ésta pueda describir
apropiadamente la salida del modelo dentro de la región especificada por los antecedentes
de la regla. Si f (x, y) es un polinomio de primer orden, el sistema resultante de inferencia
difuso se llama modelo difuso Sugeno de primer orden.

Figura 3.13 Modelo difuso tipo Sugeno

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
35
Lógica Difusa Capítulo 3

Si f es una constante, se tiene un modelo difuso Sugeno de orden cero, que puede ser visto
como un caso especial del sistema de inferencia difuso Mamdani en donde cada regla
consecuente está especificada por un singleton difuso (consecuente pre-defusificado), ó un
caso especial del modelo de Tsukamoto, en donde cada regla consecuente está especificada
por una FM en el centro de una función escalón. Aún más, un modelo difuso Sugeno de
orden cero es funcionalmente equivalente a una red de función de base radial bajo ciertas
restricciones menores[1],[2],[3],[7].

3.4. Defusificación
La defusificación se refiere a la forma de extraer un valor rígido representativo de un
conjunto difuso. El proceso de defusificación es expresado por medio del operador de
defusificación F-1 que transforma la función de membresía de un conjunto difuso µ(x) en un
elemento definido x̂ del universo de discurso X. [1],[3],[10].
F −1 : µ ( x) →xˆ

Algunos métodos de defusificación son los siguientes y se observan en la figura 3.14:


Centro de área (CoA),centro de gravedad (CoG) o centroide: Este es el método de
defusificación utilizado en un sistema tipo Mandani. Determina el valor rígido como el
centro del área delimitada por el conjunto difuso de salida, resultado de aplicar a las reglas
difusas el mecanismo de inferencia. Las aplicaciones prácticas emplean la versión discreta
siguiente.[4],[10]:
n
∑ y i ⋅ µ B′ ( y i )
CoA → yˆ = i =1 n (3.18)
∑ µ B′ ( y i )
i =1

donde n es el número de elementos en el universo de discurso.


Centro de sumas (CoS): El objetivo de este método es considerar la contribución de cada
una de las conclusiones parciales B ′ r (regla difusa) y para este propósito es utilizada la
suma en lugar del máximo como operador de agregación:

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
36
Lógica Difusa Capítulo 3

n R
∑ y i ⋅ ∑ µ Br ′ ( y i )
CoS → yˆ = i =1 n R
r =1
(3.19)
∑∑µ B′ ( y i )
r

i =1 r =1

Si la función de implicación es la suma de productos entonces :


n R R n
∑ y i ⋅ ∑ α r ⋅ µ Br ′ ( y i ) ∑ α r ∑ y i ⋅ µ Br ′ ( y i )
CoS → yˆ = i =1 n R
r =1
= r =1 R i =1
n
(3.21)
∑ ∑α ⋅ µ r
B′ ( y i )
r
∑α ∑ µ r
B′ ( y i )
r

j =1 r =1 r =1 i =1

donde la suma en el denominador corresponde a la área del conjunto difuso de la regla del
consecuente, mientras la suma en el numerador es el producto del área por su centroide[4].

Centro del área mayor(CLA): Cuando la unión de los conjuntos difusos de salida no son
convexos, es decir si consiste de dos subconjuntos, este método determina el subconjunto
convexo de mayor área y define la defusificación como el centro del área de ese
subconjunto[4].
El primero(FoM), el medio(MoM) y el último(LoM) valor del máximo: Estos tres
métodos se obtienen del máximo valor de la función de membresía de agregación. Estas
defusificaciones se observan en la figura 3.13, en la cual debido a que existe una zona plana
como valor máximo, el valor de salida defusificado para cada uno es diferente, pero si sólo
se tiene un valor máximo en la función, entonces los tres valores (primero, medio y último)
toman el mismo valor.[4],[10].
Bisector: Método por el cual se divide la función en dos partes con área igual[1].

Figura 3.14 Métodos de defusificación

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
37
Lógica Difusa Capítulo 3

Métodos de defusificación simplificados: Existe otro tipo de mecanismos de inferencia y


defusificación, que son habilitados para proveer rápidos ciclos de inferencia en el esencial
requerimiento de una eficiente implementación de sistemas difusos sobre silicio. Este
requerimiento conduce a descartar el manejo de la información de forma difusa en el
consecuente de la regla, y sustituir esta información por un conjunto de parámetros
representativos[4], por ejemplo: promedio pesado difuso(WFM), método de calidad(QM),
centro de sumas con mínimo(CoSmin), nivel de clasificación(LGM),Yager´s (YM), etc.

3.6. Referencias
[1]. Jyh-Shing Roger Jang, Chuen-Tsai Sun, Eiji Mizutani, “Neuro-Fuzzy and Soft
Computing”, cap II ,III pp.13-42.
[2]. Zulma Janet Hernández Paxtian.Tutorial de Lógica Difusa y Aplicaciones en Control.
Universidad Autónoma de Puebla.
[3]. Timothy J. Ross, “Fuzzy Logic with engineering applications”, cap II-V pp.1-212.
[4]. I. Baturone, A. Barriga, S. Sánchez-Solano, C.J. Jiménez-Fernández, D.R. López.
Microelectronic Design of Fuzzy Logic-Based System. Cap I –III pp.7-42 Ed. CRC Press
[5]. Bonifacio Martín del Brío, Alfredo Sanz Molina, “Redes Neuronales y Sistemas
Difusos”, cap. VII, pp. 243-268.
[6]. José R. Hilera,Víctor J. Martínez, “Redes Neuronales Artificiales”, cap IX pp. 321-369.
[7]. Jhy-Shing Roger Jang, Chuen-Tsai Sun, “Neuro-Fuzzy Modeling and Control”,
proceedings of the IEEE, vol 83,no.3, marzo 1995 pp.378-387.
[8]. Henry Martínez Conde pp. 9-28. Tesis para obtener el grado de maestro en ciencias.
[9]. Jerry M Mendel. “Fuzzy Logic Systems for Engineering: A Tutorial”. Proceedings of
the IEEE, vol.83.no.3.march 1995.
[10] Caja de herramientas “fuzzy” de Matlab®

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
38
CAPÍTULO 4
FILTRO DIFUSO PARA PREDICCIÓN DE SEÑALES AUDIBLES

4.1.Modelado de Lógica Difusa


El modelado de lógica difusa (o modelado difuso) se refiere a la identificación de la
estructura del sistema difuso y es una práctica común usar el conocimiento experto para su
determinación, por ejemplo número de reglas, muestras del patrón de entrada, tipo de
modelo y los parámetros que mejor describen un conjunto dado de entrada-salida[1]. Por lo
tanto, el modelado difuso se refiere a la tarea de extracción de un modelo con diferentes
alternativas para obtener un grupo de reglas difusas "si entonces", que puedan describir el
modelo.
Takagi y Sugeno, fueron los primeros en darse cuenta de este aspecto y desarrollaron la
extracción de reglas a partir de algoritmos de búsqueda heurística y técnicas de
optimización no lineales[1].
En general existen dos grandes tareas que al momento de llevarlas a cabo permiten lograr el
modelado difuso, la primera consiste en determinar el número de reglas en un número
suficiente de tal forma que permitan que el modelo se obtenga a partir del conjunto de datos
entrada-salida, a esta parte se le conoce como extracción de reglas. A partir de ello se puede
saber cuál es el número de parámetros que se generan tanto para la parte de los
antecedentes como para los consecuentes. La segunda tarea consiste en realizar el ajuste de
estos parámetros. A esta etapa se le conoce como refinado de las reglas. Ahora bien, existen
diferentes puntos de vista para lograr estos objetivos.
Para obtener el refinamiento de las reglas se aplica un grupo de datos de entrada a la
estructura propuesta del sistema difuso, mediante el cual se obtiene una señal de salida, y a
partir de esta señal se realiza una comparación con los datos de salida que se desean
obtener. De esta forma se logra una señal de error cuadrático medio, que funciona como
función objetivo, la cual se desea minimizar ajustando el conjunto de parámetros que

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
39
Sistema adaptivo difuso capítulo 4

definen al sistema difuso, los cuales como sabemos se dividen a su vez en un grupo de
parámetros que pertenecen a la etapa de antecedentes y el grupo de parámetros que
pertenecen a la etapa consecuente.
El ajuste del grupo de parámetros antecedentes y el ajuste del grupo de parámetros
consecuentes se puede realizar con métodos de gradiente ó método de mínimos cuadrados,
como se menciona en el capítulo2.

4.2. Arquitectura de un Sistema Difuso


La figura 4.1 muestra la arquitectura general de un sistema aplicando lógica difusa [2],[3] y
que es una representación reducida de la figura 3.11 del capítulo 3. Como se observa,
consiste fundamentalmente de 4 bloques: Etapa de fusificación, base de reglas, mecanismo
de inferencia y etapa de defusificación.

Figura 4.1 Estructura de un sistema difuso

El sistema se puede ver como un solo bloque completo que lleva a cabo un mapeo de
entradas de valores rígidos (no difusos) a salidas de valores rígidos (no difusos), es decir la
relación que existe entre x e y. Por lo tanto, este mapeo puede ser expresado
cuantitativamente como y=f(x).
Este sistema puede utilizarse en diversas aplicaciones como son el control, procesamiento
de señales, robótica y electrónica de consumo, control de tráfico, control en centrales
térmicas, reconocimiento de objetos, etc.[4]

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
40
Sistema adaptivo difuso capítulo 4

Si al anterior sistema de la figura 4.1 le damos una aplicación de tipo adaptivo, este sistema
toma la forma de un modelo iterativo tal y como se observa en la figura 4.2. y es parecido
al sistema adaptivo de lazo cerrado de la figura 2.3 del capítulo 2.
En este sistema, los valores de entrada son normalizados y convertidos en representaciones
difusas hacia el interior del sistema procesador adaptivo difuso, esta etapa transforma los
datos rígidos en valores difusos (valores lingüísticos adecuados).[4]

Figura 4.2 Sistema adaptivo difuso

Por tanto en la estructura de este sistema, el primer paso es determinar el grado de


pertenencia de cada dato de entrada vía las funciones de membresía. La entrada es siempre
un número rígido que toma valores limitados al universo de discurso [-1,1], producto de la
digitalización de las señales analógicas que son normalizadas a estos valores a través del
software utilizado para tal efecto (por ejemplo: grabadora de sonidos de windows®, cool
edit®, vegas®, adobe sound®, etc).
Una vez que las entradas han sido fusificadas sabemos el grado de pertenencia para la
función de membresía y este valor fusificado forma parte de una regla difusa.
La base de reglas contiene el conocimiento empírico del proceso y está formado por un
conjunto de reglas difusas en forma de cláusulas si-entonces, las cuales están conformadas
por un antecedente y un consecuente como se mencionó en el capítulo 3.
En el modelado se consideran 5 tipos de sistemas basados en reglas [5].
1.- El valor de entrada y la salida del sistema están dados en forma de singletons.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
41
Sistema adaptivo difuso capítulo 4

si Ai : x=xi entonces Bi : y=y para i= 1,2,...,r


2.-El valor de entrada está dado en forma rígida y la salida dada en singleton
si Ai : xi-1 < x < xi entonces Bi : y=y para i= 1,2,...,r
3.- La restricción de la entrada está dada sólo para valores rígidos y la salida es descrita
mediante un conjunto difuso o una relación
si Ai : xi-1 < x < xi entonces y= Bi para i= 1,2,...,r
si Ai : xi-1 < x < xi entonces y= Ri para i= 1,2,...,r
4.- Las condiciones de entrada están dadas en la forma de conjuntos difusos con particion
en su universo de discurso y las salidas dadas en la forma de singletons o funciones no
lineales rígidas.
si x = Ai entonces y= Bi : y = yi para i= 1,2,...,r
si x = Ai entonces y= Bi : y = f i (x) para i= 1,2,...,r
5.- La forma más general de caracterización del modelo difuso es el caso en la cual ambas,
entrada y salida son descritas por conjuntos difusos, es decir:
si x = Ai entonces y= Bi
El motor de inferencia difusa es una parte muy importante del sistema pues tiene la
capacidad de toma de decisiones, similar a la labor que desempeña un operador humano al
efectuar razonamiento aproximado para lograr una estrategia de proceso deseada y esto es
expresado como una colección de enunciados SI-ENTONCES, estos enunciados se
encuentran en la base de reglas.
Si el antecedente de una regla está formado por más de un valor difuso, porque lo
constituye más de una función de membresía, el operador difuso (Φ) es aplicado para
obtener un valor que represente el resultado para los antecedentes de esa regla. Los
operadores difusos más utilizados son, el método “Y” ó el método “O”.[4]
Un sistema difuso puede tener varias reglas activadas simultáneamente. La conclusión
global debe ser calculada mediante la agregación de las soluciones parciales alimentadas
por cada regla. Considerando que cada una de las reglas es independiente de la otra,
razonablemente el operador de agregación es la unión , pero si sabemos que las reglas de la

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
42
Sistema adaptivo difuso capítulo 4

base de conocimiento tienen una relación muy estrecha, el operador de agregación debe ser
la intersección [4].
Cuando el operador intersección es el que se utiliza, el resultado de la inferencia difusa es
de la forma:
Si x1 es A1j y x2 es A2j y ..... y xn es Anj entonces “y” es Bj

Donde xi e yi corresponden a la señal de entrada y la salida respectivamente y Aij , Bij son


etiquetas lingüísticas interpretadas como conjuntos difusos por medio de sus funciones de
membresía µAj(xi) y µBj(y) definidos en el universo de discurso.
La etapa de defusificación se utiliza para obtener un resultado no difuso mediante diversos
métodos tal y como se explicó en el capítulo 3.
Una vez que se tiene el dato de salida en forma numérica (valor rígido), se realiza una
retroalimentación para llevar a cabo la adaptación del sistema.
El bloque de monitoreo obtiene el error entre la señal de entrada y la de salida, y puede
asumir diferentes formas para diferentes aplicaciones[1], para el caso de la entrada
etiquetada como información externa, esta puede ser considerada como la señal deseada a
la cual debe adaptarse el sistema ó información respecto a la variación de su ambiente.
La función de error es útil para aplicar el mecanismo de adaptación a través de algún
algoritmo inteligente (LMS, RLS, etc.), el cual actualiza la base del conocimiento actuando
sobre las variables del motor de inferencia (antecedentes ó consecuentes) de acuerdo a la
situación presente.

4.3. Diseño del procesador con estructura difusa


Paso 1.- Definir los conjuntos difusos mi en el espacio de entrada [Ci-,Ci+] del universo de
discusión “U” [6],[7] que son etiquetados como:

Aij (i=1,2,...,n ; j=1,2,...,m)

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
43
Sistema adaptivo difuso capítulo 4

Las mi funciones de membresía µAij cubren el intervalo [Ci-,Ci+] en el sentido que para cada
xi ∈ [Ci-,Ci+] existe al menos una µAij(xi) ≠ 0 lo que permite que la función no quede
indefinida. Esta definición de funciones se mantiene siempre fija.
Paso 2.- Se construye un conjunto de mi reglas difusas [6],[7] del tipo SI-ENTONCES de la
forma:
R(j1,...,jn) : Si xi es Aij1 y ... y xn es Anjn , Entonces y es B(j1,...,jn).

Paso 3.- Un paso fundamental en la aplicación de la lógica difusa es seleccionar


apropiadamente las funciones de membresía, mediante las cuales, la variable de entrada
difusa es mapeada en una variable de salida difusa por medio de reglas que describen la
relación entre estas variables [2],[5]. En este trabajo se obtienen los grados de membresía
mediante funciones de tipo triangular y funciones gaussianas utilizando las siguientes
ecuaciones.[8]:
⎛ ⎛ x−a c− x⎞ ⎞
Triangular ( x : a, b, c) = max⎜⎜ min⎜ • ⎟ ,0 ⎟⎟ (4.1)
⎝ ⎝b−a c−b⎠ ⎠

Gaussiana( x : σ , c) = e {−[( x −c ) / σ ] }
2
(4.2)

La función triangular permite obtener modelos más sencillos si se han de implementar en


VLSI puesto que es posible utilizar menor área de silicio. Si el modelo se implementa en
forma de algoritmo es posible aplicar funciones gaussianas, ya que proporciona una
transición suave entre funciones [4].
Para cada dato de entrada x1,x2,...,xn , se obtienen n datos en el eje “y” (según el número de
funciones de membresía que se apliquen). Con estos datos se obtiene la relación entre pares
ordenados del universo [ –1 y 1] de las Xn mediante la implicación difusa.

µ A→ B ( x, y ) = Φ[ µ A ( x), µ B ( y )] (4.3)

donde Φ puede ser cualquier operador de implicación y da lugar a una estrategia de


inferencia. El operador utilizado es la unión “y” correspondiente entre otras, al mínimo y al

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
44
Sistema adaptivo difuso capítulo 4

producto algebraico. Como resultado de esto, los tipos de inferencia aplicados pueden ser
inferencia max-min (máximo-mínimo), así como también la inferencia max-prod (máximo-
producto), usando la operación de composición.

Paso 4.- Finalmente se lleva a cabo la defusificación para producir una salida de acuerdo a
las necesidades de nuestro sistema difuso.
El modelo que resulta es el de la figura 4.3, el cual puede ser interpretado como la unión de
un prefiltro difuso y un combinador aditivo como el mostrado en la figura 2.7.
Este modelo es una propuesta aplicada por Wang/Mendel en un ecualizador para canales no
lineales en un proceso de transmisión digital de alta velocidad donde se produce una
distorsión intersímbolos [2],[6],[7]. Esta propuesta se adecua para que pueda operar con
señales audibles y que permita procesarlas para eliminar ruido ó distorsiones ocasionadas
por algún medio en particular.
Los pesos w1, w2, ... , wm del filtro difuso son los grados de veracidad de cada regla y
depende del grado de pertenencia de la señal de entrada.
Otro aspecto importante y útil en la conformación del filtro es entender que algunos pesos
tienen mayor grado de veracidad que otros, de tal forma que se asigna un mayor valor a este
peso w, en cambio otras reglas que lo son en menor escala tendrán un menor peso[9],[10],
estos valores se asignan al inicio y se irán modificando con el procedimiento de adaptación
[7], en el caso que se desconozcan, inicialmente se pueden asignar con valor unitario . El
combinador aditivo es equivalente a una combinación de reglas como parte de una
defusificación.[7].
Entonces la salida final del filtro adaptivo FAD es la suma pesada de las salidas del
prefiltrodifuso y los valores asociados con cada respectivo peso [1],[8] esto es:
n
f ( x) = ∑ f i wi (4.4)
i =1

donde fi es el valor de la iésima salida del prefiltro difuso y wi son los pesos del filtro.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
45
Sistema adaptivo difuso capítulo 4

Un método más complicado para el cálculo de la salida total es tomar el promedio pesado
de la salida asociada con cada respectivo peso w,[1],[8], esto es:
n
∑ f i wi
f ( x) = i =1n (4.5)
∑ wi
i =1

La figura 4.3 muestra el modelo de filtro obtenido mediante los pasos anteriormente
descritos

Figura 4.3 Modelo difuso propuesto

4.4. Implementación del FAD


A la estructura de la figura 4.3 le agregamos el bloque que permite actualizar los pesos a
través de un algoritmo de adaptación y el resultado es un filtro adaptivo difuso (FAD).
El procedimiento de adaptación permite obtener los valores óptimos de los pesos de
acuerdo a su aplicación. La estructura final para aplicarlo como predictor de señales
audibles y como eliminador de ruido e identificador de funciones no lineales es el que se
muestra en la figura 4.4, los resultados se obtinen mediante simulaciones con este filtro
adaptivo difuso (FAD) en el ambiente de programación Matlab®.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
46
Sistema adaptivo difuso capítulo 4

Figura. 4.4 Filtro adaptivo difuso (FAD)

La señal “ x” a la entrada del filtro es un archivo de sonido que contiene una secuencia de
datos, este corresponde a una señal audible y es obtenido mediante un muestreo que pueden
ser de 8khz, 11khz, 22 khz, ó hasta 40.1 khz según la calidad de la señal, así como de la
señal que se trate. Recordar que los sonidos cubren una gama de 20 Hz a 20 Khz y en el
caso específico de la señal de voz el intervalo de frecuencias es del orden de 250 Hz a 3500
Khz. Por lo que se eligen los muestreos que se requieran de acuerdo al tipo de señal
(Teorema de Nyquist) y cuyos valores de amplitud corresponden a un universo de discurso
[-1,1]. Por supuesto que al incrementar el muestreo el número de datos será mayor y
consecuentemente el proceso tardará más tiempo.
El filtro puede disponer de varias entradas de datos, aunque a mayor número de estos, el
grado de complejidad computacional es mayor. Para los resultados obtenidos en esta
investigación se utilizan dos entradas, una puede utilizar unidad de retardo ó las dos, según
se aplique, ya sea predictor o identificador de sistema. Estos datos x(n), x(n-1), . . . ,x(n-i),
son valores rígidos y se transforman en valores difusos mediante funciones de membresía
de algún tipo en particular distribuidas sobre el universo de discusión de manera uniforme y

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
47
Sistema adaptivo difuso capítulo 4

en número impar, es decir, utilizar tres, cinco, siete o más funciones[4]. Algunos autores
sugieren el traslape de aproximadamente 0.5 en las funciones triangulares, debido a que
puede disparar al menos dos funciones a la vez, además de que conviene que la suma de los
grados de membresía no exceda de 1. Si se considera la implementación en programa o
circuito conviene utilizar funciones triangulares o trapecio y si se desea obtener una salida
del sistema difuso más suave, es útil utilizar funciones diferenciables como las de tipo
gaussiano[4]. La figura 4.5 muestra la forma de fusificar una secuencia de datos x(n) con
los dos tipos de función que fueron utilizadas.

a)

b) c)
Figura 4.5 Fusificación: a) Secuencia de datos y su intersección con conjuntos difusos
b) y c) Cálculo del grado de membresía función triangular y gaussiana respectivamente

Los traslapes no necesariamente tienen que ser iguales, incluso las funciones de membresía
podrían ser diferentes, depende del conocimiento del proceso, del diseñador y de su
experiencia para resolver el problema.
Son tres los métodos para la definición de las funciones de membresía de los antecedentes
y de los consecuentes[5] que se utilizan para particionar las entradas y salidas (universos de
discurso) en un conjunto difuso.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
48
Sistema adaptivo difuso capítulo 4

1.- Categorización del prototipo, 2.- Grado de similitud 3.- Distancia como similaridad
Los tres métodos empleados suponen que el sistema bajo consideración tiene n entradas no
interactivas, es decir no hay dependencia una de otra, pero los valores numéricos de estas
variables prototipos y la correspondiente función de membresía de estas variables prototipo
representadas no son claras para nosotros. Estos valores son altamente subjetivos e
intuitivos para el humano, ni siquiera el experto conoce los valores exactos[5].
Pero existen algunos métodos intuitivos asignados a valores lingüísticos que pueden ser
descritos por medio de dos diferentes situaciones.
1) Donde son conocidos los límites de las entradas y salidas de alguna manera. En este caso
el intervalo es dividido en iguales porciones y la parte media es tomada como el punto
prototipo de la partición.
Basado en esto la funciones triangulares o de otro tipo pueden ser definidas en las variables
de cada intervalo de las entradas y salidas en tantas funciones como sea necesario[5].
2) Es posible preguntar al observador de un sistema no lineal, que nos de los puntos típicos
e intervalos que correctamente representan el conocimiento del sistema de forma
lingüística. Y este procedimiento similar puede ser usado para derivar una clase de
funciones de membresía de cada variable. Por ejemplo, el humano crea particiones que son
singletons (conjuntos difusos con un solo elemento), p1,p2,..etc. o valores rígidos
(intervalos) de acuerdo al conocimiento del sistema. Las particiones p1,p2.. etc. toman los
valores lingüísticos y términos que el humano ha usado para la designación de los
prototipos o han sido usados por él de forma natural en proposiciones que constituyen
reglas si-entonces y después estos valores son fusificados [5].
Después de este bloque los valores que obtenemos son valores difusos y al menos uno de
ellos es diferente de cero. Estos valores son los antecedentes de las reglas difusas. Estos
valores pueden ser derivados de los conjuntos definidos según las variables lingüísticas de
la figura 4.5 ó directamente los grados de pertenencia que le corresponde en el rango [0,1]
como sucede, en el diseño que se propone.
El siguiente bloque nos proporcionará el conjunto de reglas que determinarán los
consecuentes del motor de inferencias, cada consecuente proporcionará un grado de

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
49
Sistema adaptivo difuso capítulo 4

colaboración para obtener una salida que sea parecida a la señal deseada, por lo tanto le
asignaremos un peso, cuyo valor definirá su contribución a la formación del valor más
cercano al deseado.
El número de reglas quedará definido por el número de funciones de membresía que
contenga cada bloque fusificador. Aquí utilizamos dos bloques de entrada, aunque hemos
aclarado que se pueden utilizar más bloques, así, sí cada uno de estos bloques cuenta con
tres funciones de membresía , el total de reglas será de 9. Si el conjunto de funciones es de
5 entonces el total de reglas será de 25 , lo anterior define una operación del tipo n2.
Lo anterior queda entendido si vemos que el máximo número de reglas esta dado por:
l = k1 k2 k3 … kn
donde l: es el número máximo de reglas
k: es el número de particiones en cada universo de discurso
n: es el número de universos que se contemplan en el sistema.
Las reglas de control difusas son declarativas y no secuenciales, lo que significa que el
orden en que se expresan no es importante.
La forma de ilustrar gráficamente el número máximo de reglas que constituye la base de
conocimiento de un sistema difuso, es a través de una FAM (memoria asociativa difusa).
Para sistemas con dos entradas y una salida es aceptado el siguiente formato de matriz. Esta
representación permite una rápida y simple verificación de las propiedades de la base de
reglas. La figura 4.6 se observa la FAM que se obtiene del sistema difuso para dos valores
de entrada y cinco funciones de membresía en su universo de discurso.

Figura 4.6 FAM del sistema difuso

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
50
Sistema adaptivo difuso capítulo 4

Las reglas forman la base de conocimiento y cada una da como resultado un grado de
pertenencia o grado de activación, y debido a que los datos de entrada activan más de un
conjunto difuso se utiliza el operador de implicación “y”.
Si observamos el ejemplo de la figura 4.5, el valor rígido de entrada de x1(4) de la función
triangular, corresponde a la variable lingüística P y tiene un grado de pertenencia de 0.75 y
para la variable CE de 0.25. Al asignar cada variable a la región con el máximo grado de
pertenencia, entonces x1(4) es considerado P. Si es el mismo caso para el universo de x2,
el formato de la regla sería de la forma:

Si x1 es P y x2 es P entonces “y” es B1

Donde B1 es el valor difuso de salida.


Esta regla se vería en una matriz (FAM) como se observa en la figura 4.6. La matriz tiene
25 posibles valores de salida. Esta conclusión final debe ser obtenida por medio de la
agregación de todas las reglas activadas.
La defusificación no es necesaria en este diseño como ya se comento anteriormente, porque
se utiliza el concepto de grado de activación de la regla y su asignación de veracidad se
relacionan con la salida, es decir cada una de las reglas al ser activada y obtener su valor
mediante la operación del mínimo o producto difuso se obtiene un grado de verdad y se le
asigna un peso que varía del valor 0 a 1, esto significa que si la regla no es activada la
salida neta no forma parte de este conjunto o función de membresía y su grado de verdad es
cero.
Por el contrario si el grado de activación de la regla es muy alto entonces el grado de
veracidad de que el valor de salida sea muy parecido a este es muy cercano y se asigna un
valor 1 ó cercano a 1.
La salida neta entonces forma parte de los valores que tienen mayor grado de pertenencia
respecto a la función de membresía de los universos de entrada.
De acuerdo con este concepto, otros investigadores han desarrollado propuestas para
funcionar como controladores tal como se observa en el esquema de la figura 4.7 [10].

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
51
Sistema adaptivo difuso capítulo 4

Figura 4.7 Controlador difuso.

De la misma manera se puede tomar el concepto de una neurona difusa y esta puede
modelarse como una unidad de procesamiento que recibe señales difusas de entrada a
través de una sinapsis borrosa, siendo la entrada el producto difuso de la salida de la
neurona anterior por el peso difuso de la conexión. La salida neta de la neurona se obtiene
como la suma difusa de las entradas a la neurona [11], figura 4.8.
N
y t = max ( min( wi1 , s j ), min( wi 2 , s 2 ), K , min( wiN , s N ))
j =1

Figura 4.8 Neurona difusa

Cuando las variaciones de la señal de entrada son muy variables como lo es una señal de
audio (las simulaciones se llevan a cabo con señales de voz y sonidos audibles) la potencia
de la señal no es uniforme, esto provoca que la utilización de un algoritmo LMS para la

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
52
Sistema adaptivo difuso capítulo 4

minimización del error en un filtro adaptivo no pueda converger correctamente. Por lo tanto
se hace necesario la aplicación de un algoritmo capaz de mostrar robustez ante variaciones
de esta naturaleza y como consecuencia se utiliza en esta estructura un algoritmo del tipo
NLMS( algoritmo LMS normalizado).

4.5. El FAD como predictor


La predicción adaptiva en series de tiempo son aplicaciones donde el sistema difuso tiene
que ajustar su conocimiento base para predecir la salida provista en la entrada del sistema
adaptivo. De acuerdo a las configuraciones vistas en el capítulo 2, el bloque del sistema
adaptivo difuso aplicado como predictor es el de la figura 4.9 donde se observa que una
línea de retardo de dos bloques es usada para proveer una historia de la operación dinámica
de las series x(t-1) y x(t-2) [4].

Figura 4.9 Aplicación del FAD como predictor

El objetivo de esta tarea es usar los valores pasados de la señal de entrada para predecir el
valor en algún punto del futuro, el número de funciones de membresía son 5, distribuidas
uniformemente sobre el universo de discurso. La señal de prueba es una señal cuadrada y
una señal senoidal, los cambios entre cada uno de los valores sucesivos de estas señales son
diferentes, en el caso de la señal senoidal el cambio de valores es suave, a diferencia del
caso de la señal cuadrada que tiene cambios abruptos en determinados puntos. Esto con la

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
53
Sistema adaptivo difuso capítulo 4

finalidad de notar la eficiencia entre dos tipos de función de membresía. Para determinar la
eficiencia del filtro adaptivo se muestran dentro de los resultados el espectro de las señales
con la finalidad de observar la diferencia de aproximación.
Los resultados obtenidos son mostrados en la figura 10 y 11.

(a) (b)

(c) (d)
Figura 4.10 Señal aproximada: (a) y (b) 5 funciones triangulares, (c) y (d) 5 funciones gaussianas.

a) b)
Figura 4.11 Aproximación: a) barrido de frecuencias b) una señal audible

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
54
Sistema adaptivo difuso capítulo 4

4.6. El FAD como identificador de sistema


En esta aplicación, el FAD es empleado como un bloque dinámico de identificación que
reproduce el comportamiento de una planta[4]. Esta configuración ha sido simulada con
reglas cuyos antecedentes son representados por funciones de membresía triangular
normalizada cubriendo uniformemente el espacio de entrada, así como también funciones
de membresía gaussiana. Para simular la planta se han utilizado diferentes ecuaciones de
diferencia por ejemplo n2(k) = 4*sin(n1(k))*n1(k-1)/(1+n1(k-1)^2) [9], que es una función
no lineal, tal como se observa en la figura 4.14 y que serán las que tendrán que ser
identificadas por medio del FAD y una configuración de filtro transversal FIR para
observar las diferencias entre ambos métodos. La estructura vista en el capítulo 2 como
identificador de sistema, es el que se muestra en la figura 4.12. En esta configuración se
utiliza como señal de prueba un pulso cuadrado.

Figura 4.12 Aplicación como identificador de sistema

Se llevan a cabo comparaciones con un filtro transversal clásico como es el filtro adaptivo
FIR, tomando en cuenta que es un modelo que se utiliza para la adaptación de un gran
número de filtros, su estructura es la que se observa en la figura numero 4.13.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
55
Sistema adaptivo difuso capítulo 4

Figura 4.13 Filtro adaptivo FIR de prueba para comparación

Figura 4.14 Función no lineal de prueba en el bloque H(S) planta.

Los resultados son los que se muestran en la figura 4.15 y 4.16, en esta gráfica se observa
en la parte superior, la señal que se obtiene después de pasar por el bloque no lineal, a esta
señal la llamamos señal deseada, en la gráfica de la figura 4.15 se observa la salida que
aproxima el FAD y en la figura 4.16 la aproximación del filtro FIR, las últimas dos gráficas
de cada figura corresponden al espectro de frecuencia para ambas salidas, mismas que
sirven para poder comparar el grado de aproximación entre ellas.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
56
Sistema adaptivo difuso capítulo 4

Figura 4.15 Resultados obtenidos con FAD(funciones de membresía triangulares) en una señal cuadrada
distorsionada mediante un bloque no lineal

Figura 4.16 Resultados obtenidos con FIR en una señal cuadrada con bloque no lineal

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
57
Sistema adaptivo difuso capítulo 4

Esta configuración también resulta útil para suprimir ruido. Si nos referimos a la figura 4.12
veremos que tiene un punto donde es posible agregar ruido aleatorio, para esta simulación
se utilizaron señales audibles (voz, ruidos diversos) , Las pruebas se realizaron sin aplicar el
bloque no lineal ó aplicando una función muy simple como por ejemplo (sen2 x o una sola
exponencial). El ruido agregado máximo en las simulaciones es de 70% respecto de la
señal.
Los resultados son vistos en la figura 4.17 y 4.18

Figura 4.17. Resultados para señal de voz y ruido con FAD de 5 funciones de membresía gaussianas

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
58
Sistema adaptivo difuso capítulo 4

Figura 4.18. Resultados para señal de voz con ruido con FAD de 5 funciones de membresía triangulares

Figura 4.19. Resultados para señal de voz con ruido de un filtro FIR

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
59
Sistema adaptivo difuso capítulo 4

Si en la anterior simulación hacemos un traslape entre la señal deseada y la señal


aproximada por el FAD obtenemos los siguientes resultados de la figura 4.17.

Figura 4.20 Error entre señal deseada y estimada.


Para analizar las características del FAD y el filtro FIR se obtienen las gráficas del MSE
para ambos algoritmos.

Figura 4.21. Grafica MSE del FAD con diferentes valores de alfa

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
60
Sistema adaptivo difuso capítulo 4

Figura 4.22. Grafica MSE del filtro FIR con diferentes valores de alfa

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
61
Sistema adaptivo difuso capítulo 4

4.6. Referencias
[1] Jyh_Shing Roger Jang. Chuen-Tsai Sun, “Neuro–Fuzzy Modeling and Control”.
Proceedings of the IEEE. Vol.83.No. 3, Marzo 1995.
[2] Jerry M Mendel. “Fuzzy Logic Systems for Engineering: A Tutorial”. Proceedings of
the IEEE, vol.83.no.3.march 1995.
[3] Li-Xin Wang, “ A Course in Fuzzy Systems and Control” Ed. Prentice Hall 1997.
[4] I. Baturone, A. Barriga, S. Sánchez-Solano, C. J. Jiménez-Fernández, D. R. López
“Microelectronic Design of Fuzzy Logic –Based Systems” .
[5] Timothy J. Ross, “Fuzzy Logic with Engineering Applications”. Ed. Mc Graw-Hill.
[6] Li-Xin Wang,Jerry M.Mendel, “Fuzzy Adaptive Filters, with Aplication to Nonlinear
Channel Equalization”, IEE Transactionson fuzzy systems, Vol.1 No.3 pp 161-168,1993.
[7] Jerry m. Mendel, “Uncertain Rule-Based Fuzzy Logic Systems: Introduction and New
Directions”, Ed. Prentice Hall 2001.
[8] Jyh-Shing Roger Jang, Chuen-Tsai Sun, Eiji Mizutani, “Neuro-Fuzzy and Soft
Computing”, A Computacional Aprproach to Learning and Machina Intelligence, Ed.
Prentice Hall 1997.
[9] José Ambrosio Bastián, “Algoritmo Neurodifuso para Ecualización de Canales” tesis
para obtener el grado de Maestro en Ciencias.Agosto 2001.
[10] Abraham Kandel,Gideon Langholz “Fuzzy hardware” Ed. Kluwer Academic
Publishers 1998.
[11] JR Hilera,VJ Martínez,”Redes Neuronales Artificiales” Ed. Alfaomega-Rama.2000.
[12] Manual de la caja de herramientas Fuzzy de Matlab.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
62
Conclusiones

La aplicación de principios basados en lógica difusa, permiten implementar técnicas para


que a partir de una estructura semejante a un filtro transversal se desarrolle un filtro con
estructura de lógica difusa de baja complejidad que resulta útil cuando se aplica como
predictor e identificador de sistemas no lineales de una información audible, tal como se
propone en los objetivos.
La comparación entre un filtro clásico FIR y el filtro propuesto con estructura de lógica
difusa (FAD) nos permite visualizar la eficiencia de estos, dado que con un número mínimo
de bloques de retardo se obtiene el proceso requerido sin necesidad de aumentar la
complejidad computacional.
En esta propuesta se tienen las funciones de membresía de los antecedente fijos y se han
ajustado mediante el método de prueba y error. Pero a partir de los resultados y
simulaciones en Matlab®, se concluye que efectivamente, conviene que las funciones sean
distribuidas uniformemente y los resultados con mayor aproximación surgen cuando el
traslape está en el intervalo de 0.5 entre una función y otra, esto en el caso de aplicar
funciones triangulares. Estas características ofrecen una mejor respuesta cuando las señales
tienen cambios abruptos, siendo el extremo una señal de onda cuadrada, sin embargo
también puede ser aplicada a señales de voz o sonidos diversos como por ejemplo música.
El caso de las funciones gaussianas de la misma manera deben estar distribuidas
uniformemente y su traslape no mayor a 0.5, lo que ofrece una mejor garantía para las
señales de tipo senoidal, es decir la mayoría de los tipos de sonidos generados
naturalmente, esto se puede concluir como resultado de la transición más suave de éste tipo
de función. Sin embargo se sugiere que, si la implementación del algoritmo es en VLSI
conviene utilizar las funciones de membrsía tipo triangular o trapezoidales.
El número de funciones es un factor determinante y es funcional a partir de tres, aunque un
número con mayor eficiencia es cinco funciones sin aumento excesivo de la complejidad

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
63
Conclusiones

computacional. Cuando se ha trabajado con un número mayor a cinco funciones, la


diferencia no ha sido tan notable y su costo computacional es mayor, en el caso de las
señales de prueba aplicadas en esta investigación.
Las gráficas correspondientes al espectro de frecuencia permiten observar el grado de
aproximación de las señales, sobre todo cuando se ha incluido ruido en la señal de prueba.
Las gráficas de MSE también permiten ver una ventaja respecto al filtrado tradicional.
Otro de los factores importantes, es el caso del factor de convergencia en el algoritmo
propuesto, y se ha observado que para señales de tipo senoidal debe estar cercano al valor
de 0.1 en su mejor desempeño, a diferencia de señales con cambios abruptos que requiere
de un valor cercano a 1. Las gráficas mostradas referidas al MSE son obtenidas del sistema
predictor.
El concepto de grado de veracidad del antecedente es una ventaja que se ha utilizado en la
solución de problemas de ingeniería y que resulta de considerar pesos a las reglas activadas,
como reportan algunos investigadores que han propuesto estas aplicaciones con lógica
difusa, como es el caso de J. Mendel ó los desarrollos de F.Vidal, M.Delgadillo, R.Navas,
A.Rodríguez. Este concepto permite llevar a cabo un tipo de defusificación de acuerdo a las
necesidades, y que en algunos casos puede ser normalizada, mismo que ayuda a solucionar
problemas en la realización de los algoritmos en VLSI, dado que involucra una operación
algebraica que ocupa mayor área de silicio como lo es la división.
El otro concepto que permite llevar a cabo esta acción es la consideración de la neurona
difusa modelada como unidad de procesamiento.
El filtro desarrollado establece para la adaptación del sistema el algoritmo NLMS, el cual
es garantía de funcionalidad que aunque lento en la búsqueda del error mínimo es un
algoritmo a toda prueba en una gran cantidad de investigaciones.
Por lo tanto de acuerdo a los resultados anteriormente mencionados el algoritmo propuesto
tiene características de funcionalidad que lo hacen viable en la utilización de filtrado
adaptivo para la predicción de señales audibles e identificador de sistemas no lineales.
El trabajo a futuro posible a seguir es la implementación en VLSI ó FPGA para probar su
eficiencia en condiciones reales.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
64
Conclusiones

También resulta conveniente observar el aumento de la complejidad computacional si los


antecedentes son adaptables en lugar de los consecuentes de las reglas difusas, ó en el
mejor de los casos , la adaptación de ambos, esto para lograr una mayor eficiencia en su
desempeño.
De la misma manera, resulta interesante implementar el filtro adaptivo con sistemas difusos
del tipo-2 para observar su mejoría.
En el trabajo a futuro destaca el llevar a cabo comparaciones con el filtro tipo IIR buscando
un modelo que reúna las condiciones de estabilidad, así como la adaptación de sistemas no
lineales.

MAESTRÍA EN CIENCIAS DE INGENIERÍA


EN MICROELECTRÓNICA
65
APÉNDICE A
PROGRAMAS PARA SIMULACIÓN FILTRO ADAPTIVO DIFUSO

A.1 Programa para llevar a cabo la simulación del algoritmo de un filtro aplicando lógica
difusa en un canal no lineal para señales audibles.
Con posibilidad de cambiar el número de funciones gaussianas, sus centros y el ancho de la
misma, dentro del cuerpo del programa se aplica adición de ruido y una función no lineal.

% INSTITUTO POLITECNICO NACIONAL


% SEPI ESIME U.C.
% PROGRAMADOR: FLAVIO MANCERA OLIVARES
% NOMBRE PROGRAMA: Dif_5gausvozruido.m
%DESCRIPCIÓN:Algoritmpo con 5 funciones Gaussianas, Señales de prueba audibles,
%Bloque con función no lineal y ruido blanco Gaussiano aditivo,
%Inferencia minímo o producto.
%**************************************************************************
clc
clear
%---------------------SEÑALES DE PRUEBA------------------------------------
%SEÑAL CUADRADA
%nn=1; for a=1:600 ;for b=nn:nn+25;xx(b)=0.9;xx(b+25)=-0.9;end;nn=b+25;end;ynn=xx/3;yn=ynn';
%[yn,fr]=wavread('c:\campanas.wav'); %SONIDO DE CAMPANAS
[yn,fr]=wavread('c:\Mexico2_11.wav'); %SONIDO DE PALABRA MEXICO A 11.KHZ
%[yn,fr]=wavread('c:\cuadrado1000.wav'); %ONDA CUADRADA DE 1000 HZ
%[yn,fr]=wavread('c:\tono1000.wav'); %TONO DE 400 HZ.
%time = (0:0.001:80)';yn = (sin(40./(time+0.01)))/2;yn=yn';%BARRIDO DE FRECUENCIA
%-------------------- GENERACION DE RUIDO ---------------------------------
xn=AWGN(yn,10,'measured'); %Ruido blanco Gaussiano aditivo
%------------- VARIABLES DE LAS FUNCIONES DE MEMBRESIA --------------------
a=0.30;
c1=-0.65; %C: Centros de la función
c2=-0.35;
c3=0;
c4=0.35;
c5=0.65;
alfa=0.091;
N2=10;
Z2=zeros(N2,1); %linea de retardo del sistema no conocido
A=zeros(N2,1); %vector de coeficientes
N=25; %orden del filtro
W=zeros(25,1); %coeficientes
Y=zeros(25,1); %Linea de retardo

66
Programas Apéndice A

x1=zeros(1,5);
x2=zeros(1,5);
%-----------------------------SIMULACION-----------------------------------
Num_iter=90; %Numero de iteraciones por bloque
Num_block=90; %Numero total de bloques
kin=10; %contador
fn=yn;
for i=1:Num_block
S=0;
me=0;
for j=1:Num_iter
kin=kin+1;
Z2(1)=yn(kin);
%- - - - - - - - - - -bloque con funcion no lineal- - - - - - - - - - - - -
Z2(1)=Z2(1)+xn(kin); %adición ruido

%fn(kin)=Z2(1);%*(sin(yn(kin+2)))*exp(-yn(kin))-0.05;
y1(kin)=yn(kin);
yd(kin)=yn(kin)+xn(kin);
%*****ADAPTIVO******
%------------------- OBTENCIÓN DEL GRADO DE PERTENENCIA-----------------
x1(1,1)=exp(-((fn(kin)-c1)/a)^2);
x1(1,2)=exp(-((fn(kin)-c2)/a)^2);
x1(1,2)=exp(-((fn(kin)-c2)/a)^2);
x1(1,3)=exp(-((fn(kin)-c3)/a)^2);
x1(1,3)=exp(-((fn(kin)-c3)/a)^2);
x1(1,4)=exp(-((fn(kin)-c4)/a)^2);
x1(1,4)=exp(-((fn(kin)-c4)/a)^2);
x1(1,5)=exp(-((fn(kin)-c5)/a)^2);

%------------------------------BLOQUE DIFUSO-----------------------------
%SE OBTIENE EL MINIMO DE LOS VECTORES(PRODUCTO CARTESIANO DIFUSO)
%for m=1:5, for k=1:5, z(m,k)=min(x1(1,m),x2(1,k));,end,end,p=z;
%SE OBTIENE A TRAVES DEL PRODUCTO
p=x2(1,1:5)'*x1(1,1:5);
p1=[p(1,1:5),p(2,1:5),p(3,1:5),p(4,1:5),p(5,1:5)];%ordenacion en vector
y0(kin)=(p1*W); %sumatoria del producto

error=yd(kin)-y0(kin); %Calculo del error


error1(kin)=error;
me=me+error^2; %potencia error
S=S+fn(kin)^2; %potencia señal
%-----------------------------ADAPTACIÓN-------------------------------
[W]=nlms(N,alfa,error,Y,W);
WA(kin)=W(3,1); %Para monitorear la variación de un peso
Y=p1';
x2(1,1:5)=x1(1,1:5); % paso del dato de x1 a x2
end
MSE(i)=10*log10(me/S); %MSE

error2(i)=error;
SR(i)=(S/me); %Relación señal a ruido lineal
end

67
Programas Apéndice A

snr=10*log10(sum(SR)/Num_block) %relación S/R logaritmica

h=1:Num_block;

%------------ESPECTRO DE FRECUENCIAS DE LAS SEÑALES EN HZ.-----------------


k=1:2000;
hertz=k*(6.5536/2);
%-------------------NUMERO DE MUESTRAS QUE SE DESPLEGAN--------------------
figure(1);
yn2=y0(2:6000);
yn4=yd(1:5999);
yn1=fn(2:6000);
%--------------------VISUALIZACIÓN DE LAS SEÑALES--------------------------
subplot(5,1,1),plot(yn4);title('Señal ruidosa');
subplot(5,1,2),plot(yn1);title('Señal original');
subplot(5,1,3),plot(yn2);title('Señal estimada');

%------------------PARA OBSERVAR EL RANGO DE FRECUENCIAS-------------------


a2=abs(fft(y1));
subplot(5,1,4),plot(hertz(1:1200),a2(1:1200));title('Señal estimada');
b2=abs(fft(y0));
subplot(5,1,5),plot(hertz(1:1200),b2(1:1200));title('Señal original');

%figure(3);
%plot(WA);

%figure;plot(yn1,'r');grid on;hold on;plot(yn2,'g');c=(yn1)-(yn2);plot(c,'b');


%----------------------GUARDAR ARCHIVOZ DE VOZ ----------------------------
%wavwrite(y0,11025,'c:\MexicoRes_11.wav');
%wavwrite(yd,11025,'c:\MexicoRui_11.wav');

%figure();plot(yn4,'r');grid on;hold on;plot(yn2,'g');c=(yn4)-(yn2);


%plot(c,'b') %Sobreponer señales

68
Programas Apéndice A

A.2 Algoritmo para realizar la simulación de la de lógica difusa para filtrado adaptivo
con funciones triangulares.
Con posibilidad de cambiar el número, centro y ancho de la función para observar su
desempeño frente a señales audibles con agregado de ruido y un bloque con una función no
lineal.

% INSTITUTO POLITECNICO NACIONAL


% SEPI ESIME U.C.
% PROGRAMADOR: FLAVIO MANCERA OLIVARES
% NOMBRE PROGRAMA: Dif_5trianvozruido_nol
%DESCRIPCIÓN:Algoritmo co 5 funciones triangulaares, Señales de prueba
%audibles con muestreo de 11 Khz en voz, Bloque no lineal y Ruido blanco
%Gaussiano aditivo,la función de membresía se obtiene de la ec. de la recta
%**************************************************************************
clc;
clear;
%-------------------------SEÑALES DE PRUEBA--------------------------------
%SEÑAL CUADRADA
%nn=1; for a=1:600 ;for b=nn:nn+25;xx(b)=0.9;xx(b+25)=-0.9;end;nn=b+25;end;ynn=xx/3;yn=ynn';
[yn,fr]=wavread('c:\campanas.wav'); %SONIDO DE CAMPANAS
%[yn,fr]=wavread('c:\Mexico2_11.wav'); %SONIDO DE PALABRA MEXICO A 11.KHZ
%[yn,fr]=wavread('c:\cuadrado1000.wav'); %ONDA CUADRADA DE 1000 HZ
%[yn,fr]=wavread('c:\tono400.wav'); %TONO DE 400 HZ.
%N=20000;T=1/16384;k=1:N-1;x=cos(2*pi*500*T*k);yn=x/1.5;% SEÑAL SENOIDAL
%time = (0:0.001:80)';yn = (sin(40./(time+0.01)))/2;yn=yn';%BARRIDO DE FRECUENCIA
%------------------------GENERACIÓN DE RUIDO-------------------------------
for kin=1:10000
xn(kin)=2.0*(rand(1)-0.5)/10;
end
%------------------------------VARIABLES-----------------------------------
alfa=0.05;
N2=10;
Z2=zeros(N2,1); %linea de retardo del sistema no conocido
A=zeros(N2,1); %vector de coeficientes
n=0;
N=9; %orden del filtro
W=zeros(25,1); %coeficientes
Y=zeros(25,1); %Linea de retardo
x1=zeros(1,5);
x2=zeros(1,5);
%-----------------------------SIMULACION-----------------------------------
Num_iter=80; %Numero de iteraciones por bloque
Num_block=80; %Numero total de bloques
kin=0;
fn=yn;
for i=1:Num_block
for j=1:Num_iter
kin=kin+1;

69
Programas Apéndice A

Z2(1)=yn(kin);
%-------------bloque con funcion no lineal --------------------------------
Z2(1)=Z2(1);%+xn(kin)/10;
yd(kin)=Z2(1)*(sin(yn(kin)))*(sin(yn(kin)));%exp(-yn(kin));
y1(kin)=yn(kin);
%*****adaptivo*****
%------------------OBTENCIÓN DEL GRADO DE PERTENENCIA-------------------
x=fn(kin);
if x<=(-0.5)
x1(1,1)=-2*x-1;
x1(1,2)=2*x+2;
else if x<=(0)
x1(1,2)=-2*x;
x1(1,3)=2*x+1;
else if x<=0.5
x1(1,3)=-2*x+1;
x1(1,4)=2*x;
else if x<=1
x1(1,4)=-2*x+2;
x1(1,5)=2*x-1;
end,end,end,end
%---------------------------BLOQUE DIFUSO--------------------------------
%SE OBTIENE EL MINIMO DE LOS VECTORES(PRODUCTO CARTESIANO DIFUSO)
%for m=1:5, for k=1:5, z(m,k)=min(x1(1,m),x2(1,k));,end,end,p=z;
%SE OBTIENE A TRAVES DEL PRODUCTO
p=x2(1,1:5)'*x1(1,1:5);
p1=[p(1,1:5),p(2,1:5),p(3,1:5),p(4,1:5),p(5,1:5)];%ordenacion en vector
y0(kin)=(p1*W); %sumatoria del producto
%Calculo del error
error=yd(kin)-y0(kin);
error1(kin)=error;
%---------------------------ADAPTACIÓN-----------------------------------
[W]=nlms(N,alfa,error,Y,W);
WA(kin)=W(3,1);
Y=p1';
x2(1,1:5)=x1(1,1:5);% paso del dato de x1 a x2
end
end
%-----------------ESPECTRO DE FRECUENCIAS DE LAS SEÑALES-------------------
k=1:1200;
hertz=k*(6.5536*4);
%------------------ NUMERO DE MUESTRAS QUE SE DESPLEGAN--------------------
figure(2);
yn2=y0(1000:2000);
yn=yn(1:1000);
%---------------------VISUALIZACIÓN DE LAS SEÑALES-------------------------
subplot(5,1,1),plot(yn);title('Señal original');
subplot(5,1,2),plot(yn2);title('Sal. bloque difuso');
yn1=yd(1000:2000);
subplot(5,1,3),plot(yn1);title('Deseada');
a2=abs(fft(y0));
%------------------PARA OBSERVAR EL RANGO DE FRECUENCIAS-------------------
subplot(5,1,4),plot(hertz(1:800),a2(1:800));title('Sal.bloque difuso');
b2=abs(fft(yd));

70
Programas Apéndice A

subplot(5,1,5),plot(hertz(1:800),b2(1:800));title('Deseada');
xd2=yd*10;
x02=y0*15;
figure(3);
plot(WA);
%figure(1);plot(error1);
%---------------------PARA VER DIFERENCIAS DE SEÑAL------------------------
figure
plot(yn1,'r')
grid on;
hold on
plot(yn2,'g')
c=(yn1)-(yn2);
plot(c,'b')

A.3 Algoritmo para realizar la simulación con un filtro transversal FIR, de señal audible
y un bloque no lineal.

% INSTITUTO POLITECNICO NACIONAL


% SEPI ESIME U.C.
% PROGRAMADOR: FLAVIO MANCERA OLIVARES
% NOMBRE PROGRAMA: Nuevo_fir_nolineal10bloques.m
%DESCRIPCIÓN:10 bloques de retardo, aproximación de una señal con bloque
% no lineal; Señales audibles y ruido blanco Gaussiano aditivo
%**************************************************************************
clc;
clear ;
%-------------------SEÑALES DE PRUEBA--------------------------------------
%[yn,fr]=wavread('c:\campanas.wav');
%[yn,fr]=wavread('c:\Mexico.wav');
[yn,fr]=wavread('c:\Mexico2_11.wav'); %SONIDO DE PALABRA MEXICO A 11.KHZ
%señal cuadrada
%nn=1;for a=1:300;for b=nn:nn+25;xx(b)=0.9;xx(b+25)=-0.9;end;nn=b+25;end;yn=xx;
%señal senoidal
%N=10000;T=1/10500;k=1:N-1;x=cos(2*pi*1000*T*k);yn=x/3;
%[yn,fr]=wavread('c:\tono400.wav'); %TONO DE 400 HZ.
alfa=0.1;
%-------------------- GENERACION DE RUIDO ---------------------------------
xn=AWGN(yn,10,'measured'); %Ruido blanco Gaussiano
%---------------------BLOQUE DE LA FUNCIÓN NO LINEAL-----------------------
N2=10;
Z=zeros(N2,1); %linea de retardo del sistema no conocido
A=zeros(N2,1); %vector de coeficientes
%vector de coeficientes del sistema no conocido

% -----------Inicialización del Filtro FIR---------------------------


N=10; %orden del filtro
W=zeros(N,1); %coeficientes
Y=zeros(N,1); %Linea de retardo

%------------------------------SIMULACION----------------------------------

71
Programas Apéndice A

Num_iter=130; %Numero de iteraciones por bloque


Num_block=80; %Numero total de bloques
add=1.0; %relación señal a ruido
kin=1;
for i=1:Num_block
pot_sig=0.0;
pot_err=0.0;
pot_noise=0.0;
for j=1:Num_iter
kin=kin+1;
x=yn(kin);

%xn=2.0*(rand(1)-0.5)/add;
for ki=N2:-1:2
Z(ki)=Z(ki-1); %recorrer linea de retardo
end
Z(1)=x;
y1=x;
%yd=y1;
yd(kin)=yn(kin)+xn(kin);
xr(kin)=yn(kin)+xn(kin);
xrr(kin)=xn(kin);
%yd(kin)=y1+(4.*cos(x2).*(x)./(1+x.^2))./25;

%------------------------- FIR adaptivo------------------------------------


[y0(kin),Y]=fir_out(N,xn(kin),Z,W);
%-----------------------Calculo del error----------------------------------
error=yd(kin)-y0(kin);
E(kin)=error;
sig(kin)=yn(kin);
%----------------------------Adaptación------------------------------------
[W]=nlms(N,alfa,error,Y,W);
%-----------------------------Potencias------------------------------------
pot_sig=pot_sig+(y1*y1);
pot_err=pot_err+((y1-y0(kin))*(y1-y0(kin)));
pot_noise=pot_noise+(xn(kin)^2);
end
error(i)=error;
MSE(i)=10.0*LOG10(pot_err/pot_sig);
%PX(i)=10.0*LOG10(pot_sig/Num_iter);
PX(i)=pot_sig/Num_iter;
%PXN(i)=10.0*LOG10(pot_noise/Num_iter);
PXN(i)=pot_noise/Num_iter;
SR(i)=(PX(i)/PXN(i));
end
sr=sum(SR)/length(SR);
nr=10*log10(sr);
%--------------VISUALIZACIÓN,GRÁFICAS Y ESPECTROS--------------------------
k=1:2000;
%k=1:1000
hertz=k*(6.5536/2);
%hertz=k*(10240);
%figure(1);plot(PX);%title('pot señal');hold on,

72
Programas Apéndice A

figure(2);
yn4=yn(1:5999);
yn2=y0(2:6000);
yn1=yd(2:6000);
subplot(5,1,2),plot(yn4);title('Señal original');
subplot(5,1,3),plot(yn2);title('Señal estimada');
subplot(5,1,1),plot(yn1);title('Señal ruidosa');
a2=abs(fft(y0));
subplot(5,1,4),plot(hertz(1:1200),a2(1:1200));title('Espectro de frec. señal estimada');

b2=abs(fft(yn4));
subplot(5,1,5),plot(hertz(1:1200),b2(1:1200));title('Espectro de frec. señal original');
%figure(3);plot(PXN);title('Pot Ruido');
figure(5);plot(MSE);title('MSE');
%figure(6);
%plot(xr);
%figure;plot(yn1,'r');grid on;hold on;plot(yn2,'g');c=(yn1)-(yn2);plot(c,'b')
%figure(7),plot(MSE,'r')
%hold on

%------------------GUARDAR ARCHIVOS DE VOZ-----------------------


%wavwrite(y0,11025,'c:\MexicoRes_11.wav');
%wavwrite(yd,11025,'c:\MexicoRui_11.wav');

A.4 Algoritmo para realizar la simulación de una aproximación de señal y un bloque no


lineal, Filtro Adaptivo Difuso

% INSTITUTO POLITECNICO NACIONAL


% SEPI ESIME U.C.
% PROGRAMADOR: FLAVIO MANCERA OLIVARES
% NOMBRE PROGRAMA: Nuevo_dif_nolineal2bloques.m
%DESCRIPCIÓN:Aproximación de una señal con 3 FUNCIONES TRIANGULARES Función
%no lineal,la membresía se obtiene de la ec. de la recta,cruce en 0.5
%**************************************************************************
clc;
clear;
%----------------SEÑALES DE PRUEBA-----------------------------------------
% Inicialización del Sistema a ser identificado
%[yn,fr]=wavread('c:\campanas.wav');
%[yn,fr]=wavread('c:\Mexico.wav');
%señal senoidal
%N=15000;T=1/16384;k=1:N-1;x=cos(2*pi*1000*T*k);yn=x/1.5;
%señal cuadrada;
nn=1; for a=1:300 ; for b=nn:nn+25 ; xx(b)=0.9; xx(b+25)=-0.9;end ; nn=b+25; end ; yn=xx;
%señal triangular
%nn=1; for j=1:200; for b=1:-0.05:-1 ; xx(nn)=b;nn=nn+1;end ;for b=-1:0.05:1; xx(nn)=b;nn=nn+1;end;
end;yn=xx;
alfa=0.9;
N2=10;
Z2=zeros(N2,1); %linea de retardo del sistema no conocido

73
Programas Apéndice A

A=zeros(N2,1); %vector de coeficientes


%vector de coeficientes del sistema no conocido
%------------------BLOQUE NO LINEAL----------------------------------------
for n=1:N2
B=exp(-0.02*(n-1))*cos(6*n);
C=exp(-0.09*(n-1))*cos(1*n);
D=exp(-0.051*(n-1))*cos(2*n);
E=exp(-0.01*(n-1))*cos(4*n);
A(n)=(B+C+D+E);
end
%Inicialización del Filtro FIR
N=9; %orden del filtro
W=zeros(9,1); %coeficientes
Y=zeros(9,1); %Linea de retardo
x1=zeros(1,3);
x2=zeros(1,3);
%SIMULACION
Num_iter=80; %Numero de iteraciones por bloque
Num_block=80; %Numero total de bloques
add=1.0; %relación señal a ruido
kin=1;
n=0;
for i=1:Num_block
pot_sig=0.0;
pot_err=0.0;
pot_noise=0.0;
for j=1:Num_iter
kin=kin+1;
x=yn(kin);
xz=yn(kin-1);

xn(kin)=2.0*(rand(1)-0.5)/add;

for ki=N2:-1:2
Z2(ki)=Z2(ki-1); %recorrer linea de retardo
end
Z2(1)=x;
y1=0.0;
N3=N2-5;
for ki=1:N2-5
y1=y1+Z2(ki)*A(ki);
end
y1=y1+1*(A(N3+1)*Z2(N3+1)*A(N3+2)*Z2(N3+2));
y1=y1+1*(A(N3+2)*Z2(N3+2)*A(N3+3)*Z2(N3+3));
y1=y1+1*(A(N3+3)*Z2(N3+3)*A(N3+4)*Z2(N3+4));
y1=y1+1*A(N2)*(Z2(N2)*Z2(N2));
yd(kin)=y1+xn(kin);
%yd(kin)=y1/8;
yd(kin)=y1+(4.*cos(xz).*x./(1+x.^2))./25;

(y1+xn(kin))/5.8666; %Para que sean menores que la unidad

%---------------GRADO DE PERTENENCIA------------------------------------

74
Programas Apéndice A

n=n+1;
if yn(n)<=0
x11=-yn(n);
x1(1,1)=x11;
x22=yn(n)+1;
x1(1,2)=x22;
else
x22=-yn(n)+1;
x1(1,2)=x22;
x33=yn(n);
x1(1,3)=x33;
end
%----------------------BLOQUE DIFUSO-------------------------------------
%SE OBTIENE EL MINIMO DE LOS VECTORES(PRODUCTO CARTESIANO DIFUSO)
%for m=1:3, for k=1:3, z(m,k)=min(x1(1,m),x2(1,k));,end,end,b=z;
%SE OBTIENE A TRAVES DEL PRODUCTO
b=x2(1,1:3)'*x1(1,1:3);
b1=[b(1,1:3),b(2,1:3),b(3,1:3)];%ordenacion en vector
y0(kin)=(b1*W); %sumatoria del producto
%Calculo del error
error=yd(kin)-y0(kin);
%---------------------ADAPTACIÓN---------------------------------------
[W]=nlms(N,alfa,error,Y,W);
%miu=alfa/((y0(kin)*y0(kin)')+0.1);
Y=b1';
%W=W+(miu*error*y0(kin));
x2(1,1:3)=x1(1,1:3);% paso del dato de x1 a x2
n=n+1;
%Promedios
pot_sig=pot_sig+(x*x);%(y1*y1);
pot_err=pot_err+((y1-y0(kin))*(y1-y0(kin)));
pot_noise=pot_noise+(xn(kin)*xn(kin));
end
MSE(i)=10.0*LOG10(pot_err/pot_sig);
PX(i)=10.0*LOG10(pot_sig/Num_iter);
PXN(i)=10.0*LOG10(pot_noise/Num_iter);
SNR(i)=10.0*LOG10(pot_sig/pot_err);
E(i)=error;
end
k=1:10000;
%hertz=k*(6.5536/8);
hertz=k*(6/8);
%-----------------------------VISUALIZACIÓN--------------------------------
figure(1);
plot(PX);title('pot señal');hold on,plot(PXN,'r');
figure(2);
yn2=y0(2:701);
plot(y0);title('Sal.bloque difuso');
yn1=yd(1:700);
subplot(4,1,1),plot(yd);title('Señal deseada');
%figure(3)
%plot(PXN);title('Pot Ruido');

75
Programas Apéndice A

subplot(4,1,2),plot(y0);title('Sal. bloque difuso');

a2=abs(fft(y0));
subplot(4,1,3),plot(hertz(1:600),a2(1:600));title('Espectro de frec. salida bloque difuso');
b2=abs(fft(yd));
subplot(4,1,4),plot(hertz(1:600),b2(1:600));title('Espectro de frec. señal deseada');
%figure(5);plot(MSE);title('MSE');

figure;plot(yn1,'r');grid on;hold on;plot(yn2,'g');c=(yn1)-(yn2);plot(c,'b')


figure;plot(yd,'r');grid on;hold on;plot(y0,'g');c=(yd)-(y0);plot(c,'b')
figure(7);plot(MSE,'r'),hold on

A.5 Algoritmo para realizar la simulación con un filtro transversal FIR de la


aproximación de una señal cuadrada y senoidal en un bloque no lineal.

% INSTITUTO POLITECNICO NACIONAL


% SEPI ESIME U.C.
% PROGRAMADOR: FLAVIO MANCERA OLIVARES
% NOMBRE PROGRAMA: Nuevo_fir_nolineal10bloques.m
%DESCRIPCIÓN:10 bloques de retardo, aproximación de una señal con bloque no lineal.
%**************************************************************************
clc;
clear;
%-------------------SEÑALES DE PRUEBA--------------------------------------
%[yn,fr]=wavread('c:\campanas.wav');
%[yn,fr]=wavread('c:\Mexico.wav');
%señal cuadrada
nn=1;for a=1:300;for b=nn:nn+25;xx(b)=0.9;xx(b+25)=-0.9;end;nn=b+25;end;yn=xx;
%señal senoidal
%N=10000;T=1/10500;k=1:N-1;x=cos(2*pi*1000*T*k);yn=x/3;
alfa=0.1;
%---------------------BLOQUE DE LA FUNCIÓN NO LINEAL-----------------------
N2=10;
Z2=zeros(N2,1); %linea de retardo del sistema no conocido
A=zeros(N2,1); %vector de coeficientes
%vector de coeficientes del sistema no conocido
for n=1:N2
B=exp(-0.02*(n-1))*cos(6*n);
C=exp(-0.09*(n-1))*cos(1*n);
D=exp(-0.051*(n-1))*cos(2*n);
E=exp(-0.01*(n-1))*cos(4*n);
%A(n)=(rand(1)-0.5);
A(n)=(B+C+D+E);
end
%------------------Inicialización del Filtro FIR---------------------------
N=10; %orden del filtro
W=zeros(N,1); %coeficientes
Y=zeros(N,1); %Linea de retardo

76
Programas Apéndice A

%------------------------------SIMULACION----------------------------------
Num_iter=90; %Numero de iteraciones por bloque
Num_block=90; %Numero total de bloques
add=1.0; %relación señal a ruido
kin=1;
for i=1:Num_block
pot_sig=0.0;
pot_err=0.0;
pot_noise=0.0;
for j=1:Num_iter
kin=kin+1;
x=yn(kin);
x2=yn(kin-1);
xn=10.0*(rand(1)-0.5)/add;
xr(kin)=xn;
for ki=N2:-1:2
Z2(ki)=Z2(ki-1); %recorrer linea de retardo
end
Z2(1)=x;
y1=0.0;
N3=N2-5;
for ki=1:N2-5
y1=y1+Z2(ki)*A(ki);
end
y1=y1+1*(A(N3+1)*Z2(N3+1)*A(N3+2)*Z2(N3+2));
y1=y1+1*(A(N3+2)*Z2(N3+2)*A(N3+3)*Z2(N3+3));
y1=y1+1*(A(N3+3)*Z2(N3+3)*A(N3+4)*Z2(N3+4));
y1=y1+1*A(N2)*(Z2(N2)*Z2(N2));
yd(kin)=y1+xn;
yd(kin)=y1+(4.*cos(x2).*(x)./(1+x.^2))./25;

%yd=y1;
%------------------------- FIR adaptivo------------------------------------
[y0(kin),Y]=fir_out(N,x,Y,W);
%-----------------------Calculo del error----------------------------------
error=yd(kin)-y0(kin);
%----------------------------Adaptación------------------------------------
[W]=nlms(N,alfa,error,Y,W);
%-----------------------------Potencias------------------------------------
pot_sig=pot_sig+(y1*y1);
pot_err=pot_err+((y1-y0(kin))*(y1-y0(kin)));
pot_noise=pot_noise+(xn*xn);
end
MSE(i)=10.0*LOG10(pot_err/pot_sig);
PX(i)=10.0*LOG10(pot_sig/Num_iter);
PXN(i)=10.0*LOG10(pot_noise/Num_iter);
end
%--------------VISUALIZACIÓN,GRÁFICAS Y ESPECTROS--------------------------
k=1:10000;
%k=1:1000
hertz=k*(6.5536/4);
%hertz=k*(10240);
%figure(1);
%plot(PX);title('pot señal');hold on,plot(PXN,'r');

77
Programas Apéndice A

figure(2);
yn2=y0(2:5001);
subplot(4,1,2),plot(yn2);title('Sal. bloque fir');
%figure(3)
%plot(PXN);title('Pot Ruido');
yn1=yd(1:5000);
subplot(4,1,1),plot(yn1);title('Señal deseada');
a2=abs(fft(y0));
subplot(4,1,3),plot(hertz(1:800),a2(1:800));title('Espectro de frec. salida bloque fir');
b2=abs(fft(yd));
subplot(4,1,4),plot(hertz(1:800),b2(1:800));title('Espectro de frec. señal deseada');
figure(5);plot(MSE);title('MSE');
%figure(6);
%plot(xr);
%figure;plot(yn1,'r');grid on;hold on;plot(yn2,'g');c=(yn1)-(yn2);plot(c,'b')
figure(7),plot(MSE,'b')
hold on

A.6 Programa que gráfica la función no lineal aplicada al bloque no lineal en la


simulación de un identificador de función.

% INSTITUTO POLITECNICO NACIONAL


% SEPI ESIME U.C.
% PROGRAMADOR: FLAVIO MANCERA OLIVARES
% NOMBRE PROGRAMA: prueba_area_nolin.m
%DESCRIPCIÓN:Programa que forma la superficie del bloque no lineal en tres
% dimensiones.
%**************************************************************************
clc
clear all
%* * * * * * * * * * * * * * * * * * * * * *
N2=3;
N3=1;
y1=.5;
time = (0:1:20);
%Z2 = randn(size(time))/2;
Z2=[0.2639 -0.2766 0.1491 -0.6133 -0.0948 -0.1509 0.4785 -0.2667 -0.4505
-0.4463 0.1394 -0.3729 0.8017 0.2871 0.1603 -0.0757 0.1579
0.6719 -1.1189 0.6465 -0.1892];
for k=1:20
for n=1:20
B=exp(-0.02*(n-1))*cos(0.6*n);
C=exp(-0.09*(n-1))*cos(0.1*n);
D=exp(-0.051*(n-1))*cos(0.2*n);
E=exp(-0.01*(n-1))*cos(0.4*n);
%Z2(1)=x;
y1(n,k)=0.0;
y2(n+1,k+1)=0.0;
A(n,k)=(B+C+D+E);

78
Programas Apéndice A

A1(n,k)=(B+C+D+E);

y1=y1+10*(A(n,k)*Z2(N3+2)*A(n,k)*Z2(N3+3));
y1=y1+10*(A(n,k)*Z2(N3+3)*A(n,k)*Z2(N3+4));
y1=y1-10*(A(n,k)*Z2(N3+3)*A(n,k)*Z2(N3+4));
y1=y1-10*A(n,k)*(Z2(N2)*Z2(N2))*cos (A(n,k));

A1(n,k)=y1(n,k)+Z2(n)*cos(A(n,k));
A(n,k)=A(n,k);
end
end
dom=linspace(min(Z2),max(Z2),20);
[xx,yy]=meshgrid(dom,dom);
%zz=A.*(xx)*A.*sin(yy); %función
zz=3.*sin(xx).*yy./(1+yy.^2);
%zz1=A1.*cos(xx)*A1.*sin(yy);
zz1=exp(-xx)./1.5.*(sin(xx)).*sin(xx);
%n2(k) = 4*sin(n1(k))*n1(k-1)/(1+n1(k-1)^2)
figure(1)
subplot(1,2,1);surf(xx, yy, zz);
subplot(1,2,2);surf(xx, yy, zz1);

A.7 Funciónes

function[W]=nlms(N,alfa,error,Y,W)
%Algoritmo de Adaptación NLMS

miu=alfa/((Y'*Y)+0.1);
W=W+miu*error*Y;

function[W]=nlmsf(N,alfa,error,Y0,W)
%Algoritmo de Adaptación NLMS

miu=alfa/((Y0'*Y0)+0.1);
W=W+miu*error*Y0;

function[y,Z]=fir_out(N,xr,Z,A);
% salida del filtro FIR

for k=N:-1:2
Z(k)=Z(k-1); %recorrer linea de retardo
end
Z(1)=xr; %cargar nuevo dato

79
Programas Apéndice A

figure(1)
%subplot(1,2,1);surf(xx, yy, zz);
%subplot(1,2,2);surf(xx, yy, zz1);
surf(xx, yy, zz);

81
APÉNDICE B
ARTÍCULOS PUBLICADOS

Artículo aceptado y presentado en el 1er congreso Cas Tour / ICED efectuado en el puerto
de Veracruz, México, del 16 al 19 de noviembre de 2004.

Estructura de Lógica Difusa para Filtrado Adaptivo


Flavio Mancera Olivares1, Henry Martínez Conde1, J.C. Sánchez García1
Estructura de Lógica Difusa para Filtrado Adaptivo
Flavio Mancera Olivares1, Henry Martínez Conde1, J.C. Sánchez García1
1
Sección de Estudios de Posgrado e Investigación, ESIME Culhuacan,IPN
Av. Santa Ana 1000, San Francisco Culhuacan, Coyoacán, México D.F.,
México, C.P. 04430. Email: flaviomancera@yahoo.com.mx

RESUMEN
En éste trabajo se analiza un filtro adaptivo con humanos o por la relación de pares de datos de
estructura basada en lógica difusa y un algoritmo entrada-salida en un procedimiento de adaptación.
de adaptación del error cuadrático medio de la El FAD emplea funciones de membresía que
señal (NLMS). La ventaja más importante en un caracterizan los conceptos difusos en las reglas SI-
filtro adaptivo difuso (FAD) es que la información ENTONCES [2]. Estas funciones de membresía
lingüística (en forma de reglas del tipo SI- pueden ser diversas (triangular, trapezoidal,
ENTONCES) y la información numérica (en gaussiana, etc.), y se eligen dependiendo de la
forma de pares de entrada y salida) pueden ser experiencia, perspectivas del usuario ó mediante
combinadas dentro del filtro de una manera un método de prueba y error. En este trabajo se
uniforme. El filtro es aplicado a un canal de aplicaron funciones triangular y gaussiana las
comunicación no lineal simulando algunos cuales ofrecieron buenos resultados.
problemas en la transmisión de la información. Para este trabajo es necesario definir las señales de
Los resultados de ésta aproximación no lineal entrada dentro de un intervalo de [-1,1]
comparada con las técnicas de filtrado clásico considerado como universo de discusión, aunque
resultan mas adecuadas para el caso de canales no puede tomar valores diferentes si es requerido.
lineales. Para la adaptación de los pesos del bloque difuso,
se emplea un algoritmo tipo NLMS (criterio del
I INTRODUCCIÓN error mínimo cuadrático medio normalizado)
debido a su baja complejidad computacional.
En general, un filtro adaptivo puede ser entendido El filtro propuesto aplica un producto cartesiano
como un sistema que trata de cambiar por sí de “n” dimensiones por “m” elementos que
mismo, en respuesta a un fenómeno que lo resultan en un mapeo de (n x m) elementos. La
involucra . En otras palabras trata de ajustar sus aproximación de la señal depende del número de
parámetros con un objetivo específico a través de dimensiones y elementos. Asi si se requiere mayor
un algoritmo de adaptación [1]. Los filtros aproximación también se requiere mayor número
adaptivos se pueden realizar con filtros tipo FIR de elementos y dimensiones.
(Filtro de respuesta finita al impulso) o filtros tipo El FAD es comparado con un filtro transversal de
IIR (Filtro de respuesta infinita al impulso). El respuesta finita al impulso (FIR) que utiliza la
primero tiene características de estabilidad y sin técnica de filtrado clásico con un orden similar al
distorsión de fase, en cambio el filtro IIR resulta que utiliza el filtro con técnica difusa, para
de un orden menor si la fase lineal no es crítica, observar las diferencias entre uno y otro. Se lleva
pero si no es bien diseñado tiene problemas de a cabo una simulación con señales de entrada
estabilidad. Debido a la ya mencionada estabilidad correspondientes a sonidos diversos, (señal
de los sistemas, se prefiere el uso de los filtros cuadrada, senoidal y voz). Así mismo se aplica
FIR. Pero si el sistema involucra cambios no como mecanismo de inferencia la composición
lineales, el filtro FIR requiere un orden mayor max-min y max-producto para observar su
(mayor número de coeficientes) y por lo tanto se comportamiento y buscar una mayor eficiencia.
hace más complejo.
El propósito de éste articulo es desarrollar un II DESARROLLO
filtro de baja complejidad y que pueda adaptar
cambios no lineales aplicando las técnicas de Estructura básica. La figura 1 muestra la
lógica difusa. arquitectura de un sistema de lógica difusa [3].
Un FAD está formado por un conjunto de reglas Como se observa, consiste de 4 bloques
difusas. Estas reglas son dadas por expertos

83
fundamentales. Fusificador, base de conocimiento estos datos se obtiene la relación entre pares
(reglas), mecanismo de inferencia y defusificador. ordenados del universo (entre –1 y 1) de las xn
mediante la implicación difusa.[5]:.

µA→B(x,y) = Φ[µA(x), µB(y)] (2)

donde Φ puede ser cualquier operador de


implicación y puede dar lugar a una estrategia de
inferencia como por ejemplo: inferencia max-min
ó inferencia max-prod , usando la operación de
composición.

Paso 4.- La defusificación produce una salida


rígida de nuestro Sistema Difuso que es la salida
Fig 1. Sistema con logica difusa. del bloque de inferencia de la figura 1 . En nuestro
caso empleamos con éxito el modelo de un
El sistema se puede ver como un solo bloque combinador aditivo [3] el cual puede ser
completo que lleva a cabo un mapeo de entradas interpretado como un filtro adaptivo que es
de valores rígidos a salidas de valores rígidos, es activado por los conjuntos difusos que son la
decir la relación que existe entre x y y. Este mapeo salida de un prefiltro difuso.
puede ser expresado cuantitativamente como:
Aplicación: Debido a que la señal recibida de un
y=f(x) (1) canal de comunicación puede producir distorsión,
ésta es una función no lineal de los valores
Procedimiento de diseño: Paso 1.- Definir los pasados de los símbolos transmitidos. La
conjuntos difusos mi en el espacio de entrada [Ci- distorsión varía con el tiempo y de lugar a lugar,
,Ci+] del universo de discusión U, que es por lo que una solución efectiva es un ecualizador
etiquetado Fij (i=1,2,...,n ; j=1,2,...,m) [4]. no lineal y adaptivo[2].
Las mi funciones de membresía µ Fij cubre el Existen diversos tipos de ecualizadores, como son
intervalo [Ci-,Ci+] en el sentido que para cada Filtros adaptivos polinomiales, de redes de base
xi ∈ [Ci-,Ci+] existe al menos una µ Fij(xi) ≠ 0 . de funciones radiales (RBF), de perceptrón
multicapa, etc., Y es difícil decir cual es
Estas funciones de membresía son fijas y no predominantemente mejor que los otros. Sin
cambian durante el procedimiento de adaptación. embargo una alternativa son los filtros de
arquitectura difusa debido a su baja complejidad y
Paso 2.- Se construye un conjunto de mi reglas a su buena aproximación.
difusas del tipo SI-ENTONCES ; Para poder aplicar una ecualización se debe saber
R(j1,...,jn) : Si xi es Fij1 y ... y xn es Fnjn , Entonces d con certeza la función de transferencia del canal
es G(j1,...,jn). de comunicación la cual, también se puede
obtener a través de un FAD (identificador)
Paso 3.- Un paso fundamental en la aplicación de
la lógica difusa es seleccionar apropiadamente las III RESULTADOS
funciones de membresía, mediante la cual, la
variable de entrada difusa es mapeada en una Una serie de datos muestreados han sido
variable de salida difusa por medio de reglas que considerados. Es el caso de palabras, tono, sonido,
describen la relación entre estas variables[3]. En y algunas señales que presentan cambios abruptos
este trabajo se obtienen los grados de membresía como es la señal cuadrada. El sistema ha sido
mediante funciones tipo triangular y funciones aplicado como identificador, y se compara con
gaussianas [4]: otro que utiliza un filtro adaptivo FIR con
Para obtener el dato difuso, se aplica éste sobre semejante grado. Ambos son aplicados a bloques
las funciones de membresía en el universo de no lineales y los resultados muestran una
discusión. Para cada dato de entrada x1,x2,...,xn , diferencia a medida que la no linealidad es
se obtienen n datos en el eje y (según el número mayor.
de funciones de membresía que se apliquen). Con

84
El FAD sigue con mayor detalle la función no aproximación en señales de datos, a su vez las
lineal, la cual sí se pierde en un filtro adaptivo tipo funciones gaussianas ofrecieron buena
FIR. aproximación en señales de tipo analógicas
El sistema difuso aplicado a las diferentes fuentes (contínuas).
de datos se muestra en la figura 2. Posteriormente como se observa en la figura 5 se
utilizó el FAD con señal de voz y ruido aditivo,
nuevamente haciendo uso de funciones
triangulares y gaussianas. Como resultado
adicional se obtiene el espectro de frecuencias
para visualizar de otra forma la aproximación de
la señal bajo prueba.

Fig.2 Propuesta de filtro adaptivo

Como se mencionó anteriormente; se emplearon 2


tipos de funciones de membresía : tipo triangular
y tipo gaussiana.
Los resultados obtenidos en Matlab con los dos
conjuntos de funciones de membresía en el bloque
difuso se muestran en la figura 7 y 8.
Fig.5 a)Señal de voz, b)Voz con ruido aditivo,
Para motivo de prueba primeramente se utilizó el c)Señal estimada con el FAD, d)Espectro de la
filtro como predictor para observar el grado de señal estimada, e)Espectro de la señal deseada.
aproximación de las señales de entrada del tipo
onda cuadrada y senoidal, tales resultados se
observan en la figura 3 y 4.

Fig. 3 Aproximaciones con funciones de


membresía tipo gausiana.

Fig. 6 a) Señales sobrepuestas b)Error de señal

Se hace mención que con señales de voz se


obtuvierón mejores resultados aplicando
funciones gaussianas.
Fig.4 Aproximaciones con funciones de La figura 6 muestra los resultados obtenidos al
membresía tipo triangular sobreponer la señal original con la señal estimada
por el bloque difuso para poder diferenciar el error
Como se observa en las figuras anteriores, las de estas dos señales. Para este ejemplo se
funciones de tipo triangular ofrecen una mayor utilizarón funciones de membresía triangulares.

85
los pesos para minimizar el error en cada
Las figuras 7 y 8 señalan los resultados al iteración.
comparar el FAD con un filtro FIR. Esta vez la Algunas de las ventajas más importantes de los
señal que se utilizó es una onda cuadrada filtros adaptivos difusos es la incorporación al
distorsionada por una función no lineal. filtro de la información lingüística proveniente del
conocimiento humano (en forma de reglas
IF_THEN ) .
La simulación mostró que el filtro tiene un buen
comportamiento para identificar sistemas que
tienen una función no lineal y que se requieren
pocos datos para poder obtener la adaptación, a
diferencia de los filtros FIR (los cuales requiere
un número mayor de datos de entrada para la
adaptación).

De acuerdo con la señal que se esté alimentando


será necesario seleccionar el factor de
convergencia adecuado para que el filtro sea más
eficiente, Un siguiente propósito es una
Fig.7 a) Señal original b) Señal estimada con adaptación mediante pasos, algoritmo RLS ó
filtro FIR c)Espectro de señal estimada aplicar un filtro difuso tipo reticular para obtener
d)Espectro de señal original. una mejor aproximación y una mayor velocidad
de convergencia en el algoritmo de adaptación.

V REFERENCIAS

[1] B.Farhang-Boroujeny, “Adaptive


Filters”. ed. John Wiley & Sons 2000.
West Sussex PO19 IUD, England
[2] Li-Xin Wang,Jerry M.Mendel, “Fuzzy
Adaptive Filters, with Aplication to
Nonlinear Channel Equalization”, IEE
Transactions on fuzzy systems, Vol.1
No.3. 1993. pp 161-168.
[3] M Mendel J. “Fuzzy Logic Systems for
Engineering: A Tutorial”. Proceedings of
Fig. 8 a) Señal original b)Señal estimada con the IEEE, vol.83.no.3. 1995.pp 345-375.
FAD. c)Espectro de señal estimada d)Espectro [4] Jyh S., Roger J., Chuen-Tsai S., “Neuro –
de señal original. Fuzzy Modeling and Control”.
Proceedings of the IEEE. Vol.83.No. 3,
El filtro FIR de la figura 7 no alcanza a aproximar Marzo 1995.pp 378-403
debidamente la señal. En la figura 8 podemos [5] Timothy J. R., “Fuzzy Logic with
observar la aproximación bastante cercana que se Engineering Applications”. ed. Mc Graw-
obtiene con el filtro adaptivo con estructura Hill.1997
difusa, tanto en la señal en tiempo como en su [6] A.Diaz Mendez,G.Espinosa F-V, H.Peréz
espectro de frecuencias. Meana, J.C.Sánchez-García, G.Duchén -
Sánchez. ”A CMOS Current-Mode
IV CONCLUSIONES Analog Fuzzy Adaptive Filter”. Journal
of Signal Processing. Vol 5 No.4. 2001.
En éste trabajo se desarrolló un filtro adaptivo pp 311-318,
difuso no lineal con algoritmo de adaptación
NLMS.El cual se encarga de actualizar el valor de

86
Artículo aceptado y presentado en el 1er Congreso Mexicano de Ingeniería en
Comunicaciones y Electrónica efectuado en el Centro de Educación Continua y a
Distancia del IPN. Allende no. 38 Col. Centro, Ciudad de México D.F. , del 1 al 3 de
junio de 2005.

Aplicación de la Lógica Difusa en el Filtrado Adaptivo


Flavio Mancera Olivares1, Henry Martínez Conde1, J.C. Sánchez García1

87
Aplicación de la Lógica Difusa en el Filtrado Adaptivo

Flavio Mancera Olivares, Henry Martínez Conde, J.C. Sánchez García


Sección de Estudios de Posgrado e Investigación, ESIME Culhuacan,IPN
Santa Ana 1000, San Francisco Culhuacan, Coyoacán, México D.F. México, 04430.
flaviomancera@yahoo.com.mx

Resumen. En este trabajo se propone la aplicación de la lógica difusa en un


filtro adaptivo. La ventaja más importantes en un sistema difuso, es que se
puede utilizar de manera combinada tanto el conocimiento experto humano y
la información numérica, mediante un conjunto de reglas lingüísticas sencillas
del tipo SI-ENTONCES que es una versión de razonamiento aproximado, a
diferencia del polinomio que obtiene la función de transferencia en un filtro
digital. El filtro se construye por medio de una estructura transversal que es la
forma más común en la implementación de filtros adaptivos. Los resultados de
la aplicación de un filtro adaptivo difuso (FAD) comparados con las técnicas
de filtrado clásico resultan adecuadas para el caso de canales no lineales.

Palabras clave: Filtrado adaptivo, Difuso, FAD.

1 Introducción

En general, un filtro adaptivo puede ser entendido como un sistema que trata de ajustar
sus parámetros con un objetivo específico a través de un algoritmo de adaptación [1].
Los filtros adaptivos se pueden realizar con filtros tipo FIR (Filtro de respuesta finita al
impulso) o filtros tipo IIR (Filtro de respuesta infinita al impulso). El primero tiene
características de estabilidad sin distorsión de fase, en cambio el filtro IIR es un filtro
recursivo que resulta de un orden menor si la fase lineal no es crítica, pero si no es bien
diseñado tiene problemas de estabilidad. Debido a la ya mencionada estabilidad de los
sistemas, se prefiere el uso de los filtros FIR. Pero si el sistema involucra cambios no
lineales, el filtro FIR requiere un orden mayor (mayor número de coeficientes), y por lo
tanto se hace más complejo.
El propósito de éste articulo es desarrollar un filtro de baja complejidad, que pueda
adaptar cambios no lineales aplicando las técnicas de lógica difusa. El FAD es
comparado con un filtro transversal de respuesta finita al impulso (FIR) que utiliza la
técnica de filtrado clásico con un orden similar al que utiliza el filtro con técnica
difusa, para observar las diferencias entre uno y otro. Se lleva a cabo una simulación
con señales de entrada correspondientes a sonidos diversos, (señal cuadrada, senoidal
y voz).

88
2 Estado del arte

Un Filtro adaptivo difuso (FAD) está formado por un conjunto de reglas difusas. Estas
reglas son dadas por expertos humanos o por la relación de pares de datos de entrada-
salida en un procedimiento de adaptación. El FAD emplea funciones de membresía que
caracterizan los conceptos difusos en las reglas SI-ENTONCES [2]. Estas funciones de
membresía pueden ser diversas (triangular, trapezoidal, gaussiana, etc.), y se eligen
dependiendo de la experiencia, perspectivas del usuario ó mediante un método de
prueba y error. Es conveniente aplicar funciones triangular o trapecio debido a la
menor dificultad de representación mediante circuitos si el filtro se implementa en
silicio o en programa y si se desea obtener una salida del sistema difuso más suave, es
útil aplicar funciones diferenciables como las de tipo Gaussiano[3], las cuales ofrecen
buenos resultados.
Es necesario definir las señales de entrada dentro de un intervalo de [-1,1] considerado
como universo de discusión, aunque puede tomar otros valores si es requerido.
El filtro propuesto aplica un producto cartesiano de “n” dimensiones por “m”
elementos que resultan en un mapeo de (n x m) elementos. La aproximación de la
señal depende del número de elementos. De donde se derivan las reglas difusas. A estas
reglas se les asigna un grado de veracidad como peso. Para la adaptación de los pesos
del bloque difuso, se emplea un algoritmo de adaptación como en cualquier sistema
adaptivo.

3 Metodología

3.1 Estructura básica. La Fig. 1 muestra la arquitectura de un sistema adaptivo de


lógica difusa [3][4]. Como se observa, consiste de 5 bloques fundamentales.
Fusificador y normalización, motor de inferencia difusa (reglas), mecanismo de
adaptación, monitoreo de diferencias para obtener el error y defusificador.

Fig 1. Sistema adaptivo con logica difusa.


El sistema se puede ver como un solo bloque completo que lleva a cabo un mapeo de
entradas de valores rígidos a salidas de valores rígidos, es decir la relación que existe
entre x y y.[6] Este mapeo puede ser expresado cuantitativamente como:

y = f (x) (1)

3.2 Procedimiento de diseño:

Paso 1.- Definir los conjuntos difusos mi en el espacio de entrada [Ci-,Ci+] del universo
de discusión U, que es etiquetado Fij (i=1,2,...,n ; j=1,2,...,m) [4].
Las mi funciones de membresía µ Fij cubre el intervalo [Ci-,Ci+] en el sentido que
para cada xi ∈ [Ci-,Ci+] existe al menos una µ Fij(xi) ≠ 0 . Estas funciones de membresía
son fijas y no cambian durante el procedimiento de adaptación.
Para obtener el dato difuso, se aplica éste sobre las funciones de membresía en el
universo de discusión. Para cada dato de entrada x1,x2,...,xn , se obtienen n datos en el
eje y (según el número de funciones de membresía que se apliquen). Con estos datos
se obtiene la relación entre pares ordenados del universo [ –1, 1] de las xn mediante la
implicación difusa.[6]:.

µA→B(x,y) = Φ[µA(x), µB(y)] (2)

donde Φ puede ser cualquier operador de implicación y puede dar lugar a una
estrategia de inferencia como por ejemplo: inferencia max-min ó inferencia max-prod ,
usando la operación de composición.
Paso 2.- Se construye un conjunto de mi reglas difusas del tipo SI-ENTONCES ;
R(j1,...,jn) : Si xi es Fij1 y ... y xn es Fnjn , Entonces d es G(j1,...,jn).
Paso 3.- La agregación permite obtener una conclusión final de las reglas activadas
por el dato de entrada, y conduce al valor de salida final.
Paso 4.- La defusificación produce una salida rígida de nuestro Sistema Difuso que
es la salida del bloque de la Fig. 1. En este caso se emplea el modelo de un combinador
aditivo [4][5] el cual puede ser interpretado como un filtro adaptivo que es activado por
los conjuntos difusos cuya salida es la adición de los pesos asignados. Esta salida es
adaptada por medio de un algoritmo NLMS por su baja complejidad computacional y
su probada eficacia en señales variantes en el tiempo[1].

4 Resultados Experimentales

Una serie de datos muestreados han sido considerados. Es el caso de palabras, tono,
sonido, y algunas señales que presentan cambios abruptos como es la función cuadrada.
El sistema difuso aplicado a las diferentes fuentes de datos se muestra en la Fig. 2.
Para motivo de prueba primeramente se utilizó el filtro como predictor para observar
el grado de aproximación de las señales de entrada del tipo onda cuadrada y senoidal.

90
Fig.2 Filtro adaptivo difuso propuesto

Como se mencionó anteriormente; se emplearon 2 tipos de funciones de membresía :


tipo triangular y tipo gaussiana.
Los resultados obtenidos en Matlab® con los dos conjuntos de funciones de
membresía en el bloque difuso se muestran en la Fig.3 y 4.

Fig. 3 Aproximaciones con funciones de membresía tipo gausiana.

Fig.4 Aproximaciones con funciones de membresía tipo triangular

Como se observa en las figuras anteriores, las funciones de tipo triangular ofrecen
una mayor aproximación en señales de datos, a su vez las funciones gaussianas
ofrecieron buena aproximación en señales de tipo analógicas (contínuas).
Posteriormente como se observa en la Fig. 5 se utilizó el FAD con señal de voz y
ruido aditivo, nuevamente haciendo uso de funciones triangulares y gaussianas. Como
resultado adicional se obtiene el espectro de frecuencias para visualizar de otra forma la
aproximación de la señal bajo prueba.

Fig.5 a)Señal de voz, b)Voz con ruido aditivo, c)Señal estimada con el FAD,
d)Espectro de la señal estimada, e)Espectro de la señal deseada.

Se hace mención que con señales de voz se obtuvieron mejores resultados aplicando
funciones gaussianas.
El sistema ha sido aplicado como identificador, y se compara con otro que utiliza un
filtro adaptivo FIR con semejante grado. Ambos son aplicados a bloques no lineales y
los resultados muestran una diferencia a medida que la no linealidad es mayor. La Fig.
6 señala los resultados al comparar el FAD con un filtro FIR. Esta vez la señal que se
utilizó es una onda cuadrada distorsionada por una función no lineal.

FIR FAD

Fig.6 a) Señal original b) Señal estimada c)Espectro de señal estimada d)Espectro


de señal original.

El filtro FIR no alcanza a aproximar debidamente la señal, sin embargo observamos


la aproximación bastante cercana que se obtiene con el filtro adaptivo con estructura
difusa, tanto en la señal en tiempo como en su espectro de frecuencias.

92
5 Conclusiones y trabajo futuro

En éste trabajo se desarrolló un filtro adaptivo difuso no lineal con algoritmo de


adaptación NLMS.El cual se encarga de actualizar el valor de los pesos para minimizar
el error en cada iteración.
Algunas de las ventajas más importantes de los filtros adaptivos difusos es la
incorporación al filtro de la información lingüística proveniente del conocimiento
humano (en forma de reglas IF_THEN ) .
La simulación mostró que el filtro tiene un buen comportamiento para identificar
sistemas que tienen una función no lineal y que se requieren pocos datos para poder
obtener la adaptación, a diferencia de los filtros FIR (los cuales requiere un número
mayor de datos de entrada para la adaptación).
De acuerdo con la señal que se esté alimentando será necesario seleccionar el factor de
convergencia adecuado para que el filtro sea más eficiente, Un siguiente propósito es
una adaptación mediante pasos, algoritmo RLS ó aplicar un filtro difuso tipo reticular
para obtener una mejor aproximación y una mayor velocidad de convergencia en el
algoritmo de adaptación.

Referencias

[1] B.Farhang-Boroujeny, Adaptive Filters. ed. John Wiley & Sons 2000. West Sussex
PO19 IUD, England
[2] Li-Xin Wang,Jerry M.Mendel, Fuzzy Adaptive Filters, with Aplication to
Nonlinear Channel Equalization, IEE Transactions on fuzzy systems, Vol.1 No.3.
1993. pp 161-168.
[3] I. Baturone, A. Barriga, S. Sánchez-Solano, C. J. Jiménez-Fernández, D. R. López
Microelectronic Design of Fuzzy Logic–Based Systems
[4] Jyh S., Roger J., Chuen-Tsai S., Neuro –Fuzzy Modeling and Control. Proceedings
of the IEEE. Vol.83.No. 3, Marzo 1995.pp 378-403
[5] Abraham Kandel, Gideon Langholz Fuzzy hardware Ed. Kluwer Academic
Publishers 1998.
[6] Timothy J. R., Fuzzy Logic with Engineering Applications. ed. Mc Graw-Hill.1997
[7] M Mendel J. Fuzzy Logic Systems for Engineering: A Tutorial. Proceedings of the
IEEE, vol.83.no.3. 1995.pp 345-375.
Lista de acrónimos

CLM. Cento de área mayor.


CoA. Centro de área.
CoG. Centro de gravedad.
CoS. Centro de sumas.
FAD. Filtro adaptivo difuso.
FAM. Memoria asociativa difusa.
FIR. Respuesta impulsional finita.
FM. Función de membresía.
IIR. Respuesta impulsional infinita.
Khz. Kilohertz.
LGM. Nivel de clasificación.
LMS. Mínimo cuadrado medio.
MSE. Error cuadrático medio.
NLMS. Mínimo cuadrado medio normalizado.
QM. Método de calidad.
RLS. Mínimos cuadrados recursivo.
SISO. Una entrada, una salida.
VLSI. Integración a muy grande escala.
WFM. Promedio pesado difuso.
YM. Método Yager

94

También podría gustarte