CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA...

27
CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ASESOR DE PROYECTO: D R HECTOR PEREZ M. / . . / "DESARROLLO DE UN FLLTRO ADAPTIVO (IIR)" ALUMNOS)PIW,A GONZALEZ h4AURICIO / VERGARA CORTE~TOSE HELI FECHA DE REALIZACION: OTOÑO DE 1994 / !

Transcript of CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA...

Page 1: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

C B L UNIVERSIDAD AUTONOMA METROPOLITANA

UNIDAD IZTAPALAPA

PROYECTO TERMINAL I

ASESOR DE PROYECTO: DR HECTOR PEREZ M. / . . /

"DESARROLLO DE UN FLLTRO ADAPTIVO (IIR)"

ALUMNOS)PIW,A GONZALEZ h4AURICIO / VERGARA CORTE~TOSE HELI

FECHA DE REALIZACION: OTOÑO DE 1994 /

!

Page 2: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

.

O J E T I V O S

La elaboración de este pyecto tiene como o m v o el desarrollar un filtro adaptivo de respuesta al impulso infimita (IIR) ó filtros recursivos.

Para este proyecto se abordar4 un film cancelador de ruido ya que es uno de los de mayor aplicación dentro +l campo de trabajo, además de que representa uno de los filtrados más versátiies que existen dado que los algoritmos que se emplean para su desempeño son de muy diversas clases.

A su vez, se tiene pensado utilkpr un algoritmo no-recursivo para modificarlo y así poder convertirlo ea uno recursivo. Por otra parte se tiene pensado realizar rutinas de sraficación para la salida del filtro para así poder visualizar los resultados entregados por el programa.

Como parte del desarrollo del proyecto se pretende conocer distintos tipos de algoritmos recursivos y no-recursivos que tengan una conexión con el desarrollo del presente trabajo.

Otro de los objetivos es el de dar a cotiocer la terminología suficiente para que futuros lectores de este documento tengan las bases suficientes para poder seguir estudiando este tipo de si$temas en el futuro.

Después de este desarrollo se tiene cantemplado para el proyecto I1 el poder d i z a r un entorno para poder ehglobar distintos algoritmos y que estén disponible en una barra de menú+salida a impresora,rutinas de graficación etc., para así poder entreg# un paquete que tenga la posibilidad de efectuar distintos tipos de filtrados y se convierta en una forma sencilla de trabajar en este tipo de entornos.

Page 3: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

INTRODUCCION TEOIUCA

Ya hace bastante tiempo el filtrado adaptivo de respuesta al impulso infinita (IIR) a sido una área de investigación bastante activa, y ha sida considerada para una gran variedad de procesos que involucran procesamiento y comunicación de se88ies. Ejemplos de algunas aplicaciones importantes incluye predicción l i d , fittrado adaptivo de ranura, modulacrión diferencial de pulsos codificados adaptiva (ADPCM), ecualización de canal, cancelación de eco y procesamiento adaptivo de arreglos. Además muchas de la técnicas usadas en el fiitrado IIR adaptivo se han obtenido de los campos de la idehtificación de sistemas y el control adaptivo, donde generalmente se asume que los sistemas tienen una estructura de polos y ceros. Muchos de los resultados de convergencia conocidos para algoritmos de IIR tkdaptiva requieren que el filtro esté operando en una configuración de identificación de sistema tal que el sistema desconocido pueda ser tepresentado por una función de transferencia estable y racional.

La figura 1 ilustra la estructura generai y los componentes de un filtro adaptivo IIR con su entrada x(n) y su salida y(n).

Page 4: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

FIGURA No. 1

Debe observarse que, contiene además un fih variante en el tiempo, caracterizado por coeficientes ajustables qn), y un aigoritmo recursivo que ajustan e(n) para que y(n) aproxime alguna -esta deseada qn), lo cual es determinada por la cada aplicación en específico

1 '" Por ejemplo, en la figura 2 t I ! ión de sistcm

y d(n) es simp1mmt-e b medida Usdmte un f)lbaasb &'ruido d&ím **). E4

es minimizar tin criterio %e deaeanpsfio que esbe del error e(n) (algurras vees llamado. blpw de e&maÑión),

definido por e(n) = d(n) - y(n). Iht oritoirio lUBBQ0 coin-@ es el del error cuadrátim medio (MSE), dadb por: = E[da(n)], donde E es la esperanza estadísdca: ios mihiems íocwavos cmmqmwheates son llamados algoritmos de gradimtcl estwimtiw ó tamW a w t m o s recursivos de Gauss-Newton @N). ob0 oritiprio estir basedo en el método de los mínimos cuadrados, y los d g ~ ~ resultantcw son conocidos como minimos cuadrados mursivos (RLS).

Page 5: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

convergencia y el error en la estimación y entre la convergencia y el mínimo local de t;.

La ventaja primordial de un filtro adtmptivo IR es que puede desarrollar un desempeño mucho mejor que un filtro adaptivo FIR que tenga e1 mismo número de coeficientes esto es una consecuencia de la salida de retroaiimentación que genera una respuesta al impulso inñnita con un número finito de parámetros. Una rejspuesta deseada 6 equivalentemente, su frecuencia de respuesta pude ser dpmximada más eficieniemente por la salida de un filtro que tiene polos y *ros que uno que contenga solamente ceros. Por ejemplo, un filtro adaptivo IIR con un orden suficiente pude modelar exactamente un sistema desconocido de polos y ceros (representado por e*), mientras tanto un FIR sólo puede dar una aproximación del sistema. Este deseqpefío tan bueno también es posible en otras aplicaciones. Alternativamente, para realizar un nivel determinado de efmtividad, un IIR requiere menos coeficientes que los que usaría el correspondiente FIR. Debido a los avgnces que se obtienen constantemente en la computación es claro que los IIR sustituirán ampliamente a los FIR en muchas de las aplicaciones hoy existentes.

La meta de este primer proyecto se centra en establecer las bases de un algoritmo predictor de error recursivo (WE) el cual otorga una aproximación de gradiente descendiente que se basa en la estimación instantanea de 6.

Para el algoritmo que se piensa desarrollar hay que tomar el diagrama a bloques que presenta la figura 3 que esta caracterizado por la ecuación de diferencias no recursiva:

NI U1

ydn) = C&(n)d(n-m) + Ewn)x(n-m) -5

Donde a y b representan los coeficientes ajustables y el subíndice e se usa para distinguir esta salida de aquella que entrega la formilación de la salida de error. Se debe observar que, la wuación 1 representa un filtro de dos entradas y una salida que depende del retraso de las muestras de la entrada x(n-m), m = 1,2,3..M-l; y de la respuesta deseada d(n-m), m = 1,2 ..., N-l. Este no depende de las muestras retirasadas de la salida y, por lo tanto el filtro no tiene una retroalimentación, se pude ver que la salida es una

Page 6: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

función lineal de los coeficientes. Esta propiedad facilita enormemente la obtención de aigontmos basados en el gradiente. A partir de que d(n) y an) no son funciones de los coeficientes, la obtención de ye(n) con respecto a los coeficientes es no-recursiva y es facil de calcular.

F I G U R A No. 3

El funcionamiento del filtro del diagrama 3 es el que sigue: La ecuación de la formulación de error filtra ai mismo tiempo la sefíai de entrada x(n) y la respuesta deseada retrasada d(n-1) $am generar una estimación de d(n). Como ya se dijo, opera escencialmente como un filtro FIR de dos entradas y una salida, tal que el polinomio asociado con los polos, 1-A(n,q) es adaptado a una forma de exclu$ivamente ceros. Después de cada actualización de los pesos el inversa de 1-A(n,q) se copia a un filtro de ceros solamente el cual es la cascada con B(n,q). La respuesta al impulso de x(n) a ydn) es infinita, y los filtros en c a d a tienen la misma forma que la formulación de salida de error (figura 4). Sin embargo,los coeficientes de convergencia obteoidos con esta aproximación son generalmente diferentes que aquellos obtenidos por la formulación de salida de error.

Page 7: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

F I G U R A No. 4

f

(&O- +

A continuación se muestra el desando que se siguió para obtener el filtri FIR que se nos requería desarrollar

DESARROLLCP DEL FILTRO

Partiendo de la figura 5 que es un fil* nR,se puede ver que se cumple que: N-1 N.1

Como se puede ver resultaría bastarjte complicado el poder e s t a b h r un criterio de convergencia dado que la salida i-esima depende de la salida i- 1, También se puede ver como enc4sos anteriores que a y b son los coeficientes del filtro IIR

Page 8: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

FILTRO ADAPTIVO RECURSIVO (IIR)

H(z) = A(z)/B(z)

F I G U R A No. 5

Para poder establecer una aproxima(;ión adecuada se h...i formulado d. , modelos para la aproximación del filtro uno es el llamado serie-paralelo, y el otro se conoce como modelo paralplo. Por conveniencia se ha elegido el modelo serie-paralelo en el cual se da una condicion para simplificar el problema esto es, hacer que fin) = d(n). El modelo serie-paralelo se muestra en la figura 6.

Page 9: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

CONFIGURACIUN SERIE-PARALELO DE UN FILTRO I IR

44 F I G U R A No. 6

Se tiene que para los propósitos del filtro e(n) = d(n) - y(n) para poder llegar a una ecuación de la forma:

Ill n I

e(n) = d(n) - b x w - %td(m.k) k 4 k=l

De aquí siguiendo el criterio de que debe converger el filtro se tiene que

u = 8E[eA2(n)] i 6a y suponemos que E[eNt(n)] = eA2(n) tenemos que

&(*I) = + 2pe(nMn-i) se pude comprobar que para los coeficientes b es la misma ecuacion solamente cambiando por la letra b lo que tiene la letra a.

Ahora, nosotros conocemos todos los términos excepto el de p y se ha probado que para que el filtro converga debe de tener la forma:

Page 10: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

n-1

pa = a í C xA2(n-k) k=u

y para los coeficientes de b es la siguiente:

n- 1

pb = a / E dA2(n-k) k=O

donde se tiene que cumplir que alfa este acdada entre O y 1 . Un último factor que se tiene que considerar es que el fiitro por tener polos puede ser inestabie si no se eligen bien estos patámetros.

A continuación se presenta el código utilizado para solucionar el algoritmo.

i

Page 11: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

UNIVERSIDAD AUTONOMA METROPOLITANA IZTAPALAPA

PROYECTO TERMINAL 2: SIMULADOR DE FILTROS DIGITALES

ASCE80R:Dr. PEREZ MEANA HECTOR MANUEL

ALUMN0:VERGARA CORTES JOSE BEL1 89328849

,

24/OCT/1994.

Page 12: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

INTRODUCCION:

La programacion orientada a objetos se basa fuertemente en

el concepto de objeto. En nuestras vidas diarias estamos

familiarizados con cualquier tipo de objeto

=televisiones,lamparas, cuadernos,etc ... Pero cuando encendemos la television , no distinguimos entre sus elementos fisicos

(selector de cana1,tubo de imagen ,antena) y su comportamiento

(proporcionar imagen y sonido). Simplemente la encendemos y

seleccionamos un canal.

A l igual que la television .los objetos hacen que los

programas sean un reflejo mas fiel de la forma en que tratamos

con el mundo real. Para conseguir esta cualidad los objetos

dependen de tres conceptos basicos: (1) combninacion de codigo y datos, ( 2 ) herencia y ( 3 ) encapsulacion.

Codigo+Datos=Objeto

Para entender los objetos es de gran utilidad pensar en terminos

metafisicos.Un aeroplano se puede describir en terminos fisicos

-el numero de pasajeros que puede albergar, el empuje que genera,

su coeficiente de resistencia, etc-.Como alternativa, un

aeroplano se puede describir en terminos funcionales -despega

,asciende y desciende, gira y aterriza, etc. Ni la descripcion

fisica ni la funcional por separado captan la escencia de lo que

es un aeroplano -son necesarias ambas descripciones.

Page 13: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

Type AEROPLANO = RECORD VELOCIDAD: WORD; ALT1TUD:WORD FLAPS:(ARRIBA,ABAJO); END ;

El comportamiento del aeroplano se definira por separado mediante procedimientos y funciones.

PROCEDURE ACELERA BEGIN

END; { . ........ )

PROCEDURE DESACELERA; BEGIN { . . . . . . . . . ) END;

PROCEDURE SUBEFLAPS; BEGIN { . ........ ) END;

PROCEDURE BAJAR FLAPS; BEGIN

END; { . ........ )

EN POO, LAS CARACTERISTICAS ,DATOS Y EL COMPORTAMIENTO ,SE

ABROPLANO EN FORMA DE OBJETO PUE LA SIGUIENTE. COMBINAN EN UNA ENTIDAD UNICA LL A OBJETO. LA DEFINICION DE UN

Page 14: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

TYPE AEROPLANO=OBJECT VELOC1DAD:WORD; ALT1TUD:WORD FLAPS:(ARRIBA,ABAJO); PROCEDURE INIC; PROCEDURE ACELERA; PROCEDURE DESACELERA; PROCEDURE ASCIENDE; PROCEDURE DESCIENDE; PROCEDURE SUBE FLAPS; PROCEDURE BAJAFLAPS; END;

Y EN ESTE CASO PARA LA DECLARACIQN DE UN PROCEDIMIENTO , TENEMOS EN CUENTA QUE LOS PROCEDIMIENTOS Y FUNCIONES DECLARADOS DENTRO DE UN OBJETO SE CONOCEN CON EL NOMB~E DE METODOS Y su ESPECIFICACION SERIA DE LA SIGUIENTE MANERA:

PROCEDURE AEROPLANO.INIC; BEGIN FLAPS:=ABAJO; VELOCIDAD:=O; ALTITUD:=O; END ;

REFIRIENDONOS EN EL PRIMER NOMBRq ANTES DEL PUNTO AL OBJETO Y DESPUES DEL PUNTO AL PROCEDIMIENTO O FUNCION DECLARADO DENTRO DE DICHO OBJETO.

LA HERENCIA:

AUNQUE LOS OBJETOS CONTIENEN SU$ PROPIOS METODOS Y DATOS

,TAMBIEN PUEDEN HEREDARLOS DE OTeOS OBJETOS. LA HERENCIA EN LA

PO0 TIENE RAICES EN EL CONCEPTOS DE REGISTROS ANIDADOS.

Page 15: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

EN SI NO VAMOS A ESTUDIAR LO QUE SON REGISTROS ANIDADOS,

SOLO VAMOS A TRATAR DE COMPRENDER COMO ES POSIBLE QUE UN OBJETO

PUEDE HEREDARLE A OTRO OBJETO TODAS SUS CARACTERISTICAS Y

PROPIEDADES.

ESTO AL PRINCIPIO ES UN POCO COMPLEJO DE ENTENDER Y MAS

CUANDO SE MANEJAN MUCHOS OBJETOS COMO ES EL CASO DE TURBOVISION.

VAMOS A ILUSTRAR LA SUIGUIENTE IDEA CON DOS OBJETOS:

UNO LLAMADO ALUMNOS Y OTRO LLAMADO PERSONA:

TYPE EDADES=0..150; PERSONA=OBJECT; APELLIDO:STRING[301; NOMMBRE:STRING[ZO]; EDAD:EDADES; PROCEDURE INIC; PROCEDURE ININOMBRE(NUEVONO~BRE,NUEVOAPELL:STRING);

GRADOS=O..lZ; ALUMNO=OBJECT(PERSONA) GRAD0:GRADOS; PROPESOR:STRING[ZO] PROCEDURE INIC; END;

AQUI SUPONEMOS QUE PERSONA ES UN OBJETO COMPUESTO DE DATOS

COMO SON APELLIDO, NOMBRE,EDAD Y PROCEDIMIENDOS LLAMADOS INIC Y

ININOMBRE (CORRESPONDIENTEMENTE UNO LIMPIA TODAS LAS VARIABLES Y

EL OTRO PIDE EL NOMBRE DE LA PER$ONA).

Page 16: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

152446 LO INTERESANTE COMIENZA CUANDO DECLARAMOS POSTERIORMENTE

OTRO OBJETO LLAMADO ALUMNO COMO OBJETO DE PERSONA, INDICANDO DE

ESTA MANERA QUE EL ALUMNO HEREDA TANTO PROCEDIMIENTOS Y

FUNCIONES, AS1 COMO DATOS TENGA PERSONA.

NOSOTROS PODREMOS TRATAR CON EL OBJETO ALUMNO ASIGNADOLE DATOS A

LOS CAMPOS HEREDADOS cono SI FUERA EL OBJETO PERSONA Y ADEMAS TAMBIEN ALIMENTANDO LOS CAMPOS EXTRAS COMO SERIA GRADO, PROFESOR

E INIC.

ESTE CONCEPTO FUE APLICADO $N LA ELABORACION DEL PAQUETE DE

FILTROS, AUNQUE AQUI VEREMOS UN EJEMPLO, YA PRACTICO .LO

TRATAREMOS DE EXPLICAR DE TAL FORMA QUE SE ENTIENDA COMO SE ESTA

MANEJANDO A NUESTRO INTERES TURBO VISION.

EL SIGUIENTE PROGRAMA, CORRBSPONDE AL MODULO LLAMADO

TVISUAL.PAS EL CUAL FUE CREADO BASO LA PILOSOPIA DE POO. Y EL

CONCEPTO DE UNIDADES.

Page 17: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

EL CONCEPTO DE UNIDADES SE BASA EN LA IDEA DE CREAR GRANDES PROGRAMAS EN BASE A LA MODULARIDAD. SIN ESTE CONCEPTO HUBIERA

SIDO PRACTICAMENTE IMPOSIBLE CREAR CUALQUIER PROGRAMA GRANDE.

UNA UNIDAD CONSISTE EN UN FORMATO DEL SIGUIENTE TIPO:

NOMBRE DE LA UNIDAD; INTERFACE { DECLARACION DE VARIABLES, PROCEDIMIENTOS Y FUNCIONES QUE SERAN DE USO PARA CUALQUIER OTRA UNIDAD (OSEA QUE SON PUBLICOS); 1

IMPLEMENTACION

{ VARIABLES Y PROCEDIMIENTOS PARA USO INTERNO DENTRO DE LA PROPIA UNIDAD QUE NO PUEDEN SER VISTOS POR OTRA UNIDAD (USO PRIVADO);

PRIVATE ~ ~~

(SIRVE PARA ENCAPSULAR CODIOO Y PROTEJERLO DE LA VISTA DE LOS USUARIOS)

END. {FIN DE LA UNIDAD}

UNA VEZ ESCRITOS NUESTROS PROGRAMAS, HAY QUE

CONVERTIRLOS EN UNIDADES USANDO EL FORMATO ANTERIOR, PARA PODER

POSTERIORMENTE ENLAZARLOS CON OTWA UNIDAD O PROGRAMA PRINCIPAL

POR MEDIO DE LA CLAUSULA USES-.

DURANTE LA COMPILACION SE TIENE OBLIGATORIAMENTE QUE DAR EL MISMO

NOMBRE A LA UNIDAD Y AL PROGRAMA QUE LA REPRESENTA, DE LO

Page 18: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

CONTRARIO EL COMPILADOR NO PODRA RELACIONAR EL CODIGO Y NO CREARA

UN ARCHIVO CON EXTENSION TPU (CODIGO OBJETO), QUE ES NECESARIO

PARA PODER LIGAR.

ESTE ES UN PROBLEMA MUY COMUN EN LA CONSTRUCCION DE

PROGRAMAS BAJO ESTE ESQUEMA, OSEA QUE HAY QUE TENER CUIDADO.

DENTRO DE ESTA VERSION DEL SIMULADOR , LA CUAL HEMOS

NOMBRADO COMO LA 1 . 0 , Y CONFORME SE DESARROLLE SU

PERFECCIONAMIENTO SERA MAYOR SU NUMERO REPRESENTATIVO.

TVISUAL.PAS ES UNA DE LAS 6 UNIDADES QUE CONFORMAN EL

PROGRAMA PRINCIPAL. EN SI ES UNA UNIDAD QUE INCLUYE MEDIANTE LA

CLAUSULA -USES- A UNIDADES QUE CqNTIENEN OBJETOS NECESARIOS PARA LA CREACION DE ENTORNO , LA SIMUiiACION Y GRAFICACION.

ESTO SE PUEDE VER ASI:

UNIDADES QUE CONTIENE OBJETOS PARA CREACION DE ENTORNO CONOCIDOS

COMO SOPORTE DE TURBOVISION:

APP,DRIVERS,MENUS,VIEWS

Page 19: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

UNIDADES QUE SOPORTAN EL MODO GRAFICO DE ALTA RESOLUCION Y MODO

TEXTO : DOS, CRT

UNIDADES ENCARGADAS DE LA SIMULACION MATEMATICA DE CADA FILTRO

CORRESPONDIENTE:

LEGFRDB,LAGUERR,LAGFR

UNIDADES ENCARGADAS DE LA SIMULACION GRAFICA DE LA SALIDA Y ERROR DE LOS FILTROS:

GLAGLEG,GLAGUERR;

UNIDADES QUE TIENEN LOS PROCEDIMIENTOS DE EDITAR Y VER ARCHIVOS:

VISUALCH;

UNIDADES QUE TIENE EL EQUIVALENTE NUMERIC0 DE LA TABLA DE

COMANDOS PARA EL MANBJADOR (HANDLEEVENT);

VI SUALCM;

Page 20: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

PARA PODER AGREGAR UNA NUEVA UNIDAD DE SIMULACION Y

GRAFICACION BASTA CON SOLO CREAR EL ARCHIVO TPU Y INCLUIRLA EN LA

CLAUSULA USES. EL UNICO PROBLEMA QUE HAY ES QUE CADA UNIDAD YA

CREADA NO PUEDE YA TENER MAYOR INFORMACION DEBIDO A QUE EL STACK

QUE NOS PROPORCIONA TURBO PASCAL TIENE UN LIMITE DE 64KB, Y PUEDE

SER SOBREPASADO DURANTE LA COHPI&ACION,DANDO UN ERROR DE

COMPILACION CONOCIDO COMO SEGMEN'IO DE DATOS DEMASIADO GRANDE.

ESO ES DEBIDO A QUE TURBO VISION Y LOS SIMULADORES MATEMATICOS

TIENE UNA COMPLEJIDAD ESPACIAL UN POQUITO GRANDE.

ESTE PROBLEMA YA ESTA RESUEUTO MEDIANTE EL USO DE LA FUNCION

EXEC, CORRESPONDIENTE A LA UNIDAD DOS, EJECUTADA EN EL PROGRAMA

MANAGER.

BUEN0,PODEMOS SEGUIR VIENDO QUE EN EL PROGRAMA

SIMPLEMENTE-UNA-APLICACION (TVISUAL.PAS), ESTAMOS MANEJANDO

CIERTAS DIRECTIVAS DE COMPILACIOM COMO SON $X,$M,$S QUE SIRVEN

PARA AHORRAR MEMORIA MEDIANTE UNA TECNICA CONOCIDAD COMO

OVERLAYS, QUE CONSISTE EN CREAR UNA MODULARIDAD DURANTE LA

COMPILACION, DE TAL FORMA QUE SOLO ESTARA EN MEMORIA LAS PARTES

DEL PROGRAMA QUE SE ESTEN UTILIZAINDO, CON EL FIN DE NO HACER UN

MAL GASTO DE MEMORIA, PARA LA CREkCION DE UNA FUTURA UNIDAD

TVISUAL?.EXE ESTAS DIRECTIVAS DEdEN SER TRANSCRIBIDAS Y

RESPETADAS.

Page 21: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

TENEMOS MAS ADELANTE UN OBJETO LLAMADO TAPLICTARJ QUE HEREDA

DIRECTAMENTE DEL OBJETO TAPLICATION PROCEDIMIENTOS COMO SON LA

CREACION DE UNA BARRA DE MENU, EL FONDO Y LAS CARACTERISTICAS DEL

ENTORNO EN PARTICULAR. SE PUEDE OBSERVAR QUE CIERTOS

PROCEDIMIENTOS TIENEN AL FINAL LA ABREVIACION DE VIRTUAL, ESTO

SIGNIFICA QUE SON PROCEDIMIENTOS QUE YA EXISTEN EN EL OBJETO

TAPPLICATION Y QUE EN CIERTA MANERA LOS NECESITAMOS REDEFINIR A

NUESTRA CONVENIENCIA, COMO SE VE POSTERIORMENTE, LO DIFICIL ES

QUE EL OBJETO TAPLICATION ESTA COMPUESTO DE MUCHOS OTROS, ALGUNOS

DE ELLOS VIENEN ENCRIPTADOS PARA LA SEGURIDAD DE TURBOVISION; POR

LO TANTO HAY QUE HACERNOS A LA IDEA QUE VAMOS A MENEJAR ALGUNAS

CUESTIONES A LAS CUALES NO PODEMOS ACCESAR.,LO CUAL FORMA PARTE

DE LA FILOSOFIA POO.

EN EL PROCEDIMIENTO TAPLICTARJ.II#ITSTATUSLINE TENEMOS LA CREACION

DE UN RECTANGULO DE DIALOGO EN LA PARTE INFERIOR DE LA PANTALLA Y

POSTERIORMENTE MEDIANTE LA FUNCION NEWSTATUSKEY PODEMOS INSERTAR

LOS PARAMETROS AL GUSTO DEL CLIENTE, O QUE VAYAMOS A NECESITAR EN

NUESTRA PRESENTACION. EL PRIMERO ES EL MENSAJE COMERCIAL QUE

QUEREMOS QUE APARESCA EN LA PANTALLA, EL SEGUNDO CORRESPONDE A

UNA TECLA INDICADA POR KB Y LA CQMBINACION DE TECLAS TIPO

CANDADO, EL SIGUIENTE ES UN COMANDO TAL QUE CM Y LA FUNCION O

PROCEDIMIENTO A EFECTUAR DESPUES DE HABER PULSADA LA TECLA

CORRESPONDIENTE.

Page 22: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

DE LA MISMA FORMA QUE ES CONTRUIDA LA BARRA DE AYUDA,

ES HECHO LA BARRA DE MENU, CON UNA CUARTA OPCION QUE DICE

HCNOCONTEXT, QUE SIGNIFICA QUE NO HABRA VENTANA DE SCROLL BAR

PARA AYUDAR POR EL MOMENTO.

DESPUES TENEMOS UN PROCEDIMIENTO LLAMADO

TAPLICTTARJ.HANDLEEVENT, QUE EN SI SE PODRIA VER COMO UN SIMPLE

CASE GIGANTE, EL CUAL RECIBE EL COMANDO CORRESPONDIENTE A LA

TECLA PULSADA.ESTE MANEJADOR DE EVENTOS DECODIFICA LA TECLA

PULSADA Y DECIDE QUE EVENTOS SERAN REALIZADOS, AQUI ESTA EL

CONTROL TOTAL DE LAS LLAMADAS AL ENTORNO DEL SISTEMA, AS1 COMO

LAS LLAMADAS A PROCEDIMIENTOS DE SIMULACION Y GRAFICACION. LA

EXPLICACION POR EJEMPLO DE LAGUEeR: SE INICIA EL ENTORNO Y UNA

VENTANA DE COLOR AZUL MODO TEXTO PARA POSTERIORMENTE HACER

LLAMADA AL PROCEDIMIENTO DE SIMUQACION MATEMATICA -LAGUERR, PARA

POSTERIORMENTE AL HABER GUARDADO LOS DATOS EN DISCO SE LLAMA AL

PROCEDIMIENTO DE GRAFICACION G-LAGUERR Y AL ULTIMO DBSPUES DE

SALIR DEL MODO DE ALTO RESOLUCION (640*480 PIXELS EN VGA) SE

RECONSTRUYA EL AMBIENTE DE ENTORNO.

AL ULTIMO TENEMOS NUESTRA FUNCIOM MAIN() DONDE DE INICIA, SE

EJECUTA Y SE LIBERAN TODOS LOS OBJETOS AL FINAL.

ESTO TIENE UNA GRAN SENCILL$Z Y UN PODER DE CONTROL ABSOLUTO

SOBRE CADA PROCESO.

Page 23: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

EL PROGRAMA MANAGER LLAMADO SIMULADOR USA DOS UNIDADES BASICAS

QUE SON LA UNIDAD DOS Y LA UNIDAD CRT;

LA UNIDAD CRT NOS PERMITE EL USO DEL MODO TEXTO PARA COMUNICARNOS CON EL USUARIO Y DARLE UNA INTERFACE AGRADABLE.

HACEMOS USO DE LA FUNCLON CASE QUE SIRVE PARA

DETERMINAR ACCIONES A PARTIR DE DIFERENTES OPCIONES. AQUI

NOSOTROS HACEMOS EL USO DE LA FUNCION EXEC ,PROPIA DE LA UNIDAD

DOS QUE NOS PERMITE CARGAR A LA YENORIA CUAlQUIER PROGRAMA

EJECUTABLE SI ES QUE SE NECESITA Y REEMPLAZARLO CUANDO YA NO. ,

ESTA FUE LA FORMA EN QUE SE DESIDIO EL PROBLEMA DE

INTEGRACION DE TODOS LOS SIMULAD~RES. Y DE ESTA FORMA SE ANADIRAN LAS PARTES QUE FALTEN.

Page 24: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

EL GRAPICADOR:

LA SIGUIENTE UNIDAD ES UN EJEMPLO DE COMO FUERON CONTRUIDAS LAS

FUNCIONES QUE GRAFICAN CADA SIMULACION.

EN ESTE CADA ES LA UNIDAD GLEGEND, LA CUAL TIENE EN EL INTERFACE EL PROCEDIMIENTO G-LEGENDRE, QUE ES EL ENCARGADO DE GRAFICAR Y LO COLOCAMOS AQUI PARA HACERLO PUBLICO A LAS DEMAS UNIDADES QUE LO

UTILICEN, DESPUES EN LA PARTE DE IMPLEMENTACION TENEMOS LA

DECLARACION DE VARIABLES TIPO BUFFER QUE SON SIMPLEMENTE ARREGLOS UNIDIMENSIONALES DONDE SERAN GUARDADOS LOS DATOS DE GRAFICACION

LEIDOS DE DISCO MEDIANTE LA RUTI~A GUARDA, ENCARGADA DE ABRIR EL ARCHIVO QUE NOS INTERESA GRAFICAd.

EL PROCEDIMIENTO INICIA ESTA ENCARGADO DE LIMPIAR

NUESTROS BUFFERS PARA CARGAR LOS DATOS.

EL PROCEDIMIENTO MODULO ESTA EiiCARGADO DE HACER LA

DETECCION DEL TIPO DEL HADWARE D@ VIDEO QUE ESTE DISPONIBLE PARA GRAFICAR Y POSTERIORMENTE QUE LO DETECTA ,ACTIVA EL MODO DE ALTA RESOLUCION (640*480 PIXELS). PARA POSTERIORMENTE TRAZAR LOS

PLANOS TRIDIMENSIONALES Y LOS EJES.

EL PROCEDIMIENTO DIBUJA SE ENCARGA DE IR LEYENDO LA

INFORMACION DE LOS BUFFERS E IRLA GRAFICANDO SOBRE LOS PLANOS A

PARTIR DE UN ORIGEN DADO, DE ACUERDO A LA EXPERIENCIA DE TRABAJO.

EL PROCEDIMIENTOS ESCALAS ESTA ENCARGADO DE RECONOCER

EL NUMERO DE PLANOS DE GRAFICACION, PARA ASIGNARLES SUS

CORRESPONDIENTES MEDIDADAS Y ESCALAS, AS1 COMO LOS COMENTARIOS

Page 25: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

. ,

CORRESPONDIENTES A CADA FILTRO PARTICULAR.

AL FINAL DE LA FUNCION MAIN() SE LIBERA EL MODO DE ALTA RESOLUCION PERMITIENDO VOLVER AL AMBIENTE DE TURBO VISION.

DE HECHO ESTE AMBIENTE ES RESTAURADO DESPUES Y CORRESPONDE AL

MODO DE TEXTO. LO COMPLEJO ES COMBINAR DOS MODOS DIFERENTES

PORQUE UNO SIEMPRE DESTRUYE LO QUE EL OTRO CREA, POR LO TANTO

SIEMPRE HAY QUE ESTAR RECONSTRUYENDO.

MANUAL DE USUARIO

Page 26: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

PRIMERAMENTE NUESTRO SIMULADOR VIENE EN DOS DISCOS.

EL DISCO DE 3 1 / 2 ALTA DENSIDAD SE UTILIZA PARA LA LECTURA Y SALIDA DE DATOS, PERO A PESAR DE SER DE ALTA DENSIDAD NO ALCANZA A CUBRIR NUESTRAS NECESIDADES.

EL DISCO DE 5 1/4 DE ALTA DENSIDAD (1.2M) CONTIENE EN SI LOS PROGRAMAS Y UNIDADES DE SIMULACI6N, GRAFICACION Y MANEJADORES DE ENTORNO INTEGRADO.

1.-COLOQUE AMBOS DISCOS EN SUS CORRESPONDIENTES DRIVES.

2.-CHEQUE QUE AMBOS DISCOS SE ENOUENTREN SIN PROTECCION, PUES ES NECESARIO DEBIDO A QUE SE INICIA LA LECTURA Y ESCRITURA.

3.-POSTERIORMENTE COLOQUESE EN Et, DRIVE A:\ Y TECLEE S=FILTRO <ENTER>

4.-APARECERA UN MENU ACERCA DE LQS FILTROS CON QUE CUENTA EL PAQUETE EN ESTE MOMENTO Y CON QU$ OPCION Y PRESIONANDO <ENTER>

TENEMOS QUE AGREGAR ALGUNOS PUNTOS COMO SON:

1. SE IMPLEMENTARA LA OPCION IMPRIMIR MEDIANTE UN ALGORITMO, YA

SERVICIO DEL S.0 UNICAMENTE PARAIEL MODO TEXTO. EN ESTE PUNTO SE INVESTIGA EL MAlkEJO DE LA IMPRESORA. PARA HACER LA CORRESPONDENCIA DE PUNTOS DE IMPRESION CON PIXELES DE PANTALLA.

QUE ESTANDO EN EL MODO DE ALTA R#SOLUCION UN PRINT SCREN ES UN

2 . SE ESTA CREANDO UN ALGORITMO EL CUAL SERA CAPAZ DE DETECTAR DESDE LA LECTURA A DISCO LAS COLWHNAS Y RENGLONES DE DATOS QUE

LEIDOS PARA PODER HACER AMPLIFICACIONES AUTOMATICAS. SERAN LEIDOS, ASI COMO EL IDENTI~ICAR EL MAXIUO Y MINIMO VALORES

Page 27: CBL148.206.53.84/tesiuami/UAM21571.pdf · CBL UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I ... operando en una configuración de identificación de sistema

>- , , , , , , . . I , , : / , ~ , . ~ . ,/ , I ! I , ' "

3. ESTA ES LA VERSION 1.0 Y SE SEGUIRA ACTUALIZANDO.

4 . LA CREACION DE UN ULTIMO ALGORITMO Y AYUDA CON SCROLL BAR.