77 resultados para C (Programming Language)

em Universidad Politécnica de Madrid


Relevância:

100.00% 100.00%

Publicador:

Resumo:

A new formalism, called Hiord, for defining type-free higherorder logic programming languages with predicate abstraction is introduced. A model theory, based on partial combinatory algebras, is presented, with respect to which the formalism is shown sound. A programming language built on a subset of Hiord, and its implementation are discussed. A new proposal for defining modules in this framework is considered, along with several examples.

Relevância:

100.00% 100.00%

Publicador:

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 programacin 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.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

La consola porttil Nintendo DS es una plataforma de desarrollo muy presente entre la comunidad de desarrolladores independientes, con una extensa y nutrida escena homebrew. Si bien las capacidades 2D de la consola estn muy aprovechadas, dado que la mayor parte de los esfuerzos de los creadores amateur estn enfocados en este aspecto, el motor 3D de sta (el que se encarga de representar en pantalla modelos tridimensionales) no lo est de igual manera. Por lo tanto, en este proyecto se tiene en vista determinar las capacidades grficas de la Nintendo DS. Para ello se ha realizado una biblioteca de funciones en C que permite aprovechar las posibilidades que ofrece la consola en el terreno 3D y que sirve como herramienta para la comunidad homebrew para crear aplicaciones 3D de forma sencilla, dado que se ha diseado como un sistema modular y accesible. En cuanto al proceso de renderizado se han sacado varias conclusiones. En primer lugar se ha determinado la posibilidad de asignar varias componentes de color a un mismo vrtice (color material reactivo a la iluminacin, color por vrtice directo y color de textura), tanto de forma independiente como simultneamente, pudindose utilizar para aplicar diversos efectos al modelo, como iluminacin pre-calculada o simulacin de una textura mediante color por vrtice, ahorrando en memoria de video. Por otro lado se ha implementado un sistema de renderizado multi-capa, que permite realizar varias pasadas de render, pudiendo, de esta forma, aplicar al modelo una segunda textura mezclada con la principal o realizar un efecto de reflexin esfrica. Uno de los principales avances de esta herramienta con respecto a otras existentes se encuentra en el apartado de animacin. El renderizador desarrollado permite por un lado animacin por transformacin, consistente en la animacin de mallas o grupos de vrtices del modelo mediante el movimiento de una articulacin asociada que determina su posicin y rotacin en cada frame de animacin. Por otro lado se ha implementado un sistema de animacin por muestreo de vrtices mediante el cual se determina la posicin de stos en cada instante de la animacin, generando frame a frame las poses que componen el movimiento (siendo este ltimo mtodo necesario cuando no se puede animar una malla por transformacin). Un mismo modelo puede contener diferentes esqueletos, animados independientemente entre s, y cada uno de ellos tener definidas varias costumbres de animacin que correspondan a movimientos contextuales diferentes (andar, correr, saltar, etc). Adems, el sistema permite extraer cualquier articulacin para asociar su transformacin a un objeto esttico externo y que ste siga el movimiento de la animacin, pudiendo as, por ejemplo, equipar un objeto en la mano de un personaje. Finalmente se han implementado varios efectos tiles en la creacin de escenas tridimensionales, como el billboarding (tanto esfrico como cilndrico), que restringe la rotacin de un modelo para que ste siempre mire a cmara y as poder emular la apariencia de un objeto tridimensional mediante una imagen plana, ahorrando geometra, o emplearlo para realizar efectos de partculas. Por otra parte se ha implementado un sistema de animacin de texturas por subimgenes que permite generar efectos de movimiento mediante imgenes, sin necesidad de transformar geometra. ABSTRACT. The Nintendo DS portable console has received great interest within the independent developers community, with a huge homebrew scene. The 2D capabilities of this console are well known and used since most efforts of the amateur creators has been focused on this point. However its 3D engine (which handles with the representation of three-dimensional models) is not equally used. Therefore, in this project the main objective is to assess the Nintendo DS graphic capabilities. For this purpose, a library of functions in C programming language has been coded. This library allows the programmer to take advantage of the possibilities that the 3D area brings. This way the library can be used by the homebrew community as a tool to create 3D applications in an easy way, since it has been designed as a modular and accessible system. Regarding the render process, some conclusions have been drawn. First, it is possible to assign several colour components to the same vertex (material colour, reactive to the illumination, colour per vertex and texture colour), independently and simultaneously. This feature can be useful to apply certain effects on the model, such as pre-calculated illumination or the simulation of a texture using colour per vertex, providing video memory saving. Moreover, a multi-layer render system has been implemented. This system allows the programmer to issue several render passes on the same model. This new feature brings the possibility to apply to the model a second texture blended with the main one or simulate a spherical reflection effect. One of the main advances of this tool over existing ones consists of its animation system. The developed renderer includes, on the one hand, transform animation, which consists on animating a mesh or groups of vertices of the model by the movement of an associated joint. This joint determines position and rotation of the mesh at each frame of the animation. On the other hand, this tool also implements an animation system by vertex sampling, where the position of vertices is determined at every instant of the animation, generating the poses that build up the movement (the latter method is mandatory when a mesh cannot be animated by transform). A model can contain multiple skeletons, animated independently, each of them being defined with several animation customs, corresponding to different contextual movements (walk, run, jump, etc). Besides, the system allows extraction of information from any joint in order to associate its transform to a static external object, which will follow the movement of the animation. This way, any object could be equipped, for example, on the hand of a character. Finally, some useful effects for the creation of three-dimensional scenes have been implemented. These effects include billboarding (both spherical and cylindrical), which constraints the rotation of a model so it always looks on the camera's direction. This feature can provide the ability to emulate the appearance of a three-dimensional model through a flat image (saving geometry). It can also be helpful in the implementation of particle effects. Moreover, a texture animation system using sub-images has also been implemented. This system allows the generation of movement by using images as textures, without having to transform geometry.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

El trabajo que se presenta a continuacin desarrolla un modelo para calcular la distancia semntica entre dos oraciones representadas por grafos UNL. Este problema se plantea en el contexto de la traduccin automtica donde diferentes traductores pueden generar oraciones ligeramente diferentes partiendo del mismo original. La medida de distancia que se propone tiene como objetivo proporcionar una evaluacin objetiva sobre la calidad del proceso de generacin del texto. El autor realiza una exploracin del estado del arte sobre esta materia, reuniendo en un nico trabajo los modelos propuestos de distancia semntica entre conceptos, los modelos de comparacin de grafos y las pocas propuestas realizadas para calcular distancias entre grafos conceptuales. Tambin evala los pocos recursos disponibles para poder experimentar el modelo y plantea una metodologa para generar los conjuntos de datos que permitiran aplicar la propuesta con el rigor cientfico necesario y desarrollar la experimentacin. Utilizando las piezas anteriores se propone un modelo novedoso de comparacin entre grafos conceptuales que permite utilizar diferentes algoritmos de distancia entre conceptos y establecer umbrales de tolerancia para permitir una comparacin flexible entre las oraciones. Este modelo se programa utilizando C++, se alimenta con los recursos a los que se ha hecho referencia anteriormente, y se experimenta con un conjunto de oraciones creado por el autor ante la falta de otros recursos disponibles. Los resultados del modelo muestran que la metodologa y la implementacin pueden conducir a la obtencin de una medida de distancia entre grafos UNL con aplicacin en sistemas de traduccin automtica, sin embargo, la carencia de recursos y de datos etiquetados con los que validar el algoritmo requieren un esfuerzo previo importante antes de poder ofrecer resultados concluyentes.---ABSTRACT---The work presented here develops a model to calculate the semantic distance between two sentences represented by their UNL graphs. This problem arises in the context of machine translation where different translators can generate slightly different sentences from the same original. The distance measure that is proposed aims to provide an objective evaluation on the quality of the process involved in the generation of text. The author carries out an exploration of the state of the art on this subject, bringing together in a single work the proposed models of semantic distance between concepts, models for comparison of graphs and the few proposals made to calculate distances between conceptual graphs. It also assesses the few resources available to experience the model and presents a methodology to generate the datasets that would be needed to develop the proposal with the scientific rigor required and to carry out the experimentation. Using the previous parts a new model is proposed to compute differences between conceptual graphs; this model allows the use of different algorithms of distance between concepts and is parametrized in order to be able to perform a flexible comparison between the resulting sentences. This model is implemented in C++ programming language, it is powered with the resources referenced above and is experienced with a set of sentences created by the author due to the lack of other available resources. The results of the model show that the methodology and the implementation can lead to the achievement of a measure of distance between UNL graphs with application in machine translation systems, however, lack of resources and of labeled data to validate the algorithm requires an important effort to be done first in order to be able to provide conclusive results.

Relevância:

100.00% 100.00%

Publicador:

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 programacin 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.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Kinetic Monte Carlo (KMC) is a widely used technique to simulate the evolution of radiation damage inside solids. Despite de fact that this technique was developed several decades ago, there is not an established and easy to access simulating tool for researchers interested in this field, unlike in the case of molecular dynamics or density functional theory calculations. In fact, scientists must develop their own tools or use unmaintained ones in order to perform these types of simulations. To fulfil this need, we have developed MMonCa, the Modular Monte Carlo simulator. MMonCa has been developed using professional C++ programming techniques and has been built on top of an interpreted language to allow having a powerful yet flexible, robust but customizable and easy to access modern simulator. Both non lattice and Lattice KMC modules have been developed. We will present in this conference, for the first time, the MMonCa simulator. Along with other (more detailed) contributions in this meeting, the versatility of MMonCa to study a number of problems in different materials (particularly, Fe and W) subject to a wide range of conditions will be shown. Regarding KMC simulations, we have studied neutron-generated cascade evolution in Fe (as a model material). Starting with a Frenkel pair distribution we have followed the defect evolution up to 450 K. Comparison with previous simulations and experiments shows excellent agreement. Furthermore, we have studied a more complex system (He-irradiated W:C) using a previous parametrization [1]. He-irradiation at 4 K followed by isochronal annealing steps up to 500 K has been simulated with MMonCa. The He energy was 400 eV or 3 keV. In the first case, no damage is associated to the He implantation, whereas in the second one, a significant Frenkel pair concentration (evolving into complex clusters) is associated to the He ions. We have been able to explain He desorption both in the absence and in the presence of Frenkel pairs and we have also applied MMonCa to high He doses and fluxes at elevated temperatures. He migration and trapping dominate the kinetics of He desorption. These processes will be discussed and compared to experimental results. [1] C.S. Becquart et al. J. Nucl. Mater. 403 (2010) 75

Relevância:

90.00% 90.00%

Publicador:

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 programacin 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.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

This paper presents a novel tablet based end-user interface for industrial robot programming (called Hammer). This application makes easier to program tasks for industrial robots like polishing, milling or grinding. It is based on the Scratch programming language, but specifically design and created for Android OS. It is a visual programming concept that allows non-skilled programmer operators to create programs. The application also allows to monitor the tasks while it is being executed by overlapping real time information through augmented reality. The application includes a teach pendant screen that can be customized according to the operator needs at every moment.

Relevância:

90.00% 90.00%

Publicador:

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 programacin 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.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

In recent decades, full electric and hybrid electric vehicles have emerged as an alternative to conventional cars due to a range of factors, including environmental and economic aspects. These vehicles are the result of considerable efforts to seek ways of reducing the use of fossil fuel for vehicle propulsion. Sophisticated technologies such as hybrid and electric powertrains require careful study and optimization. Mathematical models play a key role at this point. Currently, many advanced mathematical analysis tools, as well as computer applications have been built for vehicle simulation purposes. Given the great interest of hybrid and electric powertrains, along with the increasing importance of reliable computer-based models, the author decided to integrate both aspects in the research purpose of this work. Furthermore, this is one of the first final degree projects held at the ETSII (Higher Technical School of Industrial Engineers) that covers the study of hybrid and electric propulsion systems. The present project is based on MBS3D 2.0, a specialized software for the dynamic simulation of multibody systems developed at the UPM Institute of Automobile Research (INSIA). Automobiles are a clear example of complex multibody systems, which are present in nearly every field of engineering. The work presented here benefits from the availability of MBS3D software. This program has proven to be a very efficient tool, with a highly developed underlying mathematical formulation. On this basis, the focus of this project is the extension of MBS3D features in order to be able to perform dynamic simulations of hybrid and electric vehicle models. This requires the joint simulation of the mechanical model of the vehicle, together with the model of the hybrid or electric powertrain. These sub-models belong to completely different physical domains. In fact the powertrain consists of energy storage systems, electrical machines and power electronics, connected to purely mechanical components (wheels, suspension, transmission, clutch). The challenge today is to create a global vehicle model that is valid for computer simulation. Therefore, the main goal of this project is to apply co-simulation methodologies to a comprehensive model of an electric vehicle, where sub-models from different areas of engineering are coupled. The created electric vehicle (EV) model consists of a separately excited DC electric motor, a Li-ion battery pack, a DC/DC chopper converter and a multibody vehicle model. Co-simulation techniques allow car designers to simulate complex vehicle architectures and behaviors, which are usually difficult to implement in a real environment due to safety and/or economic reasons. In addition, multi-domain computational models help to detect the effects of different driving patterns and parameters and improve the models in a fast and effective way. Automotive designers can greatly benefit from a multidisciplinary approach of new hybrid and electric vehicles. In this case, the global electric vehicle model includes an electrical subsystem and a mechanical subsystem. The electrical subsystem consists of three basic components: electric motor, battery pack and power converter. A modular representation is used for building the dynamic model of the vehicle drivetrain. This means that every component of the drivetrain (submodule) is modeled separately and has its own general dynamic model, with clearly defined inputs and outputs. Then, all the particular submodules are assembled according to the drivetrain configuration and, in this way, the power flow across the components is completely determined. Dynamic models of electrical components are often based on equivalent circuits, where Kirchhoffs voltage and current laws are applied to draw the algebraic and differential equations. Here, Randles circuit is used for dynamic modeling of the battery and the electric motor is modeled through the analysis of the equivalent circuit of a separately excited DC motor, where the power converter is included. The mechanical subsystem is defined by MBS3D equations. These equations consider the position, velocity and acceleration of all the bodies comprising the vehicle multibody system. MBS3D 2.0 is entirely written in MATLAB and the structure of the program has been thoroughly studied and understood by the author. MBS3D software is adapted according to the requirements of the applied co-simulation method. Some of the core functions are modified, such as integrator and graphics, and several auxiliary functions are added in order to compute the mathematical model of the electrical components. By coupling and co-simulating both subsystems, it is possible to evaluate the dynamic interaction among all the components of the drivetrain. Tight-coupling method is used to cosimulate the sub-models. This approach integrates all subsystems simultaneously and the results of the integration are exchanged by function-call. This means that the integration is done jointly for the mechanical and the electrical subsystem, under a single integrator and then, the speed of integration is determined by the slower subsystem. Simulations are then used to show the performance of the developed EV model. However, this project focuses more on the validation of the computational and mathematical tool for electric and hybrid vehicle simulation. For this purpose, a detailed study and comparison of different integrators within the MATLAB environment is done. Consequently, the main efforts are directed towards the implementation of co-simulation techniques in MBS3D software. In this regard, it is not intended to create an extremely precise EV model in terms of real vehicle performance, although an acceptable level of accuracy is achieved. The gap between the EV model and the real system is filled, in a way, by introducing the gas and brake pedals input, which reflects the actual driver behavior. This input is included directly in the differential equations of the model, and determines the amount of current provided to the electric motor. For a separately excited DC motor, the rotor current is proportional to the traction torque delivered to the car wheels. Therefore, as it occurs in the case of real vehicle models, the propulsion torque in the mathematical model is controlled through acceleration and brake pedal commands. The designed transmission system also includes a reduction gear that adapts the torque coming for the motor drive and transfers it. The main contribution of this project is, therefore, the implementation of a new calculation path for the wheel torques, based on performance characteristics and outputs of the electric powertrain model. Originally, the wheel traction and braking torques were input to MBS3D through a vector directly computed by the user in a MATLAB script. Now, they are calculated as a function of the motor current which, in turn, depends on the current provided by the battery pack across the DC/DC chopper converter. The motor and battery currents and voltages are the solutions of the electrical ODE (Ordinary Differential Equation) system coupled to the multibody system. Simultaneously, the outputs of MBS3D model are the position, velocity and acceleration of the vehicle at all times. The motor shaft speed is computed from the output vehicle speed considering the wheel radius, the gear reduction ratio and the transmission efficiency. This motor shaft speed, somehow available from MBS3D model, is then introduced in the differential equations corresponding to the electrical subsystem. In this way, MBS3D and the electrical powertrain model are interconnected and both subsystems exchange values resulting as expected with tight-coupling approach.When programming mathematical models of complex systems, code optimization is a key step in the process. A way to improve the overall performance of the integration, making use of C/C++ as an alternative programming language, is described and implemented. Although this entails a higher computational burden, it leads to important advantages regarding cosimulation speed and stability. In order to do this, it is necessary to integrate MATLAB with another integrated development environment (IDE), where C/C++ code can be generated and executed. In this project, C/C++ files are programmed in Microsoft Visual Studio and the interface between both IDEs is created by building C/C++ MEX file functions. These programs contain functions or subroutines that can be dynamically linked and executed from MATLAB. This process achieves reductions in simulation time up to two orders of magnitude. The tests performed with different integrators, also reveal the stiff character of the differential equations corresponding to the electrical subsystem, and allow the improvement of the cosimulation process. When varying the parameters of the integration and/or the initial conditions of the problem, the solutions of the system of equations show better dynamic response and stability, depending on the integrator used. Several integrators, with variable and non-variable step-size, and for stiff and non-stiff problems are applied to the coupled ODE system. Then, the results are analyzed, compared and discussed. From all the above, the project can be divided into four main parts: 1. Creation of the equation-based electric vehicle model; 2. Programming, simulation and adjustment of the electric vehicle model; 3. Application of co-simulation methodologies to MBS3D and the electric powertrain subsystem; and 4. Code optimization and study of different integrators. Additionally, in order to deeply understand the context of the project, the first chapters include an introduction to basic vehicle dynamics, current classification of hybrid and electric vehicles and an explanation of the involved technologies such as brake energy regeneration, electric and non-electric propulsion systems for EVs and HEVs (hybrid electric vehicles) and their control strategies. Later, the problem of dynamic modeling of hybrid and electric vehicles is discussed. The integrated development environment and the simulation tool are also briefly described. The core chapters include an explanation of the major co-simulation methodologies and how they have been programmed and applied to the electric powertrain model together with the multibody system dynamic model. Finally, the last chapters summarize the main results and conclusions of the project and propose further research topics. In conclusion, co-simulation methodologies are applicable within the integrated development environments MATLAB and Visual Studio, and the simulation tool MBS3D 2.0, where equation-based models of multidisciplinary subsystems, consisting of mechanical and electrical components, are coupled and integrated in a very efficient way.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

La sealizacin digital o digital signage es una tecnologa de comunicaciones digital que se est usando en los ltimos aos para reemplazar a la antigua publicidad impresa. Esta tecnologa mejora la presentacin y promocin de los productos anunciados, as como facilita el intercambio de informacin gracias a su colocacin en lugares pblicos o al aire libre. Las aplicaciones con las que cuenta este nuevo mtodo de publicidad son muy variadas, ya que pueden variar desde ambientes privados en empresas, hasta lugares pblicos como centros comerciales. Aunque la primera y principal utilidad de la sealizacin digital es la publicidad para que el usuario sienta una necesidad de adquirir productos, tambin la posibilidad de ofrecer ms informacin sobre determinados artculos a travs de las nuevas tecnologas es muy importante en este campo. La aplicacin realizada en este proyecto es el desarrollo de un programa en Adobe Flash a travs de lenguaje de programacin XML. A travs de una pantalla tctil, el usuario de un museo puede interactivamente acceder a un men en el que aparecen los diferentes estilos de arte en un determinado tiempo de la historia. A travs de una lnea de tiempo se puede acceder a informacin sobre cada objeto que est expuesto en la exhibicin. Adems se pueden observar imgenes de los detalles ms importantes del objeto que no pueden ser vistos a simple vista, ya que no est permitido manipularlos. El empleo de la pantalla interactiva sirve para el usuario de la exhibicin como una herramienta extra para recabar informacin sobre lo que est viendo, a travs de una tecnologa nueva y fcil de usar para todo el mundo, ya que solo se necesita usar las propias manos. La facilidad de manejo en aplicaciones como estas es muy importante, ya que el usuario final puede no tener conocimientos tecnolgicos por lo que la informacin debe darse claramente. Como conclusin, se puede decir que digital signage es un mercado que est en expansin y que las empresas deben invertir en el desarrollo de contenidos, ya que las tecnologas avanzan aunque el digital signage no lo haga, y este sector podra ser muy til en un futuro no muy lejano, ya que la informacin que es capaz de transmitir al espectador en todos los lugares es mucho ms vlida y til que la proporcionada por un simple pster impreso en una valla publicitaria. Abstract The Digital signage is a digital communications technology being used in recent years to replace the old advertising printed. This technology improves the presentation and promotion of the advertised products, and makes easy the exchange of information with its placement in public places or outdoors. The applications that account this new method of advertising are several; they can range from private rooms in companies, to public places like malls. Although the first major utility of Digital signage is the advertising that makes the user feel and need of purchasing products. In addition, the chance of providing more information about certain items through new technologies is very important in this field. The application made in this project is the development of a program in Adobe Flash via XML programming language. Through a touch-screen, a museum user can interactively access a menu in which different styles of art in a particular time in history appears. Through a timeline you can access to information about each object that is exposed on display. Also you can see pictures of the most important details of the object that can not be seen with the naked eye, since it is not allowed to manipulate it. The use of the interactive screen serves to the user exhibition as an extra tool to gather information about what is seeing through a new technology and easy to use for everyone, since only need to use ones own hands. The ease of handling in applications such as this is very important as the end user may not have expertise technology so the information should be clearly. As conclusion, one can say digital signage is an expansion market and companies must invest in content development, as although digital technologies advance digital signage does not, and this sector could be very useful in a near future, because information that is able of transmitting the everywhere viewer is much more valid and useful than that provided by a simple printed poster on a billboard.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

We present a parallel graph narrowing machine, which is used to implement a functional logic language on a shared memory multiprocessor. It is an extensin of an abstract machine for a purely functional language. The result is a programmed graph reduction machine which integrates the mechanisms of unification, backtracking, and independent and-parallelism. In the machine, the subexpressions of an expression can run in parallel. In the case of backtracking, the structure of an expression is used to avoid the reevaluation of subexpressions as far as possible. Deterministic computations are detected. Their results are maintained and need not be reevaluated after backtracking.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

This paper presents a technique for achieving a class of optimizations related to the reduction of checks within cycles. The technique uses both Program Transformation and Abstract Interpretation. After a rst pass of an abstract interpreter which detects simple invariants, program transformation is used to build a hypothetical situation that simplies some predicates that should be executed within the cycle. This transformation implements the heuristic hypothesis that once conditional tests hold they may continu doing so recursively. Specialized versions of predicates are generated to detect and exploit those cases in which the invariance may hold. Abstract interpretation is then used again to verify the truth of such hypotheses and conrm the proposed simplication. This allows optimizations that go beyond those possible with only one pass of the abstract interpreter over the original program, as is normally the case. It also allows selective program specialization using a standard abstract interpreter not specically designed for this purpose, thus simplifying the design of this already complex module of the compiler. In the paper, a class of programs amenable to such optimization is presented, along with some examples and an evaluation of the proposed techniques in some application reas such as floundering detection and reducing run-time tests in automatic logic program parallelization. The analysis of the examples presented has been performed automatically by an implementation of the technique using existing abstract interpretation and program transformation tools.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

While logic programming languages offer a great deal of scope for parallelism, there is usually some overhead associated with the execution of goals in parallel because of the work involved in task creation and scheduling. In practice, therefore, the "granularity" of a goal, i.e. an estimate of the work available under it, should be taken into account when deciding whether or not to execute a goal concurrently as a seprate task. This paper describes a method for estimating the granularity of a goal at compile time. The runtime overhead associated with our approach is usually quite small, and the performance improvements resulting from the incorporation of grainsize control can be quite good. This is shown by means of experimental results.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

Compile-time program analysis techniques can be applied to Web service orchestrations to prove or check various properties. In particular, service orchestrations can be subjected to resource analysis, in which safe approximations of upper and lower resource usage bounds are deduced. A uniform analysis can be simultaneously performed for different generalized resources that can be directiy correlated with cost- and performance-related quality attributes, such as invocations of partners, network traffic, number of activities, iterations, and data accesses. The resulting safe upper and lower bounds do not depend on probabilistic assumptions, and are expressed as functions of size or length of data components from an initiating message, using a finegrained structured data model that corresponds to the XML-style of information structuring. The analysis is performed by transforming a BPEL-like representation of an orchestration into an equivalent program in another programming language for which the appropriate analysis tools already exist.