999 resultados para C (Lenguaje de programación)
Resumo:
Resumen basado en el de la publicacin
Resumo:
[ES] En este artculo se presenta el diseo de una herramienta de configuracin para aplicaciones distribuidas cooperativas y tolerantes a fallos escritas en el lenguaje de programación Drago.
Resumo:
[EN] FreeConj-TIP es programa desarrollado en el lenguaje de programación C++, bajo licencia GNU General Public, que realiza la conjugacin de verbos del espaol. FreeConj-TIP resuelve la conjugacin aplicando reglas elementales de la ortografa espaola y de conjugacin para verbos con una cierta irregularidad en un 97,42% de un total de 14613 verbos, y el 2,57%, restante, correspondiente a verbos muy irregulares, se resuelve en base a datos. El objetivo principal del proyecto ha sido el de construir un conjugador verbal con una implementacin sencilla, pero sin que por ello existan verbos que no puedan ser conjugados de acuerdo a todos los modelos de conjugacin que les resulten aplicables.
Resumo:
[ES]Los Indie games, o videojuegos independientes, son aplicaciones creadas por individuos o pequeos grupos sin apoyo financiero de distribuidores. A menudo se centran en la innovacin, y se basan en la distribucin digital. En los ltimos aos han visto un gran aumento principalmente debido a; nuevos mtodos de distribucin en lnea (Steam Greenlight1, Xbox Live2, Playstation Store3, Android Market, Apple Store), nuevas formas de financiacin como Kickstarter4 y potentes herramientas gratuitas para el desarrollo. Este proyecto se puede considerar como uno de los primeros pasos en el desarrollo de videojuegos independientes o Indie. Usando SDL como base se pretende disear y desarrollar dos prototipos de videojuego, el primero ser un clon del conocido Tetris, aprovechando la poca complejidad de las mecnicas del juego para tener un primer contacto con las herramientas. El segundo, de mayor complejidad, se centrar en desarrollar las principales caractersticas de un juego tipo plataformas en 2D, del estilo Super Mario, Sonic o los anteriormente mencionados Super Meat Boy y Braid. La Simple DirectMedia Layer (SDL) es un conjunto de bibliotecas desarrolladas en el lenguaje de programación C, que proporcionan funciones bsicas para realizar operaciones de dibujo en dos dimensiones, gestin de efectos de sonido y msica, adems de carga y gestin de imgenes. Fueron desarrolladas inicialmente por Sam Lantinga en 1998, en este proyecto se ha usado la versin 1.2.15 y se espera que este ao se termine la versin 2.0, el uno de Junio de este ao ha alcanzado el estado Release Candidate.
Resumo:
Distributed real-time embedded systems are becoming increasingly important to society. More demands will be made on them and greater reliance will be placed on the delivery of their services. A relevant subset of them is high-integrity or hard real-time systems, where failure can cause loss of life, environmental harm, or signicant nancial loss. Additionally, the evolution of communication networks and paradigms as well as the necessity of demanding processing power and fault tolerance, motivated the interconnection between electronic devices; many of the communications have the possibility of transferring data at a high speed. The concept of distributed systems emerged as systems where different parts are executed on several nodes that interact with each other via a communication network. Javas popularity, facilities and platform independence have made it an interesting language for the real-time and embedded community. This was the motivation for the development of RTSJ (Real-Time Specication for Java), which is a language extension intended to allow the development of real-time systems. The use of Java in the development of high-integrity systems requires strict development and testing techniques. However, RTJS includes a number of language features that are forbidden in such systems. In the context of the HIJA project, the HRTJ (Hard Real-Time Java) prole was developed to dene a robust subset of the language that is amenable to static analysis for high-integrity system certication. Currently, a specication under the Java community process (JSR- 302) is being developed. Its purpose is to dene those capabilities needed to create safety critical applications with Java technology called Safety Critical Java (SCJ). However, neither RTSJ nor its proles provide facilities to develop distributed realtime applications. This is an important issue, as most of the current and future systems will be distributed. The Distributed RTSJ (DRTSJ) Expert Group was created under the Java community process (JSR-50) in order to dene appropriate abstractions to overcome this problem. Currently there is no formal specication. The aim of this thesis is to develop a communication middleware that is suitable for the development of distributed hard real-time systems in Java, based on the integration between the RMI (Remote Method Invocation) model and the HRTJ prole. It has been designed and implemented keeping in mind the main requirements such as the predictability and reliability in the timing behavior and the resource usage. iThe design starts with the denition of a computational model which identies among other things: the communication model, most appropriate underlying network protocols, the analysis model, and a subset of Java for hard real-time systems. In the design, the remote references are the basic means for building distributed applications which are associated with all non-functional parameters and resources needed to implement synchronous or asynchronous remote invocations with real-time attributes. The proposed middleware separates the resource allocation from the execution itself by dening two phases and a specic threading mechanism that guarantees a suitable timing behavior. It also includes mechanisms to monitor the functional and the timing behavior. It provides independence from network protocol dening a network interface and modules. The JRMP protocol was modied to include two phases, non-functional parameters, and message size optimizations. Although serialization is one of the fundamental operations to ensure proper data transmission, current implementations are not suitable for hard real-time systems and there are no alternatives. This thesis proposes a predictable serialization that introduces a new compiler to generate optimized code according to the computational model. The proposed solution has the advantage of allowing us to schedule the communications and to adjust the memory usage at compilation time. In order to validate the design and the implementation a demanding validation process was carried out with emphasis in the functional behavior, the memory usage, the processor usage (the end-to-end response time and the response time in each functional block) and the network usage (real consumption according to the calculated consumption). The results obtained in an industrial application developed by Thales Avionics (a Flight Management System) and in exhaustive tests show that the design and the prototype are reliable for industrial applications with strict timing requirements. Los sistemas empotrados y distribuidos de tiempo real son cada vez ms importantes para la sociedad. Su demanda aumenta y cada vez ms dependemos de los servicios que proporcionan. Los sistemas de alta integridad constituyen un subconjunto de gran importancia. Se caracterizan por que un fallo en su funcionamiento puede causar prdida de vidas humanas, daos en el medio ambiente o cuantiosas prdidas econmicas. La necesidad de satisfacer requisitos temporales estrictos, hace ms complejo su desarrollo. Mientras que los sistemas empotrados se sigan expandiendo en nuestra sociedad, es necesario garantizar un coste de desarrollo ajustado mediante el uso tcnicas adecuadas en su diseo, mantenimiento y certicacin. En concreto, se requiere una tecnologa exible e independiente del hardware. La evolucin de las redes y paradigmas de comunicacin, as como la necesidad de mayor potencia de cmputo y de tolerancia a fallos, ha motivado la interconexin de dispositivos electrnicos. Los mecanismos de comunicacin permiten la transferencia de datos con alta velocidad de transmisin. En este contexto, el concepto de sistema distribuido ha emergido como sistemas donde sus componentes se ejecutan en varios nodos en paralelo y que interactan entre ellos mediante redes de comunicaciones. Un concepto interesante son los sistemas de tiempo real neutrales respecto a la plataforma de ejecucin. Se caracterizan por la falta de conocimiento de esta plataforma durante su diseo. Esta propiedad es relevante, por que conviene que se ejecuten en la mayor variedad de arquitecturas, tienen una vida media mayor de diez anos y el lugar donde se ejecutan puede variar. El lenguaje de programación Java es una buena base para el desarrollo de este tipo de sistemas. Por este motivo se ha creado RTSJ (Real-Time Specication for Java), que es una extensin del lenguaje para permitir el desarrollo de sistemas de tiempo real. Sin embargo, RTSJ no proporciona facilidades para el desarrollo de aplicaciones distribuidas de tiempo real. Es una limitacin importante dado que la mayora de los actuales y futuros sistemas sern distribuidos. El grupo DRTSJ (DistributedRTSJ) fue creado bajo el proceso de la comunidad de Java (JSR-50) con el n de denir las abstracciones que aborden dicha limitacin, pero en la actualidad aun no existe una especicacion formal. El objetivo de esta tesis es desarrollar un middleware de comunicaciones para el desarrollo de sistemas distribuidos de tiempo real en Java, basado en la integracin entre el modelo de RMI (Remote Method Invocation) y el perl HRTJ. Ha sido diseado e implementado teniendo en cuenta los requisitos principales, como la predecibilidad y la conabilidad del comportamiento temporal y el uso de recursos. El diseo parte de la denicin de un modelo computacional el cual identica entre otras cosas: el modelo de comunicaciones, los protocolos de red subyacentes ms adecuados, el modelo de anlisis, y un subconjunto de Java para sistemas de tiempo real crtico. En el diseo, las referencias remotas son el medio bsico para construccin de aplicaciones distribuidas las cuales son asociadas a todos los parmetros no funcionales y los recursos necesarios para la ejecucin de invocaciones remotas sncronas o asncronas con atributos de tiempo real. El middleware propuesto separa la asignacin de recursos de la propia ejecucin deniendo dos fases y un mecanismo de hebras especico que garantiza un comportamiento temporal adecuado. Adems se ha incluido mecanismos para supervisar el comportamiento funcional y temporal. Se ha buscado independencia del protocolo de red deniendo una interfaz de red y mdulos especcos. Tambin se ha modicado el protocolo JRMP para incluir diferentes fases, parmetros no funcionales y optimizaciones de los tamaos de los mensajes. Aunque la serializacin es una de las operaciones fundamentales para asegurar la adecuada transmisin de datos, las actuales implementaciones no son adecuadas para sistemas crticos y no hay alternativas. Este trabajo propone una serializacin predecible que ha implicado el desarrollo de un nuevo compilador para la generacin de cdigo optimizado acorde al modelo computacional. La solucin propuesta tiene la ventaja que en tiempo de compilacin nos permite planicar las comunicaciones y ajustar el uso de memoria. Con el objetivo de validar el diseo e implementacin se ha llevado a cabo un exigente proceso de validacin con nfasis en: el comportamiento funcional, el uso de memoria, el uso del procesador (tiempo de respuesta de extremo a extremo y en cada uno de los bloques funcionales) y el uso de la red (consumo real conforme al estimado). Los buenos resultados obtenidos en una aplicacin industrial desarrollada por Thales Avionics (un sistema de gestin de vuelo) y en las pruebas exhaustivas han demostrado que el diseo y el prototipo son ables para aplicaciones industriales con estrictos requisitos temporales.
Resumo:
Desde los inicios de la codificacin de vdeo digital hasta hoy, tanto la seal de video sin comprimir de entrada al codificador como la seal de salida descomprimida del decodificador, independientemente de su resolucin, uso de submuestreo en los planos de diferencia de color, etc. han tenido siempre la caracterstica comn de utilizar 8 bits para representar cada una de las muestras. De la misma manera, los estndares de codificacin de vdeo imponen trabajar internamente con estos 8 bits de precisin interna al realizar operaciones con las muestras cuando an no se han transformado al dominio de la frecuencia. Sin embargo, el estndar H.264, en gran auge hoy en da, permite en algunos de sus perfiles orientados al mundo profesional codificar vdeo con ms de 8 bits por muestra. Cuando se utilizan estos perfiles, las operaciones efectuadas sobre las muestras todava sin transformar se realizan con la misma precisin que el nmero de bits del vdeo de entrada al codificador. Este aumento de precisin interna tiene el potencial de permitir unas predicciones ms precisas, reduciendo el residuo a codificar y aumentando la eficiencia de codificacin para una tasa binaria dada. El objetivo de este Proyecto Fin de Carrera es estudiar, utilizando las medidas de calidad visual objetiva PSNR (Peak Signal to Noise Ratio, relacin seal ruido de pico) y SSIM (Structural Similarity, similaridad estructural), el efecto sobre la eficiencia de codificacin y el rendimiento al trabajar con una cadena de codificacin/descodificacin H.264 de 10 bits en comparacin con una cadena tradicional de 8 bits. Para ello se utiliza el codificador de cdigo abierto x264, capaz de codificar video de 8 y 10 bits por muestra utilizando los perfiles High, High 10, High 4:2:2 y High 4:4:4 Predictive del estndar H.264. Debido a la ausencia de herramientas adecuadas para calcular las medidas PSNR y SSIM de vdeo con ms de 8 bits por muestra y un tipo de submuestreo de planos de diferencia de color distinto al 4:2:0, como parte de este proyecto se desarrolla tambin una aplicacin de anlisis en lenguaje de programación C capaz de calcular dichas medidas a partir de dos archivos de vdeo sin comprimir en formato YUV o Y4M. ABSTRACT Since the beginning of digital video compression, the uncompressed video source used as input stream to the encoder and the uncompressed decoded output stream have both used 8 bits for representing each sample, independent of resolution, chroma subsampling scheme used, etc. In the same way, video coding standards force encoders to work internally with 8 bits of internal precision when working with samples before being transformed to the frequency domain. However, the H.264 standard allows coding video with more than 8 bits per sample in some of its professionally oriented profiles. When using these profiles, all work on samples still in the spatial domain is done with the same precision the input video has. This increase in internal precision has the potential of allowing more precise predictions, reducing the residual to be encoded, and thus increasing coding efficiency for a given bitrate. The goal of this Project is to study, using PSNR (Peak Signal to Noise Ratio) and SSIM (Structural Similarity) objective video quality metrics, the effects on coding efficiency and performance caused by using an H.264 10 bit coding/decoding chain compared to a traditional 8 bit chain. In order to achieve this goal the open source x264 encoder is used, which allows encoding video with 8 and 10 bits per sample using the H.264 High, High 10, High 4:2:2 and High 4:4:4 Predictive profiles. Given that no proper tools exist for computing PSNR and SSIM values of video with more than 8 bits per sample and chroma subsampling schemes other than 4:2:0, an analysis application written in the C programming language is developed as part of this Project. This application is able to compute both metrics from two uncompressed video files in the YUV or Y4M format.
Resumo:
In current communication systems, there are many new challenges like various competitive standards, the scarcity of frequency resource, etc., especially the development of personal wireless communication systems result the new system update faster than ever before, the conventional hardware-based wireless communication system is difficult to adapt to this situation. The emergence of SDR enabled the third revolution of wireless communication which from hardware to software and build a flexible, reliable, upgradable, reusable, reconfigurable and low cost platform. The Universal Software Radio Peripheral (USRP) products are commonly used with the GNU Radio software suite to create complex SDR systems. GNU Radio is a toolkit where digital signal processing blocks are written in C++, and connected to each other with Python. This makes it easy to develop more sophisticated signal processing systems, because many blocks already written by others and you can quickly put them together to create a complete system. Although the main function of GNU Radio is not be a simulator, but if there is no RF hardware components,it supports to researching the signal processing algorithm based on pre-stored and generated data by signal generator. This thesis introduced SDR platform from hardware (USRP) and software(GNU Radio), as well as some basic modulation techniques in wireless communication system. Based on the examples provided by GNU Radio, carried out some related experiments, for example GSM scanning and FM radio station receiving on USRP. And make a certain degree of improvement based on the experience of some investigators to observe OFDM spectrum and simulate real-time video transmission. GNU Radio combine with USRP hardware proved to be a valuable lab platform for implementing complex radio system prototypes in a short time. RESUMEN. Software Defined Radio (SDR) es una tecnologa emergente que est creando un impacto revolucionario en la tecnologa de radio convencional. Un buen ejemplo de radio software son los sistemas de cdigo abierto llamados GNU Radio que emplean un kit de herramientas de desarrollo de software libre. En este trabajo se ha empleado un kit de desarrollo comercial (Ettus Research) que consiste en un mdulo de procesado de seal y un hardaware sencillo. El mdulo emplea un software de desarrollo basado en Linux sobre el que se pueden implementar aplicaciones de radio software muy variadas. El hardware de desarrollo consta de un microprocesador de propsito general, un dispositivo programable (FPGA) y un interfaz de radiofrecuencia que cubre de 50 a 2200MHz. Este hardware se conecta al PC por medio de un interfaz USB de 8Mb/s de velocidad. Sobre la plataforma de Ettus se pueden ejecutar aplicaciones GNU radio que utilizan principalmente lenguaje de programación Python para implementarse. Sin embargo, su mdulo de procesado de seal est construido en C + + y emplea un microprocesador con aritmtica de coma flotante. Por lo tanto, los desarrolladores pueden rpida y fcilmente construir aplicaciones en tiempo real sistemas de comunicacin inalmbrica de alta capacidad. Aunque su funcin principal no es ser un simulador, si no puesto que hay componentes de hardware RF, Radio GNU sirve de apoyo a la investigacin del algoritmo de procesado de seales basado en pre-almacenados y generados por los datos del generador de seal. En este trabajo fin de mster se ha evaluado la plataforma de hardware de DEG (USRP) y el software (GNU Radio). Para ello se han empleado algunas tcnicas de modulacin bsicas en el sistema de comunicacin inalmbrica. A partir de los ejemplos proporcionados por GNU Radio, hemos realizado algunos experimentos relacionados, por ejemplo, escaneado del espectro, demodulacin de seales de FM empleando siempre el hardware de USRP. Una vez evaluadas aplicaciones sencillas se ha pasado a realizar un cierto grado de mejora y optimizacin de aplicaciones complejas descritas en la literatura. Se han empleado aplicaciones como la que consiste en la generacin de un espectro de OFDM y la simulacin y transmisin de seales de vdeo en tiempo real. Con estos resultados se est ahora en disposicin de abordar la elaboracin de aplicaciones complejas.
Resumo:
El presente proyecto fin de carrera, realizado por el ingeniero tcnico en telecomunicaciones Pedro M. Matamala Lucas, es la fase final de desarrollo de un proyecto de mayor magnitud correspondiente al software de vdeo forense SAVID. El propsito del proyecto en su totalidad es la creacin de una herramienta informtica capacitada para realizar el anlisis de ficheros de vdeo, codificados y comprimidos por el sistema DV Digital Video-. El objetivo del anlisis, es aportar informacin acerca de si la cinta magntica presenta indicios de haber sido manipulada con una edicin posterior a su grabacin original, adems, de mostrar al usuario otros datos de inters como las especificaciones tcnicas de la seal de vdeo y audio. Por lo tanto, se facilitar al usuario, analista de vdeo forense, informacin que le ayude a valorar la originalidad del contenido del soporte que es sujeto del anlisis. El objetivo especfico de esta fase final, es la creacin de la interfaz de usuario del software, que informa tanto del cdigo binario de los sectores significativos, como de su interpretacin tras el anlisis. Tambin permitir al usuario el reporte de los resultados, adems de otras funcionalidades que le permitan la navegacin por los sectores del cdigo que han sido modificados como efecto colateral de la edicin de la cinta magntica original. Otro objetivo importante del proyecto ha sido la investigacin de metodologas y tcnicas de desarrollo de software para su posterior implementacin, buscando con esto, una mayor eficiencia en la gestin del tiempo y una mayor calidad de software con el fin de garantizar su evolucin y sostenibilidad en el futuro. Se ha hecho hincapi en las metodologas giles que han ido ganando relevancia en el sector de las tecnologas de la informacin en las ltimas dcadas, sustituyendo a metodologas clsicas como el desarrollo en cascada. Su flexibilidad durante el ciclo de vida del software, permite obtener mejores resultados cuando las especificaciones no estn del todo definidas, ajustndose de este modo a las condiciones del proyecto. Resumiendo las especificaciones tcnicas del software, C++ es el lenguaje de programación orientado a objetos con el que se ha desarrollado, utilizndose la tecnologa MFC -Microsoft Foundation Classes- para la implementacin. Es un proyecto MFC de tipo cuadro de dialogo,creado, compilado y publicado, con la herramienta de desarrollo integrado Microsoft Visual Studio 2010. La arquitectura con la que se ha estructurado es la arquetpica de tres capas, compuesta por la interfaz de usuario, capa de negocio y capa de acceso a datos. Se ha visto necesario configurar el proyecto con compatibilidad con CLR Common Languages Runtime- para poder implementar la funcionalidad de creacin de reportes. Acompaando a la aplicacin informtica, se presenta la memoria del proyecto y sus anexos correspondientes a los documentos EDRF Especificaciones Detalladas de Requisitos funcionales-, EIU Especificaciones de Interfaz de Usuario , DT -Diseo Tcnico- y Gua de Usuario. SUMMARY. This dissertation, carried out by the telecommunications engineer Pedro M. Matamala Lucas, is in its final stage and is part of a larger project for the software of forensic video called SAVID. The purpose of the entire project is the creation of a software tool capable of analyzing video files that are coded and compressed by the DV -Digital Video- System. The objective of the analysis is to provide information on whether the magnetic tape shows signs of having been tampered with after the editing of the original recording, and also to show the user other relevant data and technical specifications of the video signal and audio. Therefore the user, forensic video analyst, will have information to help assess the originality of the content of the media that is subject to analysis. The specific objective of this final phase is the creation of the user interface of the software that provides information about the binary code of the significant sectors and also its interpretation after analysis. It will also allow the user to report the results, and other features that will allow browsing through the sections of the code that have been modified as a secondary effect of the original magnetic tape being tampered. Another important objective of the project is the investigation of methodologies and software development techniques to be used in deployment, with the aim of greater efficiency in time management and enhanced software quality in order to ensure its development and maintenance in the future. Agile methodologies, which have become important in the field of information technology in recent decades, have been used during the execution of the project, replacing classical methodologies such as Waterfall Development. The flexibility, as the result of using by agile methodologies, during the software life cycle, produces better results when the specifications are not fully defined, thus conforming to the initial conditions of the project. Summarizing the software technical specifications, C + + the programming language which is object oriented and has been developed using technology MFC- Microsoft Foundation Classes for implementation. It is a project type dialog box, created, compiled and released with the integrated development tool Microsoft Visual Studio 2010. The architecture is structured in three layers: the user interface, business layer and data access layer. It has been necessary to configure the project with the support CLR -Common Languages Runtime in order to implement the reporting functionality. The software application is submitted with the project report and its annexes to the following documents: Functional Requirements Specifications - Detailed User Interface Specifications, Technical Design and User Guide.
Resumo:
Esta tesis tiene por objeto estudiar las posibilidades de realizar en castellano tareas relativas a la resolucin de problemas con sistemas basados en el conocimiento. En los dos primeros captulos se plantea un anlisis de la trayectoria seguida por las tcnicas de tratamiento del lenguaje natural, prestando especial inters a los formalismos lgicos para la comprensin del lenguaje. Seguidamente, se plantea una valoracin de la situacin actual de los sistemas de tratamiento del lenguaje natural. Finalmente, se presenta lo que constituye el ncleo de este trabajo, un sistema llamado Sirena, que permite realizar tareas de adquisicin, comprensin, recuperacin y explicacin de conocimiento en castellano con sistemas basados en el conocimiento. Este sistema contiene un subconjunto del castellano amplio pero simple formalizado con una gramtica lgica. El significado del conocimiento se basa en la lgica y ha sido implementado en el lenguaje de programación lgica Prolog II vS. Palabras clave: Programación Lgica, Comprensin del Lenguaje Natural, Resolucin de Problemas, Gramticas Lgicas, Lingistica Computacional, Inteligencia Artificial.---ABSTRACT---The purpose of this thesis is to study the possibi1 ities of performing in Spanish problem solving tasks with knowledge based systems. Ule study the development of the techniques for natural language processing with a particular interest in the logical formalisms that have been used to understand natural languages. Then, we present an evaluation of the current state of art in the field of natural language processing systems. Finally, we introduce the main contribution of our work, Sirena a system that allows the adquisition, understanding, retrieval and explanation of knowledge in Spanish with knowledge based systems. Sirena can deal with a large, although simple subset of Spanish. This subset has been formalised by means of a logic grammar and the meaning of knowledge is based on logic. Sirena has been implemented in the programming language Prolog II v2. Keywords: Logic Programming, Understanding Natural Language, Problem Solving, Logic Grammars, Cumputational Linguistic, Artificial Intelligence.
Resumo:
El objetivo de esta Tesis es presentar un mtodo eficiente para la evaluacin de sistemas multi-cuerpo con elementos flexibles con pequeas deformaciones, basado en mtodos topolgicos para la simulacin de sistemas tan complejos como los que se utilizan en la prctica y en tiempo real o prximo al real. Se ha puesto un especial nfasis en la resolucin eficiente de aquellos aspectos que conllevan mayor coste computacional, tales como la evaluacin de las ecuaciones dinmicas y el clculo de los trminos de inercia. Las ecuaciones dinmicas se establecen en funcin de las variables independientes del sistema, y la integracin de las mismas se realiza mediante formulaciones implcitas de index-3. Esta Tesis se articula en seis Captulos. En el Captulo 1 se realiza una revisin bibliogrfica de la simulacin de sistemas flexibles y los mtodos ms relevantes de integracin de las ecuaciones diferenciales del movimiento. Asimismo, se presentan los objetivos de esta Tesis. En el Captulo 2 se presenta un mtodo semi-recursivo para la evaluacin de las ecuaciones de los sistemas multi-cuerpo con elementos flexibles basado en formulaciones topolgicas y sntesis modal. Esta Tesis determina la posicin de cada punto del cuerpo flexible en funcin de un sistema de referencia flotante que se mueve con dicho cuerpo y de las amplitudes de ciertos modos de deformacin calculados a partir de un mallado obtenido mediante el Mtodo de Elementos Finitos. Se presta especial atencin en las condiciones de contorno que se han de tener en cuenta a la hora de establecer las variables que definen la deformacin del cuerpo flexible. El Captulo 3 se centra en la evaluacin de los trminos de inercia de los sistemas flexibles que generalmente conllevan un alto coste computacional. Se presenta un mtodo que permite el clculo de dichos trminos basado en el uso de 24 matrices constantes que pueden ser calculadas previamente al proceso de integracin. Estas matrices permiten evaluar la matriz de masas y el vector de fuerzas de inercia dependientes de la velocidad sin que sea necesario evaluar la posicin deformada de todos los puntos del cuerpo flexible. Se realiza un anlisis pormenorizado de dichas matrices con el objetivo de optimizar su clculo estableciendo aproximaciones que permitan reducir el nmero de dichos trminos y optimizar an ms su evaluacin. Se analizan dos posibles simplificaciones: la primera utiliza una discretizacin no-consistente basada en elementos finitos en los que se definen nicamente los desplazamientos axiales de los nodos; en la segunda propuesta se hace uso de una matriz de masas concentradas (Lumped Mass). Basndose en la formulacin presentada, el Captulo 4 aborda la integracin eficiente de las ecuaciones dinmicas. Se presenta un mtodo iterativo para la integracin con frmulas de index-3 basado en la proyeccin de las ecuaciones dinmicas segn las variables independientes del sistema multi-cuerpo. El clculo del residuo del sistema de ecuaciones no lineales que se ha de resolver de modo iterativo se realiza mediante un proceso recursivo muy eficiente que aprovecha la estructura topolgica del sistema. Se analizan tres formas de evaluar la matriz tangente del citado sistema no lineal: evaluacin aproximada, numrica y recursiva. El mtodo de integracin presentado permite el uso de distintas frmulas. En esta Tesis se analizan la Regla Trapezoidal, la frmula BDF de segundo orden y un mtodo hbrido TR-BDF2. Para este ltimo caso se presenta un algoritmo de paso variable. En el Captulo 5 plantea la implementacin del mtodo propuesto en un programa general de simulacin de mecanismos que permita la resolucin de cualquier sistema multi-cuerpo definindolo mediante un fichero de datos. La implementacin de este programa se ha realizado tanto en C++ como en Java. Se muestran los resultados de las formulaciones presentadas en esta Tesis mediante la simulacin de cuatro ejemplos de distinta complejidad. Mediante anlisis concretos se comparan la formulacin presentada con otras existentes. Tambin se analiza el efecto del lenguaje de programación utilizado en la implementacin y los efectos de las posibles simplificaciones planteadas. Por ltimo, el Captulo 6 resume las principales conclusiones alcanzadas en la Tesis y las futuras lneas de investigacin que con ella se abren. ABSTRACT This Thesis presents an efficient method for solving the forward dynamics of a multi-body sys-tem formed by rigid and flexible bodies with small strains for real-time simulation of real-life models. It is based on topological formulations. The presented work focuses on the efficient solution of the most time-consuming tasks of the simulation process, such as the numerical integration of the motion differential equations and in particular the evaluation of the inertia terms corresponding to the flexible bodies. The dynamic equations are formulated in terms of independent variables of the muti-body system, and they are integrated by means of implicit index-3 formulae. The Thesis is arranged in six chapters. Chapter 1 presents a review of the most relevant and recent contributions related to the modelization of flexible multi-body systems and the integration of the corresponding dynamic equations. The main objectives of the Thesis are also presented in detail. Chapter 2 presents a semi-recursive method for solving the equations of a multi-body system with flexible bodies based on topological formulations and modal synthesis. This Thesis uses the floating frame approach and the modal amplitudes to define the position of any point at the flexible body. These modal deformed shapes are obtained by means of the Finite Element Method. Particular attention has been taken to the boundary conditions used to define the deformation of the flexible bodies. Chapter 3 focuses on the evaluation of the inertia terms, which is usually a very time-consuming task. A new method based on the use of 24 constant matrices is presented. These matrices are evaluated during the set-up step, before the integration process. They allow the calculation of the inertia terms in terms of the position and orientation of the local coordinate system and the deformation variables, and there is no need to evaluate the position and velocities of all the nodes of the FEM mesh. A deep analysis of the inertia terms is performed in order to optimize the evaluation process, reducing both the terms used and the number of arithmetic operations. Two possible simplifications are presented: the first one uses a non-consistent approach in order to define the inertia terms respect to the Cartesian coordinates of the FEM mesh, rejecting those corresponding to the angular rotations; the second approach makes use of lumped mass matrices. Based on the previously presented formulation, Chapter 4 is focused on the numerical integration of the motion differential equations. A new predictor-corrector method based on index-3 formulae and on the use of multi-body independent variables is presented. The evaluation of the dynamic equations in a new time step needs the solution of a set on nonlinear equations by a Newton-Raphson iterative process. The computation of the corresponding residual vector is performed efficiently by taking advantage of the systems topological structure. Three methods to compute the tangent matrix are presented: an approximated evaluation that considers only the most relevant terms, a numerical approach based on finite differences and a recursive method that uses the topological structure. The method presented for integrating the dynamic equations can use a variety of integration formulae. This Thesis analyses the use of the trapezoidal rule, the 2nd order BDF formula and the hybrid TR-BDF2 method. A variable-time step strategy is presented for the last one. Chapter 5 describes the implementation of the proposed method in a general purpose pro-gram for solving any multibody defined by a data file. This program is implemented both in C++ and Java. Four examples are used to check the validity of the formulation and to compare this method with other methods commonly used to solve the dynamic equations of multi-body systems containing flexible bodies. The efficiency of the programming methodology used and the effect of the possible simplifications proposed are also analyzed. Chapter 6 summarizes the main Conclusions obtained in this Thesis and the new lines of research that have been opened.
Resumo:
Este proyecto consiste en el diseo e implementacin de un procesador digital de efectos de audio en tiempo real orientado a instrumentos elctricos tales como guitarras, bajos, teclados, etc. El procesador est basado en la tarjeta Raspberry Pi B+, ordenador de placa reducida de bajo coste, desarrollado en Reino unido y cuyo lanzamiento tuvo lugar en el ao 2012. En primer lugar, ha sido necesario lograr que la tarjeta asuma la funcionalidad de un procesador de audio en tiempo real. Para ello se ha instalado un sistema operativo Linux orientado a Raspberry (Raspbian) y se ha hecho uso de Pure Data (Pd): lenguaje de programación grfico que fue desarrollado en los aos 90 por Miller Puckette con intencin de ser enfocado a la creacin de eventos multimedia y de msica por computador. El papel que desempea Pd es de capa intermedia entre el hardware y el software ya que se encarga de tomar bloques de N muestras del convertidor analgico/digital y encaminarlas a travs del flujo de seal diseado grficamente. En segundo lugar, se han implementado diferentes efectos de audio de distintas caractersticas. As pues, se encuentran efectos basados en retardos, filtros digitales y procesadores de dinmica. Concretamente, los efectos implementados son los siguientes: delay, flanger, vibrato, reverberador de Schroeder, filtros (paso bajo, paso alto y paso banda), ecualizador paramtrico y compresor y expansor de dinmica. Estos efectos han sido implementados en lenguaje C de acuerdo con la API de Pd. Con esto se ha conseguido obtener un objeto por cada efecto, el cual es instanciado en Pd pudiendo ejecutarlo en tiempo real. En este proyecto se expone la problemtica que supone cada paso del diseo proponiendo soluciones vlidas. Adems se incluye una gua paso a paso para configurar la tarjeta y lograr realizar un bypass de seal y un efecto simple partiendo desde cero. ABSTRACT. This project involves the design and implementation of a digital real-time audio processor for electrical instruments (guitars, basses, keyboards, etc.). The processor is based on the Raspberry Pi B + card: low cost computer, developed in UK in 2012. First, it was necessary to make the cards assume the functionality of a real time audio processor. A Linux operating system called Raspberry (Raspbian) was installed. In this Project is used Pure Data (Pd): a graphical programming language developed in the 90s by Miller Puckette intending to be focused on creating multimedia and computer music events. The role of Pd is an intermediate layer between the hardware and the software. It is responsible for taking blocks of N samples of the analog/digital converter and route it through the signal flow. Secondly, it is necessary to implemented the different audio effects. There are delays based effects, digital filter and dynamics effects. Specifically, the implemented effects are: delay, flanger, vibrato, Schroeder reverb, filters (lowpass, highpass and bandpass), parametric equalizer and compressor and expander dynamics. These effects have been implemented in C language according to the Pd API. As a result, it has been obtained an object for each effect, which is instantiated in Pd. In this Project, the problems of every step are exposed with his corresponding solution. It is inlcuded a step-by-step guide to configure the card and achieve perform a bypass signal process and a simple effect.
Resumo:
El presente trabajo consiste en el estudio de la viabilidad en el uso de tres posibles opciones orientadas a la captura de la posicin y la postura de personas en entornos reales, as como el diseo e implementacin de un prototipo de captura en cada uno de ellos. Tambin se incluye una comparativa con el fin de destacar los pros y los contras de cada solucin. Una de las alternativas para llevarlo a cabo consiste en un sistema de tracking ptico por infrarrojos de alta calidad y precisin, como es Optitrack; la segunda se basa en una solucin de bajo coste como es el perifrico Kinect de Microsoft y la tercera consiste en la combinacin de ambos dispositivos para encontrar un equilibrio entre precisin y economa, tomando los puntos fuertes de cada uno para contrarrestar sus debilidades. Uno de los puntos importantes del trabajo es que el uso de los prototipos de captura est orientado a entornos de trabajo reales (en concreto en la captura de los movimientos del personal que trabaja en un quirfano), as que han sido necesarias pruebas para minimizar el efecto de las fuentes de luz en los sistemas de infrarrojos, el estudio de los dispositivos para determinar el nmero de personas que son capaces de capturar a la vez sin que esto afecte a su rendimiento y el nivel de invasin de los dispositivos en los trabajadores (marcadores para el tracking), adems de los mecanismos apropiados para minimizar el impacto de las oclusiones utilizando mtodos de interpolacin y ayudndose del conocimiento del contexto, las restricciones de movimiento del cuerpo humano y la evolucin en el tiempo. Se han desarrollado conocimientos en el funcionamiento y configuracin dispositivos como el sistema de captura Optitrack de Natural Point y el sistema de deteccin de movimiento Kinect desarrollado por Microsoft. Tambin se ha aprendido el funcionamiento del entorno de desarrollo y motor de videojuegos multiplataforma homnimos Unity y del lenguaje de programación C# que utiliza dicho entorno para sus scripts de control, as como los protocolos de comunicacin entre los distintos sistemas que componen los prototipos como son VRPN y NatNet.---ABSTRACT---This project is about a viability study in the use of three possible options, oriented towards the capture of the position and view of people in a real environment, as well as the design and implementation of a capturing prototype in each of them. A comparative study is also included, in order to emphasise the pros and cons of each solution. One of the alternatives consists of an optical tracking system via high quality and precision infrareds, like Optitrack; the second is based on a low cost solution, such as Microsofts Kinect peripheral, and the third consists on a combination of both devices to find a balance between precision and price, taking the strong points of each of the mechanisms to make up for the weaknesses. One of the important parts of this project is that the use of the capturing prototypes is directed towards real life work situations (specifically towards the capturing of the movements of surgery personnel), so various tests have been necessary in order to minimize the effect of light sources in infrared systems, the study of the devices to determine the number of people that they are capable of capturing simultaneously without affecting their performance and the invasion level of the devices towards the workers (tracking markers), as well as the mechanisms adopted to minimize the impact of the occlusions using interpolation methods and with help of the knowledge of the surroundings, the human movement restrictions and the passing of time. Knowledge has been developed on the functioning and configuration of the devices such as Natural Points Optitrak capturing system, and the Kinect movement detection system developed by Microsoft. We have also learned about the operating of the development and incentive environment of multiplatform videogames of namesake Unity and of C# programming language, which uses said environment for its control scripts, as well as communication protocols between the different systems that make up prototypes like VRPN and NatNet.
Resumo:
El objetivo de sta tesis es estudiar cmo desarrollar una aplicacin informtica que implemente algoritmos numricos de evaluacin de caractersticas hidrodinmicas de modelos geomtricos representativos de carenas de buques. Se trata de especificar los requisitos necesarios que debe cumplir un programa para informtico orientado a dar solucin a un determinado problema hidrdinmico, como es simular el comportamiento en balance de un buque sometido a oleaje, de popa o proa. una vez especificada la aplicacin se realizar un diseo del programa; se estudiarn alternativas para implementar la aplicacin; se explicar el proceso que ha de seguirse para obtener la aplicacin en funcionamiento y se contrastarn los resultados obtenidos en la medida que sea posible. Se pretende sistematizar y sintetizar todo el proceso de desarrollo de software, orientado a la simulacin del comportamiento hidrodinmico de un buque, en una metodologa que se pondr a disposicin de la comunidad acadmica y cientfica en la forma que se considere ms adecuada. Se trata, por tanto, de proponer una metodologa de desarrollo de software para obetener una aplicacin que facilite la evaluacin de diferentes alternativas de estudio variando parmetros relativos al problema en estudio y que sea capaz de proporcionar resultados para su anlisis. As mismo se incide en cmo ha de conducirse en el proceso para que dicha aplicacin pueda crecer, incorporando soluciones existentes no implementadas o nuevas soluciones que aparezcan en este mbito de conocimiento. Como aplicacin concreta de la aplicacin se ha elegido implementar los algoritmos necesarios para evaluar la aparicin del balance paramtrico en un buque. En el anlisis de ste problema se considera de inters la representacin geomtrica que se hace de la carena del buque. Adems de la carena aparecen otros elementos que tienen influencia determinante en ste estudio, como son las situacin de mar y las situaciones de carga. Idealmente, el problema sera resuelto si se consiguiera determinar el ngulo de balance que se produce al enfrentar un buque a las diferentes condiciones de mar. Se pretende preparar un programa utilizando el paradigma de la orientacin a objetos. Considero que es la ms adecuada forma de modularizar el programa para poder utilizar diferentes modelos de una misma carena y as comparar los resultados de la evaluacin del balance paramtrico entre s. En una etapa posterior se podran comparar los resultados con otros obtenidos empricamente. Hablo de una nueva metodologa porque pretendo indicar cmo se ha de construir una aplicacin de software que sea usable y sobre la que se pueda seguir desarrollando. Esto justifica la seleccin del lenguaje de programación C++. Se seleccionar un ncleo geomtrico de software que permita acoplar de forma verstil los distintos componentes de software que van a construir el programa. Este trabajo pretende aplicar el desarrollo de software a un aspecto concreto del rea de conocimiento de la hidrodinmica. No se pretende aportar nuevos algoritmos para resolver problemas de hidrodinmica, sino disear un conjunto de objetos de software que implementen soluciones existentes a conocidas soluciones numricas a dichos problemas. Se trata fundamentalmente de un trabajo de software, ms que de hidrodinmica. Lo que aporta de novedad es una nueva forma de realizar un programa aplicado a los clculos hidrodinmicos relativos a la determinacin del balance paramtrico, que pueda crecer e incorporar cualquier novedad que pueda surgir ms adelante. Esto ser posible por la programación modular utilizada y los objetos que representan cada uno de los elementos que intervienen en la determinacin del balance paramtrico. La eleccin de aplicar la metodologa a la prediccin del balance paramtrico se debe a que este concepto es uno de los elementos que intervienen en la evaluacin de criterios de estabilidad de segunda generacin que estan en estudio para su futura aplicacin en el mbito de la construccin naval. Es por tanto un estudio que despierta inters por su prxima utilidad. ABSTRACT The aim of this thesis is to study how to develop a computer application implementing numerical algorithms to assess hydrodynamic features of geometrical models of vessels. It is therefore to propose a methodology for software development applied to an hydrodynamic problem, in order to evaluate different study alternatives by varying different parameters related to the problem and to be capable of providing results for analysis. As a concrete application of the program it has been chosen to implement the algorithms necessary for evaluating the appearance of parametric rolling in a vessel. In the analysis of this problem it is considered of interest the geometrical representation of the hull of the ship and other elements which have decisive influence in this phenomena, such as the sea situation and the loading condition. Ideally, the application would determine the roll angle that occurs when a ship is on waves of different characteristics. It aims to prepare a program by using the paradigm of object oriented programming. I think it is the best methodology to modularize the program. My intention is to show how face the global process of developing an application from the initial specification until the final release of the program. The process will keep in mind the spefici objetives of usability and the possibility of growing in the scope of the software. This work intends to apply software development to a particular aspect the area of knowledge of hydrodynamics. It is not intended to provide new algorithms for solving problems of hydrodynamics, but designing a set of software objects that implement existing solutions to these problems. This is essentially a job software rather than hydrodynamic. The novelty of this thesis stands in this work focuses in describing how to apply the whole proccess of software engineering to hydrodinamics problems. The choice of the prediction of parametric balance as the main objetive to be applied to is because this concept is one of the elements involved in the evaluation of the intact stability criteria of second generation. Therefore, I consider this study as relevant usefull for the future application in the field of shipbuilding.
Resumo:
En este artculo se presentan una serie de reflexiones frente a las comparaciones que pueden hacerse entre dos plataformas de software: Java y .NET. Para ello se trata de hacer un breve recuento histrico de ambos casos, y despus se presentan algunas de las diferencias que la autora ha encontrado entre ellas, mirando aspectos que tienen relacin directa con la programación orientada a objetos, o con otros aspectos del lenguaje. Por ltimo se presenta una breve aclaracin, desde el punto de vista de la autora, frente al tema de portabilidad que ambos reclaman como la diferencia ms relevante entre ellos.