5 resultados para fpga, usb

em Biblioteca Digital de Teses e Dissertações Eletrônicas da UERJ


Relevância:

10.00% 10.00%

Publicador:

Resumo:

Amostras de DNA são encontradas em fragmentos, obtidos em vestígios de uma cena de crime, ou coletados de amostras de cabelo ou sangue, para testes genéticos ou de paternidade. Para identificar se esse fragmento pertence ou não a uma sequência de DNA, é necessário compará-los com uma sequência determinada, que pode estar armazenada em um banco de dados para, por exemplo, apontar um suspeito. Para tal, é preciso uma ferramenta eficiente para realizar o alinhamento da sequência de DNA encontrada com a armazenada no banco de dados. O alinhamento de sequências de DNA, em inglês DNA matching, é o campo da bioinformática que tenta entender a relação entre as sequências genéticas e suas relações funcionais e parentais. Essa tarefa é frequentemente realizada através de softwares que varrem clusters de base de dados, demandando alto poder computacional, o que encarece o custo de um projeto de alinhamento de sequências de DNA. Esta dissertação apresenta uma arquitetura de hardware paralela, para o algoritmo BLAST, que permite o alinhamento de um par de sequências de DNA. O algoritmo BLAST é um método heurístico e atualmente é o mais rápido. A estratégia do BLAST é dividir as sequências originais em subsequências menores de tamanho w. Após realizar as comparações nessas pequenas subsequências, as etapas do BLAST analisam apenas as subsequências que forem idênticas. Com isso, o algoritmo diminui o número de testes e combinações necessárias para realizar o alinhamento. Para cada sequência idêntica há três etapas, a serem realizadas pelo algoritmo: semeadura, extensão e avaliação. A solução proposta se inspira nas características do algoritmo para implementar um hardware totalmente paralelo e com pipeline entre as etapas básicas do BLAST. A arquitetura de hardware proposta foi implementada em FPGA e os resultados obtidos mostram a comparação entre área ocupada, número de ciclos e máxima frequência de operação permitida, em função dos parâmetros de alinhamento. O resultado é uma arquitetura de hardware em lógica reconfigurável, escalável, eficiente e de baixo custo, capaz de alinhar pares de sequências utilizando o algoritmo BLAST.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Controle de processos é uma das muitas aplicações que aproveitam as vantagens do uso da teoria de conjuntos nebulosos. Nesse tipo de aplicação, o controlador é, geralmente, embutido no dispositivo controlado. Esta dissertação propõe uma arquitetura reconfigurável eficiente para controladores nebulosos embutidos. A arquitetura é parametrizável, de tal forma, que permite a configuração do controlador para que este possa ser usado na implementação de qualquer aplicação ou modelo nebuloso. Os parâmetros de configuração são: o número de variáveis de entrada (N); o número de variáveis de saída (M); o número de termos linguísticos (Q); e o número total de regras (P). A arquitetura proposta proporciona também a configuração das características que definem as regras e as funções de pertinência de cada variável de entrada e saída, permitindo a escalabilidade do projeto. A composição das premissas e consequentes das regras são configuráveis, de acordo com o controlador nebuloso objetivado. A arquitetura suporta funções de pertinência triangulares, mas pode ser estendida para aceitar outras formas, do tipo trapezoidal, sem grandes modificações. As características das funções de pertinência de cada termo linguístico, podem ser ajustadas de acordo com a definição do controlador nebuloso, permitindo o uso de triângulos. Virtualmente, não há limites máximos do número de regras ou de termos linguísticos empregados no modelo, bem como no número de variáveis de entrada e de saída. A macro-arquitetura do controlador proposto é composta por N blocos de fuzzificação, 1 bloco de inferência, M blocos de defuzzificação e N blocos referentes às características das funções de pertinência. Este último opera apenas durante a configuração do controlador. A função dos blocos de fuzzificação das variáveis de entrada é executada em paralelo, assim como, os cálculos realizados pelos blocos de defuzzificação das variáveis de saída. A paralelização das unidades de fuzzificação e defuzzificação permite acelerar o processo de obtenção da resposta final do controlador. Foram realizadas várias simulações para verificar o correto funcionamento do controlador, especificado em VHDL. Em um segundo momento, para avaliar o desempenho da arquitetura, o controlador foi sintetizado em FPGA e testado em seis aplicações para verificar sua reconfigurabilidade e escalabilidade. Os resultados obtidos foram comparados com os do MATLAB em cada aplicação implementada, para comprovar precisão do controlador.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A Otimização por Enxame de Partículas (PSO, Particle Swarm Optimization) é uma técnica de otimização que vem sendo utilizada na solução de diversos problemas, em diferentes áreas do conhecimento. Porém, a maioria das implementações é realizada de modo sequencial. O processo de otimização necessita de um grande número de avaliações da função objetivo, principalmente em problemas complexos que envolvam uma grande quantidade de partículas e dimensões. Consequentemente, o algoritmo pode se tornar ineficiente em termos do desempenho obtido, tempo de resposta e até na qualidade do resultado esperado. Para superar tais dificuldades, pode-se utilizar a computação de alto desempenho e paralelizar o algoritmo, de acordo com as características da arquitetura, visando o aumento de desempenho, a minimização do tempo de resposta e melhoria da qualidade do resultado final. Nesta dissertação, o algoritmo PSO é paralelizado utilizando três estratégias que abordarão diferentes granularidades do problema, assim como dividir o trabalho de otimização entre vários subenxames cooperativos. Um dos algoritmos paralelos desenvolvidos, chamado PPSO, é implementado diretamente em hardware, utilizando uma FPGA. Todas as estratégias propostas, PPSO (Parallel PSO), PDPSO (Parallel Dimension PSO) e CPPSO (Cooperative Parallel PSO), são implementadas visando às arquiteturas paralelas baseadas em multiprocessadores, multicomputadores e GPU. Os diferentes testes realizados mostram que, nos problemas com um maior número de partículas e dimensões e utilizando uma estratégia com granularidade mais fina (PDPSO e CPPSO), a GPU obteve os melhores resultados. Enquanto, utilizando uma estratégia com uma granularidade mais grossa (PPSO), a implementação em multicomputador obteve os melhores resultados.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este trabalho investiga a implementação de sistemas fuzzy com circuitos eletrônicos. Tais sistemas têm demonstrado sua capacidade de resolver diversos tipos de problemas em várias aplicações de engenharia, em especial nas relacionadas com controle de processos. Para processos mais complexos, o raciocínio aproximado da lógica fuzzy fornece uma maneira de compreender o comportamento do sistema, permitindo a interpolação aproximada entre situações observadas de entrada e saída. A implementação de um sistema fuzzy pode ser baseada em hardware, em software ou em ambos. Tipicamente, as implementações em software utilizam ambientes de programação integrados com simulação, de modo a facilitar o trabalho do projetista. As implementações em hardware, tradicionais ou evolutivas, podem ser analógicas ou digitais e viabilizam sistemas de maior desempenho. Este trabalho tem por objetivo pesquisar a implementação eletrônica de sistemas fuzzy, a fim de viabilizar a criação de sistemas reais capazes de realizar o mapeamento de entrada e saída adequado. O foco é a utilização de uma plataforma com uma arquitetura analógico-digital baseada em uma tabela de mapeamento armazenada em uma memória de alta capacidade. Memórias do tipo SD (Secure Digital) foram estudadas e utilizadas na construção do protótipo eletrônico da plataforma. Também foram desenvolvidos estudos sobre a quantização, especificamente sobre a possibilidade de redução do número de bits. Com a implementação realizada é possível desenvolver um sistema fuzzy num ambiente simulado (Matlab), configurar a plataforma e executar o sistema fuzzy diretamente na plataforma eletrônica. Os testes com o protótipo construído comprovaram seu bom funcionamento.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Desde os primórdios da humanidade, a descoberta do método de processamento cerebral do som, e consequentemente da música, fazem parte do imaginário humano. Portanto, as pesquisas relacionadas a este processo constituem um dos mais vastos campos de estudos das áreas de ciências. Dentre as inúmeras tentativas para compreensão do processamento biológico do som, o ser humano inventou o processo automático de composição musical, com o intuito de aferir a possibilidade da realização de composições musicais de qualidade sem a imposição sentimental, ou seja, apenas com a utilização das definições e estruturas de música existentes. Este procedimento automático de composição musical, também denominado música aleatória ou música do acaso, tem sido vastamente explorado ao longo dos séculos, já tendo sido utilizado por alguns dos grandes nomes do cenário musical, como por exemplo, Mozart. Os avanços nas áreas de engenharia e computação permitiram a evolução dos métodos utilizados para composição de música aleatória, tornando a aplicação de autômatos celulares uma alternativa viável para determinação da sequência de execução de notas musicais e outros itens utilizados durante a composição deste tipo de música. Esta dissertação propõe uma arquitetura para geração de música harmonizada a partir de intervalos melódicos determinados por autômatos celulares, implementada em hardware reconfigurável do tipo FPGA. A arquitetura proposta possui quatro tipos de autômatos celulares, desenvolvidos através dos modelos de vizinhança unidimensional de Wolfram, vizinhança bidimensional de Neumann, vizinhança bidimensional Moore e vizinhança tridimensional de Neumann, que podem ser combinados de 16 formas diferentes para geração de melodias. Os resultados do processamento realizado pela arquitetura proposta são melodias no formato .mid, compostas através da utilização de dois autômatos celulares, um para escolha das notas e outro para escolha dos instrumentos a serem emulados, de acordo com o protocolo MIDI. Para tal esta arquitetura é formada por três unidades principais, a unidade divisor de frequência, que é responsável pelo sincronismo das tarefas executadas pela arquitetura, a unidade de conjunto de autômatos celulares, que é responsável pelo controle e habilitação dos autômatos celulares, e a unidade máquina MIDI, que é responsável por organizar os resultados de cada iteração corrente dos autômatos celulares e convertê-los conforme a estrutura do protocolo MIDI, gerando-se assim o produto musical. A arquitetura proposta é parametrizável, de modo que a configuração dos dados que influenciam no produto musical gerado, como por exemplo, a definição dos conjuntos de regras para os autômatos celulares habilitados, fica a cargo do usuário, não havendo então limites para as combinações possíveis a serem realizadas na arquitetura. Para validação da funcionalidade e aplicabilidade da arquitetura proposta, alguns dos resultados obtidos foram apresentados e detalhados através do uso de técnicas de obtenção de informação musical.