jueves, 22 de julio de 2010

MATLAB

1.2.- INICIACIÓN AL MATLABEl Lenguaje de Computación Técnica MATLAB es un ambientede computación técnica integrada que combina computación numérica, gráficos y visualización avanzada y un lenguaje de programación de alto nivel.Sea cual fuere el objetivo, un algoritmo, análisis, gráficos, informes o simulación, MATLAB lo lleva allí. El lenguajeflexible e interactivo de MATLAB permite a ingenieros y científicos expresar sus ideas técnicas con simplicidad. Los poderosos y amplios métodosde cómputo numérico y graficación permiten la prueba y exploración de ideas alternativas con facilidad, mientras que el ambiente de desarrollo integrado facilita producir resultados prácticos fácilmente.MATLABes la fundación numérica y gráfica para todos los productos de The MathWorks. MATLAB combina computación numérica, gráficos 2D y 3D y capacidades de lenguaje en un único ambiente fácil de usar.Con su amplio rango de herramientas para modelar sistemas de control, análisis, simulación y procesamiento de prototipos, MATLAB es el sistema ideal para desarrollar sistemas avanzados de control. Usted puede modelar su sistema de control usando las cajas de herramientas para el diseño de controles avanzados de MATLAB - Control System, Robust Control, µ-Analysis and Synthesis, Model Predictive Control, QTF Control Design y LMI control. Posteriores análisis y refinamientos pueden ser efectuados estableciendo una simulación interactiva en Simulink, y luego sintonizar automáticamente los parámetros usando el Nonlinear Control Design Blockset. Finalmente, usted puede generar códigoC para correr en controladores incrustados con Real Time Workshop.Combinando MATLAB con Signal Processing Toolbox, Wavelet Toolbox y un conjunto de herramientas complementarias - tales como Image Processing, Neural Network, Fuzzy Logic, Statistics y otras - usted puede crear un ambiente de análisis personalizado de señales y desarrollo de algoritmos DSP. Para simulación y desarrollo de prototipos usted puede agregar Simulink y el DSP Blockset para modelar y simular sus sistemas DSP, y luego usar Real-Time Workshop para generar código C para su hardware designado.1.3- CARACTERÍSTICAS DEL ENTORNOCaracterísticas de MATLAB :· Cálculos intensivos desde un punto de vista numérico.· Gráficos y visualización avanzada.· Lenguaje de alto nivel basado en vectores, arrays y matrices.· Colección muy útil de funciones de aplicación.Las poderosas capacidades de cálculo técnico de MATLAB se ponen a la disposición de los estudiantes, aunque limita el tamaño de las matrices a 8192 elementos, la edición de estudiante mantiene toda la potencia de la versión profesional de MATLAB 4.0, en una forma diseñada para que los estudiantes puedan ejecutarlo en sus propios ordenadores personales bajo Windows.Toolbox especiales :Se incluyen el Toolbox de señales y Sistemas ( un conjunto de herramientas para el procesamiento de señal y para el análisis de sistemas de cuadro ) y el Toolbox Symbolyc Math ( herramienta de cálculo simbólico basada en Maple V ).A continuación presentamos la interfase de usuario de MATLAB 4.0 con el despliegue de una aplicación con grafica en 3D correspondiente al modelo Z=x^y-y^x su tabla de calculo y el análisis de la función.1.4.- SALIDAS O PRESENTACIONESMATLAB provee acceso inmediato a las características gráficas especializadas requeridas en ingeniería y ciencias. Potente graficación orientada a objetos gráficos le permite graficar los resultados de su análisis, incorporar gráficos en sus modelosde sistemas, rápidamente presentar complejos 3-D objetos, y crear resultados de presentación, entre lo cual se destaca:· Representaciones 2-D y 3-D, incluyendo datos triangulados y reticulados· Representaciones 3-D quiver, ribbon, y stem· Control de fuentes, letras Griegas, símbolos, subíndices y superíndices· Selección expandida de símbolos marcadores de curvas· Gráficos de torta, de barras 3-D y gráficos de barras horizontales· Gráficos 3-D y sólido modelado· Representación de imágenes y archivos I/O· Gráficos comentados· Leer/Escribir archivos de datos Hierarchical Data Format (HDF)· Presentación de OpenGLsoftware y hardware· Animación· Display de buffer x rápido y exacto· Soporte de colores verdaderos (24-bit RGB)· Fuentes múltiples de luz para superficies coloreadas· Vista basada en cámara y control de perspectiva· Iluminación Plana, Gouraud y Phong· Soporte eficiente de imagen de datos de 8-bit· Control de eje y cámara· Propiedades de superficie y patch· Modelos de iluminación· Control gráfico de objetos· Impresión y representación de copias· Formatos gráficos exportables· Soporte de publicación de escritorio1.5.- FUNCIONES DE MATLABManipulación y Reducción de DatosMATLAB tiene un rango completo de funciones para preprocesar datos para análisis, incluyendo:• y decimando• secciones de datos• y promediando• y procesando umbrales• y filtrandoNumerosas operaciones para manipular arreglos multidimensionales, incluyendo reticulación e interpolación de datos, están también disponibles.Descriptivos Gráficos Para Explorar y Presentar Sus DatosGráficos de propósitos generales y de aplicación específica le permiten visualizar al instante señales, superficies paramétricas, imágenes y más. Todos los atributos de los gráficos de MATLAB son personalizables, desde los rótulos de ejes al ángulo de la fuente de luz en las superficies 3-D . Los gráficos están integrados con las capacidades de análisis, de modo que usted puede mostrar gráficamente cualquier conjunto de datos sin editar, ecuación o resultado funcional.I/O Directo de DatosUsted puede ingresar y sacar datos de f MATLAB rápidamente. Las funciones están disponibles para leer y escribir archivos de datos formateados en MATLAB, llamados archivos MAT. Funciones adicionales ejecutan programas ASCIIe I/O binario de bajo nivel desde los archivos de programas M, C, y Fortran, permitiéndole trabajar con todos los formatos de datos. MATLAB también incluye soporte incorporado para formatos populares de archivos estándar.Computación Simbólica IntegradaIntegrando el motor simbólico Maple V® con MATLAB, los Symbolic Math Toolboxes le permiten mezclar libremente computación simbólica y numérica una sintaxis simple e intuitiva.Análisis de Datos Confiable, Rápido y Exacto Los métodos usados comúnmente para análisis de datos multidimensional generalizados 1-D, 2-D están incorporados en MATLAB. Interfaces gráficas fáciles de usar, específicas para aplicaciones, la línea de comando interactiva y herramientas de programación estructuradas le permiten elegir el mejor camino para sus tareas de análisis.Análisis de Datos para DSPMATLAB ofrece muchas herramientas para realizar la funcionalidad indispensable en procesamiento de señales, tales como Transformadas Rápidas Fouriery Transformadas Rápidas Inversas de Fourier. La visualización de datos de procesamiento de señales está soportada por funciones tales como gráficos stem y periodogramas. El lenguaje de MATLAB, inherentemente orientado a matrices hace que la expresión de coeficientes de filtros y demoras de buffers sean muy simples de expresar y comprender.Análisis de Datos en Aplicaciones de ImágenesMATLAB y la Image Processing Toolbox ofrece un amplio conjunto de herramientas que le permite fácilmente manipular, procesar y analizar datos de imágenes, interactivamente mostrar pantallas de imágenes 2-D o 3-D, visualizar datos temporarios cuando es necesario, y comentar sus resultados para publicaciones técnicas. La orientación basada en matrices del lenguaje de MATLAB le permite expresar en forma compacta operaciones matemáticas de forma similar a cómo las expresaría sobre papel. Como resultado, es fácil e intuitivo efectuar procesamiento de imágenes y operaciones de análisis tales como FFTs, filtrado 2-D, morfología binaria, manipulación geométrica, conversión de espacios de colores, compresión, análisis de componentes conectados y más.Algorithm Development (Desarrollo de Algoritmos) Sea que usted esté usando los algoritmos del sistema o esté inventando los suyos propios, MATLAB le provee un ambiente en el que usted puede experimentar. A diferencia de C y C++, MATLAB le permite desarrollar algoritmos desde cero o trabajar con interfaces complicadas a bibliotecas externas. Las poderosa fundación de computación, el lenguaje técnico, y cientos de funciones en cajas de herramientas (toolboxes) convierten a MATLAB en lo más adecuado para aplicaciones matemáticamente intensivas que requieran análisis de datos, procesamiento de señales e imágenes, modelado de sistemas o técnicas numéricas avanzadas.
.6- EL MATLAB Y LA ESTADÍSTICAS
caracteristicas
ToolboxCombina poderosos algoritmos estadísticos con interfaces gráficas interactivasLas Statistics Toolbox le da un rango ancho de herramientas para realizar cálculos estadísticos. Proporciona una única mezcla de facilidad gráfica de uso y programabilidad. Los despliegues gráficos interactivos le permitieron aplicar métodos estadísticos fácilmente y de forma consistente, mientras el lenguaje de MATLAB le permite fácilmente crear los acostumbrados métodos estadísticos y de análisis. Esta combinación le da la libertad para acceder las funciones bajo-niveladas directamente como funciones de probabilidad y ANOVA de la línea del orden, o para usar las interfaces interactivas para aprender y experimentar con el toolbox construir-en visualización y herramientas del análisis.RasgosAnálisis de los componentes principalANOVABootstrappingComprobación de la hipótesisCreación de superficies y modeladoCurva que encaja (con intervalos)Distribuciones de probabilidadEstadísticas descriptivasEstimación del parámetro y encajandoInterfaces gráficas de usuarioModelade de NonlinearParcelas estadísticasPlan de experimentosProceso estadístico de controlRegresión del stepwise interactivaRegresión múltipleSimulación de Carlo MonteEl toolbox es el ambiente ideal no rutina para el montaje ejemplar. Las capacidades primarias incluyen: el análisis de la regresión y diagnóstica con selección inconstante, modelado no lineal, probabilidad y estimación de parámetros, análisis de sensibilidad que usa los generadores de número de azar, control del proceso estadístico, y plan de experimentos.Distribuciones de probabilidad. La Caja de Herramientas Estadísticas ( Statistics TollBox ) apoya una colección de 20 distribuciones de probabilidad diferentes, incluso T, F, y distribuciones del Chi-cuadrado, despliegues gráficos de ataques, y se mantienen formas de calcular ataques mejores todos los tipos de la distribución.Herramientas de GUI que mantienen Muchas herramientas interactivas para la visualización dinámica y el análisis de datos. Las interfaces especializadas tienen incluido planificaciónpara los resultados, visualización de la distribución, generación de número de azar, y area del contorno.Parcelas estadísticas los órdenes trazando Estadísticos como weibplot y randplot le permiten realizar análisis de fiabilidad o montaje distributional.Desarrollo del algoritmos de junto con el MATLAB, el toolbox le da todo lo que usted necesita para desarrollar nuevos algoritmos para el análisis estadístico. Usted puede usar las funciones de trazando de Statistics Toolbox, o crea su propio trazo usando los rasgos de Gráficos de MATLAB.En la grafica, el orden del histfit se sobrepone a una curva de densidad normal en un histograma. El número predefinido de cajas se pone a la raíz cuadrada del número de elementos en los datos.Explorando y Aprendiendo Statistics Toolbox GUIsLa Statistics Toolbox incluye varios elementos de fácil uso para despliegues que proporcionan vistas gráficas de sus datos y lecturas numéricas precisas del valor de la función actual y estadística descriptiva relacionada. Controles de interface de usuario, como botones, los deslizadores, y los datos dinámicos, donde usted controla sobre el despliegue de los datos.Estos despliegues interactivos le permiten explorar sus datos, experimentar con cambios a las entradas, y ver los resultados de cambios hipotéticos - todos en una sola pantalla. Este acercamiento a las estadísticas le ayuda a aprender sobre un proceso mientras le da una percepción intuitiva para la conducta de las funciones estadísticas subyacentes.Los despliegues de la entrada múltiples le permiten hacer análisis de relación de multidimensional. Cada sección representa una entrada. Las barras cruzadas punteadas pueden moverse con el ratón para cambiar un valor del parámetro que causa todos los otros parámetros (entradas) para poner al día simultáneamente.Statistics Toolbox ofrece despliegues interactivos que le permiten experimentar y aprender sobre toolbox contiene una interfase de visualización y herramientas del análisis. La herramienta interactiva se muestrasobre el modelo obtenido el comando rsmdemo, se muestran conceptos en plan de experimentos y planificación de regresión.
2.- LIBRERIAS
Librería de Aplicaciones de MATLABSignal Processing ToolboxMATLAB tiene una gran colección de funciones para el procesamiento de señal en el Signal Processing Toolbox. Este incluye funciones para:· Análisis de filtros digitales incluyendo respuesta en frecuencia, retardo de grupo, retardo de fase.· Implementación de filtros, tanto directo como usando técnicas en el dominio de la frecuencia basadas en la FFT.· Diseño de filtros IIR, incluyendo Butterworth, Chebyschev tipo I, Chebyshebv tipo II y elíptico.· Diseño de filtros FIR mediante el algorítmo óptimo de Parks-McClellan.· Procesamiento de la transformada rápida de Fourier FFT, incluyendo la transformación para potencias de dos y su inversa, y transformada para no potencias de dos.The MATLAB C Math LibraryLa MATLAB C Math Library proporciona al usuario la capacidad computacional de MATLAB en una libreria en formato objeto enlazable. El objetivo principal de la C Math Library es soportar el desarrollo de aplicaciones 'stand alone' utilizando MATLAB y su compilador. Puede ser utilizada independientemente de MATLAB por programadores avezados en lenguaje C que necesiten prestaciones computacionales robustas y de alto rendimiento.Junto con el compilador de MATLAB , la C Math Library permitirá a los programadores de aplicaciones utilizar MATLAB para la creación de aplicaciones 'stand alone'. Para los usuarios clásicos de MATLAB , se elimina así cualquier necesidad de volver a reescribir algoritmos en lenguaje C para ser utilizada por programas externos. Para aquellos usuarios que sean nuevos en la tecnología MATLAB , esta tecnología ofrece una nueva vía para la reducción del tiempo de desarrollo y puesta a punto de aplicaciones.La MATLAB C Math Library proporciona una amplia gama de funciones clásicas del programa MATLAB , proporcionadas como librerias objeto, incluyendo básicamente las siguientes categorías de funciones presentes en MATLAB y archivos M compilados:· Algebra lineal.· Funciones matemáticas elementales y especializadas.· Operadores lógicos y aritméticos.· Matrices elementales y manipulación de vectores.· Matrices especiales.· Estadística básica y análisis de datos.· Polinomios e interpolación.· Gestión de cadenas de caracteres.· Entradas y Salidas.· Gestión de memoria y errores.(Nota: Las funciones del tipo Handle Graphics no estan incluidas en la C Math Library).Desarrollo de aplicaciones utilizando la MATLAB C Math LibraryLa construcción y desarrollo de aplicaciones utlizando esta libreria es un proceso de amplias perspectivas una vez se tiene un dominio adecuado de su operativa. El producto está dividido en dos categorias (como librerias objeto): la libreria (built-in library) contiene versiones de las funciones de MATLAB en lenguaje C del tipo numérico, lógico y utilidades. Por otra parte la libreria de toolboxes (toolbox library) contiene versiones compiladas de la mayoria de archivos M de MATLAB para cálculo numérico, análisis de datos y funciones de acceso a archivos y matrices.En equipos UNIXestas librerias pueden ser igualmente obtenidas como librerias de tipo estático (static libraries) o bien como librerias compartidas (shared libraries). Respecto al mundo PC, estas librerias pueden obtenerse como DLL's en el entorno MicrosoftWindows o como librerias compartidas en equipos Apple MacIntosh.Utilización de MATLAB y de su compiladorPara construir una aplicación del tipo 'stand alone' que incorpore código originalmente desarrollado como archivos M de MATLAB , deberan de seguirse los pasos siguientes:· Utilizar el compilador de MATLAB para convertir archivos M en C mediante la utilización de la instrucción mcc -e (la cual es externa a MATLAB).· Compilar el código C fuente en código objeto utilizando un compilador ANSI C.· Enlazar el código resultante con la MATLAB C Math Library y con cualquier tipo de archivos y programas específicos que hayan sido previamente definidos por el usuario.Velocidad y PrecisiónLos algoritmos utilizados en la MATLAB C Math Library han sido desarrollados por un grupo de renombrados expertos en programación algorítmica de funciones de tipo matemático ( algebra lineal y cálculo numérico). Las funciones de álgebra lineal han sido obtenidas de las librerias mundialmente reconocidas LINPACK y EISPACK. La MATLAB C Math Library contiene más de 300 funciones numéricas, lógicas y de utilidad. Todas estas funciones le permitiran operar en datos de tipo escalar, vectorial o matricial con la misma facilidad sintáctica.RequerimientosLa libreria MATLAB C Math Library cumple con la normativa estándar ANSI para compiladores C. Finalmente, la librería trabajará con aquellos enlazadores que vienen suministrad os con la mayoría de compiladores ANSI C.THE MATLAB COMPILER TOOLBOX"OBTENGA UNA VELOCIDAD DE EJECUCION HASTA 200 VECES SUPERIOR CON EL NUEVO COMPILADOR DE MATLAB"El nuevo compilador de MATLAB -The MATLAB Compiler- permite crear código C optimizado procedente de archivos M -M files- de MATLAB . Este compilador puede ser utilizado de dos modos:· Como un generador MEX automático. Pueden convertirse archivos M en funciones C ejecutables que se ejecutaran desde dentro de MATLAB. Como un generador de código C fuente.· Pueden construirse aplicaciones que se ejecutaran independientemente de MATLAB . Estas aplicaciones externas requieren de la MATLAB C Math Library , que está disponible separadamente.Mediante la conversión automática de archivos M en código C fuente, el compilador MATLAB elimina consumo de tiempo y la conversión manual de código. Todo el proceso de conversión, compilación y enlazado se inicia a través de una simple instrucción de MATLAB.Generación Automática de archivos MEX.El compilador de MATLAB automatiza la creación de archivos MEX de C (MATLAB Ejecutables). Los archivos MEX contienen código objeto que es dinámicamente enlazado como 'runtime' en el entorno MATLAB por el intérprete del programa.El proceso en cuestión se realiza en tres pasos:· El compilador de MATLAB traduce las funciones MATLAB en sus funciones equivalente en lenguaje C.· La instrucci¢n MATLAB cmex llama al compilador y al enlazador del sistema para construir un fichero MEX objeto.· El intérprete de MATLAB enlaza automáticamente la función de MATLAB como 'runtime'.Mientras se efectua una conversión de los archivos M en archivos MEX, el compilador realiza llamadas a las rutinas de la libreria C para muchas de las instrucciones contenidas en el propio núcleo de MATLAB . Existen algunas funciones, incluyendo las rutinas 'Handle Graphics', para las cuales se generan de nuevo llamadas 'callbacks' a MATLAB.Pueden convertirse convenientemente archivos M en código fuente C para incorporarlos posteriormente en los archivos externos desarrollados en lenguaje C, si ese es el caso. Esta opción es ideal para usuarios que quieren sacar la máxima ventaja de MATLAB desde cualquier otra aplicación o producir código C eficiente a partir de los algoritmos desarrollados con MATLAB . Los desarrollos del tipo 'stand-alone' requieren para ello de la MATLAB C Math Library . Obsérvese que las funciones gráficas de MATLAB no estan incluidas.Para construir aplicaciones 'stand-alone' se debería seguir los siguientes pasos:· Utilizar el compilador de MATLAB para convertir archivos M en C con la instrucción externa mcc -e.· Compilar el código C fuente en código objeto utilizando un compilador C.· Enlazar el código resultante con las librerias matemáticas C de MATLAB y los archivos específicos de que dispongamos.Rendimiento del compiladorMediante la compilación de los archivos M podemos obtener un rendimiento significativo. La velocidad de mejora de este rendimiento, depende fuertemente de cada aplicación. En algunos casos el rendimiento puede mejorar hasta en 200 veces la ejecución si la comparamos con el modo de trabajo interpretado del programa. Las operaciones matriciales y vectoriales ejecutadas desde MATLAB ya estan fuertemente optimizadas en su diseño. Sin embargo, mediante la utilización del compilador se obtendran significativas mejoras.Opciones de ajuste del rendimientoEl compilador de MATLAB ofrece varias opciones que permiten generar el programa final de la manera más eficiente. Por ejemplo, Ud. puede directamente:· Tratar todas las variables en archivos como datos enteros y/o reales.· Utilizar una variable concreta como variable escalar, vectorial, entera, real o una combinación de estas.· Desactivar el control de parámetros de entrada y el redimensionamiento dinámico de vectores.Requerimientos del sistemaPara utilizar el compilador de MATLAB para crear archivos MEX se necesita la versión de MATLAB 4.2c y tener instalado uno de los siguientes compiladores de lenguaje C:· PC/Microsoft Windows· o Metaware High C/C++ V.3.0 o superior.o Watcom C V.10.0 o superior· Power MacIntosh· o MetroWerks CodeWarrior C V.7o MPW MrC V.1.0b2 o PPCC version 1.0.5· 680x0 MacIntosh· MPW C Versi¢n 3.4· UNIX y VMS· Cualquier compilador ANSI C (Nota: El compilador de SunOS 4.1.X no es un compilador ANSI C).· Cualquiera que sea el equipo informático que vaya a utilizarse para desarrollar aplicaciones 'stand alone' se requiere, además del compilador de MATLAB, que se tengan las MATLAB C Math Library y un compilador ANSI C.Limitaciones del código compiladoCiertas instrucciones, como load y eval, no estan soportadas por el compilador de MATLAB . Este no puede generar código de los diagramas de bloques de SIMULINK. Los toolboxes de MATLAB pueden incluir archivos MEX y otros componentes que no son compilables.SYMBOLIC MATH TOOLBOXEl Toolbox de Matemática Simbólica, añade a MATLAB la capacidad de realizar cálculos simbólicos basados en MAPLE V © soportando además (The Extended Symbolic Math Toolbox) las librerías especializadas, y los programas realizados para este último. Entre otros, los principales tipos de operaciones soportados son los siguientes:· Algebra simbólica: Derivación, integracióny simplificación de expresiones matemáticas.· Algebra lineal exacta: Inversas, determinantes, autovalores y formas canónicas de matrices simbólicas.· Aritmética de precisión variable: Evaluación de expresiones matemáticas con diversos grados de precisión.· Resolución de ecuaciones: Resolución numérica y simbólica de ecuaciones algebraicas y diferenciales.· Funciones matemáticas especiales: Evaluación de la mayoría de las funciones utilizadas en matemáticas aplicadas.Existen dos versiones del mismo Toolbox. The Basic Symbolic Math Toolbox es una colección de más de 50 funciones MATLAB las cuales permiten acceder al kernel de MAPLE utilizando la sintaxis y el estilo del lenguaje MATLAB. The Extended Symbolic Math Toolbox aumenta esta funcionalidad incluyendo todas las características de programación de MAPLE, y el acceso a los paquetes de funciones de más de veinte campos de las matemáticas especiales aplicadas.Es posible utilizar este Toolbox sin conocimientoprevios de MAPLE, ya que los archivos contenidos en él son totalmente autónomos. Sin embargo, si lo que se desea es obtener toda la potencia de cálculo del entorno, será necesario un amplio conocimiento del manejo y la programación de MAPLEOptimization ToolboxEl toolbox de optimización consta de un conjunto de funciones que resuelven problemas de extremos, con o sin condiciones, de funciones reales las cuales son generalmente multivariables y no lineales. Asimismo, posee funciones para la resolución de algunos tipos de problemas matriciales en extremos. Resulta conveniente para una comprensión y mejor manejo de la toolbox poseer conocimientos básicos previos de análisis de funciones reales, matrices y teoría de extremos.Algunas de las áreas básicas que cubre este toolbox para MATLAB son las siguientes:· Cálculo de un extremo local (máximo o mínimo) de una función real f(x), en general multivariable y no lineal, sin imponer ninguna restricción o condición a la solución. Como caso particular, se incluye una rutina especial para problemas de mínimos cuadrados no lineales.· Cálculo de un extremo local (máximo o mínimo) de una función real f(x), en general multivariable y no lineal, condicionado a que la solución satisfaga ciertas condiciones de desigualdad (g(x)<=0) y/o igualdad (g(x)=0).· Problemas de aproximación a un conjunto de objetivos.· Cálculo de soluciones de un sistema de ecuaciones continuas y, en general, no lineales.· Solución de problemas minimax.· Programación lineal.· Programación cuadrática.· Problemas de mínimos cuadrados no negativos.Image Processing ToolboxEste Toolbox proporciona a MATLAB de un conjunto de funciones que amplia las capacidades del producto para realizar desarrollo de aplicaciones y de nuevos algoritmos en el campo del proceso y análisis de imagenes. El entorno matemático y de creación de MATLAB es ideal para el procesado de imágenes, ya que estas imágenes son, al fin y al cabo, matrices. Este toolbox incorpora funciones para:· Diseño de filtros.· Mejora y retocado de imágenes.· Análisis y estadística de imágenes.· Operaciones morfológicas, geométricas y de color.· Transformaciones 2D.El proceso de imágenes es un campo de trabajo absolutamente crucial para aquellos colectivos e industrias que esten trabajando en áreas como diagnósticomédico, astronomia, geofísica, ciencias medioambientales, análisis de datos en laboratorios, inspección industrial, etc. Los programas actuales de procesado y análisis de imágenes se clasifican actualmente en dos categorias: librerias de bajo nivel para programadores profesionales y paquetes de aplicación con capacidades limitadas de personalización. Ambos tipos de aplicaciones están, generalmente, pensados para tareas básicas de visualización de datos y 'rendering'. Sin embargo, muchos de ellos adolecen de la posibilidad de efectuar análisis numéricos de los mismos. El Image Processing Toolbox entra dentro de la categoria de familias de funciones que, desde el entorno de trabajo de MATLAB , permitirá al profesional efectuar una exploración exhaustiva y desde un punto de vista matemático de las imágenes y gráficos que se deseen tratar o analizar.Algunas de las funciones más importantes incluidas dentro de este toolbox son las siguientes:· Análisis de imágenes y estadística.· Diseño de filtros y recuperación de imágenes.· Mejora de imágenes.· Operaciones morfológicas.· Definición de mapas de colores y modificación gráfica.· Operaciones geométricas.· Transformación de imágenes.
Proceso de bloquesNeural Network ToolboxEste toolbox proporciona funciones para el diseño, inicialización, simulación y entrenamientode los modelos neuronales de uso más extendido en la actualidad: Perceptrón, redes lineales, redes de retropropagación, redes de base radial, aprendizaje asociativo y competitivo, aplicaciones autoorganizativas, aprendizaje de cuantización vectorial, redes de Elman y redes de Hopfield.Mediante la inclusión de un amplio abanico de funciones y procedimientosescritos para MATLAB, el usuario puede mediante el Neural Network Toolbox efectuar el diseño de arquitecturas complejas, combinando los modelos que ya estan proporcionados por defecto en el toolbox. Asimismo, el usuario puede definir sus propias funciones de transferencia e inicialización, reglas de aprendizaje, funciones de entrenamiento y estimación de error para usarlas posteriormente con las funciones básicas.El toolbox, aporta las facilidades y prestaciones gráficas de MATLAB para el estudio del comportamiento de las redes: visualización gráfica de la matrizde pesos y vector de desplazamiento mediante diagramas de Hinton, representación de errores a lo largo del entrenamiento, mapas de superficie de error en función de pesos y vector de desplazamiento, etc. Estos gráficos resultan muy útiles en el estudio de la convergencia y estabilidad de los algoritmos de aprendizaje. Este toolbox incluye un manual de introducción al campo de las redes neuronales junto con una colección de demostraciones y aplicaciones muy didácticas, útiles para el estudio y la profundización en las cuestiones fundamentales de los paradigmas de redes neuronales básicos. Asimismo, se proporcionan las referencias bibliográficas más significativas referidas a los distintos modelos que aparecen en la aplicación.A pesar de que el estudio de las redes neuronalesse inició ya hace algunas decadas, las primeras aplicaciones sólidas dentro de este campo no han tenido lugar hasta hace unos doce años y aun ahora constituyen un área de investigación en rápido desarrollo. Este toolbox tiene por tanto una orientación diferente a aquellos destinados a campos como el de sistemas de control u optimización donde la terminología, fundamentos matemáticos y procedimientos de diseño estan ya firmemente establecidos y se han aplicado durante años. Este toolbox pretende que sea utilizado para la valoración y diseño de diseños neuronales en la industria y sobre todo en educación e investigación.Esta herramienta tiene el soporte de MATLAB 4.2c y SIMULINK. La librería de SIMULINK contiene modelos de capas de redes neuronales de cada tipo de neurona implementada en el toolbox de redes neuronales. Es posible por tanto diseñar sistemas SIMULINK para simular redes neuronales creadas usando esta herramienta. Simplemente, las capas se conectan de acuerdo con la arquitectura de la red y se proporcionan como entrada a la caja de diálogo de cada capa la matriz de pesos apropiada y el vector de desplazamiento. Usando el generador de código C de SIMULINK es posible generar automáticamente el código correspondiente a un diseño neuronal.Dentro de las aplicaciones básicas de este toolbox, cabe destacar aquellas que estan orientadas a aquellas que se enmarcan dentro del campo de la industria aeroespacial y automoción (simulación, sistemas de control, autopilotaje), banca, defensa (reconocimiento de patrones, procesamiento de señales, identificación de imágenes, extracción de características, compresión de datos), electrónica (control de procesos, análisis de errores, modelado no lineal, síntesis de voz, visión por ordenador), economía (análisis financiero, análisis predictivo), industria (control de procesos, identificación en tiempo real, sistemas de inspección), medicina, robótica (control de trayectorias, sistemas de visión), reconocimiento y síntesis del habla, telecomunicaciones (control de datos e imágenes, serviciosde información automatizada, traducción del lenguaje hablado en tiempo real, diagnosis, sistemas de enrutamiento), etc. El toolbox contiene muchos ejemplos de algunas de estas aplicaciones.NON LINEAR CONTROL DESIGN TOOLBOXSe trata del primer producto comercialmente disponible en la actualidad para el diseño de controladores automáticos en entornos de sistemas no lineales. Este nuevo toolbox está pensado para ser utilizado exhaustivamente por ingenieros que diseñan controladores para industrias avanzadas, destacando el sector del automóvil, ingenieria aeroespacial, control de procesos y empresas petroquímicas. Según indica Jim Tung, Vicepresidente del área de desarrollo de The MathWorks Group, Inc. "El proceso de aproximación tradicional en el diseño de controladores en sistemas no lineales ha sido hasta la fecha linealizarlos de algún modo para aplicar posteriomente un método de diseño lineal que requiere de importantes ajustes manuales. El toolbox NCD permite por primera vez a los ingenieros de control diseñar directamente sus controladores en un ambiente no lineal, obviando la aproximación lineal y otros procedimientos auxiliares que antes se necesitaban de modo imperativo. Los resultados ahora son de elevada calidad, controladores más robustos y un ciclo de diseño mucho más rápido."El toolbox NCD extiende, además, las prestaciones que incorpora SIMULINK, el entorno de desarrollo de diagramas de bloques para la modelación y análisis de sistemas dinámicos de The MathWorks, Inc. El usuario puede incluir uno o más bloques NCD en el sistema y describir posteriormente de modo totalmente gráfico las restricciones, tolerancias y límites de permisividad de cada uno de estos bloques. Los métodos avanzados de optimización y la simulación del proceso son posteriormente analizados y ajustados mediante la inclusión de unas ciertas variables de contorno para poder obtener los tiempos de respuesta deseados. Este toolbox puede ser utilizado para ajustar una amplia variedad de controladores que se utilizen en un sistema, destacando los controladores PID, LQR, LQG y estructurasH infinito. El diseñador de sistemas puede utilizar el método de Montecarlo para el diseño y análisis de controladores robustos, siempre que se detecten determinadas variaciones en los componentes del sistema.El toolbox NCD es un componente avanzado del entorno integrado de desarrollo que ofrecen a los especialistas los programas MATLAB y SIMULINK. Por ello, los diseñadores podrán beneficiarse de muchos de los toolboxes desarrollados para este entorno en materia de diseño de sistemas lineales. Por ejemplo, podrán utilizarse toolboxes para el análisis de sistemas lineales para el diseño inicial; posteriormente, podrán utilizarse modelos no lineales más sofisticados utilizando SIMULINK. Además, puede invocarse NCD para un mejor ajuste paramétrico y para la optimización de los controladores. Este toolbox se encuentra actualmente disponible para una amplia variedad de plataformas informáticas, destacando ordenadores personales tipo PC o Apple MacIntosh, numerosas estaciones UNIX y ordenadores Digital VAX VMS.NAG FOUNDATION TOOLBOXEste toolbox proporciona un acceso interactivo, desde dentro de MATLAB, a un amplio conjunto de funciones matemáticas y estadísticas contenidas en las clásicas NAG Fortran Libraries de la empresa The Numerical Algorithms Group Incorpora más de 200 archivos M, los cuales cubren un amplio espectro de áreas de interés, entre las que cabe destacar optimización, ecuaciones diferenciales ordinarias y en derivadas parciales, cuadratura, estadística, etc. La NAG Foundation Toolbox añade también rutinas concretas para campos específicos tales como la resolución de problemas con condiciones de contorno, problemas de cuadratura adaptativa multidimensional, ajuste de curvas y superficies y el acceso a los algoritmos LAPACK para la resolución de ecuaciones lineales. Los nombre de las funciones han sido directamente tomados de las especificaciones de función clásica que añade The Numerical Algorithms Group para sus librerias. Como resultado de esto, aquellos usuarios de las librerías Fortran de NAG que a la vez sean usuarios de MATLAB, encontraran bastante cómodo acceder a las rutinas NAG utilizando la nomenclatura original.La NAG Foundation Toolbox es resultado de la colaboración corporativa que actualmente están llevando a cabo The MathWorks Group y The Numerical Algoriths Group para proporcionar un rápido acceso desde MATLAB a un importante de rutinas matemáticas contenidas en la NAG Foundation Library. Actualmente, este toolbox incorpora 250 rutinas matemáticas.Algunas de las áreas de cobertura de la NAG Foundation Toolbox son las siguientes:· Ceros de polinomios· Raíces de una o más ecuaciones de tipo trascendental.· Suma de series.· Cuadraturas.· Ecuaciones diferenciales ordinarias.· Ecuaciones diferenciales en derivadas parciales.· Estadística no paramétrica.· Análisis de series temporales.· Rutinas de clasificación.· Aproximación de funciones especiales.· Aproximación de curvas y superficies.· Maximización y minimización de funciones.· Factorización de matrices.· Valores y vectores propios.· Resolución de ecuaciones lineales simultáneas.· Ecuaciones lineales (LAPACK).· Estadística básica.· Análisis de correlación y regresiones.· Métodos multivariantes.· Generación de números aleatorios.
3.- VENTANAS
Como vemos la interfase de usuario de MATLAB no es muy distinta a la de otras aplicaciones a las cuales estamos acostumbrados, pero la verdadera diferencia consiste en la utilidad que presta como aplicación para la investigación y el desarrollo de modelos matemáticos y estadísticos los cuales son tratados de forma interactiva, y con superposición de ventanas en un entorno de fácil comprensión e interpretaciónde los datos arrojados como resultados de los distintos rangos de calculo que se pueden proporcionar a cada modelo de tal forma que podemos hacer estudios de comportamiento y tratar de determinar como se comportará una determinada variable a través de una serie de experimentación en tiempo real.Las ventanas de despliegue grafico son muy similares, en las cuales el énfasis de la presentación se pone en la grafica generada y no en el entorno de trabajo, es por esta razón que puede parecer que el diseño de esta aplicación es escueto, pero debemos recordar que como todo este tipo de aplicaciones su desarrollo está orientado al logro de un objetivo especifico como es el resolver modelos matemáticos.

3.1.-OPERACIONES CON VECTORES Y MATRICES
Definiendo Matrices y VectoresEl entorno de desarrollo nos permite resolver problemas de calculo complejo y es asi como en el calculo matricial y vectorial se puede hacer buen uso de MATLAB, a continuación se ejemplifica el uso del mismo, tengamos en cuenta que una matriz es un arreglo vectorial, por lo tanto el uso de las formas matriciales son aplicables a las formas vectoriales. Si queremos definir la siguiente matriz en MATLAB:entonces escribimos:»A=[1 2 3 4;5 6 7 8;9 10 11 12;13,14,15,16];(El simbolo "»" denota el prompt de MATLAB y no se escribe al entrar instrucciones). El ";" al final de la instrucción omite el "eco" o salida a la pantalla. La instrucción»x=4:-1:1general el vector fila x=[4,3,2,1]. La instrucción»C=A(3:4,1:3);se refiere a la submatrizde A. También D=A([1,3],3:4) generaMatrices EspecialesEn MATLAB podemos generar matrices especiales con las siguientes instrucciones:m de entradas aleatorias entrerand(n,m) - matriz n 0 y uno.eye(n) - matriz identidad n.nm.zeros(n,m) - matriz cero de tamaño nm conones(n,m) - matriz n todas las entradas uno.Combinando estas instrucciones podemos generar matrices bastante complicadas. Por ejemplo, la instrucción»E=[eye(2),ones(2,3);zeros(2),[1:3;3:-1:1]]genera la matrizLa instrucción round(x) redondea "x" al entero más cercano a "x". Podemos combinar funciones en MATLAB. Por ejemplo, round(10*rand(4)) genera una matriz con entradas aleatorias entre 0 y 10.Aritmética de MatricesConsidere las siguientes matrices:Entonces las operaciones A*B (producto matricial de A con B), A+B (suma de A mas B), 3*A (multiplicación escalar de 3 por A) tienen los siguientes resultados:»A*Bans =16 19 1310 11 7»A+B??? Error using ==> +Matrix dimensions must agree.»3*Aans =12 15 6 9Note que MATLAB "anuncia" que A+B no se puede calcular. Las operaciones A' (transpuesto de A), inv(A) (inversa de A), y A^3 (esto es A*A*A) tienen como resultados:»A'ans =4 25 3»inv(A)ans =1.5000 -2.5000-1.0000 2.0000»A^3ans =174 235 94 127Si precedemos las operaciones matriciales "*", "^" con el punto ".", entonces estas se hacen termino a termino. Por ejemplo A.*C y A.^2 generan:»
A.*Cans =-4 10 4 12»
A.^2ans =16 25 4 9Solución de Sistemas LinealesConsidere le sistema linealDefinimos la matriz de coeficientes y el lado derecho por las instrucciones:»A=[1 -2 3;4 1 -2;2 -1 4];
»b=[1 -1 2]';Note el transpuesto en b para hacerlo un vector columna. Vamos a resolver este sistema por tres métodos:· eliminación Gaussiana· forma echelon reducida o método de Gauss-Jordan· método de la inversaEn el método de Gauss-Jordan, luego de obtener la forma echelon de la matriz de coeficientes aumentada, eliminamos también la parte de arriba de la matriz hasta producir una matriz donde las columnas con unos, solo tienen un uno. Esto se conoce como la forma echelon reducida (ver texto). Para comparar los tres métodos utilizamos la instrucción flops de MATLAB que estima el número de operaciones de punto flotante entre dos llamadas sucesivas a flops. Una llamada de la forma flops(0) inicializa el contador de operaciones a cero. La sucesión de instrucciones:» flops(0)» x=A\bx =-0.0417 0.4167 0.6250»
flopslleva a cabo eliminación Gaussiana en el sistema de arriba y produce como resultado:ans =73esto es, se necesitaron aproximadamente 73 operaciones de punto flotante (sumas, restas, multiplicaciones ó divisiones) para resolver el sistema con eliminación Gaussiana. Para el método de Gauss-Jordan tenemos:
» flops(0)» rref([A b])
ans =
1.0000 0 0 -0.04170 1.0000 0 0.41670 0 1.0000 0.6250
» flops
ans =483
el cual requiere 483 operaciones de punto flotante. Finalmente el método de la inversa se realiza con la siguiente sequencia de instrucciones:
» flops(0)»
x=inv(A)*bx =-0.0417 0.4167 0.6250»
flopsans =108
el cual toma 108 operaciones. Vemos pues que eliminación Gaussiana es el mejor de los tres métodos lo cual es cierto en general.Usando MATLAB podemos estudiar la relación entre la solubilidad del sistema Ax=b y la nosingularidad de la matriz de coeficientes A. En clase vimos que el sistema Ax=b tiene solución única para cualquier lado derecho b si y solo si la matriz A es nosingular. ¿Qué sucede si A es singular? ¿Entonces Ax=b no tiene solución? Si A es singular el sistema Ax=b puede tener solución para algunos b's pero de seguro hay al menos un b* para el cual Ax=b* no tiene solución. Vamos a genera una matriz singular con MATLAB:
A=round(10*rand(6));» A(:,3)=A(:,1:2)*[4 3]'
A =2 5 23 9 7 30 8 24 8 9 67 0 28 5 8 87 1 31 1 3 109 5 51 7 0 44 7 37 4 7 2
(Como usamos la instrucción rand, el resultado de esta y cualquier secuencia de instrucciones que use esta función de MATLAB, no siempre será el mismo). La primera instrucción genera una matriz aleatoria con entradas enteras entre 0 y 10, y con la segunda instrucción remplazamos la tercera columna de A con cuatro veces la primera columna mas tres veces la segunda columna. ¡La matriz resultante es singular! (Explique esto sin calcular el determinante). Generamos ahora un lado derecho arbitrario mediante la instrucción:»
b=round(20*(rand(6,1)-0.5))
b =10453-931 aleatoria con entradas enteras entre -10 y 10.Esto genera una matriz 6 Resolvemos el sistema Ax=b calculando la forma echelon reducida de la matriz de coeficientes aumentada [A b]:»
rref([A b])ans =
1 0 4 0 0 0 00 1 3 0 0 0 00 0 0 1 0 0 00 0 0 0 1 0 00 0 0 0 0 1 00 0 0 0 0 0 1Como la última fila es de la forma el sistema es inconsistente, i.e., no tiene solución. ¡Recuerde que A es singular! Esto no quiere decir que Ax=b nunca tenga solución. Si definimos c=A*b, con el b de arriba digamos, el sistema Ax=c tiene solución x=b (¿por qué?). De hecho si calculamos la forma echelon reducida de [A c] tenemos:» c=A*b;» rref([A c])
ans =
1 0 4 0 0 0 300 1 3 0 0 0 190 0 0 1 0 0 30 0 0 0 1 0 -90 0 0 0 0 1 30 0 0 0 0 0 0
el cual denota un sistema consistente dependiente con soluciones:donde x3 es arbitrario.Funciones de MatricesMATLAB posee una gran cantidad de funciones matriciales. De las más comunes tenenmos:· min(A), max(A) - dan el mínimo y máximo respectivamente por columnas de A· sum(A), prod(A) - producen la suma y producto respectivamente por columnas de A· norm(A,p) - norma p de la matriz A donde p=1,2, ó inf· eig(A) - vector cuyos componentes son los valores propios de A· det(A) - el determinante de A· inv(A) - la matriz inversa de A3.2.- GRAFICASMATLAB provee excelentes funciones para gráficas en dos, tres y cuatro dimensiones. Veamos un par de ejemplos sencillos. Suponga que queremos trazar la gráfica de la funciónEsto lo podemos lograr con las instrucciones:» x=-5:.1:5;»
y=x.^2.*exp(-x.^2);»
plot(x,y)La primera instrucción divide el intervalo [-5,5] en subintervalos de largo 0.1, la segunda instrucción evalúa la función en los puntos de la partición, y finalmente graficamos los resultados con plot. La instrucción plot tiene opciones para cambiar patrones del trazado, poner titulos, etc.Supongamos ahora que queremos dibujar la superficie:Esto lo hacemos con la secuencia de instrucciones:» x=-5:.4:5;» y=x;»
[X,Y]=meshgrid(x,y);» Z=X.^2.*exp(-Y.^2);» surf(X,Y,Z)(Para ver el gráfico faltante haga lick en el menú superior "Bajar Trabajo")Las primeras dos instrucciones dividen los ejes de "x" y "y" en subintervalos de largo 0.4; la tercera instrucción genera una rejilla en el conjunto [-5,5] con cuadraditos de lados 0.4 como se ilustra en la siguiente[-5,5] figura:La cuarta instrucción evalua la función en los puntos de la rejilla, y finalmente trazamos la superficie con surf.
.3.- ANÁLISIS DE VOZ
El análisis de voz propiamente no es funcional pues el modelo que corresponde a la modulación interactiva y las distintas frecuencias que aunque estan sometias a un rango especifico varian en un numero infinito, por esta razón el estudio se refiera a la acustica en si como un modo de generar modelos simples los cuales se van acoplando a las necesidades de la investigación en la cual es requerido, y es así como muchas de estas investigaciones han aportado soluciones efectivas para el desarrollo de mejores programas de reconocimiento de voz.Introducción a modelos físicos¿Cuál es la causa de que la presión de aire fluyendo a través de un tubo hueco produzca ondas de presión en el aire del exterior que conocemos como notas? Con modelos físicos se intenta describir matemáticamente la acústica de los instrumentos tradicionales y implementar digitalmente los algoritmos para poder reproducir estos fenómenos.En la actualidad se ha desarrollado suficientamente la tecnología para que se puedan manipular estos modelos al mismo nivel que los originales acústicos en tiempo real, y por eso han sido objeto de mucho interés comercial. Pero, por supuesto, la imitación nunca puede ser mejor que el original, así que todavía la intención principal es descubrir la naturaleza de los instrumentos.Al contrario de la síntesis tradicional de muestras, se gobierna un modelo físico por la interfaz entre el ejecutante y el instrumento.Variables como la presión de aire y la embocadura para instrumentos de viento y la presión del arco y posición del dedo para los de cuerdas fijan qué oscilaciones afectan al medio resonante, que como consecuencia emite ondas sonoras a su entorno. Con ello se ha perdido la generalidad de la síntesis muestreada y la posibilidad de influir la señal directamente, a cambio de un control del modelo más amigable al usuario, intuitivo y tradicional.Los modelos físicos requieren menos capacidad de datos que la síntesis muestreada si hay algoritmos efectivos, pero los gastoselevados se encuentran al desarrollar estos algoritmos que es necesario adaptar a medida para cada tipo de instrumento que tiene distintos fenómenos acústicos.Así como la síntesis de muestras ha contribuído a clasificar los distintos instrumentos por su timbre, los modelos físicos han contribuido a refinar la clasificación por sus cualidades físicas. Los dos gruposprincipales son instrumentos de cuerdas e instrumentos de viento, ambos subdivididos en varios grupos.Para modelar un instrumento se divide en dos partes funcionales: el excitador y el resonador. El excitador se puede simular como una señal entrada no lineal para el resonador, el cuál se puede modelar como una función transferencia lineal que produce la señal salida audible. Los dos se unen con realimentación.La teoría más aplicada para el resonador de modelos físicos es la denominada ³teoría de guía de ondas². Se basa en la solución analítica de la ecuación de la propagación de ondas en el material. La ecuación es adecuada para cualquier guía de ondas unidimensional, tanto cuerdas como tubos huecos:Ky² = EÿPara cuerdas:K = tensión de la cuerdaE = densidad de masa lineal y = desplazamiento de la cuerdaÿ = aceleración de la cuerday² = curvatura de la cuerdaAdemás hay que modelar las pérdidas de energía debido a la resistencia del aire, la rigidez, la fricción interno etc., que hace apagarse al sonido. Se puede implementar todo eso muy efectivamente mediante componentes digitales como líneas de retardo, unidades de acoplo y filtros.El excitador al ser no lineal es más dificil de modelar que el resonador. Además existen diferentes tipos que implican diferentes conjuntosde ecuaciones, pero hay buenos modelos para estos también. Para mantener una nota constante el excitador tiene que proprocionar exactamente la misma energía que desaparece en el resonador; un cambio en la energía proporcionada da un cambio correspondiente en la potencia sonora. Cada resonador tiene límites superior e inferior que determinan qué suministro de energía resulta en un sonido conteniendo la frecuencia fundamental de la nota deseada.Diferentes opciones para desarrollos posterioresEn principio esta línea de investigación no tenía un fin comercial, sino que era un intento de entender la acústica de los instrumentos acústicos. Hoy día los algoritmos resultantes son tan efectivos, la capacidad de cálculo tan elevada y la interfaz al ejercitante tan buena que también es un método de producir instrumentos musicales comerciales. En esta tarea, hay ángulos diferentes de acometer los problemas. En un extremo está el físico que analiza los mecanismos de generación, en el otro está el diseñador de instrumentos que desea buenos resultados en la calidad del sonido.Uno de los problemas básicos y hasta ahora no resueltos es el de los pequeños márgenes, que son tan importantes. Un cambio minúsculo de p.ej. la presión de arco o la embocadura produce cambios bastante audibles, y aún es un misterio qué separa un violín bueno y uno excelente. Hay que bajar a un nivel muy detallado que en cualquier otro contexto electroacústico se podría pasar por alto, lo cual es un gran desafío para el futuro.Lo más importante será siempre centrarse en los aspectos musicales aunque las matemáticas sean bastante interesantes de por sí.¿Por qué?La ventaja de la acústica musical es la posibilidad de utilizar el excelente oído humano como mecanismo de control para las teorías deducidas, que también son aplicables para objetivos no musicales. Por eso los modelos físicos pueden utilizar la realidad como su hipótesis verificativa.La finalidad será llegar un día a conocer los fenómenos acústicos de los instrumentos tan bien que se logre mejorar y/o construir nuevos instrumentos acústicos, y poder modelar instrumentos ficticios inspirados en los tradicionales pero que no necesariamente se puedan construir en la realidad.También hay un gran interés comercial por estos modelos, ya que son buenas copias de los instrumentos tradicionales, pero mucho más flexibles. Se pueden presentar facilidades como auriculares, MIDI, salida de jack, secuenciador, varios instrumentos parecidos en el mismo modelo, y formatos pequeños y ligeros.
4.- FUNCIONES ESPECIALESLISTA PARCIAL DE FUNCIONES
Funciones matemáticasFuncionales especiales y elementales·
Funciones gamma, beta y elípticas.·
Transformación de sistemas de coordenadas.·
Matriz identidad y otras matrices elementales.·
Matrices de Hilbert, Toeplitz, Vandermonde, Hadamard, etc.·
Partes reales, imaginarias y complejas conjugadas.·
Funciones trigonométricas y de potencias.
Algebra lineal numérica·
Valores propios y descomposición de matrices.
Funciones generales de evaluación de matrices.·
Determinantes, normas, rangos, etc.·
Matrices inversas y factorización de matrices.·
Matriz exponencial, logarítmica y raíces cuadradas.
Polinomios e interpolación·
Interpolación 1-D y 2-D.·
Construcción polinomial.·
Interpolación por splines cúbicos.·
Diferenciación de polinomios.·
Evaluación de polinomios.·
Multiplicación y división de polinomios.·
Residuos de polinomios y residuos.
Métodos numéricos no lineales·
Búsqueda de ceros en funciones de una única variable.·
Minimización de funciones de una o más variables.·
Resolución numérica de integrales
Solución numérica de ecuaciones diferenciales ordinarias.
Estadística y análisis de Fourier·
Convolución 1-D y 2-D.·
Filtros digitales 1-D y 2-D.·
Transformadas de Fourier 1-D y 2-D y su inversa.·
Coeficientes de correlación y matrices de covarianza.·
Deconvolución.·
Magnitudes y ángulos de fase.·
Funciones max, min, sum, mean y otras funciones de estadística básica.
Operaciones algebráicas y lógicas·
Suma, resta, multiplicación, división y potencias de matrices.·
Matrix traspuesta.·
Operadores lógicos AND, OR, NOT y XOR.
Utilidades·
Gestión y mantenimiento de errores.·
Conversión de tipos de datos Fortran.·
Funciones de fecha y hora.·
Clasificación de matrices.
Conversión de números a cadenas y viceversa

Workbench

Electronics Workbench es un software capaz de simular circuitos digitales o electrónicos a través de un laboratorio virtual compuesto por varios paneles donde se ofrecen instrumentos para el diseño de dispositivos electrónicos Es también una empresa radicada en la ciudad canadiense de Toronto, en Ontario, que fue la que produjo este software por primera vez.La empresa se creó con el nombre de Interactive Image Technologies por Joe Koenig y se especializó en la producción de películas educativas y documentales. Cuando el gobierno de Ontario expresó la necesidad de una herramienta educativa para la enseñanza de la electrónica en los institutos, la compañía creó un simulador de circuitos al que denominó Electronics Workbench.En 1999, la compañía se fusionó con Ultimate Technology, otra empresa especializada en EDA (diseño de circuitos integrados complejos) y asumieron el nombre del producto más conocido de la primera, Electronics Workbench. En febrero de 2005, la empresa fue adquirida por National Instruments, constituyendo el National Instruments Electronics Workbench Group.[2Workbench es una parte fundamental del sistema operativo AmigaOS del ordenador personal Commodore Amiga. El Commodore Amiga disfrutó de una enorme popularidad en los años 80-90, e incluso hoy día cuenta con miles de usuarios y programadores que trabajan a diario con él.Una de las características más llamativas del Workbench era su potencia gráfica y su capacidad multitarea, prestaciones muy adelantadas para la época en que el Commodore Amiga salió al mercado. Ordenadores Amiga, con algún equipamiento extra, realizaron las primeras animaciones, titulación de vídeo y renderizados profesionales, llegando éstos a conocerse por el sobrenombre de Video ToastersEl Workbench es la parte del sistema operativo del AmigaOS que viene en disco y contiene:Complementos para el entorno gráficoBibliotecasparches y algunas utilidades que complementan el Kickstart.Junto con el Kickstart conforman el sistema operativo del Amiga.Una de las características de Workbench es el poder modelar los filtros con los valores de resistencias que se deseen. Workbench hace uso de multitarea round robin.

INSTRUMETOS DE LABORATORIO DE ELECTRONICA

INSTRUMETOS DE LABORATORIO DE ELECTRONICA

analizador de redes

Un Analizador de Redes es un instrumento capaz de analizar las propiedades de las redes eléctricas, especialmente aquellas propiedades asociadas con la reflexión y la transmisión de señales eléctricas, conocidas como parámetros de dispersión (Parámetros-S). Los analizadores de redes son más frecuentemente usados en altas frecuencias, que operan entre los rangos de 9 kHz hasta 110 GHz.Este tipo de equipo es ampliamente utilizado en la fabricación de amplificadores de alta potencia y en filtros para señales de radiofrecuencia para obtener la precisión requerida en los parámetros de respuesta a las señales.Existen también algunos tipos de analizadores de redes especiales que cubren rangos más bajos de frecuencias de hasta 1 Hz. Estos pueden ser usados por ejemplo en el análisis de estabilidad de lazos abiertos o para la medición de audio y componentes ultrasónicos.Hay dos tipos principales de analizadores de redes:Analizador de redes escalar, mide propiedades de amplitud solamente.Analizador de redes vectoriales, mide propiedades de amplitud y fase.La calibración de un analizador de redeses un proceso de alta precisión en el cual, se deben tener en cuenta tanto la impedancia en la que se está operando (50 Ohms, en la telefonía celular o 75 Ohms para otras aplicaciones) como las condiciones en las que está operando el equipo. Por este motivo, y dependiendo de la cantidad de Parámetros-S que se requiera medir el proceso puede resultar largo y tedioso por la cantidad de veces que se tuviera que repetir.El estándar de calibración usa tres dispositivos de prueba llamados OPEN (red abierta), SHORT (red en corto circuito), y THRU (red conectada), los cuales deben ser conectados a los puertos del analizador para que este pueda comparar y establecer la diferencia entre estos tres modos, estos datos son guardados en un registro y cada registro debe ser calibrado independientemente y en el momento en que se le haga una modificación a la red en estudio.Otro tipo de instrumento para la calibración de analizadores de redes es el módulo de calibración eléctrico (E-Cal), el cual se conecta a este y es automáticamente reconocido y posee una mayor precisión que el equipo de calibración manual mencionado anteriormente. La única desventaja aparente de este dispositivo es que se debe esperar a que alcance su temperatura de operación antes de usarlo.

GENERADOR DE FUNCIONES

DEFINICION:es un aparato electrónico que produce ondas senoidales, cuadradas y triangulares, además de crear señales . Sus aplicaciones incluyen pruebas y calibración de sistemas de audio, ultrasónicos y servo.Este generador de funciones, específicamente trabaja en un rango de frecuencias de entre 0.2 Hz a 2 MHz. También cuenta con una función de barrido la cual puede ser controlada tanto internamente como externamente con un nivel de DC. El ciclo de máquina, nivel de offset en DC, rango de barrido y la amplitud y ancho del barrido pueden ser controlados por el usuario.
FUNCIONES O APLICACIONES:
ONDA SENOIDAL:
Una onda senoidal se puede obtener en el conector de la salida principal cuando se presiona la opción de onda senoidal en el botón de función y cuando cualquier botón del rango de frecuencia está también presionado. La frecuencia de la onda se establece por la combinación del botón de rango y el control de variación de frecuencia. La salida tendrá que ser revisada con un osciloscopio.
ONDA CUADRADA:
Una onda cuadrada se puede obtener en el conector de la salida principal cuando se presiona la opción de onda cuadrada en el botón de función y cuando cualquier botón del rango de frecuencia está también presionado. La frecuencia de la onda se establece por la combinación del botón de rango y el control de variación de frecuencia.La salida puede verificarse con un osciloscopio utilizando la misma conexión utilizada en la onda senoidal. La frecuencia de salida puede establecerse con mayor precisión utilizando un contador de frecuencia (Frequency Counter) conectando la salida del generador de funciones directamente al contador, o usando un cable BNC con conexión en T de la salida del generador de funciones al osciloscopio y al contador al mismo tiempo.Para ajustar el generador de funciones para que opere con una onda cuadrada, los controles pueden estar ajustados de la misma manera con la que se obtuvo la señal senoidal, excepto la opción de onda cuadrada en el botón de función debe estar presionada. No se podrá tener un valor rms muy exacto para una onda cuadrada con el multímetro o cualquier otro medidor digital o analógico, porque están calibrados para obtener valores rms de señales senoidales.La señal de onda cuadrada puede ser utilizada para simular señales pulsantes. La ondacuadrada es frecuentemente usada para pruebas y calibración de circuitos de tiempo.
ONDA DIENTE DE SIERRA:
Una onda triangular se puede obtener en el conector de la salida principal cuando se presiona la opción de onda triangular en el botón de función y cuando cualquier botón del rango de frecuencia está también presionado. La frecuencia de la onda se establece por la combinación del botón de rango y el control de variación de frecuencia.La salida puede verificarse con un osciloscopio utilizando la misma conexión utilizada en la onda senoidal. La frecuencia de salida puede establecerse con mayor precisión utilizando un contador de frecuencia (Frequency Counter) conectando la salida del generador de funciones directamente al contador, o usando un cable BNC con conexión en T de la salida del generador de funciones al osciloscopio y al contador al mismo tiempo.Para ajustar el generador de funciones para que opere con una onda triangular, los controles pueden estar ajustados de la misma manera con la que se obtuvo la señal senoidal, excepto la opción de onda cuadrada en el botón de función debe estar presionada. No se podrá tener un valor rms muy exacto para una onda cuadrada con el multímetro o cualquier otro medidor digital o analógico, porque están calibrados para obtener valores rms de señales senoidales.Uno de los usos más comunes de la onda triangular es para hacer un control de barrido externo para un osciloscopio. Es también usada para calibrar los circuitos simétricos de algunos equipos.TTLUna señal TTL (Transistor-Transistor-Logic) puede obtenerse a la salida del conector SYNC. Elrango del pulso es controlado por los botones de rango y el disco de frecuencia. La simetría deesta forma de onda puede ser controlada con el control de ciclo de trabajo. La señal TTL estátambién disponible en el modo de barrido. La amplitud de la señal TTL se fija a 2 Vp-p (onacuadrada).

LabVIEW
LabVIEW

LabVIEW es una herramienta gráfica para pruebas, control y diseño mediante la programación. El lenguaje que usa se llama lenguaje G, donde la G simboliza que es lenguaje Gráfico.Este programa fue creado por National Instruments (1976) para funcionar sobre máquinas MAC, salió al mercado por primera vez en 1986. Ahora está disponible para las plataformas Windows, UNIX, MAC y Linux. La versión actual 8.6, publicada en agosto de 2008, cuenta también con soporte para Windows Vista.Los programas desarrollados con LabVIEW se llaman Instrumentos Virtuales, o VIs, y su origen provenía del control de instrumentos, aunque hoy en día se ha expandido
ampliamente no sólo al control de todo tipo de electrónica (Instrumentación electrónica) sino también a su programación embebida. Un lema tradicional de LabVIEW es: "La potencia está en el Software", que con la aparición de los sistemas multinúcleo se ha hecho aún más patente. Entre sus objetivos están el reducir el tiempo de desarrollo de aplicaciones de todo tipo (no sólo en ámbitos de Pruebas, Control y Diseño) y el permitir la entrada a la informática a profesionales de cualquier otro campo. LabVIEW consigue combinarse con todo tipo de software y hardware, tanto del propio fabricante -tarjetas de adquisición de datos, PAC, Visión, instrumentos y otro Hardware- como de otros fabricantes.
Principales usos:
Es usado principalmente por ingenieros y científicos para tareas como:Adquisición de datos y análisis matemáticoComunicación y control de instrumentos de cualquier fabricanteAutomatización industrial y programación de PACs (Controlador de Automatización Programable)Diseño de controladores: simulación, prototipaje rápido, hardware-en-el-ciclo (HIL) y validaciónDiseño embebido de micros y chipsControl y supervisión de procesosVisión artificial y control de movimientoRobóticaDomótica y redes de sensores inalámbricosEn 2008 el programa fue utilizado para controlar el LHC, el acelerador de partículas más grande construido hasta la fecha.Pero también juguetes como el Lego Mindstorms o el WeDo lo utilizan, llevando la programación gráfica a niños de todas las edades.

Principales características

Su principal característica es la facilidad de uso, válido para programadores profesionales como para personas con pocos conocimientos en programación pueden hacer (programas) relativamente complejos, imposibles para ellos de hacer con lenguajes tradicionales. También es muy rápido hacer programas con LabVIEW y cualquier programador, por experimentado que sea, puede beneficiarse de él. Los programas en LabView son llamados instrumentos virtuales (VIs) Para los amantes de lo complejo, con LabVIEW pueden crearse programas de miles de VIs (equivalente a millones de páginas de código texto) para aplicaciones complejas, programas de automatizaciones de decenas de miles de puntos de entradas/salidas, proyectos para combinar nuevos VIs con VIs ya creados, etc. Incluso existen buenas prácticas de programación para optimizar el rendimiento y la calidad de la programación. El labView 7.0 introduce un nuevo tipo de subVI llamado VIs Expreso (Express VIS). Estos son VIs interactivos que tienen una configuración de caja de diálogo que permite al usuario personalizar la funcionalidad del VI Expreso. El VIs estándard son VIs modulares y personalizables mediante cableado y funciones que son elementos fundamentales de operación de LabView.
Presenta facilidades para el manejo de:Interfaces de comunicaciones:Puerto seriePuerto paraleloGPIBPXIVXITCP/IP, UDP, DataSocketIrdaBluetoothUSBOPC...Capacidad de interactuar con otros lenguajes y aplicaciones:
DLL: librerías de funciones.NETActiveXMultisimMatlab/SimulinkAutoCAD, SolidWorks, etcHerramientas gráficas y textuales para el procesado digital de señales.Visualización y manejo de gráficas con datos dinámicos.Adquisición y tratamiento de imágenes.Control de movimiento (combinado incluso con todo lo anterior).Tiempo Real estrictamente hablando.Programación de FPGAs para control o validación.Sincronización entre dispositivos.
Programa en LabVIEWComo se ha dicho es una herramienta gráfica de programación, esto significa que los programas no se escriben, sino que se dibujan, facilitando su comprensión. Al tener ya pre-diseñados una gran cantidad de bloques, se le facilita al usuario la creación del proyecto, con lo cual en vez de estar una gran cantidad de tiempo en programar un dispositivo/bloque, se le permite invertir mucho menos tiempo y dedicarse un poco más en la interfaz gráfica y la interacción con el usuario final. Cada VI consta de dos partes diferenciadas:Panel Frontal: El Panel Frontal es la interfaz con el usuario, la utilizamos para interactuar con el usuario cuando el programa se está ejecutando. Los usuarios podrán observar los datos del programa actualizados en tiempo real(como van fluyendo los datos, un ejemplo sería una calculadora, donde tu le pones las entradas, y te pone el resultado en la salida). En esta interfaz se definen los controles (los usamos como entradas, pueden ser botones, marcadores etc..) e indicadores (los usamos como salidas, pueden ser gráficas ....).Diagrama de Bloques: es el programa propiamente dicho, donde se define su funcionalidad, aquí se colocan íconos que realizan una determinada función y se interconectan (el código que controla el programa --. Suele haber una tercera parte icono/conector que son los medios utilizados para conectar un VI con otros VIs.--En el panel frontal, encontraremos todo tipos de controles o indicadores, donde cada uno de estos elementos tiene asignado en el diagrama de bloques una terminal, es decir el usuario podrá diseñar un proyecto en el panel frontal con controles y indicadores, donde estos elementos serán las entradas y salidas que interectuaran con la terminal del VI. Podemos observar en el diagrama de bloques, todos los valores de los controles e idicadores, como van fluyendo entre ellos cuando se está ejecutando un programa VI.La Figura 1 muestra un Diagrama de Bloques de un programa en el que se genera un array de 100 elementos aleatorios, a continuación se hace la FFT de este array y se muestra en una gráfica:


Circuit Maker
Circuit Maker
Para los que no disponen de los aparatos de medida necesarios, como osciloscopio, o simplemente queremos tener una idea muy aproximada de lo que hace un circuito antes de coger el estaño y el soldador, existen multitud de simuladores en el mercado. Sin duda, uno de los más completos es el conocido PSPice, pero es más difícil de manejar, de modo que el aprendizaje puede constituir una tediosa tarea.He probado unos cuantos simuladores, desde Electronics Workbench en sus comienzos, a finales de los ochenta, hasta el PSPice, pasando por Microcap y finalmente CircuitMaker. Es sencillo de utilizar, y sobre todo, incluye válvulas de vacío para poder simularlas inmediatamente sin tener que implementar un modelo o un símbolo esquemático.La versión utilizada será CircuitMaker Pro v6.2c y CircuitMaker 2000 en algunas ocasiones, siendo la versión 6.1c idéntica a la 6.2c salvo en algunos detalles, y con el famoso bug que permite cerrar un diseño sin darnos la opción de poder guardarlo, cosa que fue corregida en la última versión.El programa corre bajo Windows 2000 en mi máquina sin ningún problema.Vamos a comenzar simulando un sencillo puente rectificador de diodos de silicio. Con el programa recién abierto y la página en blanco, pulsamos:"select device"Elegimos el device FW Bridge (puente rectificador) y el Model "Default Bridge" que es una modelización idealizada, que incluye menor número de parámetros que otros modelos más complejos, y más parecidos a la realidad.

Para atacar al puente, utilizaremos un generador senoidal, y que obtenemos mediante la tecla rápida, pulsando directamente "g" o bien como antes, "select device" y elegimos la secuencia "instruments - Analog - Signal Gen".Por último, vamos a incluir una resistencia y un condensador pulsando las teclas "r" y "c" respectivamente. Observar cómo podemos girar un componente antes de situarlo en el plano mediante el botón derecho.Tenemos ya los componentes, ahora montamos el circuito siguiente:
Colocamos los componentes como en el dibujo. Podemos borrarlos simplemente pinchando con el cursor y pulsando suprimir, y moverlos pinchando y arrastrando. Así de fácil. Para unirlos mediante hilo conductor seleccionamos el botón con una cruz +, el cursor cambia automáticamente su aspecto de flecha por el de una cruz, que nos indica que estamos en modo "wire". Nos situamos en un extremo de cada componente hasta que aparece un recuadro de color rojo, pinchamos y arrastramos hasta el otro extremo del componente con el que queremos establecer unión y soltamos. Podemos enderezar el hilo pinchando y arrastrando. Si os aparecen puntos de unión "dots" en cada componente, podéis eliminarlos mediante "File - Preferences" y quitar el check a la opción "show pin dots".CircuitMaker, como todos los simuladores, necesitan forzosamente una tierra. Todos los circuitos que queramos simular, deberán contener al menos una y servirá al programa como nodo de referencia y que llama "nodo cero". Obtenemos una tierra con la tecla cero "0". Vamos a dar valores a cada componente. Haciendo doble clic sobre cada uno de ellos:Generador de señal:"peak amplitude" = 25 (25 voltios pico = 17.68 Vrms)"frequency" = 50 pulsamos "OK"Condensador:"Label-Value" = 470u (u = micro, n=nano, p=pico, m=mili, meg=mega, k = kilo)pulsamos "OK"La simulación Tenemos todo listo para comenzar la simulación. Para comenzar, pulsamos F10 o mediante el menú "Simulation - Run" o con el botón del muñeco corriendo. Si todo va bien, nos aparece la siguiente pantalla:Podemos situar los cursores donde más convenga; el cursor "c" indica una ganancia de 19.67 dB y el ancho de banda es todo el rango audible, desde los 20 Hz hasta los 100kHz. El hecho de haber utilizado un transistor NPN "ideal" hace que la ganancia se extienda hasta altas frecuencias sin problemas, al no existir capacidades parásitas entre uniones. La disminución de la ganancia a frecuencias inferiores a 20 Hz es debida a los condensadores de acoplamiento C1 y C2, y que podemos experimentar variando sus valores. Cálculo de la impedancia de entrada.- Para averiguar este parámetro montamos un generador de señal allí donde queremos hallar la impedancia, en nuestro caso ya tenemos uno (V1) montado en el nudo adecuado. Se trata de ejecutar una simulación que incluya, como el anterior análisis, el análisis transitorio y el análisis AC. La diferencia estriba en donde seleccionamos con la herramienta "Probe Tool" . Seguimos los siguientes pasos:- Ejecutamos una nueva simulación con Análisis Transitorio y Análisis AC.- Seleccionamos la ventana "AC Analysis (Bode Plot)"- Desplazamos el cursor sobre las bornas de salida del generador de señal, y observamos cómo el probe tool indica alternativamente V, Z, I, P, dependiendo de lo que queramos medir, V tensiones, Z impedancias, I intensidades y P potencias. En nuestro caso, pinchamos justo cuando el probe tool indica "Z", con lo que se dibujará un diagrama de impedancias en la ventana correspondiente. Para visualizar el diagrama convenientemente, podemos configurarlo mediante el botón La Zin medida por CircuitMaker vale 2kohm.

PROTEUS

PROTEUSEstamos complacidos de anunciar que el desarrollo en Proteus V7.6 está por completarse, y que la fase de pruebas Beta comenzará en las próximas semanas. Todos los usuarios profesionales existentes pueden tomar parte en el proceso de las pruebas beta registrándose en los foros de soporte oficiales en http://support.labcenter.co.uk¿Qué es lo nuevo? • Gráficas Redefinidas• Motor de gráficos revisado que sirve tanto para ISIS como para ARES• Implementación de Custom Open GL, optimizado para el rendimiento CAD• Usa la aceleración del hardware para mejorar la velocidad de las graficas que se estén renderizando. • Los resultados demuestran ganancias significativas en el rendimientoTecnología Thru-View ™• Proporciona verdadera transparencia alfa-mezclada• Se pueden ver todos los layers de la tabla simultáneamente, incluso cuando multiples zonas están en juego• Cambiar el layer en el que se está en el selector de layers oscurecerá los otros layers de la tabla, haciendo más fácil establecer las vías y evitar los obstáculos• El resaltado suave junto con el filtro de selección ya existente hace que la selección sea fácil y obvia• El ascenso del layer es automático cuando se selecciona un objeto, asegurando así que los objetos más relevantes siempre sean visibles• Los layers de soldadura, resistencia y de pegar ahora son visibles para poder inspeccionar directamente el diseño• La nueva arquitectura es una tecnología que permitirá el desarrollo de muchas características nuevas para actualizaciones posteriores.Salida PDF Directa• Saque directamente el esquema o PBC a PDF para su lectura fácil con el Adobe PDF Reader• La impresión esquemática proporciona un esquema único de hoja por cada página del documento.• La salida PBC proporciona un esquema único de hoja por cada página del documento.• No se necesitan instalar drivers ni formularios sobre diálogos de configuración de la impresiónCaracterísticas de Visualización 3D• Nueva vista de la tabla que le permite inspeccionarla sin componentes• Incluye layers para pegar, de soldadura y resistencia• Importa logos/bitmaps de los diseños 2DProteus VSM para MSP430Hemos introducido un nuevo procesador a la familia; los micro-controladores MSP430 de Texas Instruments. Como con todos nuestros modelos, se trabaja con mucho cuidado para asegurar que el comportamiento del modelo refleje acertadamente el aparato de la vida real. Todos los periféricos, interruptores, instrucciones y modos de reinicio son modelados con el set de variantes inicial, compuesto por:MSP430C1101, MSP430C1111,MSP430C1121, MSP430F1101,MSP430F1111, MSP430F1121,MSP430F2001, MSP430F2011,MSP430F2112, MSP430F2122MSP430F2132, MSP430F2112,MSP430F2122, MSP430F2132Nuevos Variantes PIC en la V7.6Todos los variantes nuevos incluyen Controladores LCD periféricos:PIC16F946PIC18F2423/2523/4423/4523PIC18F6390/6490/8390/8490PIC18F6393/6493/8393/8493PIC18F63J90/64J90/65J90PIC18F83J90/84J90/85J90Nuevas Partes para la Biblioteca y PeriféricosNORCOMP Inc : 160 Conectores.CW Industries : 1320+ Conectores.FCI : 200+ Conectores.Molex : 500+ ConectoresAssmann : 75 ConectoresLa Suite de Diseño Proteus combina captura de esquemáticos, simulación de circuitos SPICE y diseño de PCBs con el fin de lograr un sistema de diseño electrónico completo.Además de contar con la posibilidad de simular micorocontroladores, permite reducir dramáticamente los tiempos de desarrollo en comparación con los procesos tradicionales de diseño embebido.Módulos PrincipalesProteus VSM Sistema de Modelización VirtualProteus PCB DesignMódulos Complementarios (Requieren de algúno de los módulos principales como base)Proteus Pro SPICE Funciones Avanzadas de SimulaciónProteus Analizador de Transacciones USBProteus VSM Sistemad de Modelización VirtualProteus Design Suite es la única plataforma en ofrecer la posibilidad de co-simular código para microcontroladores en bajo y alto nivel, en el contexto de simulación mixta basada en Spice. Con este Sistema de Modelización Virtual, usted puede transformar su ciclo de diseño del producto, logrando grandes beneficios en términos de reducción de tiempo de salida al mercado y costes de desarrollo.Disponible para procesadores PIC, 8051, AVR, HC11, ARM7/LPC200 y Basic StampInteractúa con hardware simulado en tiempo realModelos de periféricos I/O para teclados, displays, etc.Más de 8000 modelos de dispositivos análogos y digitalesDepuración de errores a través de single step ó de otras aplicaciones, incluyendo un diagnóstico del sistema entero.Compatible con todos los compiladores y ensambladores más populares.Proteus PCB DesignProteus PCB Desing ofrece distintos niveles que ofrecen un aumento de funcionalidad y capacidad de diseño, acomodados a sus necesidades especificas.Proteus Pro SPICE Funciones Avanzadas de SimulaciónEste módulo extiende la funcionalidad del simulador básico para proporcionar una gama completa de análisis gráfico. La simulación grafica es similar a la simulación convencional SPICE donde primero se dibuja el circuito, se configuran las fuentes de simulación, se seleccionan los puntos a monitorear y se corre la simulación. Cuando se completa la simulación los resultados se visualizan y se analizan.Proteus Analizador de Transacciones USBEste módulo representa el primer y único en el mundo motor de simulación de USB basado en esquemático. Ahora se puede diseñar su propio dispositivo USB totalmente (utilizando uno de los microcontroladores soportados) y, a continuación, probar tanto el firmware como el hardware mediante la simulación del circuito. La comunicación es modelada a nivel del driver de Windows, con todas las peticiones y respuestas de la simulación del dispositivo USB visualizadas en el Analizador de Transacciones USB.
Proteus Design Suite es la única plataforma en ofrecer la posibilidad de co-simular código para microcontroladores en bajo y alto nivel, en el contexto de simulación mixta basada en Spice. Con este Sistema de Modelización Virtual, usted puede transformar su ciclo de diseño del producto, logrando grandes beneficios en términos de reducción de tiempo de salida al mercado y costes de desarrollo.Disponible para procesadores PIC, 8051, AVR, HC11, ARM7/LPC200 y Basic StampInteractúa con hardware simulado en tiempo realModelos de periféricos I/O para teclados, displays, etc.Más de 8000 modelos de dispositivos análogos y digitalesDepuración de errores a través de single step ó de otras aplicaciones, incluyendo un diagnóstico del sistema entero.Compatible con todos los compiladores y ensambladores más populares.Proteus PCB DesignProteus PCB Desing ofrece distintos niveles que ofrecen un aumento de funcionalidad y capacidad de diseño, acomodados a sus necesidades especificas.
Proteus es un software de diseño electrónico desarrollado por Labcenter Electronics que consta de dos módulos: Ares e Isis ISIS.Mediante este programa podemos diseñar el circuito que deseemos con componentes muy variados, desde una simple resistencia hasta alguno que otro microprocesador o microcontrolador, incluyendo fuentes de alimentación, generadores de señales y muchas otras prestaciones. Los diseños realizados en Isis pueden ser simulados en tiempo real.ISIS es la herramienta ideal para una rápida realización de complejos diseños de esquemas electrónicos destinados tanto a la construcción de equipos electrónicos como a la realización de tareas de simulación y prueba.ARES es la herramienta de Proteus, se utiliza para la fabricación de placas de circuito impreso, esta herramienta puede ser utilizada de manera manual o dejar que el propio programa trace las pistas.Proteus es un entorno integrado diseñado para la realización completa de proyectos de construcción de equipos electrónicos en todas sus etapas: diseño, simulación, depuración y construcción. La suite se compone de cuatro elementos, perfectamente integrados entre sí: Isis, la herramienta para la elaboración avanzada de esquemas electrónicos, que incorpora una librería de más de 6.000 módelos de dispositivos digitales y analógicos. Ares, la herramienta para la elaboración de placas de circuito impreso con posicionador automático de elementos y generación automática de pistas, que permite el uso de hasta 16 capas. Con Ares el trabajo duro de la realización de placas electrónicas recáe sobre el pc en lugar de sobre el diseñador.


Turbo C++
Turbo C++
Introducción El lenguaje de programación que veremos a continuación es el Lenguaje C++. Este lenguaje pertenece a la clase de lenguajes comúnmente llamados híbridos, pues soportan dos filosofías distintas de programación: la primera la que veremos a lo largo de este curso: la programación estructurada; la segunda de estas filosofías es la programación orientada a objetos, POO. El lenguaje C++ es algo así como una versión mejorada del lenguaje C, con lo cual cualquier programa escrito en el lenguaje C también es un programa C++. El Lenguaje C++ es un lenguaje de programación de propósito general, es decir, es posible escribir cualquier tipo de programas con él, incluyendo programas específicos de tipo matemáticos.Comencemos.—La Única forma de aprender un nuevo lenguaje de programación es escribiendo algunos programas en él y describirlo a partir de estos.Imprimir las palabras => Hola Mundo, esto es "C++".#include main(){ cout << "Hola Mundo, esto es \"C++\"\n";} Un programa en C++ cualquiera sea su tamaño, consta de funciones y variables. Una función contiene proposiciones que especifican las operaciones de cálculo que se van a realizar, y a las variables que almacenan los valores utilizados durante los cálculos. Nuestro ejemplo es una función llamada main. Normalmente se tiene la libertad de dar cualquier nombre que se desee a una función, pero main es especial, el programa siempre debe tener un main, porque el programa comienza a ejecutarse a partir de él. La primera línea: #include Indica al compilador que incluya información acerca de algunas de las funciones que luego se usaran en el programa y que están definidas en esta biblioteca o comúnmente llamada "librería". Un método para comÚnicar datos entre las funciones es que la función que llama, proporciona una lista de valores, llamados argumentos, a la función a la que se está invocando. Los paréntesis que están después del nombre de la función encierran a la lista de argumentos. En este ejemplo, main está definido para ser una función que no espera argumentos, lo cual esta indicado por la lista vacía (). Las proposiciones de una función están encerradas entre llaves {...}, las que indican el comienzo y el final del bloque de instrucciones de un programa.Nombre de los identificadoresExisten algunas restricciones en los nombres de las variables y de las constantes.El primer caracter debe ser una letra. El caracter de subrayado también es válido, pero no es aconsejable que una variable comience con tal caracter, dado que la mayoría de las rutinas de las librerías anexas usan tal caracter como característica en sus nombres.Las letras mayúsculas y minúsculas son distintas, de tal manera x y X son dos nombres diferentes. La práctica tradicional y mas aconsejable en C++ es usar letras minúsculas para nombres de variables y todo en mayúsculas para nombres de constantes.Las palabras claves o reservadas, no se deben utilizar como variables. Todas deben escribirse con minúsculas.Los siguientes identificadores son palabras reservadas:

*************************************************
Tipos básicos de datos, declaraciones Las declaraciones especifican la interpretación dada a cada identificador (variable o constante). El formato sería:especificador-categoría-almacenamiento especificador-de-tipo tipo lista de declaraciones;Especificadores de categoría de almacenamiento.autoregisterstaticexternExisten dos categorías de almacenamiento: la automática y la estática. Los objetos automáticos son locales a un bloque y son descartados al salir del bloque. Las declaraciones dentro de un bloque crean objetos automáticos si no se emplea el especificador auto.Los objetos declarados como register son automáticos y sugiere que se harán acceso frecuente a los objetos declarados y se almacenan (si es posible) en los registros rápidos de la máquina. Para los objetos declarados como auto no es necesario especificar esta condicion puesto que cada variable dentro de un bloque al que pertenece es automática, es decir es su espacio es creado al entrar al bloque.Los objetos estáticos pueden ser locales a un bloque o externos a todos los bloques, pero en cualquier caso, mantiene su valor entre las salidas y reentradas a funciones o bloques. Las palabras reservadas static y extern declaran objetos estáticos.Especificadores de tipos de datos.signedunsignedlongshortEstos especificadores de tipos se pueden aplicar a los tipos enteros y a los tipos caracteres.Modificadores de acceso.—C++ incorpora dos especificadores de tipos, que se utilizan para controlar las formas en que un programa accede o modifica las variables que usa. Estas modificadores son:constvolatileTodas las combinaciones posibles de especificadores de tipos y tipos posibles en Turbo C++.—

************************************************
Para los ejemplos: 4,8,11,14; se puede omitir declararlos con el especificador signed. Sin embargo para obtener un tipo de dato no signado se debe especificar unsigned, este especificador no tiene efecto con los tipos de datos de punto flotante.El tipo void (nada) tiene tres usos.Cuando se coloca como declarador de tipo en una función significa que es una función que no retorna valor alguno.Cuando se declaran los argumentos de una función, colocar void entre los paréntesis, indique de manera explícita que la función no recibe valores de argumento.Como declarador para punteros genéricos.Las constantes.—Existen varias clases de constantes, a saber:constantes enterasconstantes de caracteresconstantes de punto flotanteconstantes de enumeraciónconstantes simbólicas