942 resultados para C language


Relevância:

60.00% 60.00%

Publicador:

Resumo:

[ES] El presente TFG consiste en una aplicacin para la deteccin de personas de cuerpo entero. La idea es aplicar este detector a las continuas imgenes recogidas en tiempo real a travs de una web-cam, o de un archivo con formato de vdeo que se encuentre ubicado en el propio sistema. El cdigo est escrito en C++. Para conseguir este objetivo nos basamos en el uso conjunto de dos sistemas de deteccin ya existentes: primero, OpenCV, mediante un mtodo de histograma de gradientes orientados, el cual ya proporciona propiamente un detector de personas que ser aplicado a cada una de las imgenes del stream de vdeo; por otro lado, el detector facial de la librera Encara que se aplica a cada una de las detecciones de supuestas personas obtenidas en el mtodo de OpenCV, para comprobar si hay una cara en la supuesta persona detectada. En caso de ser as, y de haber una cara ms o menos correctamente situada, determinamos que es realmente una persona. Para cada persona detectada se guardan sus datos de situacin en la imagen, en una lista, para posteriormente compararlos con los datos obtenidos en frames anteriores, e intentar hacer un seguimiento de todas las personas. Visualmente se observara como se va recuadrando cada persona con un color determinado aleatorio asignado a cada una, mientras se visualiza el vdeo. Tambin se registra la hora y frame de aparicin, y la hora y frame de salida, de cada persona detectada, quedando estos datos guardados tanto en un fichero de log, como en una base de datos. Los resultados son, bastante satisfactorios, aunque con posibilidades de mejora, ya que es un trabajo que permite combinar otras tcnicas diferentes a las descritas. Debido a la complejidad de los mtodos empleados se destaca la necesidad de alta capacidad de computacin para poder ejecutar la aplicacin en tiempo real sin ralentizaciones.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

<p>[ES] El estndar Functional Mockup Interface (FMI), es un estndar abierto e independiente de cualquier aplicacin o herramienta que permite compartir modelos de sistemas dinmicos entre aplicaciones. Provee una interfaz escrita en lenguaje C que ha de ser implementada por las distintas herramientas exportadoras y pone en comn un conjunto de funciones para manipular los modelos. <br />JavaFMI es una herramienta que permite utilizar simulaciones que cumplen con el estndar FMI en aplicaciones Java de una manera muy simple, limpia y eficiente. Es un proyecto open source con licencia LGPL V2.1H y su cdigo fuente se encuentra disponible para ser clonado en la pagina del proyecto. El proyecto se encuentra alojado en www.bitbucket.org/siani/javafmi y cuenta con una pgina de bienvenida donde se explica como se usa la librera, una pgina para reportar incidencias o solicitar que se implementen nuevas historias y una pgina donde se listan todas las versiones que hay disponibles para descargar. JavaFMI se distribuye como un fichero zip que contiene el .jar con el cdigo compilado de la librera una carpeta lib con las dos dependencias que tiene con libreras externas y una copia de la licencia. Comparada con JFMI, con menos lineas de cdigo, una API limpia, expresiva y auto documentada, y un rendimiento que es un 66 % mejor, JavaFMI es objetivamente la mejor herramienta Java que existe para manipular FMUs de la versin 1.0 y 2.0 del estndar FMI.<br /><br /></p>

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Water distribution networks optimization is a challenging problem due to the dimension and the complexity of these systems. Since the last half of the twentieth century this field has been investigated by many authors. Recently, to overcome discrete nature of variables and non linearity of equations, the research has been focused on the development of heuristic algorithms. This algorithms do not require continuity and linearity of the problem functions because they are linked to an external hydraulic simulator that solve equations of mass continuity and of energy conservation of the network. In this work, a NSGA-II (Non-dominating Sorting Genetic Algorithm) has been used. This is a heuristic multi-objective genetic algorithm based on the analogy of evolution in nature. Starting from an initial random set of solutions, called population, it evolves them towards a front of solutions that minimize, separately and contemporaneously, all the objectives. This can be very useful in practical problems where multiple and discordant goals are common. Usually, one of the main drawback of these algorithms is related to time consuming: being a stochastic research, a lot of solutions must be analized before good ones are found. Results of this thesis about the classical optimal design problem shows that is possible to improve results modifying the mathematical definition of objective functions and the survival criterion, inserting good solutions created by a Cellular Automata and using rules created by classifier algorithm (C4.5). This part has been tested using the version of NSGA-II supplied by Centre for Water Systems (University of Exeter, UK) in MATLAB environment. Even if orientating the research can constrain the algorithm with the risk of not finding the optimal set of solutions, it can greatly improve the results. Subsequently, thanks to CINECA help, a version of NSGA-II has been implemented in C language and parallelized: results about the global parallelization show the speed up, while results about the island parallelization show that communication among islands can improve the optimization. Finally, some tests about the optimization of pump scheduling have been carried out. In this case, good results are found for a small network, while the solutions of a big problem are affected by the lack of constraints on the number of pump switches. Possible future research is about the insertion of further constraints and the evolution guide. In the end, the optimization of water distribution systems is still far from a definitive solution, but the improvement in this field can be very useful in reducing the solutions cost of practical problems, where the high number of variables makes their management very difficult from human point of view.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

En este proyecto se estudian y analizan las diferentes tcnicas de procesado digital de seal aplicadas a acelermetros. Se hace uso de una tarjeta de prototipado, basada en DSP, para realizar las diferentes pruebas. El proyecto se basa, principalmente, en realizar filtrado digital en seales provenientes de un acelermetro en concreto, el 1201F, cuyo campo de aplicacin es bsicamente la automocin. Una vez estudiadas la teora de procesado y las caractersticas de los filtros, diseamos una aplicacin basndonos sobre todo en el entorno en el que se desarrollara una aplicacin de este tipo. A lo largo del diseo, se explican las diferentes fases: diseo por ordenador (Matlab), diseo de los filtros en el DSP (C), pruebas sobre el DSP sin el acelermetro, calibracin del acelermetro, pruebas finales sobre el acelermetro... Las herramientas utilizadas son: la plataforma Kit de evaluacin 21-161N de Analog Devices (equipado con el entorno de desarrollo Visual DSP 4.5++), el acelermetro 1201F, el sistema de calibracin de acelermetros CS-18-LF de Spektra y los programas software MATLAB 7.5 y CoolEditPRO 2.0. Se realizan nicamente filtros IIR de 2 orden, de todos los tipos (Butterworth, Chebyshev I y II y Elpticos). Realizamos filtros de banda estrecha, paso-banda y banda eliminada, de varios tipos, dentro del fondo de escala que permite el acelermetro. Una vez realizadas todas las pruebas, tanto simulaciones como fsicas, se seleccionan los filtros que presentan un mejor funcionamiento y se analizan para obtener conclusiones. Como se dispone de un entorno adecuado para ello, se combinan los filtros entre s de varias maneras, para obtener filtros de mayor orden (estructura paralelo). De esta forma, a partir de filtros paso-banda, podemos obtener otras configuraciones que nos darn mayor flexibilidad. El objetivo de este proyecto no se basa slo en obtener buenos resultados en el filtrado, sino tambin de aprovechar las facilidades del entorno y las herramientas de las que disponemos para realizar el diseo ms eficiente posible. In this project, we study and analize digital signal processing in order to design an accelerometer-based application. We use a hardware card of evaluation, based on DSP, to make different tests. This project is based in design digital filters for an automotion application. The accelerometer type is 1201F. First, we study digital processing theory and main parameters of real filters, to make a design based on the application environment. Along the application, we comment all the different steps: computer design (Matlab), filter design on the DSP (C language), simulation test on the DSP without the accelerometer, accelerometer calibration, final tests on the accelerometer... Hardware and software tools used are: Kit of Evaluation 21-161-N, based on DSP, of Analog Devices (equiped with software development tool Visual DSP 4.5++), 1201-F accelerometer, CS-18-LF calibration system of SPEKTRA and software tools MATLAB 7.5 and CoolEditPRO 2.0. We only perform 2nd orden IIR filters, all-type : Butterworth, Chebyshev I and II and Ellyptics. We perform bandpass and stopband filters, with very narrow band, taking advantage of the accelerometer's full scale. Once all the evidence, both simulations and physical, are finished, filters having better performance and analyzed and selected to draw conclusions. As there is a suitable environment for it, the filters are combined together in different ways to obtain higher order filters (parallel structure). Thus, from band-pass filters, we can obtain many configurations that will give us greater flexibility. The purpose of this project is not only based on good results in filtering, but also to exploit the facilities of the environment and the available tools to make the most efficient design possible.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Se trata de estudiar el comportamiento de un sistema basado en el chip CC1110 de Texas Instruments, para aplicaciones inalmbricas. Los dispositivos basados en este tipo de chips tienen actualmente gran profusin, dada la demanda cada vez mayor de aplicaciones de gestin y control inalmbrico. Por ello, en la primera parte del proyecto se presenta el estado del arte referente a este aspecto, haciendo mencin a los sistemas operativos embebidos, FPGAs, etc. Tambin se realiza una introduccin sobre la historia de los aviones no tripulados, que son el vehculo elegido para el uso del enlace de datos. En una segunda parte se realiza el estudio del dispositivo mediante una placa de desarrollo, verificando y comprobando mediante el software suministrado, el alcance del mismo. Cabe resaltar en este punto que el control con la placa mencionada se debe hacer mediante programacin de bajo nivel (lenguaje C), lo que aporta gran versatilidad a las aplicaciones que se pueden desarrollar. Por ello, en una tercera parte se realiza un programa funcional, basado en necesidades aportadas por la empresa con la que se colabora en el proyecto (INDRA). Este programa es realizado sobre el entorno de Matlab, muy til para este tipo de aplicaciones, dada su versatilidad y gran capacidad de clculo con variables. Para terminar, con la realizacin de dichos programas, se realizan pruebas especficas para cada uno de ellos, realizando pruebas de campo en algunas ocasiones, con vehculos los ms similares a los del entorno real en el que se prev utilizar. Como implementacin al programa realizado, se incluye un manual de usuario con un formato muy grfico, para que la toma de contacto se realice de una manera rpida y sencilla. Para terminar, se plantean lneas futuras de aplicacin del sistema, conclusiones, presupuesto y un anexo con los cdigos de programacin ms importantes. Abstract In this document studied the system behavior based on chip CC1110 of Texas Instruments, for wireless applications. These devices currently have profusion. Right the increasing demand for control and management wireless applications. In the first part of project presents the state of art of this aspect, with reference to the embedded systems, FPGAs, etc. It also makes a history introduction of UAVs, which are the vehicle for use data link. In the second part is studied the device through development board, verifying and checking with provided software the scope. The board programming is C language; this gives a good versatility to develop applications. Thus, in third part performing a functionally program, it based on requirements provided by company with which it collaborates, INDRA Company. This program is developed with Matlab, very useful for such applications because of its versatility and ability to use variables. Finally, with the implementation of such programs, specific tests are performed for each of them, field tests are performed in several cases, and vehicles used for this are the most similar to the actual environment plain to use. Like implementing with the program made, includes a graphical user manual, so your understanding is conducted quickly and easily. Ultimately, present future targets for system applications, conclusions, budget and annex of the most important programming codes.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Cada vez es ms frecuente que los sistemas de comunicaciones realicen buena parte de sus funciones (modulacin y demodulacin, codificacin y decodificacin...) mediante software en lugar de utilizar hardware dedicado. Esta tcnica se denomina Radio software. El objetivo de este PFC es estudiar un algoritmo implementado en C empleado en sistemas de comunicaciones modernos, en concreto la decodificacin de Viterbi, el cual se encarga de corregir los posibles errores producidos a lo largo de la comunicacin, para poder trasladarlo a sistemas empotrados multiprocesador. Partiendo de un cdigo en C para el decodificador que realiza todas sus operaciones en serie, en este Proyecto fin de carrera se ha paralelizado dicho cdigo, es decir, que el trabajo que realizaba un solo hilo para el caso del cdigo serie, es procesado por un nmero de hilos configurables por el usuario, persiguiendo que el tiempo de ejecucin se reduzca, es decir, que el programa paralelizado se ejecute de una manera ms rpida. El trabajo se ha realizado en un PC con sistema operativo Linux, pero la versin paralelizada del cdigo puede ser empleada en un sistema empotrado multiprocesador en el cual cada procesador ejecuta el cdigo correspondiente a uno de los hilos de la versin de PC. ABSTRACT It is increasingly common for communications systems to perform most of its functions (modulation and demodulation, coding and decoding) by software instead of than using dedicated hardware. This technique is called: Software Radio. The aim of the PFC is to study an implemented algorithm in C language used in modern communications systems, particularly Viterbi decoding, which amends any possible error produced during the communication, in order to be able to move multiprocessor embedded systems. Starting from a C code of the decoder that performs every single operation in serial, in this final project, this code has been parallelized, which means that the work used to be done by just a single thread in the case of serial code, is processed by a number of threads configured by the user, in order to decrease the execution time, meaning that the parallelized program is executed faster. The work has been carried out on a PC using Linux operating system, but the parallelized version of the code could also be used in an embedded multiprocessor system in which each processor executes the corresponding code to every single one of the threads of the PC version.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Los Sistemas de SHM o de monitorizacin de la integridad estructural surgen ante la necesidad de mejorar los mtodos de evaluacin y de test no destructivos convencionales. De esta manera, se puede tener controlado todo tipo de estructuras en las cuales su correcto estado o funcionamiento suponga un factor crtico. Un Sistema SHM permite analizar una estructura concreta capturando de manera peridica el estado de la integridad estructural, que en este proyecto se ha aplicado a estructuras aeronuticas. P.A.M.E.L.A. (Phase Array Monitoring for Enhanced Life Assessment) es la denominacin utilizada para definir una serie de equipos electrnicos para Sistemas SHM desarrollados por AERNOVA y los Grupos de Diseo Electrnico de las universidades UPV/EHU y UPM. Los dispositivos P.A.M.E.L.A. originalmente no cuentan con tecnologa Wi-Fi, por lo que incorporan un mdulo hardware independiente que se encarga de las comunicaciones inalmbricas, a los que se les denomina Nodos. Estos Nodos poseen un Sistema Operativo propio y todo lo necesario para administrar y organizar la red Mallada Wi-Fi. De esta manera se obtiene una red mallada inalmbrica compuesta por Nodos que interconectan los Sistemas SHM y que se encargan de transmitir los datos a los equipos que procesan los resultados adquiridos por P.A.M.E.L.A. Los Nodos son dispositivos empotrados que llevan instalados un firmware basado en una distribucin de Linux para Nodos (o Routers), llamado Openwrt. Que para disponer de una red mallada necesitan de un protocolo orientado a este tipo de redes. Entre las opciones de protocolo ms destacadas se puede mencionar: DSDV (Destination Sequenced Distance Vector), OLSR (Optimized Link State Routing), B.A.T.M.A.N-Adv (Better Approach To Mobile Adhoc Networking Advance), BMX (una versin de B.A.T.M.A.N-Adv), AODV (Ad hoc On-Demand Distance Vector) y el DSR (Dynamic Source Routing). Adems de la existencia de protocolos orientados a las redes malladas, tambin hay organizaciones que se dedican a desarrollar firmware que los utilizan, como es el caso del firmware llamado Nightwing que utiliza BMX, Freifunk que utiliza OLSR o Potato Mesh que utiliza B.A.T.M.A.N-Adv. La ventaja de estos tres firmwares mencionados es que las agrupaciones que las desarrollan proporcionan las imgenes precompiladas del sistema,listas para cargarlas en distintos modelos de Nodos. En este proyecto se han instalado las imgenes en los Nodos y se han probado los protocolos BMX, OLSR y B.A.T.M.A.N.-Adv. Concluyendo que la red gestionada por B.A.T.M.A.N.-Adv era la que mejor rendimiento obtena en cuanto a estabilidad y ancho de banda. Despus de haber definido el protocolo a usar, se procedi a desarrollar una distribucin basada en Openwrt, que utilice B.A.T.M.A.N.-Adv para crear la red mallada, pero que se ajuste mejor a las necesidades del proyecto, ya que Nightwing, Freifunk y Potato Mesh no lo hacan. Adems se implementan aplicaciones en lenguaje ANSI C y en LabVIEW para interactuar con los Nodos y los Sistemas SHM. Tambin se procede a hacer alguna modificacin en el Hardware de P.A.M.E.L.A. y del Nodo para obtener una mejor integracin entre los dos dispositivos. Y por ultimo, se prueba la transferencia de datos de los Nodos en distintos escenarios. ABSTRACT. Structural Health Monitoring (SHM) systems arise from the need of improving assessment methods and conventional nondestructive tests. Critical structures can be monitored using SHM. A SHM system analyzes periodically a specific structure capturing the state of structural integrity. The aim of this project is to contribute in the implementation of Mesh network for SHM system in aircraft structures. P.A.M.E.L.A. (Phase Array Monitoring for Enhanced Life Assessment) is the name for electronic equipment developed by AERNOVA, the Electronic Design Groups of university UPV/EHU and the Instrumentation and Applied Acoustics research group from UPM. P.A.M.E.L.A. devices were not originally equipped with Wi-Fi interface. In this project a separate hardware module that handles wireless communications (nodes) has been added. The nodes include an operating system for manage the Wi-Fi Mesh Network and they form the wireless mesh network to link SHM systems with monitoring equipment. Nodes are embedded devices with an installed firmware based on special Linux distribution used in routers or nodes, called OpenWRT. They need a Mesh Protocol to stablish the network. The most common protocols options are: DSDV (Destination Sequenced Distance Vector), OLSR (Optimized Link State Routing), BATMAN-Adv (Better Approach To Mobile Ad-hoc Networking Advance), BMX (a version of BATMAN-Adv) AODV (Ad hoc on-Demand Distance Vector) and DSR (Dynamic Source Routing). In addition, there are organizations that are dedicated to develope firmware using these Mesh Protocols, for instance: Nightwing uses BMX, Freifunk use OLSR and Potato Mesh uses BATMAN-Adv. The advantage of these three firmwares is that these groups develop pre-compiled images of the system ready to be loaded in several models of Nodes. In this project the images were installed in the nodes. In this way, BMX, OLSR and BATMAN-Adv have been tested. We conclude that the protocol BATMAN-Adv has better performance in terms of stability and bandwidth. After choosing the protocol, the objective was to develop a distribution based on OpenWRT, using BATMAN-Adv to create the mesh network. This distribution is fitted to the requirements of this project. Besides, in this project it has been developed applications in C language and LabVIEW to interact with the Nodes and the SHM systems. The project also address some modifications to the PAMELA hardware and the Node, for better integration between both elements. Finally, data transfer tests among the different nodes in different scenarios has been carried out.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

We attempt to integrate and start up the set of necessary tools to deploy the design cycle of embedded systems based on Embedded Linux on a "Cyclone V SoC" made by Altera. First, we will analyze the available tools for designing the hardware system of the SoCkit development kit, made by Arrow, which has a "Cyclone V SoC" system (based on a "ARM Cortex-A9 MP Core" architecture). When designing the SoCkit board hardware, we will create a new peripheral to integrate it into the hardware system, so it can be used as any other existent resource of the SoCkit board previously configured. Next, we will analyze the tools to generate an Embedded Linux distribution adapted to the SoCkit board. In order to generate the Linux distribution we will use, on the one hand, a software package from Yocto recommended by Altera; on the other hand, the programs and tools of Altera, Embedded Development Suite. We will integrate all the components needed to build the Embedded Linux distribution, creating a complete and functional system which can be used for developing software applications. Finally, we will study the programs for developing and debugging applications in C or C++ language that will be executed in this hardware platform, then we will program a Linux application as an example to illustrate the use of SoCkit board resources. RESUMEN Se pretende integrar y poner en funcionamiento el conjunto de herramientas necesarias para desplegar el ciclo de diseo de sistemas embebidos basados en "Embedded Linux" sobre una "Cyclone V SoC" de Altera. En primer lugar, se analizarn las diversas herramientas disponibles para disear el sistema hardware de la tarjeta de desarrollo SoCkit, fabricada por Arrow, que dispone de un sistema "Cyclone V SoC" (basado en una arquitectura "ARM Cortex A9 MP Core"). En el diseo hardware de la SoCkit se crear un perifrico propio y se integrar en el sistema, pudiendo ser utilizado como cualquier otro recurso de la tarjeta ya existente y configurado. A continuacin, tambin se analizarn las herramientas para generar una distribucin de "Embedded Linux" adaptado a la placa SoCkit. Para generar la distribucin de Linux se utilizar, por una parte, un paquete software de Yocto recomendado por Altera y, por otra parte, las propias herramientas y programas de Altera. Se integrarn todos los componentes necesarios para construir la distribucin Linux, creando un sistema completo y funcional que se pueda utilizar para el desarrollo de aplicaciones software. Por ltimo, se estudiarn las herramientas para el diseo y depuracin de aplicaciones en lenguaje C C++ que se ejecutarn en esta plataforma hardware. Se pretende desarrollar una aplicacin de ejemplo para ilustrar el uso de los recursos ms utilizados de la SoCkit.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

El presente proyecto trata sobre uno de los campos ms problemticos de la inteligencia artificial, el reconocimiento facial. Algo tan sencillo para las personas como es reconocer una cara conocida se traduce en complejos algoritmos y miles de datos procesados en cuestin de segundos. El proyecto comienza con un estudio del estado del arte de las diversas tcnicas de reconocimiento facial, desde las ms utilizadas y probadas como el PCA y el LDA, hasta tcnicas experimentales que utilizan imgenes trmicas en lugar de las clsicas con luz visible. A continuacin, se ha implementado una aplicacin en lenguaje C++ que sea capaz de reconocer a personas almacenadas en su base de datos leyendo directamente imgenes desde una webcam. Para realizar la aplicacin, se ha utilizado una de las libreras ms extendidas en cuanto a procesado de imgenes y visin artificial, OpenCV. Como IDE se ha escogido Visual Studio 2010, que cuenta con una versin gratuita para estudiantes. La tcnica escogida para implementar la aplicacin es la del PCA ya que es una tcnica bsica en el reconocimiento facial, y adems sirve de base para soluciones mucho ms complejas. Se han estudiado los fundamentos matemticos de la tcnica para entender cmo procesa la informacin y en qu se datos se basa para realizar el reconocimiento. Por ltimo, se ha implementado un algoritmo de testeo para poder conocer la fiabilidad de la aplicacin con varias bases de datos de imgenes faciales. De esta forma, se puede comprobar los puntos fuertes y dbiles del PCA. ABSTRACT. This project deals with one of the most problematic areas of artificial intelligence, facial recognition. Something so simple for human as to recognize a familiar face becomes into complex algorithms and thousands of data processed in seconds. The project begins with a study of the state of the art of various face recognition techniques, from the most used and tested as PCA and LDA, to experimental techniques that use thermal images instead of the classic visible light images. Next, an application has been implemented in C + + language that is able to recognize people stored in a database reading images directly from a webcam. To make the application, it has used one of the most outstretched libraries in terms of image processing and computer vision, OpenCV. Visual Studio 2010 has been chosen as the IDE, which has a free student version. The technique chosen to implement the software is the PCA because it is a basic technique in face recognition, and also provides a basis for more complex solutions. The mathematical foundations of the technique have been studied to understand how it processes the information and which data are used to do the recognition. Finally, an algorithm for testing has been implemented to know the reliability of the application with multiple databases of facial images. In this way, the strengths and weaknesses of the PCA can be checked.

Relevância:

60.00% 60.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:

60.00% 60.00%

Publicador:

Resumo:

El proyecto trata del desarrollo de un software para realizar el control de la medida de la distribucin de intensidad luminosa en luminarias LED. En el trascurso del proyecto se expondrn fundamentos tericos sobre fotometra bsica, de los cuales se extraen las condiciones bsicas para realizar dicha medida. Adems se realiza una breve descripcin del hardware utilizado en el desarrollo de la mquina, el cual se basa en una placa de desarrollo Arduino Mega 2560, que, gracias al paquete de Labview LIFA (Labview Interface For Arduino), ser posible utilizarla como tarjeta de adquisicin de datos mediante la cual poder manejar tanto sensores como actuadores, para las tareas de control. El instrumento de medida utilizado en este proyecto es el BTS256 de la casa GigaHerzt-Optik, del cual se dispone de un kit de desarrollo tanto en lenguaje C++ como en Labview, haciendo posible programar aplicaciones basadas en este software para realizar cualquier tipo de adaptacin a las necesidades del proyecto. El software est desarrollado en la plataforma Labview 2013, esto es gracias a que se dispone del kit de desarrollo del instrumento de medida, y del paquete LIFA. El objetivo global del proyecto es realizar la caracterizacin de luminarias LED, de forma que se obtengan medidas suficientes de la distribucin de intensidad luminosa. Los datos se recogern en un archivo fotomtrico especfico, siguiendo la normativa IESNA 2002 sobre formato de archivos fotomtricos, que posteriormente ser utilizado en la simulacin y estudio de instalaciones reales de la luminaria. El sistema propuesto en este proyecto, es un sistema basado en fotometra tipo B, utilizando coordenadas VH, desarrollando un algoritmo de medida que la luminaria describa un ngulo de 180 en ambos ejes, con una resolucin de 5 para el eje Vertical y 22.5 para el eje Horizontal, almacenando los datos en un array que ser escrito en el formato exigido por la normativa. Una vez obtenidos los datos con el instrumento desarrollado, el fichero generado por la medida, es simulado con el software DIALux, obteniendo unas medidas de iluminacin en la simulacin que sern comparadas con las medidas reales, intentando reproducir en la simulacin las condiciones reales de medida. ABSTRACT. The project involves the development of software for controlling the measurement of light intensity distribution in LEDs. In the course of the project theoretical foundations on basic photometry, of which the basic conditions for such action are extracted will be presented. Besides a brief description of the hardware used in the development of the machine, which is based on a Mega Arduino plate 2560 is made, that through the package Labview "LIFA" (Interface For Arduino Labview "), it is possible to use as data acquisition card by which to handle both sensors and actuators for control tasks. The instrument used in this project is the BTS256 of GigaHerzt-Optik house, which is available a development kit in both C ++ language as LabView, making it possible to program based on this software applications for any kind of adaptation to project needs. The software is developed in Labview 2013 platform, this is thanks to the availability of the SDK of the measuring instrument and the LIFA package. The overall objective of the project is the characterization of LED lights, so that sufficient measures the light intensity distribution are obtained. Data will be collected on a specific photometric file, following the rules IESNA 2002 on photometric format files, which will then be used in the simulation and study of actual installations of the luminaire. The proposed in this project is a system based on photometry type B system using VH coordinates, developing an algorithm as the fixture describe an angle of 180 in both axes, with a resolution of 5 to the vertical axis and 22.5 for the Horizontal axis, storing data in an array to be written in the format required by the regulations. After obtaining the data with the instrument developed, the file generated by the measure, is simulated with DIALux software, obtaining measures of lighting in the simulation will be compared with the actual measurements, trying to play in the simulation the actual measurement conditions .

Relevância:

60.00% 60.00%

Publicador:

Resumo:

La robtica mvil constituye un rea de desarrollo y explotacin de inters creciente. Existen ejemplos de robtica mvil de relevancia destacada en el mbito industrial y se estima un fuerte crecimiento en el terreno de la robtica de servicios. En la arquitectura software de todos los robots mviles suelen aparecer con frecuencia componentes que tienen asignadas competencias de gobierno, navegacin, percepcin, etctera, todos ellos de importancia destacada. Sin embargo, existe un elemento, difcilmente prescindible en este tipo de robots, el cual se encarga del control de velocidad del dispositivo en sus desplazamientos. En el presente proyecto se propone desarrollar un controlador PID basado en el modelo y otro no basado en el modelo. Dichos controladores debern operar en un robot con configuracin de triciclo disponible en el Departamento de Sistemas Informticos y debern por tanto ser programados en lenguaje C para ejecutar en el procesador digital de seal destinado para esa actividad en el mencionado robot (dsPIC33FJ128MC802). ABSTRACT Mobile robotics constitutes an area of development and exploitation of increasing interest. There are examples of mobile robotics of outstanding importance in industry and strong growth is expected in the field of service robotics. In the software architecture of all mobile robots usually appear components which have assigned competences of government, navigation, perceptionetc., all of them of major importance. However, there is an essential element in this type of robots, which takes care of the speed control. The present project aims to develop a model-based and other non-model-based PID controller. These controllers must operate in a robot with tricycle settings, available from the Department of Computing Systems, and should therefore be programmed in C language to run on the digital signal processor dedicated to that activity in the robot (dsPIC33FJ128MC802).

Relevância:

60.00% 60.00%

Publicador:

Resumo:

En este Proyecto Fin de Grado se ha realizado un estudio de cmo generar, a partir de modelos de flujo de datos en RVC-CAL (Reconfigurable Video Coding CAL Actor Language), modelos VHDL (Versatile Hardware Description Language) mediante Vivado HLS (Vivado High Level Synthesis), incluida en las herramientas disponibles en Vivado de Xilinx. Una vez conseguido el modelo VHDL resultante, la intencin es que mediante las herramientas de Xilinx se programe en una FPGA (Field Programmable Gate Array) o el dispositivo Zynq tambin desarrollado por Xilinx. RVC-CAL es un lenguaje de flujo de datos que describe la funcionalidad de bloques funcionales, denominados actores. Las funcionalidades que desarrolla un actor se definen como acciones, las cuales pueden ser diferentes en un mismo actor. Los actores pueden comunicarse entre s y formar una red de actores o network. Con Vivado HLS podemos obtener un diseo VHDL a partir de un modelo en lenguaje C. Por lo que la generacin de modelos en VHDL a partir de otros en RVC-CAL, requiere una fase previa en la que los modelos en RVC-CAL sern compilados para conseguir su equivalente en lenguaje C. El compilador ORCC (Open RVC-CAL Compiler) es la herramienta que nos permite lograr diseos en lenguaje C partiendo de modelos en RVC-CAL. ORCC no crea directamente el cdigo ejecutable, sino que genera un cdigo fuente disponible para ser compilado por otra herramienta, en el caso de este proyecto, el compilador GCC (Gnu C Compiler) de Linux. En resumen en este proyecto nos encontramos con tres puntos de estudio bien diferenciados, los cuales son: 1. Partimos de modelos de flujo de datos en RVC-CAL, los cuales son compilados por ORCC para alcanzar su traduccin en lenguaje C. 2. Una vez conseguidos los diseos equivalentes en lenguaje C, son sintetizados en Vivado HLS para conseguir los modelos en VHDL. 3. Los modelos VHDL resultantes serian manipulados por las herramientas de Xilinx para producir el bitstream que sea programado en una FPGA o en el dispositivo Zynq. En el estudio del segundo punto, nos encontramos con una serie de elementos conflictivos que afectan a la sntesis en Vivado HLS de los diseos en lenguaje C generados por ORCC. Estos elementos estn relacionados con la manera que se encuentra estructurada la especificacin en C generada por ORCC y que Vivado HLS no puede soportar en determinados momentos de la sntesis. De esta manera se ha propuesto una transformacin manual de los diseos generados por ORCC que afecto lo menos posible a los modelos originales para poder realizar la sntesis con Vivado HLS y crear el fichero VHDL correcto. De esta forma este documento se estructura siguiendo el modelo de un trabajo de investigacin. En primer lugar, se exponen las motivaciones y objetivos que apoyan y se esperan lograr en este trabajo. Seguidamente, se pone de manifiesto un anlisis del estado del arte de los elementos necesarios para el desarrollo del mismo, proporcionando los conceptos bsicos para la correcta comprensin y estudio del documento. Se realiza una descripcin de los lenguajes RVC-CAL y VHDL, adems de una introduccin de las herramientas ORCC y Vivado, analizando las bondades y caractersticas principales de ambas. Una vez conocido el comportamiento de ambas herramientas, se describen las soluciones desarrolladas en nuestro estudio de la sntesis de modelos en RVC-CAL, ponindose de manifiesto los puntos conflictivos anteriormente sealados que Vivado HLS no puede soportar en la sntesis de los diseos en lenguaje C generados por el compilador ORCC. A continuacin se presentan las soluciones propuestas a estos errores acontecidos durante la sntesis, con las cuales se pretende alcanzar una especificacin en C ms ptima para una correcta sntesis en Vivado HLS y alcanzar de esta forma los modelos VHDL adecuados. Por ltimo, como resultado final de este trabajo se extraen un conjunto de conclusiones sobre todos los anlisis y desarrollos acontecidos en el mismo. Al mismo tiempo se proponen una serie de lneas futuras de trabajo con las que se podra continuar el estudio y completar la investigacin desarrollada en este documento. ABSTRACT. In this Project it has made a study of how to generate, from data flow models in RVC-CAL (Reconfigurable Video Coding - Actor CAL Language), VHDL models (Versatile Hardware Description Language) by Vivado HLS (Vivado High Level Synthesis), included in the tools available in Vivado of Xilinx. Once achieved the resulting VHDL model, the intention is that by the Xilinx tools programmed in FPGA or Zynq device also developed by Xilinx. RVC-CAL is a dataflow language that describes the functionality of functional blocks, called actors. The functionalities developed by an actor are defined as actions, which may be different in the same actor. Actors can communicate with each other and form a network of actors. With Vivado HLS we can get a VHDL design from a model in C. So the generation of models in VHDL from others in RVC-CAL requires a preliminary phase in which the models RVC-CAL will be compiled to get its equivalent in C. The compiler ORCC (Open RVC-CAL Compiler) is the tool that allows us to achieve designs in C language models based on RVC-CAL. ORCC not directly create the executable code but generates an available source code to be compiled by another tool, in the case of this project, the GCC compiler (GNU C Compiler) of Linux. In short, in this project we find three well-defined points of study, which are: 1. We start from data flow models in RVC-CAL, which are compiled by ORCC to achieve its translation in C. 2. Once you realize the equivalent designs in C, they are synthesized in Vivado HLS for VHDL models. 3. The resulting models VHDL would be manipulated by Xilinx tools to produce the bitstream that is programmed into an FPGA or Zynq device. In the study of the second point, we find a number of conflicting elements that affect the synthesis Vivado HLS designs in C generated by ORCC. These elements are related to the way it is structured specification in C generated ORCC and Vivado HLS cannot hold at certain times of the synthesis. Thus it has proposed a "manual" transformation of designs generated by ORCC that affected as little as possible to the original in order to perform the synthesis Vivado HLS and create the correct file VHDL models. Thus this document is structured along the lines of a research. First, the motivations and objectives that support and hope to reach in this work are presented. Then it shows an analysis the state of the art of the elements necessary for its development, providing the basics for a correct understanding and study of the document. A description of the RVC-CAL and VHDL languages is made, in addition an introduction of the ORCC and Vivado tools, analyzing the advantages and main features of both. Once you know the behavior of both tools, the solutions developed in our study of the synthesis of RVC-CAL models, introducing the conflicting points mentioned above are described that Vivado HLS cannot stand in the synthesis of design in C language generated by ORCC compiler. Below the proposed solutions to these errors occurred during synthesis, with which it is intended to achieve optimum C specification for proper synthesis Vivado HLS and thus create the appropriate VHDL models are presented. Finally, as the end result of this work a set of conclusions on all analyzes and developments occurred in the same are removed. At the same time a series of future lines of work which could continue to study and complete the research developed in this document are proposed.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Este trabalho referente ao desenvolvimento de um calibrador multiobjetivo automtico do modelo SWMM (Storm Water Management Model), e avaliao de algumas fontes de incertezas presentes no processo de calibrao, visando representao satisfatria da transformao chuva-vazo. O cdigo foi escrito em linguagem C, e aplica os conceitos do mtodo de otimizao multiobjetivo NSGAII (Non Dominated Sorting Genetic Algorithm) com elitismo controlado, alm de utilizar o cdigo fonte do modelo SWMM para a determinao das vazes simuladas. Paralelamente, tambm foi criada uma interface visual, para melhorar a facilidade de utilizao do calibrador. Os testes do calibrador foram aplicados a trs sistemas diferentes: um sistema hipottico disponibilizado no pacote de instalao do SWMM; um sistema real de pequenas dimenses, denominado La Terraza, localizado no municpio de Sierra Vista, Arizona (EUA); e um sistema de maiores dimenses, a bacia hidrogrfica do Crrego do Gregrio, localizada no municpio de So Carlos (SP). Os resultados indicam que o calibrador construdo apresenta, em geral, eficincia satisfatria, porm bastante dependente da qualidade dos dados observados em campo e dos parmetros de entrada escolhidos pelo usurio. Foi demonstrada a importncia da escolha dos eventos utilizados na calibrao, do estabelecimento de limites adequados nos valores das variveis de deciso, da escolha das funes objetivo e, principalmente, da qualidade e representatividade dos dados de monitoramento pluvio e fluviomtrico. Conclui-se que estes testes desenvolvidos contribuem para o entendimento mais aprofundado dos processos envolvidos na modelagem e calibrao, possibilitando avanos na confiabilidade dos resultados da modelagem.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

O problema de Planejamento da Expanso de Sistemas de Distribuio (PESD) visa determinar diretrizes para a expanso da rede considerando a crescente demanda dos consumidores. Nesse contexto, as empresas distribuidoras de energia eltrica tm o papel de propor aes no sistema de distribuio com o intuito de adequar o fornecimento da energia aos padres exigidos pelos rgos reguladores. Tradicionalmente considera-se apenas a minimizao do custo global de investimento de planos de expanso, negligenciando-se questes de confiabilidade e robustez do sistema. Como consequncia, os planos de expanso obtidos levam o sistema de distribuio a configuraes que so vulnerveis a elevados cortes de carga na ocorrncia de contingncias na rede. Este trabalho busca a elaborao de uma metodologia para inserir questes de confiabilidade e risco ao problema PESD tradicional, com o intuito de escolher planos de expanso que maximizem a robustez da rede e, consequentemente, atenuar os danos causados pelas contingncias no sistema. Formulou-se um modelo multiobjetivo do problema PESD em que se minimizam dois objetivos: o custo global (que incorpora custo de investimento, custo de manuteno, custo de operao e custo de produo de energia) e o risco de implantao de planos de expanso. Para ambos os objetivos, so formulados modelos lineares inteiros mistos que so resolvidos utilizando o solver CPLEX atravs do software GAMS. Para administrar a busca por solues timas, optou-se por programar em linguagem C++ dois Algoritmos Evolutivos: Non-dominated Sorting Genetic Algorithm-2 (NSGA2) e Strength Pareto Evolutionary Algorithm-2 (SPEA2). Esses algoritmos mostraram-se eficazes nessa busca, o que foi constatado atravs de simulaes do planejamento da expanso de dois sistemas testes adaptados da literatura. O conjunto de solues encontradas nas simulaes contm planos de expanso com diferentes nveis de custo global e de risco de implantao, destacando a diversidade das solues propostas. Algumas dessas topologias so ilustradas para se evidenciar suas diferenas.