programacion visual basic 6

Upload: aniuchip

Post on 10-Jul-2015

1.053 views

Category:

Documents


2 download

TRANSCRIPT

Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 0 PROGRAMACIN EN VISUAL BASIC 6.0 ORIENTADO A SISTEMAS DE CONTROL AUTOMTICO, PROCESAMIENTO DIGITAL DE SEALES y MATEMTICAS Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 1 PRESENTACIN Programacin?,Paraque?,sonseguramentelaspreguntasqueun estudiantedebehacersecuandoselopidenquesimulenunsistemade control,unfiltrodigital,ocualquierprogramadeestandole,enestecurso ayudaremosaenfrentaraestosproblemas,porqueavecesparecenbastante difciles de resolver. Laprogramacindesistemasdecontrol,filtrosdigitalesoalgn problemadematemticas,sonbastanteimportantes,yaquenospermitever lasimulacindedichossistemas,esdecir,Cmoposiblementesevana desempearcuandoseanimplementadosenlaprctica?Claro,paraelcaso de la matemtica, estos son exactos. Cuando realizamos una simulacin, debemos ver si esta est completa, esta bien programada, ya que sta es la labor que desempea un ingeniero, el ingeniero debe evaluar desde todo punto de vista las ventajas y desventajas de unsistemadiseado,nosolodebeseguirreglas,estoloharanmejorlos robots y/o computadoras. EneldesarrollodeestecursosevausarMicrosoftVisualBasic6.0, Porque?,debidoaqueesunlenguajedeprogramacindealtonivel,es orientadoaobjetos,permitecrearaplicacionesdeltipowin32demanera sencilla y rpida. Paraeldesarrollodesuponequeunestudiantetienenocionesbsicas deprogramacin,mejoraunsisabenprogramarenotroslenguajesde programacin, ya que esto facilitar el aprendizaje. Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 2 I.TEMAS A TRATAR: PROGRAMACIN DE APLICACIONES BASICAS PROGRAMACIN DE ALGUNOS PROBLEMAS MATEMTICOS PROGRAMACIN DE SISTEMAS DE CONTROL PROGRAMACINPARAPROCESAMIENTODIGITALDE SEALES II.OBJETIVOS: Daraconocerlaprogramacindelostemasmencionadosalos estudiantes, para que lo apliquen y practiquen. III.EQUIPO Y SOFTWARE Hardware: Una computadora personal. Software: Visual Studio 6.0-> Visual Basic 6.0 IV.FUNDAMENTO TERICO DE LOS TEMAS A TRATAR 1.PROGRAMACIN EN VISUAL BASIC 6.0 LaprogramacinenVisualBasic(VB)essencilla,quetieneun entornogrficoelcualnospermitemanipularbotones,cuadrosde imagen,cuadrosdetexto,entremuchosotros,ademsVisualBasic manejainstrucciones,funciones,palabrasclaveentreotrasconlas cualesnospermitecrearcasicualquiertipodeaplicacionesparael entorno de Microsoft Windows. 2.PROGRAMACION DE PROBLEMAS MATEMTICOS Laprogramacinmatemticaencualquierlenguajede programacinnoespecializadoenmatemticasnoestansencilla,ya seanmatrices,grficas,mximocomndivisor,multiplicacinysuma de polinomios, factor primo, binomio de Newton, factorial, ente otros. 3.PROGRAMACIN DE SISTEMAS DE CONTROL Para programar sistemas de control se requiere conocero tener nocionesdeModelamientoMatemtico,EcuacionesDiferencialesyen Diferencias,TransformadadeLaplaceyZ,Arrays,Polinomios, SistemasdeControl(respuestaaEscaln,diagramasdeBode, Controladores PID, entre otros) Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 3 4.PROGRAMACIN PARA PROCESAMIENTO DIGITAL DE SEALES Pararealizarprogramasrelacionadosaprocesamientodigitalde sealesserequieretenernocionesdeEcuacionesenDiferencias, TransformadaZ,Muestreo,convolucinycorrelacin,filtrosdigitales, FFT, entre otros 5.METODOLOGA DE DESARROLLO DEL CURSO Lostemasmencionadosenloscuatropuntosanterioresse desarrollarnenestecurso,conjuntamenteconlosparticipantes.No solosedesarrollarnprogramas,seabordarntambinlacreacinde: libreras de clase, funciones, controles Activex. Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 4 V.PROGRAMACIN EN VISUAL BASIC Iniciando la creacin de aplicaciones sencillas: Para iniciar Visual Basic ir a: Inicio->Programas->Microsoft Visual Studio 6.0->Microsoft Visual Basic 6.0 Aparecer la siguiente ventana: Para empezar a desarrollar aplicaciones sencillas seleccionamos: EXE estndar (EXE estndar es una aplicacin que se puede compilar) en la ventana de Nuevo Proyecto, luego seleccionamos Abrir: Aparecer la ventana que se muestra en Fig.3: Fig.1 Fig.2 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 5 Primer programa: DesarrollaremosunpequeoprogramaquenospermitaEscribir mensajes y recibir saludos: Empezamosdibujandotresbotones(CommandButton),tresetiquetas (Label),unacajadetexto(Textbox)(Fig.4),detalmaneraquelos controles estean distribuidos de forma parecida a la mostrada en Fig.5.

Cada control tiene propiedades (vase Fig.6):Fig.4 Fig.5Fig.3 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 6 Siendo la propiedad ms importante el (Nombre), ya que sta se usar para identificar durante la programacin. TambinlapropiedadCaptionesimportante(vaseFig.7)vealoque sucede cuando se cambia dicha propiedad (Fig.8).

Con dicho conocimiento asigne los siguientes valores a las propiedades de los diferentes controles que se han dibujado: Control(Nombre)PropiedadValor de Propiedad Form1CaptionPrimer Programa Label1CaptionNombre Label2Caption Label3Caption CommandButton1CaptionSaludo CommandButton2CaptionMensaje CommandButton3CaptionSalir Cuando termine de asignar dichas propiedades, el formulario quedar as como se muestra en la Fig.9. Fig.7Fig.8 Fig.9 Fig.6Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 7 Luegoescribimoselcdigofuente,paraellopodemosseleccionar en la ventana explorador de proyectos o mas directamente hacerdobleclicsobreelcontrolalquesequiereagregarcdigo, empezamos con el Boton Saludo: Enseguida agregamos cdigo a Mensaje: Finalmente agregamos cdigo a Salir: Luego ejecutamos presionando la tecla F5 o bien un click en, entoncestenemosloquesemuestraenFig.10,luegoescribimos nuestronombreyhacemosclickenSaludo,luegoclickenMensaje (Fig. 11), y para salir hacemos click en Salir, o en:

Que les pareci? Bastante sencillo verdad? Programa 2: Insertamoscontrolesdemaneraquequedendispuestostalcomose muestra en Fig.12: UsaremosunnuevocontrolllamadoCheckBox,elcualnospermite realizar programas donde sean necesarios hacer selecciones mltiples. Tambin usaremos el control llamado Frame, llamado tambin Control Contenedor,elcualnospermiteagrupardemaneravisualvarios controles. Private Sub Command1_Click() Nom = Text1.Text Label2.Caption = "Hola " & Nom & ", Bienvenido a Visual Basic" End Sub Private Sub Command2_Click() Label3.Caption = "Visual Basic es bastante sencillo y tu lo aprenders rpidamente" End Sub Private Sub Command3_Click() End End Sub Fig.10Fig.11 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 8 Luego asignamos los valores a las propiedades de cada uno de los controles que se han insertado. Control(Nombre)PropiedadValor de Propiedad Form1CaptionLo que quiero aprender a Programar Label1CaptionNombre : Text1Text CommandButton1CaptionCapturar CommandButton2CaptionSalir Frame1CaptionLo que quiero programar Check1CaptionProgramas Bsicos Check2- Check10Caption(Tal como se muestra en Fig.12) Text2Text CommandButton3CaptionAceptar Con este programa aprenderemos a cambiar la propiedad ForeColor de ciertos controles, en este caso de los Check (vase Fig.13). Fig.12Fig.13Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 9 El cdigo fuente de la aplicacin se agregar en clase. El resultado debe ser parecido a lo que se muestra en Fig.13. EscribimosnuestroNombre,luegoclickenCapturar,enseguida seleccionamos lo que deseamos aprender y finalmente si hacemos click en Aceptar saldr un cuadro de dilogo con un mensaje (Fig.14): Programa 3: A continuacin desarrollaremos un programa para manejo de cadenas de texto, para ello insertaremos los siguientes controles: 2 Label (etiquetas) 5 Text box (cajas de texto) 5 CommandButton (botones) De tal manera que queden dispuestos tal como se muestra en Fig.15 (El valordelapropiedadCaptiondelosBotones,etiquetasdebenser cambiados tal como aparecen en la figura) (revise el ejemplo anterior): Elcdigofuenteseagregarduranteeldesarrollodelcurso,cuandoejecutemos, el resultado debe ser parecido al mostrado en Fig.16: Fig.14Fig.15Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 10 Esteejemploesmuytil,yaquenospermitirdesarrollarprogramas que realicen operaciones con polinomios y matrices. Programa 4: Enseguidadesarrollaremosunprogramaquenospermitirrealizar operacioneslgicasbinariascomoson:AND,ORyXOR,comose suponeestoimplicaelusodetablas,paraellousaremosunnuevo componentellamadoMSFlexGrid,juntoaestoaprenderemosa manipulararraysunidimensionalesybidimensionales,paraello insertamos los siguientes controles: 1 Label (etiqueta) 2 Frame (Controles contenedores) 3 OptionButton (botones de opciones) 3 CommandButton (botones) 2MSFlexGrid(Tablas),siendonecesarioagregarelcontrol MSFlexGridenlaventanadecontroles,paraellosedebeseguirel procedimiento que se da a continuacin: Botnderechosobrelaventanadecontroles,luego seleccionar Componentes , tal como se muestra en Fig.17: Fig.16Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 11 Luego aparecer la ventana que se muestra en Fig. 18, all se debe seleccionar Microsoft FlexGrid Control 6.0, finalmente click en Aceptar: En la ventana de controles aparecer el icono MSFlexGrid: Fig.17 Fig.18Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 12 Con esto hemos acabado de agregar un nuevo control. Una vez insertado las Tablas, se debe fijar las dimensiones de las mismas,laprimeraTablatendr4filasy2columnas(Fig.22), esto lo fijamos en el cuadro que aparece en Fig.21, dicho cuadro aparecercuandoseleccionamos(Personalizado),estoenla ventana de propiedades (Fig.20): Fig.19 Fig.20 Fig.21Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 13 Para la segunda Tabla hacemos lo mismo, pero en este caso solo tendr 1 columna y 4 filas (Fig.22). Unavezterminadoeldiseo,elformulariodeberquedartalcomose muestraenlaFig.22,porsupuestolapropiedadCaptiondelos diferentes controles deben ser cambiados. Nota: para que la etiqueta de los botones aparezca como p.ej. Salir en la propiedad Caption se debe escribir: &Salir Luegoseagregarelcdigo,yfinalmenteelprogramaejecutadodebe tener la apariencia de la Fig.23. Trabajo:averiguarcomosepuedemodificarelanchoyaltodelas celdas. Fig.22Fig.23Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 14 Programa 5: Conesteltimoprogramabsicoaprenderemosagraficarfunciones matemticas, para ello insertamos los siguientes controles: 2 CommandButton (botones) 1 PictureBox (cuadro para imgenes) El formulario debe quedar parecido a la que se muestra en la Fig.24: Luego implementaremos el cdigo, el programa ejecutado debe ser como tal como se muestra en la Fig.25: Nota: La funcin que se ha graficado es: F(i) = Sin(i)+0.5*Sin(3*i) Fig.24Fig.25Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 15 VI.PROGRAMACIN DE PROBLEMAS MATEMTICOS Laprogramacindeproblemasmatemticosnospermitirtenerunavisin masclaradecmoseprogramanlasdiferentesoperaciones,frmulas, propiedades, etc. que existen en la matemtica. Losprogramasquesedesarrollarnnospermitirnentendereimplementar programas mas avanzados, como son los sistemas de control y procesamiento digital de seales. En este curso bsicamente abordaremos los siguientes puntos: Factorial, binomio de Newton (sc) y trinomio (opcional).Mximo comn divisor. (opcional) Multiplicacin y suma de matrices, determinante de matrices.(sc & pds) Multiplicacin y suma de polinomios. (sc) Graficador de Funciones matemticas: escala lineal y logartmica.(sc & pds) Detector de races de funciones matemticas explcitas. (opcional) Funciones trigonomtricas (series de McClaurin) (opcional) Series de Fourier de Funciones Peridicas. (opcional) Teorema de Fermat. (opcional) Truco y otros. (opcional) Lospuntosalosqueseagregaron(opcional),nosedesarrollarenclase. Adems: sc: Sistemas de Control pds: Procesamiento Digital de Seales Factorial, binomio de Newton y trinomio: Implementaremosunprogramaquepermitarealizarlasoperaciones mencionadasenelsubttulo,juntoaelloaprenderemosacrear funciones. Para este ejemplo insertamos los siguientes controles: 4 botones 3 etiquetas 6 cajas de texto 2 lineas Los controles los insertamos de tal manera que quede parecida a Fig.26. Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 16 Luego le agregaremos el cdigo. Fig.26 Fig.27 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 17 Ahoraaprenderemosaagregaremosfunciones,paraelloseguimosel siguiente procedimiento: 9En la barra de men seleccionamos Herramientas. 9Luego Agregar procedimiento 9Enseguida se mostrar la siguiente ventana: Enestaventanaescribimoselnombredelafuncin,tambin seleccionamossivaserprivadoopblico,paranuestrocasoel Nombre:serFac,estodebidoaqueestafuncinobtendrla factorialdeunnmero,enTiposeleccionaremosFuncin,yen AlcanceseleccionaremosPblico,talcomosemuestraenla siguiente figura: 9Luego Aceptar. En la ventana de cdigo se agregar automticamente lo siguiente: Luego le modificamos para que quede de la siguiente manera: Public Function Fac() End Function Fig.29Fig.28Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 18 Creamos una segunda funcin llamada Com, que se usar para realizar la combinatoria de 2 nmeros, esto deber tener la siguiente forma. Luego agregamos el cdigo correspondiente para que pueda desarrollar elbinomiodeNewtonyelTrinomio.Tambincrearemosunatercera funcin,estoserparaarreglarlapresentacindeldesarrollodel binomio y del trinomio, esto se desarrollar junto con los participantes. Las cajas de texto en las que se mostrarn los resultados del Binomio y Trinomio tienen la propiedad Multiline en verdadero (True) (vase Fig. 30) lo que quiere decir que se puede mostrar varias lneas en la misma caja. Aqu aprenderemos a usar la instruccinvbCrlf

Losresultadosdelprogramaserncomolosquesemuestranenla Fig.27. Multiplicacin y Suma de Polinomios: Esteesunodelosprogramasmsimportantesparacomprenderlos SistemasdeControl(yaqueallsetrabajanconexpresiones polinmicas en s donde s es el operador de Laplace) Con este programa aprenderemos a crear mdulos. Nota:unmdulocontienerutinas/funcionesgeneralesyre-usables. El mismo mdulo puede ser usado en varios programas.Paraagregarmdulosanuestroprogramaprocedemosdelasiguiente manera: Public Function Fac(ByVal pp As Double) If pp = 0 Then Fac = 1 Else Fac = pp * Fac(pp - 1) End If End Function Public Function Com(ByVal nn As Double, ByVal mm As Double) Com = Fac(nn) / (Fac(nn - mm) * Fac(mm)) End Function Fig.30Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 19 Vamosalaventanadeproyecto,hacemosClicconelbotn derechodelMousesobreForm1,luegoseleccionamosAgregar, luegoseleccionamosMdulo(Fig.31),enseguidasedisplayala ventanamostradaenFig.32,dondeseleccionamosAbrir,luego enlaventanadeproyectoaparecerunanuevacarpetacon nombre Mdulos. Fig.31, Fig.32 y Fig.33. Paraagregarcdigoenelmdulosimplementehacemosdoble click en Module1 (Module1). Fig.31Fig.32 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 20 Para este programa se implementarn los mdulos siguientes: Mdulo Vector Mdulo detectar sumas Mdulo detectar productos Mdulo multiplicar polinomios Mdulo sumar polinomios Mdulo multiplicar y Mdulo sumar MduloVector:seusaparaconvertirunaexpresindelaforma vectorial: [3 5 2]3*x^2+5*x+2 a un array. Const(2)=3 3*x^2 Const(1)=5 5*x Const(0)=2 2 Gra= 2Grado del polinomio Mdulo detectar sumas: se usa para encontrar los diferentes sumandos que puede tener una expresin, por ejemplo: [3 5 2]*[1 2 3]+[2 1 5]*[3 6 1]+[5 2] La expresin anterior lo desglosa en cadenas de sumandos, es decir: Sum(1)= [3 5 2]*[1 2 3] Sum(2)= [2 1 5]*[3 6 1] Sum(3)= [5 2] Num_sum= 3 nmero de sumandos Mdulodetectarproductos:seusaparaencontrarproductosque puedan haber en una expresin polinmica, por ejemplo: Sum(1)= [3 5 2]*[1 2 3]* [2 1 5]*[2 1] La expresin anterior lo desglosa de la siguiente manera: Mul(1)= [3 5 2] Mul(2)= [1 2 3] Mul(3)= [2 1 5] Mul(4)= [2 1] Num_pro=4numero de multiplicandos Mdulo multiplicar polinomios: multiplica 2 polinomios, por ejemplo se quiere multiplicar las siguientes expresiones: Fig.33 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 21 Mul(1)= [3 5 2] Mul(2)= [1 2 3] Mul(3)= [2 1 5] Mult_pol Mul(1),Mul(2)Multiplicacin Res(1)= [3 11 21 19 6]Resultado 1 Mult_pol Res(1),Mul(3)Multiplicacin del resultado y la tercera expresin Res(2)= [6 25 68 114 136 101 30]resultado final Mdulosumarpolinomios:sumadosexpresionespolinmicas,por ejemplo se desea sumar las siguientes operaciones: Sum(1)= [1 5 4] Sum(2)= [6 3] Sum_pol Sum(1),Sum(2) Suma Sum(1) y Sum(2) Res= [1 11 7]Resultado de la suma Mdulosmultiplicarysumar:simplementerealizanoperaciones complejas que involucran sumas y productos a la vez, por ejemplo: [3 5 2]*[1 2 3]+[2 1 5]*[3 6 1]+[5 2] Res= [9 26 44 55 13] Para ello hace uso de los 5 mdulos anteriores. El resultado final ser un programa que tendr la apariencia parecida a la mostrada en Fig.34. Tarea: Desarrollar mdulos que reconozcan expresiones con parntesis, por ejemplo: [1 2 3]*([1 5 2]*([1 5 3 1]+[1 9 6 2])+[9 5 1]) Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 22 Multiplicacin, suma, determinante de matrices: Implementaremos los siguientes mdulos: Mdulo para identificar matrices. Mdulo para obtener determinante Mdulo para multiplicar matrices Esteprogramanospermitirobtenerladeterminantedeunamatriz cuadrada de dimensiones NxN. LamultiplicacinserealizaparamatricesdeMxNyNxP,quedando como resultado una matriz de dimensin MxP. El diseo del programa debe ser parecido al que se muestra en Fig.35, allpodemosverquelasmatricesseingresancomosifuerantexto,el mduloqueloconvierteenmatrizesjustamenteelMdulopara identificar matrices. El resultado tanto de la multiplicacin como de la sumasemuestraenunformatoparecidoalasmatricesdeentrada, esto es cuestin de arreglar y ordenar los componentes de la matriz que resulta despus de la operacin. Fig.34 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 23 Tarea: agregar la Funcin Inversa(A), el resultado debe ser como se muestra: Fig.35Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 24 Programa Graficador de Funciones Matemticas (escala lineal y logartmica): Sedesarrollarunprogramaquegrafiquecualquierfuncin matemtica,yaseaenescalalinealologartmica,esteprograma tambinesdemuchaimportancia,yaquenospermitirgraficarla respuestaalescalnunitario,lasgrficasdebode(Sistemasde Control),ademsparalarespuestasdelosfiltrosdigitales,entre otros que se desarrollarn en el transcurso del curso. Esteprogramatambinsercapazdedetectarelmximoy mnimovalordeunafuncin,yenbaseaellolaescalaverticalser automtica y la escala horizontal ser dada y se podr elegir entre lineal y logartmica. Se har uso de un nuevo componente: ScriptControl, el cual nos permitir evaluar una funcin cualesquiera.Tambinunadelascaractersticasesquelavariable,rango, paso,ylafuncinseingresanenunamismacajadetexto,aqu procedemosdemanerasimilaralprogramaanterior(Operacionescon matrices) para identificar, cual es cual. LosresultadosdebenserparecidosalosmostradosenFig.37y Fig.38. Fig.37Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 25 Para el caso de la escala lineal, el rango se define como sigue: F=0:0.1:50 Lo que significa es que: -El lmite inferior horizontal ser: 0 - El lmite superior horizontal ser: 50 - El paso ser cada: 0.1esto para fines de graficar Para el caso de la escala logartmica, el rango se define como sigue: w=-1:0.01:3 Lo que significa es que: -El lmite inferior horizontal ser: 10^(-1) - El lmite superior horizontal ser: 10^3 - El paso ser cada: 10^(0.01) esto para fines de graficar Fig.38Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 26 Programa para convertir un nmero con Punto Flotante en Binario (ANSI/IEEE Std. 754-1985) (32bits: Single Point): Insertar, ordenar y arreglar controles, de tal manera que se parezca a la Fig.39. La representacin con punto flotante es similar a la notacin cientfica, excepto que se trabaja en base 2, en lugar de base 10. El formato ms comnesANSI/IEEEStd.754-1985.Esteestndardefineelformato paranmerosde32bitsllamadosdeprecisinsimple,tambinexiste para nmeros de 64 bits llamados de precisin doble. Estos32bitsformanelnmeroconpuntoflotante,v,mediantela siguiente relacin: ) 127 (2 ) 1 ( =E SM v Donde: S es el valor del signo, M es el valor de la mantisa, y E es el valor del exponente. Los 32 bits se dividen en tres grupos: -Los bits del 0 al 22 forman la mantisa -Los bits del 23 al 30 forman el exponente (0 al 255) -El bit 31 es el signo (0: positivo y 1: negativo) Ejemplo: 00000011111000000000000000000000 36 127 710 316554 1 2 75 1 + = + . .) ( + 70.75 La mantisa tiene la siguiente forma: K + + + + + = 3193202211222 2 2 2 1 m m m m MFig.39Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 27 Lodescritohastaahorapermitircomprenderlarepresentacinen binariodelosnmerosconpuntoflotantedeprecisinsimple,esto mismo se implementa en el programa para finalmente tener el resultado mostrado en la Fig.40. Prefijos usados para nombrar a los objetos o controles: PrefijoTipo de Objeto o Control cboComboBox chkCheckBox cmdCommandButton dirDirListBox drvDriveListBox filFileListBox fraFrame frmForm grdGrid hsbHScrollbar imgImage lblLabel linLine lstListbox mnuMenu modModule oleOLE optOptionButton picPictureBox resResource shpShape tmrTimer txtTextBox typUser-defined data type vsbVScrollbar Fig.40Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 28 VII.PROGRAMACIN DE SISTEMAS DE CONTROL: 1.CONTROL DE PROCESOS DINMICOS Variables en un Proceso: Estudiarelcomportamientodeunprocesoesanalizarlas variables involucradas y sus relaciones entre ellas. Vase Fig. 41 Las variables pueden ser: oExternas o entradas: Son determinados por otros procesos o por el ambiente donde se encuentra el proceso. Variablesmanipuladasodecontrol:u,Sisonusadas para influir en la dinmica del proceso. Perturbaciones: d, Si son no controlables provenientes de otros subsistemas. oInternas: Son dependientes de las entradas al proceso. Estamos interesadosenevaluarelcomportamientodeestasvariablesdel proceso: Salidasovariablesmedidas:y,Sisonsensadasy proporcionan informacin de la evolucin del proceso. Variables controladas: z, Si los objetivos de control estn basados en ellos. Pueden ser salidas o no. Variablesdeestado:x,mnimoconjuntodevariables internasquepermitenlacomputacindecualquierotra variable interna si las entradas son conocidas. Objetivos del Control: Elobjetivodeunsistemadecontrolesforzarunconjuntodado de variables de proceso, para que se comporten de una manera deseada y prescrita, cumpliendo para ello algunos requerimientos en el dominio del tiempo o en el dominio de la frecuencia. Los siguientes son objetivos del control: Regulacin (rechazo de las perturbaciones) Seguimiento de referencia. Fig.41Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 29 Generacindeunasecuenciadeprocedimientos(Parael encendido y apagado). Adaptacin (Cambiando algunos parmetros ajustables). Deteccin de defectos o faltas (Para evitar daos al proceso o proporcionando re-configuracin). Supervisin(Cambiandolascondicionesdeoperacin,la estructura o los componentes). Coordinacin (Proporcionando Puntos fijos) Aprendizaje(Extrayendoalgunosconocimientosdela experiencia). Modos de operacin del Control: Cualquierprocesocontroladopuedeoperarenunavariedadde situacionestalescomoencendido/apagado,transferenciadeciertas condiciones de operacin a otras nuevas, o bajo la gua de un operador. Todo esto significa diferentes modos de operacin requiriendo para ello diferentes estrategias de control:

oControl Manual: Si las variables manipuladas son determinadas por el operador. oControlAutomtico:Dondelasvariablesmanipuladasson gobernadas por el controlador, puede ser logrado de dos formas: Controlenlazoabierto:Nohayretroalimentacindel proceso y las variables de control son determinadas por el sistemadecontrolbasndoseenlainformacin proporcionadaporeloperadorolasmedidasdelas entradas. Controlenlazocerrado:Elcontroladordeterminalas variablesmanipuladasbasndoseenlasreferenciasylos objetivosintroducidosporeloperadorylasmedidasdel proceso. 2.PRINCIPIOS DE MODELAMIENTO DE UN PROCESOS DINMICO Modelos dinmicos Empricos y Tericos: Losmodelosdinmicosdescribencmocambiael comportamiento de un proceso con el tiempo. Losmodelosempricossonesencialmenteformasdecurvasdel comportamientodelprocesoobservado,comotal,puedenser desarrolladosrelativamenterpidos.Sonmodelosqueseaproximanal proceso, pero ste modelo no describe al proceso. Los modelos tericos son derivados a partir de principios fsicos, qumicos,elctricosomecnicos,sonmodelosquesdescribenal proceso. La desventaja est en obtenerlos, ya que son desafiantes yse requiere de bastante tiempo. Variables conservadas y ecuaciones de conservacin: Losmodelosseobtienenapartirdelasecuacionesde conservacin. Las variables que se conservan en un proceso son: Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 30 -Masa. -Masa del componente i (balance de especias). -Energa. -Momentum. El balance de las ecuaciones de conservacin se obtienen a partir de la siguiente definicin: Acumulacin = Entrada Salida + Generacin Consumicin Buena prctica de Ingeniera de procesos y de control: Implica los siguientes pasos: -Figura del proceso con etiquetas apropiadas. -Unidades usadas en el modelo. -Asunciones hechas en la obtencin del modelo. -Detalles de la derivacin del modelo paso-a-paso. -Unaecuacindiferencialfinalquedescribaalmodelo dinmico, incluyendo las condiciones iniciales Un ejemplo sencillo: El proceso mostrado en Fig.42 es un tanque que tiene un lquido fluyendo de la parte superior, saliendo del tanque por la parte inferior. Como las variables lo indican, la tasa del flujo de la entrada tanto como el de la salida cambian con el tiempo. El rea transversal del tanque es constante,masnolaaltura,loqueimplicaqueelvolumendeltanque es cambiante y est relacionado con la altura del mismo. Figura del proceso con etiquetas apropiadas: Variables con unidades: -Flujo de entrada del lquidos m t F / ] [ ) (3=-Densidad del lquido 3/ ] [ ) ( m Kg t = Fig.42Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 31 -Nivel de la altura del lquidom t h ] [ ) ( =-rea transversal del tanque 2] [ m AC =-Volumen del lquido 3] [ ) ( m t V =-Tiempos t ] [= Asunciones: -El proceso de modelado es restringido por el volumen y el flujo del lquido. -El lquido puede entrar y salir del tanque slo a travs de las corrientes de flujo mostrados (no por evaporacin). -El rea transversal del tanque es constante. -Los lquidos son incompresibles y as la densidad es constante = = = ) ( ) ( ) (1 0t t t Detalles paso-a-paso: Desarrollando el balance de masa para este proceso: -Masa que se acumula:( )dtt V t d ) ( ) ( -Masa que ingresa:) ( ) (0 0t F t -Masa que sale: ) ( ) (1 1t F t -No se genera ni consume la masa. Usando la definicin de balanceo y las asunciones, se obtiene: ) ( ) () (1 0t F t Fdtt dV = Sabiendo que: ) ( ) ( t h A t VC= Luego tenemos la siguiente ecuacin diferencial, que es el modelo matemtico del tanque: ) ( ) () (1 0t F t Fdtt dhAC = Comosesabe,unaecuacindiferencialsincondicioneslmites y/o iniciales es incompleta. Para modelos dinmicos usados en el procesodecontrol,lascondicionesmastilessonlas condicionesiniciales,oaquellasquesedefinenlacondicindel procesoenuntiempo( 0 = t ).Supongamosqueconocemosla altura inicial del lquido que es (sh ), o: sh h = ) 0 ( Elmodelodinmicodelprocesoconcondicionesinicialesse convierte en: s Ch h donde t F t Fdtt dhA = = ) 0 ( ) ( ) () (1 0 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 32 El flujo de salida puede ser proporcional a la altura, o bien a la razcuadradadelaaltura(siendosteltimodemayor precisin). Caso 1: s Ch h con t h t Fdtt dhA t h t F = = = ) 0 ( ) ( ) () () ( ) (1 0 1 1 Comosepuedeverelmodeloesunaecuacindiferencial lineal. Caso 2: s Ch h con t h t Fdtt dhA t h t F = = = ) 0 ( ) ( ) () () ( ) (2 0 2 1 En ste ltimo caso el modelo se convierte en una ecuacin diferencial no lineal. 3.LINEALIZACIN DE MODELOS NO LINEALES: La linealizacin consiste en aproximar una funcin no lineal por una funcin lineal, esto no es mas usar la expansin en series de Taylor de la funcin no lineal, pero truncadas en la primera derivada. Lalinealizacinnospermitirdisearcontroladoresparaun cierto proceso con ciertas condiciones iniciales. Linealizacin de funciones con una variable: Una funcin no lineal:)] ( [ t x Fpuede ser aproximado por: ] ) ( )[ ( ) ( )] ( [s s sx t x xdxdFx F t x F + = Linealizacin de funciones con dos o ms variables: Una funcin no lineal:)] ( , ), ( ), ( [2 1t x t x t x FnLpuede ser aproximado por: ] ) ( )[ , , , (] ) ( )[ , , , (] ) ( )[ , , , ( ) , , , ( )] ( , ), ( ), ( [2 12 2 2 121 1 2 112 1 2 1ns n ns s sns ns s ss ns s s ns s s nx t x x x xxFx t x x x xxFx t x x x xxFx x x F t x t x t x F++++ =LLLL L L Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 33 Ejemplo de aplicacin: Sea la ecuacin diferencial no lineal de primer orden: sx x con k t x Fdtt dx= + = ) 0 ( )] ( [) ( Reemplazando la aproximacin de la funcin)] ( [ t x Fen la ecuacin diferencial, y evaluando en t=0, se tiene: k x F k x x xdxdFx Fdtdxsx xs s ss = + + = ==) ( ] ) 0 ( )[ ( ) ( 0) 0 () 0 ( 04 4 4 3 4 4 4 2 1Q Lo que nos lleva a: s s s ssx t x t X con t X xdxdFdtt dXx t x xdxdFdtx t x d = = =) ( ) ( ) ( ) () (] ) ( )[ (] ) ( [ Transformndose as ODE no lineal en una ODE lineal: ) ( ) () (sxdxdFk con t kXdtt dX= = ODE: Ordinary Differential Equation Ecuacin diferencial Ordinaria Como se pudo ver la linealizacin de modelos matemticos en muy til. Aplicacin de la linealizacin para la obtencin de Ecuaciones de Estado Lineales: Sea el conjunto de ODEs no lineales que describen un proceso: p k t t u t x g t ym j n i t t u t x fdtt dxj i i kj i ii, , 1 ) ), ( ), ( ( ) (, , 1 , , 1 ) ), ( ), ( () (LL L= == = = Para llevar ste conjunto de ecuaciones no lineales a variables de estado lineales de la forma: u D x C yu B x Adtx d+ =+ = Se procede de la siguiente manera: Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 34 m j p i u xugdn j p i u xxgcm j n i u xufbn j i u xxfajiijjiijjiijjiij, , 1 , , 1 ) , (, , 1 , , 1 ) , (, , 1 , , 1 ) , (, , 1 , ) , (0 00 00 00 0L LL LL LL= === === ==== Donde0ues el punto de equilibrio, y 0xson las soluciones de 0 ) , (0= x u f . 4.SIMULACINDEPROCESOSDINMICOSY/OSISTEMASDE CONTROL NO LINEALES Y LINEALES: Supongamosquetenemoselmodelodinmicodeunprocesono lineal/lineal: ) 1 . 4 () ), ( ), ( ( ) () ), ( ), ( () (L)`==t t r t x G t yt t r t x Fdtt dx Comosabemoslacomputadoranopuederesolverecuaciones diferencialesnolinelaes,nosotrosdebemosfacilitarleelasunto,para resolverecuacionesdiferencialesnolinealesexistenmtodos numricos: Mtodo de Euler: ConelmtododeEuler,eltrminoderivativo dtt dx ) (delaecuacin anterior se aproxima por: hkh x h kh x ) ( ) ( +, donde h es llamado paso de integracin La ecuacin 4.1 queda de la siguiente forma: ) ), ( ), ( () ), ( ), ( () ( ) (kh kh r kh x G ykh kh r kh x Fhkh x h kh x== + Reescribiendo tenemos: ) 2 . 4 () ), ( ), ( () ), ( ), ( ( ) ( ) (L)`=+ = +kh kh r kh x G ykh kh r kh x hF kh x h kh x Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 35 Parak=0,1,2,elvalordelvector) 0 ( x eslacondicininicialyse asumequeesconocido.Paragenerarlarespuestadelossistemasno lineales/linealesalaentrada) (kh r seprocedeacalcular recursivamente) 3 ( ), 2 ( ), ( h x h x h x . Laecuacin4.2esfcildeimplementarencualquierlenguajede programacin. Mtodo de Runge-Kutta: MientrasqueelmtododeEuleresfcildeentendere implementar en cdigo, algunas veces para lograr una buena exactitud, elvalordehdebesermuypequeo.Muyamenudo,paralograruna buenaprecisinenlasimulacin,sonusadosmtodosms sofisticados,talcomoelmtododeRunge-Kutta.Enelmtodode cuartoordendeRunge-Kutta,laaproximacinquesehaceesla siguiente: ) 3 . 4 () ), ( ), ( () 2 2 (61) ( ) (4 3 2 1L)`=+ + + + = +kh kh r kh x G yk k k k kh x h kh x Donde los cuatro vectores se definen por: ) ), ( , ) ( () ), ( , ) ( () ), ( , ) ( () ), ( ), ( (3 42 2 232 2 22131h kh h kh r k kh x hF kkh kh r kh x hF kkh kh r kh x hF kkh kh r kh x hF kh hkh hk+ + + =+ + + =+ + + == Como podemos ver la ecuacin 4.3 no es difcil comprenderlo. Si se quiere controlar cualquier proceso, por ms sencillo o complicado queseaste,siempresedebecontarconelmodelomatemticoque describa la dinmica de dicho proceso. Ya que el diseo del controlador se haceen funcindel modelo,si bien escierto existen estrategiasde controlquenorequierenconocerelmodeloparadisearun controlador(controldifuso,neurocontrol,etc.),anassenecesitael modeloparaverelcomportamientodelprocesoincluidoyael controlador que se ha diseado. Si no quiero simular, hago el anlisis matemtico. (no es sencillo) Y para que linealizo si puedo simular un proceso no lineal? Mire, el controlador se disea con el modelo linealizado y la simulacin se realiza con el modelo no lineal. Ahora si tiene sentido linealizar el modelo. Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 36 5.SIMULACIN DEL NIVEL DE ALTURA DE UN PROCESO Modelo del proceso: Enestepuntosimularemoselniveldealturadelproceso modeladoenelpunto2,esdecirelmodelodelprocesomostradoen Fig.43. Tenemos los siguientes modelos: s Ch h con t h t Fdtt dhA = = ) 0 ( ) ( ) () (1 0 s Ch h con t h t Fdtt dhA = = ) 0 ( ) ( ) () (2 0

Condiciones Iniciales: Altura inicial: hs=5 m Alfa (1 o 2): 0.9 (m^2/s o m^(2.5)/s) rea de la seccin transversal del tanque: 5 m^2 Clculo del flujo inicial (haciendo0) (=dtt dh para t=0): oModelo lineal: F0=4.5 oModelo No lineal: F0= 2.012461 Mtodo de Programacin: Para simular el proceso se usar el mtodo de Euler: ) ), ( ), ( () ), ( ), ( ( ) ( ) (kh kh r kh x G ykh kh r kh x hF kh x h kh x=+ = + Enlasecuacionesanteriores,hesllamadopasodeintegracin,yel valordeestedebeserpequeoparapoderaproximarconbastante precisinlarespuestadelproceso.Peroparaprocesosconrespuesta lenta, este valor puede ser cercano a 1 o 0.5. En el programa se denomina T, smbolo del periodo de muestreo Fig.43Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 37 Consideraciones en la Programacin: Se est considerando: - Off-set de altura de: 0 m - Off-set de flujo de entrada de: 0.05 m^3/s SeestusandouncontrolActiveXdenominadoTanque,elquefue creado por: Hctor D. CHOQUE L. para simular procesos que implican control de nivel de altura, las propiedades de dicho tanque son: -La altura mxima.(Maximo) -El valor real de la altura.(Altura) -El color del lquido que contiene dicho tanque.(Color) Los controles usados son: Control(Nombre)PropiedadValor de Propiedad FrameFrame1CaptionProceso :FrameFrame2CaptionParmetros y condiciones iniciales : FrameFrame3CaptionDatos para Graficar : LabelLabel1CaptionNivel de altura inicial (hs): LabelLabel2Captionalfa (1 o 2): LabelLabel3CaptionRazn de alimentacin (F0): LabelLabel4Captionm LabelLabel5Captionm^2/s LabelLabel6Captionm^3/s LabelLabel7Captionm^2 LabelLabel8Captionrea transversal del tanque (AC): LabelLabel9CaptionModelo: LabelLabel10CaptionT (Per. de Muestr): LabelLabel11Captionm LabelLabel12Captionm LabelLabel13Captions LabelLabel14Captions LabelLabel15CaptionHmax: LabelLabel16CaptionHmin: LabelLabel17CaptionTmax: LabelLabel18CaptionTmin: LabelLabel19CaptionAltura: LabelLabel20Captionm LabelLabel21CaptionFlujo: LabelLabel22Captionm^3/s LabelLabel23Caption LabelLabel24Caption CommandButtoncmdPauCaptionP CommandButtoncmdConCaptionC > CommandButtoncmdEmpCaptionE > CommandButtoncmdAceptarCaptionAceptar CommandButtoncmdSalirCaptionSalir TextBoxtxtFluText0.05 TextBoxtxtAltText0 TextBoxtxtTminText0 TextBoxtxtTmaxText200 TextBoxtxtHminText0 TextBoxtxtHmaxText10 TextBoxtxtTText0.1 TextBoxtxtAC5 TextBoxtxtalfa120.9 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 38 TextBoxtxths5 TextBoxtxtF0 PictureBoxpicRespAppearanceFlat AutoRedrawTrue TimerTimer1EnabledFalse Interval1 OptionButtonoptLinealCaptionNo lineal OptionButtonoptNolinealCaptionLineal ImageImage1 ImageImage2VisibleFalse ImageImage3VisibleFalse TanqueTanque1 Para ordenar adecuadamente los controles vase la Fig.44. Con este ejemplo tambin aprenderemos a usar el control Timer. TambinseusarelmoduloModuloGrafico,quesehadesarrollado para dibujar lneas divisoras, imprimir escalado numrico, cuadro, color de fondo, todo ello a un control PictureBox, en este caso a picResp. Resultados de la simulacin: El resultado que se muestra en la Fig.44 Fig.44 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 39 6.SIMULACIN DEL CONTROL DE TEMPERATURA DE UN TANQUE DE REACCIN CON AGITACIN CONTINUA: Figura con etiquetas apropiadas: Sesimularelmodelodeuntanquedereaccinconagitacin continua(TRAC),enesteprocesolavariablequesecontrolaesla temperaturadesalida,paralograrelobjetivodecontrolseusarun controladorPI.Enla.Fig.45sepresentaunPI&Ddelreactorcon casquillo. Asunciones: Suponemosqueelreactoryelcasquilloestncombinados perfectamente,quelosvolmenesylaspropiedadesfsicasson constantes y que las prdidas de calor se desprecian. Modelado del proceso: Conlasasuncionesanteriores,lasecuacionesquedescribenel proceso son: Balance de masa del reactivo A: ) 1 . 6 ( ) (2LA A AiAkC C CVFdtdC = Fig.45 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 40 Balance de energa en el contenido del reactor: ) 2 . 6 ( ) ( ) (2LCpAPRiT TC VUAkCCHT TVFdtdT = Balance de energa en el casquillo: ) 3 . 6 ( ) ( ) ( LCi CCCCpC C CCT TVFT TC VUAdtdT = Coeficiente de razn de reaccin: ) 4 . 6 () 16 . 273 (0L+=T REe k k Retardo en el sensor de temperatura: ) 5 . 6 (1L||.|

\|= bTT TdtdbTMT Controlador Proporcional-Integral con retroalimentacin: ( ) ) 6 . 6 (1L y mdtdyi = ) 7 . 6 ( L||.|

\| + = bTT TK y mTMfijoC Lmites de la seal de salida del controlador: ) 8 . 6 ( 1 0 L m Vlvula de control de porcentaje igual (aire para cerrar) ) 9 . 6 (maxLmC CF F= Los parmetros usados en las ecuaciones anteriores se describen de la siguiente manera: Parm.Descripcin, unidad ACes la concentracin de reactivo en el reactor, kgmol/m^3 AiCes la concentracin del reactivo en la alimentacin, kgmol/m^3 Tes la temperatura en el reactor, C TTes la temperatura de alimentacin, C CTes la temperatura del casquillo, C CiTtemperatura de entrada del enfriador, C Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 41 bes la seal del transmisor en una escala de 0 a 1 Fes la razn de alimentacin, m^3/s Ves el volumen del reactor, m^3 kes el coeficiente de razn de reaccin, m^3/kgmol-s RH es el calor de la reaccin; se supone constante, J/kgmol es la densidad del contenido del reactor, kgmol/m^3 pCes la capacidad calorfica de los reactivos, J/kgmol-C Ues el coeficiente de transferencia total de calor, J/s-m*-C A es el rea de transferencia de calor, m^2 CVes el volumen del casquillo, m^3 Ces la densidad del enfriador, kg/m^3 pCCes el calor especfico del enfriador, J/kg-C TT es el rango calibrado del transmisor, C CFes la razn de flujo del enfriador, m^3/s ACes el lmite inferior del rango del transmisor, C Tes la constante de tiempo del sensor de temperatura, s ies el tiempo de integracin del controlador, s yes la variable de retroalimentacin de reajuste del controlador m es la seal de salida del controlador en una escala de 0 a 1 CKes la ganancia del controlador; sin dimensiones max CFes el flujo mximo a traves de la vailvula de control, m^3/s es el parmetro de ajuste en rango de la vlvula 0kes el parmetro de frecuencia de Arrhenius, m^3/s-kgmol Ees la energa de activacin de la reaccin, J/kgmol Res la constante de la ley de los gases ideales, 8314.39 J/kgmol-K Enestemodelodelreactorydesucontroladordetemperatura, las variables de estado son AC ,T , CT ,b ey ; las variables auxiliares k ,m y CF sepuedencalcularjuntoconlasfuncionesdederivacin,a partirdelosvaloresdelasvariablesdeestadoencualquierpuntodel tiempo. Las variables de entrada al modelo sonF , AiC , iT , CiTy fijoT . Mtodo de Programacin: Para simular el proceso se usar el mtodo de Euler: ) ), ( ), ( () ), ( ), ( ( ) ( ) (kh kh r kh x G ykh kh r kh x hF kh x h kh x=+ = + Condiciones iniciales: Parahacerlasimulacindelreactorsedebendeterminarlos parmetrosdelmodeloylascondicionesiniciales.Enlaprctica,los parmetrosdelmodeloseobtienenapartirdelasespecificacionesdel equipo y de los diagramas de tubera e instrumentacin. Se trabaja con los siguientes parmetros del reactor: Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 42 V = 7.08'm^3 p = 19.2'kgmol/m^3 Cp = 181500 'kgmol-C A = 5.4'm^2 pC = 1000'kg/m^3 ko = 0.0744'm^3/s-kgmol tauT = 20's alfa = 50 '(sin dimensiones) deltaHR = -98507000'J/kgmol U = 3550 'J/s-m^2-C VC = 1.82'm^3 CpC = 4184 'J/kg-C E = 11820000 J/kgmol FCmax = 0.02 'm^3/s TM = 80'C deltaTT = 20 'C R = 8314.39 Sielpropsitodelasimulacinesajustarelcontroladoralas condicionesdeoperacindediseo,lascondicionesinicialessetoman enelpuntodeoperacindediseo.Unrequisitoimportanteesque conlascondicionesinicialessedebensatisfacerlasecuaciones del modelo en estado estacionario; esto es, todas las derivadas que secalculanconbaseenlasecuacionesdelmodelodebenser exactamenteceroenlosvaloresinicialesdelasvariablesdeestado. Puestoquesetieneunaecuacindemodeloparacadavariablede estadoyauxiliar,elnmerodeespecificacionesdediseonodebe excedereldevariablesdeentrada.Enesteejemplo,lasvariablesde entrada y las condiciones de diseo son las siguientes: F = 0.0075'm^3/s CAi = 2.88'kgmol/m^3 TCi= 27'C Tfijo= 88 'C Ti= 66 'C Ahorasepuedenutilizarlasecuacionesdelmodeloparacalcularlos demsvaloresinicialesyvariablesauxiliares.Elordendelosclculos es el que se muestra a continuacin: (6.7)b = (Tfijo TM)/deltaTT = 0,40(sin dimensiones) (6.5)T = b*deltaTT + TM = 88.OC (6.4)K = 1.451*1e-3 m^3/kgmol-s (6.1)CA = 1.133kgmol/m^3 (6.2)TC = 50.5 C (6.3)FC = 7.3 9 2*1e-3 m^3/s (6.9)m = 0.2544 (sin dimensiones) (6.6)y = 0.2544(sin dimensiones) Losvaloresanterioressoncalculadosporelprogramaquese desarrollar para simular este proceso. Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 43 Se observar que la nica forma de satisfacer las ecuaciones (6.5), (6.6) y(6.7)enestadoestacionarioesquelatemperaturadelreactorse mantengaenelpuntodecontrol,debidoaqueelcontroladortiene accin de integracin. Unavezquesetienenlasecuacionesdelmodelo,elvalordelos parmetrosylascondicionesiniciales,yapodemosprogramarlasecuaciones. Consideraciones en la Programacin: Se est considerando: - Off-set de tasa de alimentacin: 0 m^3/s - Set point: 2. C (mas los 88C de las condiciones iniciales) Los controles usados ya no se describen al detalle, ya que son bastantes y ocuparan mucho espacio, pero se pueden ver en Fig.46, Fig.47 y Fig. 48. Resultados de la simulacin: Se muestran en Fig.46, Fig.47 y Fig. 48. Fig.46Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 44 Fig.47 Fig.48Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 45 7.RESPUESTA AL ESCALN DE SISTEMAS DE CONTROL LTI La respuesta a la funcin Delta de Dirac es de especial inters en el estudio de sistemas lineales. La transformada de Laplace de la Delta de Dirac es 1. As, si aplicamos tal funcin a la entrada de un sistema concondicionesinicialesnulas,larespuestadesalidasimplemente ser) ( ) ( ) ( ) ( s G s U s G s Y = = . Esta observacin puede ser resumido de la siguiente forma: Lafuncindetransferenciadeunsistemaentiempocontinuoesla TransformadadeLaplacedesurespuestaalimpulso(DeltadeDirac) con condiciones iniciales nulas. Funcin impulso o Delta de Dirac 0 Debido a la idealizacin en el grfico anterior, es decir la funcin impulso tiene una duracin muy corta (tiende a cero) y su amplitud es infinita,locualesprcticamenteimposibledelograrfsicamenteoen trminos de voltios. Porlaraznexpuestaenelprrafoanterior,lomascomnes usar la respuesta al escaln para estudiar el comportamiento dinmico delsistema,estoescuando s s U 1 ) ( = .Estollevaaloquesellama respuesta al escaln. ss G s U s G s Y1) ( ) ( ) ( ) ( = = La aplicacin del teorema del valor final muestra que la respuesta en estado estacionario para un escaln unitario est dado por: ) 0 (1) ( ) (0Gss sG Lim y t y Lims t= = = Sielsistemaesestable,entonceslapartetransitoriadela respuestaalescalndecrecerexponencialmentehaciaceroyas yexistir.Notequesi) (s G tieneunoomascerosen0 = s ,entonces 0 =y . Tambinesmuytildefinirelconjuntodeparmetrosque describenciertaspropiedadesrelevantesdeladinmicadelsistema. Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 46 Para introducir estas definiciones consideraremos una funcin de transferenciaestableteniendocomorespuestaalescalnlafiguraque se muestra a continuacin: Valorenestadoestacionario, y :Elvalorfinaldelarepuestaal escaln. TiempodeLevantamiento, rt :Eltiempotranscurridohastael instanteenelcuallarespuestaalescalnalcanzaporprimeravezel valorde y kr.Laconstante rk varadeautorenautor,siendo usualmente 0.9 o bien 1. Sobrepasamiento Positivo, pM : La mxima cantidad instantnea por lacuallarespuestaalescalnexcedeasuvalorfinal.Estoes usualmente expresado como un porcentaje de y . SobrepasamientoNegativo, uM :La(valorabsolutode)mxima cantidad instantnea por el cual la respuesta al escaln cae por debajo de cero. TiempodeAsentamiento, st :Eltiempotranscurridohastaquela respuestaalescalnentra(sinsalirdeella,niunavezmas)auna bandadedesviacinespecfica, ,alrededordelvalorfinal.Esta desviacin, ,esusualmentedefinidocomounporcentajede y ,por decir 2% al 5%. (Agregaralprogramaparaquemuestrelosparmetrosdescritos anteriormente) Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 47 La respuesta al escaln de sistemas de control se puede obtener de las siguientes maneras: Conociendo la Funcin de Transferencia del Proceso: Existen diferentes formas de funciones transferencia, esto dependiendo del tipo de proceso o sistema de control F.T. de sistemas de una entrada y una salida (SISO): ) ( ) (12 112 1s Us s a s a as b s b bs Yn nnnn+ + + ++ + += LL F.T. de sistemas de entradas mltiples y una salida (MISO): ) ( ) ( ) (212 112 1112 112 1s Us s c s c cs d s d ds Us s a s a as b s b bs Ym mmmmn nnnn+ + + ++ + +++ + + ++ + += LLLL F.T.desistemasdecontrolmultivariableosistemasconentradas mltiples y salidas mltiples (MIMO): ||.|

\|||.|

\|+ + + ++ + + +=||.|

\|||.|

\|+ + + ++ + + +) ( ) () ( ) (210 00 0210 00 0s Us Us h h s g gs f f s e es Ys Ys d d s c cs b b s a awwvvttrrqqpmnnmmL LL LL LL L EnestecursodesarrollaremoslarespuestaasistemasdeltipoSISOy MISO. Conociendo la representacin en Ecuaciones de Estado del proceso: Existen diferentes maneras de representar un modelo en ecuaciones de estado, siendo la ms conocida la representacin en su forma cannica (FC). Lasecuacionesdeestadodesistemasdecontrolpuedentener diferentes formas, esto dependiendo si se trata de sistemas SISO, MISO, SIMO, o MIMO. Ecuaciones de estado de Sistemas SISO (Forma cannica): Asumamos un sistema de control SISO con funcin de transferencia: ) ( ) (12 112 1s Us s a s a as b s b bs Yn nnnn+ + + ++ + += LL Estopuedeserrepresentadoporelmodelodeestadoensuforma cannica observable:u D x C yu B x AdtdxC CC C+ =+ = Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 48 Donde:||||||.|

\| =nCa a a aALLM O M M MLL3 2 11 0 0 00 1 0 00 0 1 0

||||||.|

\|=1000MCB

||||||.|

\|=nTCbbbbCM321 Normalmente la matrizDC es una matriz nula. Ecuaciones de estado de Sistemas MISO (Forma cannica): Asumamos un sistema de control MISO con funcin de transferencia: ) ( ) ( ) (212 112 1112 112 1s Us s c s c cs d s d ds Us s a s a as b s b bs Ym mmmmn nnnn+ + + ++ + +++ + + ++ + += LLLL Estepuedeserrepresentadoporelmodelodeestadodelasiguiente forma: ( ) ( )||.|

\|+ =||.|

\|||.|

\|+||.|

\|=212 1 2 121212 00 100uuD D x C C yuuBBxAAdtdx Donde:||||||.|

\| =na a a aALLM O M M MLL3 2 111 0 0 00 1 0 00 0 1 0

||||||.|

\|=10001MB

||||||.|

\|=nTbbbbCM3211 ||||||.|

\| =mc c c cALLM O M M MLL3 2 121 0 0 00 1 0 00 0 1 0

||||||.|

\|=10002MB

||||||.|

\|=mTddddCM3212 Normalmente las matricesD1 y D2 son matrices nulas. Paraobtenerlarespuestadelossistemasmencionadoses necesario desarrollar la integracin numrica o la solucin numrica de ecuacionesdiferencialeslinealesordinarias,paraellousaremoslos mtodosdeEulerydeRunge-Kutta,ambosdescritosenlospuntos anteriores. Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 49 Delosdosmtodosanterioreseldemayorprecisineselde Runge-Kutta, pero la ms fcil de implementar es el mtodo de Euler. Larepresentacindelmodeloenecuacionesdeestadosonun pocomscomplicadosdemanipularyaquesedeberealizar operaciones con matrices, pero nos permite analizar la controlabilidad y observabilidad del proceso que se desea controlar. Larepresentacindelmodeloenformadefuncinde transferencia nos permite analizar la estabilidad del sistema. Comopodemosver,paraanalizarsistemasdecontrolsehace necesario usar ambas formas de representacin de un modelo. Lo que si estclaroesquelarespuestaalescalnsepuedeobtenerapartirde cualquiera de las dos formas de representacin. oREPUESTAALESCALNDESISTEMASSISOUSANDOSU FUNCIN DE TRANSFERENCIA: Enesteejemplodeprogramacin,usaremoselmtodode integracin de Euler. Paraellolafuncindetransferenciadeunsistemaseregresaa su forma de ecuaciones diferenciales. Sea la siguiente Funcin de transferencia:

) ( ) (12 112 1s Us s a s a as b s b bs Yn nnnn+ + + ++ + += LL Siloreescribimosentrminosdeecuacionesdiferenciales, tenemos lo siguiente (modelo en ecuaciones diferenciales): ) () ( ) ( ) () () ( ) ( ) (1 2221111 211t u bdtt dubdtt y dbdtt u dbt y adtt dyadtt y dadtt y dnnnnnnnnnnn+ + + += + + + +LL El mtodo de integracin de Euler afirma que: hkh X h kh Xdtt dx ) ( ) ( ) ( += Dondehdebesermuypequeo,estoparatenerunabuena aproximacin,nosotroslocambiaremoshporT,estopara representar T como periodo de muestreo. SidesarrollamoselmtododeEulerparaderivadasdeorden superiortenemoslosiguiente(DesarrolladoporHctor CHOQUE): Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 50 nnnnnnTnT kT X T n kT X C T kT X C kT Xdtt x dTT kT X T kT X T kT X kT Xdtt x dTT kT X T kT X kT Xdtt x d) ( ) ) 1 ( ( ) ( ) () () 3 ( ) 2 ( 3 ) ( 3 ) ( ) () 2 ( ) ( 2 ) ( ) (1 13 332 22 + = + = + =m LM En la ltima ecuacin, los signosm y dependen de si n es par o impar. Ahorasiaplicamosloanterioralmodeloenecuaciones diferenciales tendramos lo siguiente: ) ) 1 ( ( ) ) 2 ( () () 2 () 3 () () 2 () () () ( ) ) 1 ( () () 2 () 3 () () 2 () () (111112110112122443311112133221101221111 021224231112312012 1T n kT UTb CT n kt UTb C T b CT kT UTb C T b C T b T bT kT UTb C T b C T b T bkT UTb C T b T b T bnT kT YTCT n kt YTC T a CT kT YTC T a C T a T aT kT YTC T a C T a T akT YTC T a T a T annnnnnnnnnnnnnn n nnnnnn n nnnnnn nnnnnnnnnnnnn n nnnnn n nnnnn n + + + + ++ + + + ++ + + += + + + + ++ + + + ++ + + + m L LLLLm L LLLL Finalmente ordenando y asumiendo ciertas constantes, tenemos: | || || | ) ) 1 ( ( ) ( ) ( *) ( ) 2 ( ) (1) (2 10) 1 (2 10T n kT U B T kT U B kT U BATnT kT Y A T kT Y A T kT Y AAkT Ynn nn + + + = LL Esta ltima ecuacin ya es posible implementarlo. Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 51 Enlasiguientefigurasemuestraelresultadodela implementacin en programa: oREPUESTAALESCALNDESISTEMASSISOUSANDOSU REPRESENTACINENECUACIONESDEESTADOENSU FORMA CANNICA OBSERVABLE: Enesteejemplodeprogramacinusaremoselmtodode integracin de Runge-Kutta. Sea la funcin de transferencia: ) ( ) (12 112 1s Us s a s a as b s b bs Yn nnnn+ + + ++ + += LL Sillevamosloanterioraecuacionesdeestadoensuforma cannica observable tenemos: u D x C yu B x AdtdxC CC C+ =+ = Donde: ||||||.|

\| =nCa a a aALLM O M M MLL3 2 11 0 0 00 1 0 00 0 1 0

||||||.|

\|=1000MCB

||||||.|

\|=nTCbbbbCM321 Normalmente la matriz CDes una matriz nula. Fig.49 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 52 Reescribiendolasecuacionesdeestadodelsistemadinmico usando Runge-Kutta tenemos: ) ( ) () 2 2 (61) ( ) (4 3 2 1kT X C kT Yk k k k kT X T kT XC=+ + + + = + Donde los cuatro vectores se definen como: | |( ) | | ) ( ) ()2( ) ()2( ) () ( ) (3 42322121T kT U B k kT X A T kTkT U B kT X A T kTkT U B kT X A T kkT U B kT X A T kC CCkCCkCC C+ + + =((

+ +|.|

\|+ =((

+ +|.|

\|+ =+ = Comosepuedeveraparecentrminoscomo)2(TkT U + y ) ( T kT U + ,paraelcasodeque) (t u seaelescalnunitario,no hayproblemas,susvaloressiempresern1,porlotantoson iguales a) (kT Uy esto se usar en la programacin. Enlasiguientefigurasemuestraelresultadodela implementacin en programa: Fig.50 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 53 8.RESPUESTAENELDOMINIODELTIEMPODESISTEMASDE CONTROL 9.RESPUESTA EN EL DOMINIO DE LA FRECUENCIA DE SISTEMAS DE CONTROL Fig.51Fig.52Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 54 VIII.PROGRAMACIN PARA PROCESAMIENTO DIGITAL DE SEALES 1.INTRODUCCIN: Eltratamientodigitaldesealesesunadelastecnologasms poderosas que tienela ciencia y la ingeniera en el siglo XXI. ConelTratamientoDigitaldeSealessehanlogradocambios revolucionariosenunampliorangodereastalescomo: Comunicaciones,Radar&Sonar,reproduccindemsicadealta fidelidad, prediccin de petrleo y minerales, por mencionar algunos. El rpido desarrollo de la tecnologa de circuitos integrados, MSI, LSI,VLSI,hanestimuladoeldesarrollodeordenadoresdigitalesms potentes,pequeos,rpidosybaratos.Elloshanpermitidoconstruir sistemas digitales altamente sofisticados, capaces de realizar funciones ytareasdelprocesadodesealdigitalquenormalmenteeran demasiado difciles realizarlas con el procesado de seales analgicas. El tratamiento digital de seales se realiza mediante operaciones matemticas. Las computadoras de propsito general no son adecuadas para la implementacin de algoritmos como el filtrado digital y anlisis deFourier.ParaelloexistenlosllamadosProcesadoresDigitalesde Seales,quesonmicroprocesadoresdiseadosespecficamentepara manipulartareasdeltratamientodigitaldeseales.Estosdispositivos han tenido un enorme crecimiento en las dos dcadas pasadas, se usan enequiposdesdetelfonoscelulareshastalosinstrumentoscientficos mas avanzados. 2.CONVERSIN A/D Y D/A: La mayora de seales de inters prctico, tales como seales de voz, biolgicos, ssmicas, radar & sonar, son analgicas. Paraprocesarsealesanalgicaspormediosdigitaleses necesarioconvertirlasaformatodigital,estoes,transformarlasuna secuencia de nmeros de precisin finita. Los dispositivos que realizan esta conversin se llaman Conversores A/D (ADCs). En la Fig.53 podemos ver el proceso de conversin A/D, donde se observaquelasealqueseestprocesandotienediferentesformatos en los diferentes puntos del proceso de conversin A/D: Fig.53 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 55 Conceptualmente, podemos ver la conversin A/D como un proceso de tres pasos: oMuestreo:staeslaconversindeunasealentiempo continuo(Fig.54)aunasealentiempodiscretoobtenida tomandomuestrasdelasealentiempocontinuoeninstantes detiempodiscreto(Fig.55).As,si) (t xaeslaentradaal muestreador, la salida es] [ ] [ n x nT xa a , donde T se denomina el intervalo de muestreo. oCuantificacin:staeslaconversindeunasealentiempo discretoconvalorescontinuosaunasealentiempodiscreto convaloresdiscretos(sealdigitalFig.56).Elvalordecada muestradelasealserepresentamedianteunvalor seleccionado de un conjunto finito de valores posibles. oCodificacin:Enesteproceso,cadavalordiscreto] [n xqse representa mediante una secuencia binaria de b bits.

Muestreo de seales analgicas: Existen diferentes maneras de muestrearunaseal.Elmasusadoeselmuestreoperidicoo uniforme, ste se describe mediante la relacin: < < = n nT x n x ], [ ] [ donde] [n x eslasealentiempodiscretoobtenidatomando muestrasdelasealanalgica) (t xacadaT segundos {denominadoperiododemuestreoointervalodemuestreo,ysu recproco sF T = 1 sellamavelocidaddemuestreo(muestraspor segundo) o frecuencia de muestreo (Hertz)}. Fig.54Fig.55Fig.56 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 56 sFnnT t = = Sea:F t Cos A t xa 2 ), ( ) ( = + = Si lo muestreamos: )2( ) 2 ( ] [ + = + =saFFCos A FnT Cos A nT x De las ecuaciones anteriores se puede obtener: sFFf = O equivalentemente: 2, = = f con T fse denomina frecuencia normalizada o relativa. Seales sinusoidales en tiempo continuo: < < = + = t F t Cos A t xa, 2 ), ( ) ( Propiedades:-ParatodovalorfijodelafrecuenciaF,) (t xaes peridica. ) ( ) ( t x T t xa p a= + TP periodo fundamental. -Lassealesentiempocontinuoconfrecuencias diferentes son diferentes. -ElaumentoenlafrecuenciaFresultaenun aumentodelatasadeoscilacindelaseal,en sentidodequeseincluyenmasperiodosenun intervalo de tiempo dado. Seales sinusoidales en tiempo discreto: < < = + = n f n Cos A n x , 2 ), ( ) ( Propiedades: -Una sinusoide en tiempo discreto es peridica si su frecuencia f es un nmero racional. ] [ ] [ n x N n x = +

N periodo fundamental. -Lasinusoidesentiempodiscretocuyasfrecuencias estn separadas por un mltiplo entero de 2 , son idnticas. -Lamayortasadeoscilacinenunasinusoideen tiempo discreto se alcanza cuando: < < = = o o equivalentemente: 21212121< < = = f f o f Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 57 Teoremadelmuestreo:Dadaunasealanalgicacualquiera, CmosedebeelegirelperiododemuestreoT ,loqueeslo mismo, la velocidad de muestreo sF ? La definicin de un muestreo apropiado es sencilla. Suponga que semuestreaunasealanalgicadealgunamanera.Sistase puedereconstruirapartirdesusmuestras,elprocesode muestreofueapropiado.Ansilosdatosmuestreadosparecen confusosoincompletos,lainformacinmasimportantehasido capturada si el proceso se puede revertir. Silafrecuenciamsaltacontenidaenunasealanalgica) (t xa es B F =maxylasealsemuestreaaunavelocidad B F Fs2 2max > ,entoncessepuederecuperartotalmentea partirdesusmuestrasmediantelasiguientefuncinde interpolacinBtBt sent g2) 2 () ( = Entoncesunasealcontinuapuedesermuestreada apropiadamente,solosistanocontienefrecuenciasmayoresa la mitad de la frecuencia de muestreo. Aliasing: Las seales analgicas: ) 2 ( ) (0 + = t F Cos A t xa

) 2 ( ) ( + = t F Cos A t xk A

con: L , 2 , 1 ,0 = + = k kF F Fs k muestreadas aT Fs1 = son las mismas. Por lo tanto) (t xA es un alias de) (t xa. Vase Fig.57, del ejemplo de programacin. LasealanalgicaantesdeentraralsistemadeconversinA/Des pasada a travs de un filtro electrnico pasabajos, esto para remover las frecuencias que son mayores a la frecuencia de muestreo. Esto se hace conlafinalidaddeevitarelfenmenodelaliasing,yestefiltroes llamadoFiltroAnti-Alias.Porotrolado,despusdepasarlaseal digitalatravsdeunconvertidorD/A,staespasadaatravsdeun filtropasabajosconfrecuenciadecortefijadaalafrecuenciade Nyquist, y este filtro es llamado Filtro Reconstructor. 2.ANLISIS DE SEALES Y SISTEMAS DIGITALES EN COMPARACIN CON EL DE SEALES Y SISTEMAS EN TIEMPO DISCRETO. Sehavistoqueunasealdigitalsedefinecomounafuncindeuna variableindependienteenteraysusvaloressetomandeunconjunto finitodevaloresposibles.Lautilidaddetalessealesesuna consecuencia de las posibilidades que ofrecen los ordenadores digitales. Losordenadoresoperanconnmeros,queserepresentanconuna Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 58 cadenadecerosyunos.Lalongituddeestacadena(longitudde palabra) es fija y generalmente es de 8, 12, 16 32 bits. La longitud de palabrafinitacausacomplicacionesenelanlisisdelossistemasde procesado digital de seales. Paraevitarestascomplicaciones,sedesprecialanaturaleza cuantificada de las seales y sistemas digitales en nuestro curso, y los consideraremoscomosealesysistemasentiempodiscreto,poresta mismaraznnosetrataafondolostemasdecuantificaciny codificacin. 3.SIMULACINDELMUESTREODEUNASEALANALGICA,YEL FENMENO ALIASING. 4.CONVOLUCIN Y CORRELACIN CONVOLUCIN:Esunaoperacinmatemticaformal,talcomo losonlaadicin,multiplicacin,eintegracin.Esunatcnica matemticaquecombinadossealesyproduceunatercera seal.staeslatcnicamsimportanteeneltratamiento Fig.57Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 59 digital de seales porque relaciona las tres seales de inters: la de entrada, salida y la respuesta al impulso. Siconocemoslarespuestaalimpulsodelsistema,entonces podemos calcular la respuesta del sistema para cualquier tipo de entrada. Esto significa que conocemos todo acerca del sistema. Matemticamente,laconvolucinserepresentadelasiguiente manera: ] [ ] [ ] [ n h n x n y = En Fig.58 podemos ver esta operacin en forma grfica. EnFig.58,laoperacindelaconvolucinserepresentaconun asterisco.Cuidadoenloslenguajesdeprogramacinel significa multiplicacin. Silaentradaaunsistemalinealinvarianteeneltiempo(LTI)y causalesunasecuenciacausal,esdecir,si] [n x esuna secuencia de longitud N (de 0 a N-1), y es] [n huna secuencia de longitudM(de0aM-1),laconvolucindelasdosseales ] [ ] [ ] [ n h n x n y = esunasecuenciadelongitudN+M-1(de0a N+M-2). 2 0 ; ] [ ] [ ] [10 + = =N M n k n x k h n yMk Esta ltima expresin es a veces llamada convolucin por el lado delasalida.Ysteeselalgoritmoqueimplementaremosen nuestro ejemplo de programacin. Programacin de la convolucin: Convolucionaremosunasealdeentradadelongitud81yla respuestaalimpulsodelongitud31,enestecasousaremosel kernel de un filtro pasa-bajo y tambin el de un filtro pasa-alto. Tenemos los siguientes datos (obsrvese Fig.58): La seal de entrada es la siguiente secuencia: x(n) = n/20 - 2*Sin(n*0.3) ;0 n 80 El kernel de los filtros son los siguientes: Fig.58 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 60 Filtro pasa-bajo: h(0) = h(30) = 0 h(1) = h(29) = -0.0058 h(2) = h(28) = -0.0116 h(3) = h(27) = -0.0173 h(4) = h(26) = -0.0231 h(5) = h(25) = -0.0277 h(6) = h(24) = -0.0329 h(7) = h(23) = -0.0371 h(8) = h(22) = -0.0414 h(9) = h(21) = -0.045 h(10) = h(20) = -0.0481 h(11) = h(19) = -0.0502 h(12) = h(18) = -0.0523 h(13) = h(17) = -0.0535 h(14) = h(16) = -0.0544 h(15) = 0.945 Filtro pasa-alto: h(0) = h(30) = 0 h(1) = h(29) = 0.0058 h(2) = h(28) = 0.0116 h(3) = h(27) = 0.0173 h(4) = h(26) = 0.0231 h(5) = h(25) = 0.0277 h(6) = h(24) = 0.0329 h(7) = h(23) = 0.0371 h(8) = h(22) = 0.0414 h(9) = h(21) = 0.045 h(10) = h(20) = 0.0481 h(11) = h(19) = 0.0502 h(12) = h(18) = 0.0523 h(13) = h(17) = 0.0535 h(14) = h(16) = 0.0544 h(15) = 0.055 Elresultadodelaprogramacinserparecidaalamostradaen Fig.59. Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 61 CORRELACIN:Elconceptodecorrelacinsepuedeexplicar mejor usando un ejemplo. 1. Fig.57Fig.59Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 62 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 63 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 64 Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas H D C LPg. 65