20 resultados para C language

em Universidad Politécnica de Madrid


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:

30.00% 30.00%

Publicador:

Resumo:

This paper describes a proposal of a language called Link which has been designed to formalize and operationalize problem solving strategies. This language is used within a software environment called KSM (Knowledge Structure Manager) which helps developers in formulating and operationalizing structured knowledge models. The paper presents both its syntax and dynamics, and gives examples of well-known problem-solving strategies of reasoning formulated using this language.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Static analyses of object-oriented programs usually rely on intermediate representations that respect the original semantics while having a more uniform and basic syntax. Most of the work involving object-oriented languages and abstract interpretation usually omits the description of that language or just refers to the Control Flow Graph(CFG) it represents. However, this lack of formalization on one hand results in an absence of assurances regarding the correctness of the transformation and on the other it typically strongly couples the analysis to the source language. In this work we present a framework for analysis of object-oriented languages in which in a first phase we transform the input program into a representation based on Horn clauses. This allows on one hand proving the transformation correct attending to a simple condition and on the other being able to apply an existing analyzer for (constraint) logic programming to automatically derive a safe approximation of the semantics of the original program. The approach is flexible in the sense that the first phase decouples the analyzer from most languagedependent features, and correct because the set of Horn clauses returned by the transformation phase safely approximates the standard semantics of the input program. The resulting analysis is also reasonably scalable due to the use of mature, modular (C)LP-based analyzers. The overall approach allows us to report results for medium-sized programs.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

We describe the current status of and provide performance results for a prototype compiler of Prolog to C, ciaocc. ciaocc is novel in that it is designed to accept different kinds of high-level information, typically obtained via an automatic analysis of the initial Prolog program and expressed in a standardized language of assertions. This information is used to optimize the resulting C code, which is then processed by an off-the-shelf C compiler. The basic translation process essentially mimics the unfolding of a bytecode emulator with respect to the particular bytecode corresponding to the Prolog program. This is facilitated by a flexible design of the instructions and their lower-level components. This approach allows reusing a sizable amount of the machinery of the bytecode emulator: predicates already written in C, data definitions, memory management routines and reas, etc., as well as mixing emulated bytecode with native code in a relatively straightforward way. We report on the performance of programs compiled by the current versin of the system, both with and without analysis information.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

We describe lpdoc, a tool which generates documentation manuals automatically from one or more logic program source files, written in Ciao, ISO-Prolog, and other (C)LP languages. It is particularly useful for documenting library modules, for which it automatically generates a rich description of the module interface. However, it can also be used quite successfully to document full applications. A fundamental advantage of using lpdoc is that it helps maintaining a true correspondence between the program and its documentation, and also identifying precisely to what versin of the program a given printed manual corresponds. The quality of the documentation generated can be greatly enhanced by including within the program text assertions (declarations with types, modes, etc. ...) for the predicates in the program, and machine-readable comments. One of the main novelties of lpdoc is that these assertions and comments are written using the Ciao system asseriion language, which is also the language of communication between the compiler and the user and between the components of the compiler. This allows a significant synergy among specification, debugging, documentation, optimization, etc. A simple compatibility library allows conventional (C)LP systems to ignore these assertions and comments and treat normally programs documented in this way. The documentation can be generated interactively from emacs or from the command line, in many formats including texinfo, dvi, ps, pdf, info, ascii, html/css, Unix nroff/man, Windows help, etc., and can include bibliographic citations and images, lpdoc can also genrate "man" pages (Unix man page format), nicely formatted plain ASCII "readme" files, installation scripts useful when the manuals are included in software distributions, brief descriptions in html/css or info formats suitable for inclusin in on-line ndices of manuals, and even complete WWW and info sites containing on-line catalogs of documents and software distributions. The lpdoc manual, all other Ciao system manuals, and parts of this paper are generated by lpdoc.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

We describe the current status of and provide preliminary performance results for a compiler of Prolog to C. The compiler is novel in that it is designed to accept different kinds of high-level information (typically obtained via an analysis of the initial Prolog program and expressed in a standardized language of assertions) and use this information to optimize the resulting C code, which is then further processed by an off-the-shelf C compiler. The basic translation process used essentially mimics an unfolding of a C-coded bytecode emlator with respect to the particular bytecode corresponding to the Prolog program. Optimizations are then applied to this unfolded program. This is facilitated by a more flexible design of the bytecode instructions and their lower-level components. This approach allows reusing a sizable amount of the machinery of the bytecode emulator: ancillary pieces of C code, data definitions, memory management routines and reas, etc., as well as mixing bytecode emulated code with natively compiled code in a relatively straightforward way We report on the performance of programs compiled by the current versin of the system, both with and without analysis information.