• Nenhum resultado encontrado

Controladores Fuzzy em Hardware

N/A
N/A
Protected

Academic year: 2021

Share "Controladores Fuzzy em Hardware"

Copied!
50
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DE MINAS GERAIS

Programa de P´os-Gradua¸c˜ao em Engenharia El´etrica

Implementa¸c˜

ao de

Controladores Fuzzy em Hardware

Aluno: Wilian Soares Lacerda

Professor: Walmir Matos Caminhas - DELT/UFMG

(2)

Sum´

ario

1 Introdu¸c˜ao 4

2 Hardware/software codesign 5

3 Alternativas de implementa¸c˜ao 8

3.1 Solu¸c˜oes de prop´osito geral . . . 9

3.2 Processadores de prop´osito geral com suporte fuzzy . . . 9

3.3 Coprocessadores de prop´osito especial . . . 11

3.4 ASIC’s dedicados . . . 11

4 Inferˆencia fuzzy 13

5 Ferramentas para implementa¸c˜ao 19

6 Implementa¸c˜ao anal´ogica de sistema fuzzy 21

7 Implementa¸c˜ao digital de sistema fuzzy em FPGA 35

(3)

Lista de Figuras

2.1 Metodologia codesign . . . 6

3.1 Conjunto de instru¸c˜oes RISC com suporte fuzzy . . . 10

4.1 Taxonomia de sistemas de inferˆencia fuzzy . . . 13

4.2 Diagramas de blocos de arquitetura fuzzy . . . 14

4.3 Diagramas de blocos de implementa¸c˜ao de fun¸c˜ao em tabela . . . 15

4.4 Arim´etica MFC . . . 15

4.5 Diagramas de blocos para diferentes m´etodos de desfuzzifica¸c˜ao . . . 16

4.6 Desfuzzificador multifuncional . . . 16

4.7 Ambiente de trabalho de um chip fuzzy program´avel . . . 17

5.1 Metodologia de projeto e ferramentas dispon´ıveis . . . 20

6.1 Opera¸c˜ao de soma usando modo de corrente . . . 21

6.2 Arquitetura de m´aquina de inferˆencia fuzzy proposto por Yamakawa . . . 22

6.3 Arquitetura de m´aquina de inferˆencia fuzzy proposto por Baturone . . . 23

6.4 Arquitetura de m´aquina de inferˆencia fuzzy proposto por Huertas . . . 23

6.5 MFC proposto por Huertas: a) esquema b) parˆametros ajust´aveis para fun¸c˜ao trapez´oide . . . 24

(4)

6.7 Circuito max utilizando transistor bipolar . . . 26

6.8 Circuito min utilizando CMOS . . . 27

6.9 Circuito max utilizando CMOS . . . 28

6.10 Circuito max utilizando componentes discretos: a) com diodos b) com diodos e amplificadores operacionais . . . 28

6.11 Circuito MFC . . . 29

6.12 Fun¸c˜oes de pertinˆencia . . . 30

6.13 Porta de truncagem . . . 31

6.14 Vetor max . . . 32

6.15 Circuito desfuzzificador de Yamakawa . . . 33

6.16 Circuito em modo de corrente utilizando conversor A/D para implementar a divis˜ao 34 7.1 Arquitetura de uma FPGA . . . 36

7.2 M´etodos de reconfigura¸c˜ao de uma FPGA . . . 36

7.3 Arquitetura digital de inferˆencia fuzzy proposta por Hung . . . 37

7.4 Arquitetura digital de inferˆencia fuzzy proposta por Himavathi . . . 38

7.5 Algoritmo da divis˜ao, calcula a/b onde a < b . . . . 39

7.6 Algoritmo da fun¸c˜ao de pertinˆencia, calcula r = 2−x quando 0 < x < n e x = w 1+ w2 39 7.7 Algoritmo de normaliza¸c˜ao, calcula nr do vetor de pesos r . . . 40

7.8 Arquitetura digital de inferˆencia fuzzy proposta por Masmoudi . . . 42

7.9 Algoritmo de divis˜ao proposto por Masmoudi e implementado em FPGA . . . 43

7.10 Mecanismo de inferˆencia fuzzy de Sugeno ordem zero . . . 44

7.11 Arquitetura de controlador fuzzy proposta por Kim com reconfigura¸c˜ao da FPGA em tempo de execu¸c˜ao . . . 45

(5)

Cap´ıtulo 1

Introdu¸c˜

ao

Este compˆendio apresenta os aspectos tecnol´ogicos da implementa¸c˜ao de sistemas de inferˆencia fuzzy, ou controladores fuzzy.

Algumas t´ecnicas de projeto de sistemas fuzzy s˜ao apresentadas, evidenciando a metodologia integrada de alto n´ıvel utilizada no projeto de tais sistemas. Ferramentas que facilitam o trabalho do projetista tamb´em s˜ao apresentadas.

Para classificar os tipos de implementa¸c˜oes e alternativas de projeto de sistemas fuzzy, as principais caracteristicas desejadas dos controladores fuzzy s˜ao exploradas, bem como as op¸c˜oes de projeto.

S˜ao apresentados exemplos de implementa¸c˜oes digital e anal´ogica encontrados na literatura, e as dificuldades tecnol´ogicas de implementa¸c˜ao. Diversas solu¸c˜oes s˜ao propostas para contornar os problemas de implementa¸c˜ao.

Finalmente, podemos concluir que h´a muito ainda para desenvolver e pesquisar na ´area de l´ogica fuzzy, inclusive no aspecto de implementa¸c˜ao em hardware.

(6)

Cap´ıtulo 2

Hardware/software codesign

Duas alternativas podem ser consideradas quando explorando o projeto de um sistema eletrˆonico complexo. Um deles ´e usando componentes padr˜oes os quais podem ter sua funcionalidade de-finida por programa¸c˜ao. O outro modo ´e a implementa¸c˜ao desta funcionalidade via circuito microeletrˆonico especialmente feito para aquela aplica¸c˜ao [7].

A alternativa por software providencia solu¸c˜oes que apresentam grande flexibilidade mas com necessidade de grande ´area de sil´ıcio e longos tempos de execu¸c˜ao, enquanto que a segunda op¸c˜ao (alternativa de hardware) otimiza o tamanho e a velocidade, mas limita a flexibilidade da solu¸c˜ao. O meio termo entre ambos, a t´ecnica de hardware/software codesign tenta obter um apropriado compromisso entre as vantagens e desvantagens destas duas abordagens.

Em processos de sistemas codesign, todas as tarefas que o sistema deve realizar devem ser analizados, avaliando o impacto que as op¸c˜oes da poss´ıvel implementa¸c˜ao pode ter nos fatores que definem a funcionalidade do sistema e seu custo. Os principais parˆametros para considerar na avalia¸c˜ao s˜ao a velocidade de execu¸c˜ao e a ´area necess´aria pela implementa¸c˜ao em hardware. Baseado nestes resultados, um processo de particionamento ´e obtido, o qual consiste em decidir qual tarefa deva ser executada por software e qual deve ser implementada por hardware.

H´a diferentes abordagens para aplica¸c˜oes de t´ecnicas codesign no desenvolvimento de sistemas de controle baseados em l´ogica fuzzy. Eles s˜ao distintos pelo modo no qual o partcionamento HW/SW ´e realizado. Um deles analisa a influˆencia do conjunto de instru¸c˜oes do processador na implementa¸c˜ao do sistema de inferˆencia fuzzy, reprojetando ele de tal modo que ele suporte aquelas opera¸c˜oes as quais melhor contribuem ao incremento da velocidade de inferˆencia. Neste caso o processo de particionamento ´e obtido no n´ıvel de instru¸c˜oes do processador.

Uma outra alternativa consiste na implementa¸c˜ao do sistema de inferˆencia, totalmente ou par-cialmente, por meio de hardware dedicado com arquitetura espec´ıfica, o que contribui significan-temente ao incremento da velocidade do controlador.

(7)

As diferentes fases da metodologia de codesign para implementa¸c˜ao de controladores fuzzy s˜ao mostradas na Figura 2.1 e detalhadas a seguir.

Figure 2.1: Metodologia codesign

1. Fase de descri¸c˜ao

A descri¸c˜ao do sistema de inferˆencia fuzzy definindo a estrat´egia de opera¸c˜ao do controlador ´e obtida durante esta fase usando a linguagem de especifica¸c˜ao de sistema fuzzy (XFL). 2. Fase de simula¸c˜ao

Uma simula¸c˜ao off-line do ambiente do sistema de inferˆencia fuzzy na planta a ser contro-lada ´e obtida nesta fase. O principal objetivo desta fase ´e obter um ajuste preliminar dos parˆametros de controle.

3. Fase de verifica¸c˜ao on-line

A principal caracter´ıstica desta fase ´e a inclus˜ao da planta real no loop de controle, com objetivo de obter o ajuste ´otimo da base de conhecimento do controlador fuzzy.

(8)

4. Fase de particionamento

Embora as tarefas espec´ıficas que o controlador fuzzy deve obter depender´a da aplica¸c˜ao do controle, elas s˜ao usualmente relatadas para seguir as seguintes a¸c˜oes gerais:

• Sistema de inicializa¸c˜ao • Determina¸c˜ao do objetivo • Sistema de leitura dos sensores • Pr´e-processamento de entrada • Inferˆencia fuzzy

• Sa´ıda p´os-processamento

• Generaliza¸c˜ao dos sinais de controle

Uma vez que as tarefas as quais necessitam ser executadas tem sido identificadas, o pro-cesso de particionamento HW/SW pode ser realizado. O sistema de inferˆencia deve ser implementado em hardware e as tarefas restantes devem ser avaliadas com objetivo de obter o melhor compromisso velocidade x flexibilidade. O c´alculo da inferˆencia fuzzy pode ser associado a um controlador de prop´osito espec´ıfico constru´ıdo em uma FPGA, enquanto os algoritmos de pr´e e p´os-processamento, e as demais tarefas, podem ser programadas em microcontrolador.

5. Fase de implementa¸c˜ao em hardware

Para o desenvolvimento desta fase ´e necess´aria uma ferramenta CAD permitindo a transla¸c˜ao da especifica¸c˜ao do sistema de inferˆencia fuzzy para um formato o qual a arquitetura des-crita pode ser sintetizada (uma linguagem de descri¸c˜ao de hardware). O uso de FPGA’s ´e especialmente adequada para obter um primeiro prot´otipo do sistema.

6. Fase de desenvolvimento de software

Durante esta fase, diferentes rotinas s˜ao desenvolvidas as quais suportam as tarefas que ser˜ao implementadas pelo software.

7. Fase de valida¸c˜ao

A integra¸c˜ao de implementa¸c˜oes em hardware e software no desenvolvimento do sistema e o ajuste definitivo dos parˆametros do controlador s˜ao obtidos nesta fase. Desde que as tarefas do microcontrolador e os parˆametros de inferˆencia podem ser facilmente modificados, diferentes vers˜oes do controlador podem ser validados com o objetivo de obter um com a melhor performance [7].

(9)

Cap´ıtulo 3

Alternativas de implementa¸c˜

ao

Uma base de regras fuzzy ´e caracterizado por um conjunto de parˆametros que identificam sua complexidade computacional, a saber:

• N´umero de entradas exatas e entradas fuzzy. • N´umero de sa´ıdas exatas e sa´ıdas fuzzy.

• N´umero e forma das fun¸c˜oes de pertinˆencia por entrada/sa´ıda. • N´umero de regras.

• N´umero de antecedentes/consequentes por regra.

• Precis˜ao: n´umero de bits para discretiza¸c˜ao das fun¸c˜oes de pertinˆencia.

• Variˆancia do algoritmo: m´etodo de computa¸c˜ao das fun¸c˜oes de pertinˆencia, m´etodo de regras

de inferˆencia, m´etodo de desfuzzifica¸c˜ao.

Como uma taxonomia, podemos identificar quatro classes entre as diferentes alternativas de implementa¸c˜ao:

1. Solu¸c˜oes de software e hardware com componentes de prop´osito geral. 2. Processadores de prop´osito geral com instru¸c˜oes para c´alculos especiais. 3. Coprocessadores fuzzy dedicados.

(10)

3.1

Solu¸c˜

oes de prop´

osito geral

Implementa¸c˜oes em software de algoritmos fuzzy em microcontroladores padr˜oes s˜ao hoje as t´ecnicas mais largamente utilizadas. As seguintes vantagens e desvantagens esta abordagem pos-sui:

• flexibilidade completa

• suporte a processamento n˜ao fuzzy

• avaliabilidade de sistemas de desenvolvimento

• avaliabilidade de ferramentas de sistemas de suporte • baixa velocidade

Uma abordagem alternativa que requer apenas componentes padr˜oes ´e representada por imple-menta¸c˜ao em tabelas (look-up tables). Nesta abordagem, os valores de sa´ıda s˜ao pr´e-computados para muitos valores de entrada e armazenados em RAM. Neste caso a velocidade de inferˆencia ´e muito alta, mas h´a crescimento exponencial da mem´oria requerida se o n´umero de vari´aveis de entrada e sa´ıda, ou a resolu¸c˜ao, incrementam. Usualmente esta t´ecnica ´e limitada para aplica¸c˜oes com 2 a 3 entradas e 1 a 2 sa´ıdas, com baixa resolu¸c˜ao.

3.2

Processadores de prop´

osito geral com suporte fuzzy

Uma abordagem alternativa que ainda mant´em capacidade de computa¸c˜ao de prop´osito geral emprega o uso de processadores de prop´osito geral com a adi¸c˜ao de pequenas instru¸c˜oes especia-lizadas para acelerar tarefas fuzzy. As vantagens e desvantagens desta abordagem s˜ao:

• flexibilidade completa

• alta velocidade comparada aos microcontroladores padr˜oes • simples extens˜ao do n´ucleo existente

• suporte autom´atico de computa¸c˜ao n˜ao fuzzy

• alto custo comparado aos microcontroladores padr˜oes devido ao pequeno volume de produ¸c˜ao • performance limitada para aplica¸c˜oes

N´os podemos distinguir duas t´ecnicas alternativas que correspondem as diferentes filosofias de projeto do n´ucleo do microcontrolador:

(11)

• Para conjunto de instru¸c˜oes complexas (arquitetura CISC) ´e poss´ıvel adicionar firmware

dedicado ao suporte de l´ogica fuzzy, modificando apropriadamente o microprograma do controlador.

• Para processadores de instru¸c˜oes reduzidas (arquitetura RISC), uma possibilidade

interes-sante ´e somar poucas instru¸c˜oes dedicadas para um conjunto de instru¸c˜oes de prop´osito geral que permitem ao compilador otimizar aplica¸c˜oes fuzzy. Na Figura 3.1 encontra-se um exemplo.

(12)

3.3

Coprocessadores de prop´

osito especial

Muitos processadores fuzzy dedicados s˜ao desta classe. Existem processadores de prop´osito especial dedicados a computa¸c˜ao fuzzy que n˜ao podem implementar sozinhos sistema de controle devido a falta de capacidade computacional do prop´osito geral, mas ainda providenciam alguma flexibilidade e configurabilidade. S˜ao as seguintes vantagens e desvantagens desta abordagem:

• alta velocidade • modularidade • alguma flexibilidade

• regras e faixa de fun¸c˜oes de pertinˆencia limitadas • alto custo

• necessidade de processador de prop´osito geral para suportar partes n˜ao fuzzy

Estes coprocessadores de prop´osito especial usualmente adotam fun¸c˜oes de pertinˆencia triangu-lares, formato de regras flex´ıveis (n´umero de antecedentes e consequentes), m´etodo de inferˆencia max-min, 8 bits de precis˜ao, e m´etodo de desfuzzifica¸c˜ao centr´oide.

3.4

ASIC’s dedicados

A ´ultima solu¸c˜ao para aumentar a performance em aplica¸c˜oes fuzzy ´e o desenvolvimento de uma arquitetura dedicada. Devido a natureza particular dos processos de inferˆencia fuzzy, ´e poss´ıvel implementar diretamente um algoritmo fuzzy com estrutura de hardware dedicado de modo a maximizar a velocidade e minimizar a ´area de sil´ıcio, usando t´ecnicas de alto n´ıvel. O resultado da solu¸c˜ao ´e obvialmente para uma aplica¸c˜ao simples, e os parˆametros de configura¸c˜ao s˜ao reduzidos a um conjunto m´ınimo, o que n˜ao compromete a ´area e a velocidade. S˜ao as seguintes as vantagens e desvantagens desta abordagem:

• processamento muito r´apido, direcionado a aplica¸c˜ao • projeto r´apido (s´ıntese autom´atica)

• baixo custo em termos de ´area de sil´ıcio (5 a 10 mil portas)

• dispon´ıvel como um bloco em um sistema de controle de chip ´unico • implement´avel em FPGA para prototipa¸c˜ao

(13)

• efetivo custo para alto volume de produ¸c˜ao • sem flexibilidade (a aplica¸c˜ao ´e fixa)

• complexidade limitada

• apenas para sistemas baseados em ASIC

• necessidade de microprocessador para suportar partes n˜ao fuzzy

Enfim, solu¸c˜oes por software providenciam flexibilidade para definir a base do conhecimento fuzzy, para selecionar os operadores fuzzy, e para escolher os algoritmos de inferˆencia. Entretanto, eles se tornam inadequados para problemas que demandam alta velocidade de inferˆencia. Neste caso, solu¸c˜oes de hardware devem ser adotadas [16].

(14)

Cap´ıtulo 4

Inferˆ

encia fuzzy

O termo inferˆencia fuzzy indica o processo que computa um valor de sa´ıda de um valor de entrada por meio de aplica¸c˜ao de regras lingu´ısticas.

Taxonomias distintas podem ser utilizadas para sistemas de inferˆencia fuzzy de acordo com diferentes crit´erios. Entretanto, com objetivo de comparar as implementa¸c˜oes em hardware, ´e prefer´ıvel introduzir uma classifica¸c˜ao dependendo do tipo de informa¸c˜ao que eles manipulam na entrada do sistema e a descri¸c˜ao das regras consequentes. Neste sentido, na literatura [20] s˜ao encontradas uma das trˆes categorias mostradas na Figura 4.1.

Figure 4.1: Taxonomia de sistemas de inferˆencia fuzzy

Em sistemas de inferˆencia fuzzy convencionais, a regra base ´e descrita por r´otulos lingu´ısticos representados por conjuntos fuzzy. Em aplica¸c˜oes de decis˜ao e problemas de controle complexos, as entradas de sistemas de inferˆencia fuzzy s˜ao descritos por uma distribui¸c˜ao de possibilidades representada tamb´em por um conjunto fuzzy (FIFC). Em muitas outras aplica¸c˜oes, ao contr´ario, a entrada vem de sensores os quais d˜ao valores exatos que podem ser associados a singleton fuzzy (SIFC). Neste caso, o c´alculo do n´ıvel de ativa¸c˜ao de cada regra ´e reduzido para combinar cada grau de pertinˆencia antecedente por meio de um operador. Em outras aplica¸c˜oes, o controlador deve dar um valor de sa´ıda concreto, o que imp˜oe a introdu¸c˜ao de um est´agio desfuzzificador (SISC).

(15)

Em um sistema de inferˆencia fuzzy, o valor da sa´ıda ´e calculada da estima¸c˜ao das regras base, levando em conta a contribui¸c˜ao de regras simples, atrav´es de trˆes principais passos [22], mostrados na Figura 4.2:

Figure 4.2: Diagramas de blocos de arquitetura fuzzy 1. Fuzzifica¸c˜ao

Esta opera¸c˜ao translada um valor de dado exato em uma vari´avel lingu´ıstica para um grau de pertinˆencia. H´a duas estrat´egias b´asicas para a estima¸c˜ao do grau de pertinˆencia:

• Abordagem orientada a mem´oria: o grau de pertinˆencia de cada entrada e sa´ıda s˜ao

estimados off-line e armazenados em mem´oria como valores discretos. Se for necess´ario alta resolu¸c˜ao de discretiza¸c˜ao, a mem´oria ocupada ser´a muito grande. Esta alternativa permite-nos definir conjuntos fuzzy de formas irrestritas. O circuito de microeletrˆonica dispon´ıvel para implementa¸c˜ao desta t´ecnica s˜ao mem´orias padr˜oes e PLD’s (Program-mable Logic Devices). A Figura 4.3 mostra o diagrama em blocos deste tipo de CI, assumindo que entradas e sa´ıdas s˜ao anal´ogicas. Uma vantagem deste tipo de realiza¸c˜ao ´e que o tempo de resposta ´e muito curto porque a ´unica opera¸c˜ao a ser feita ´e o acesso do dado da mem´oria que pode ser feita em poucos nanosegundos. Em contrapartida, a implementa¸c˜ao em tabela ´e pr´atica apenas quando o n´umero de entradas e seu grau de quantifica¸c˜ao s˜ao baixos, sen˜ao o n´umero total de bits para armazenar ´e muito grande [5].

• Abordagem orientada a computa¸c˜ao: o grau de pertinˆencia ´e calculado on-line, e

deve-mos armazenar apenas os parˆametros necess´arios para calcular o grau de pertinˆencia. O tempo de execu¸c˜ao depende da forma da fun¸c˜ao de pertinˆencia. Quando o baixo custo em termo de ´area de sil´ıcio ´e o objetivo, esta abordagem tr´as melhores resultados [21].

Um conjunto de circuitos de fun¸c˜oes de pertinˆencia (MFC), tal como mostrado na Figura 4.4 pode ser considerado para manter o tamanho e velocidade de opera¸c˜ao do est´agio fuzzificador de acordo com outras partes do controlador fuzzy.

(16)

Figure 4.3: Diagramas de blocos de implementa¸c˜ao de fun¸c˜ao em tabela

(17)

2. Inferˆencia fuzzy ´

E a opera¸c˜ao que usa a regra base e o grau de pertinˆencia para deduzir a sa´ıda fuzzy. Os m´etodos mais cl´assicos de inferˆencia s˜ao os m´etodos max-min e o max-produto.

3. Desfuzzifica¸c˜ao ´

E o passo que translada a sa´ıda fuzzy para uma resposta precisa. O m´etodo mais comum ´e o m´etodo de centro de gravidade. Por exemplo, se n´os decidirmos usar o m´etodo centr´oide ou centro de gravidade, n´os necessitamos executar um n´umero de multiplica¸c˜oes que ´e proporcional ao n´umero de regras. Neste caso, a complexidade ´e logar´ıtmica com respeito ao n´umero de regras. As Figuras 4.5 e 4.6 apresentam diagramas de blocos de circuitos implementando m´etodos de desfuzzifica¸c˜ao.

Figure 4.5: Diagramas de blocos para diferentes m´etodos de desfuzzifica¸c˜ao

(18)

Uma vantagem significativa do chip fuzzy program´avel ´e a sua capacidade de resolver o controle para diferentes problemas. Ele pode ser adaptado para providenciar uma superf´ıcie de controle est´atica ou pode ser ajustado dinamicamente em aplica¸c˜oes as quais requerem superf´ıcies de controle variantes no tempo [2]. Neste caso, um dos seguintes mecanismos de sintoniza¸c˜ao dos parˆametros fuzzy podem ser empregados (veja Figura 4.7):

• Ajuste manual off-chip.

• Ajuste autom´atico off-chip, comandado por computador padr˜ao. • Ajuste autom´atico on-chip.

Figure 4.7: Ambiente de trabalho de um chip fuzzy program´avel Quando projetamos um controlador fuzzy, devemos conhecer os seguinte itens [23]:

• Quais s˜ao os atuadores (motor, aquecedor, altofalante)? Quais s˜ao as vari´aveis nas regras

fuzzy consequentes?

• O que poderia ser medido para controlar o sistema? Quais s˜ao as vari´aveis nas regras fuzzy

antecedentes?

• Qual a faixa de valores dos atuadores e sensores? Quais s˜ao os valores m´ınimos e m´aximos

(19)

• Qual a precis˜ao que o sistema deve ser descrito?

• Qual a forma das fun¸c˜oes de pertinˆencia para descrever a intui¸c˜ao de um especialista? • Qual ´e o conjunto de regras fuzzy e suas combina¸c˜oes?

Portanto, um sistema de inferˆencia fuzzy deve ser muito bem planejado e estudado antes de se iniciar o processo de implementa¸c˜ao.

(20)

Cap´ıtulo 5

Ferramentas para implementa¸c˜

ao

Muitos circuitos conhecidos como coprocessadores fuzzy s˜ao dispon´ıveis no mercado de mi-croeletrˆonica. Eles s˜ao dispositivos de prop´osito geral que trabalham junto com processadores padr˜oes para aumentar a velocidade de opera¸c˜oes t´ıpicas de sistemas de inferˆencia baseados em l´ogica fuzzy. O problema ´e que este tipo de circuito n˜ao ´e eficiente o bastante em termos de ´area de sil´ıcio, consumo de potˆencia e velocidade quando considerando sua aplica¸c˜ao para setores in-dustriais relacionados a telecomunica¸c˜oes e automotivo ou produtos de cosumidores. Uma solu¸c˜ao mais vantajosa, como acontece em muitas outras ´areas de microeletrˆonica, ´e o uso de hardware dedicado adaptado para o problema particular. Viabilidade desta abordagem ´e grandemente in-crementada pelo uso de metodologias de projeto, t´ecnicas de circuito e ferramentas CAD, que facilitam a realiza¸c˜ao do sistema, ent˜ao reduzindo o tempo para mercado [1].

Os principais passos para projeto de controlador fuzzy com a respectiva ferramenta CAD dis-pon´ıvel ´e mostrado na Figura 5.1.

O ponto inicial ´e a especifica¸c˜ao da funcionalidade do controlador. Para este prop´osito, o ambi-ente de projeto providencia uma linguagem flex´ıvel de alto n´ıvel chamada XFL, que permite uma descri¸c˜ao unificada de sistema fuzzy que ajuda todo o processo de projeto. Uma especifica¸c˜ao XFL define o mecanismo de inferˆencia, o m´etodo de desfuzzifica¸c˜ao e a base de conhecimento selecionado (a regra base e fun¸c˜oes antecedentes e consequentes). Uma especifica¸c˜ao consiste de um tipo de defini¸c˜ao de m´odulo que descreve as fun¸c˜oes de pertinˆencia, e as regras respectiva-mente. XFL suporta um conjunto de classes de fun¸c˜oes de pertinˆencia t˜ao bem como um m´etodo para definir fun¸c˜oes gen´ericas lineares por partes. Ela tamb´em suporta o uso de regras de base hier´arquicas empregando operadores de composi¸c˜ao serial e paralelo.

Tendo feito estas sele¸c˜oes, o usu´ario tem dois modos para verificar a funcionalidade do sistema. Um deles ´e simulando o ambiente do sistema com simulador fuzzy (XFSIM), o qual est´a inclu´ıdo no ambiente de desenvolvimento.

(21)

Figure 5.1: Metodologia de projeto e ferramentas dispon´ıveis

do hardware no loop). Para este prop´osito, o ambiente de desenvolvimento providencia o utilit´ario XFLAB o qual basicamente consiste de uma interface de aquisi¸c˜ao de dados e drivers para ler e escrever dados.

Uma vez que as especifica¸c˜oes do controlador tem sido validadas, inicia-se a fase de imple-menta¸c˜ao. Uma ferramenta autom´atica de s´ıntese, chamada XFVHDL, pode ser usada para transladar a especifica¸c˜ao XFL em descri¸c˜ao VHDL capaz de ser implementada em circuitos de microeletrˆonica. Em [10] ´e proposto um pacote em VHDL para descri¸c˜ao de controladores de l´ogica fuzzy. Uma vantagem da linguagem padr˜ao VHDL ´e que permite a simula¸c˜ao do circuito em v´arios simuladores comerciais.

Duas t´ecnicas gen´ericas de implementa¸c˜ao podem ser seguidas. A primeira utiliza FPGA (Field Programmable Gate Array). Esta abordagem ´e ´util para prop´osito de prototipa¸c˜ao por causa da capacidade para mudar a funcionalidade por programa¸c˜ao. A segunda abordagem ´e para projeto em ASIC (Application Specific Integrated Circuit) usando um ambiente de projeto e uma biblioteca de tecnologia de sil´ıcio [1].

(22)

Cap´ıtulo 6

Implementa¸c˜

ao anal´

ogica de sistema

fuzzy

A implementa¸c˜ao em hardware de controlador fuzzy ´e realizada em modo anal´ogico ou digital. Chips fuzzy digitais possuem boa programabilidade, projeto f´acil, boa compatibilidade com siste-mas digitais. Chips fuzzy anal´ogicos tem caracter´ısticas distintas, tais como alta velocidade, boa compatibilidade com sensores, facilidade de implementa¸c˜ao [4] (veja opera¸c˜ao de soma na Figura 6.1). A solu¸c˜ao anal´ogica pode enfocar uma abordagem em tens˜ao ou corrente, ou ambas. A ado¸c˜ao de um modo ou outro deve ser feito de acordo com as circunstˆancias.

Figure 6.1: Opera¸c˜ao de soma usando modo de corrente

Yamakawa, em seu pioneiro trabalho [23], prop˜oe um sistema de inferˆencia fuzzy anal´ogico. Estes circuitos s˜ao diferentes dos tradicionais circuitos anal´ogicos tais como amplificadores ope-racionais, um multiplicador/divisor e seus derivados. Os circuitos empregados em m´aquinas de inferˆencia s˜ao n˜ao lineares e s˜ao diferentes nos seguintes aspectos:

• Desde que a fun¸c˜ao de pertinˆencia manipula valores entre 0 e 1 e uma resolu¸c˜ao de 10%

´e bastante, o projetista n˜ao precisa de se preocupar com a precis˜ao, al´em da linearidade, baixo desvio t´ermico, baixo offset, etc.

(23)

• Um circuito fuzzy deve ser projetado em uma arquitetura simples (com poucos dispositivos)

para ativar alta velocidade de processamento.

As caracter´ısticas de entrada-sa´ıda de circuitos intrinsecamente fuzzy s˜ao n˜ao lineares, tais que um circuito fuzzy pode ser chamado circuito n˜ao linear anal´ogico.

O circuito proposto por Yamakawa ´e mostrado na Figura 6.2, que ser´a detalhado mais a frente por cada bloco.

Figure 6.2: Arquitetura de m´aquina de inferˆencia fuzzy proposto por Yamakawa

Uma outra alternativa de implementa¸c˜ao anal´ogica mais simplificada ´e proposto por Baturone [3] [12] e mostrada na Figura 6.3. Nota-se o divisor no est´agio final.

Huertas [13] tamb´em prop˜oe melhoria na arquitetura original de Yamakawa, e define um ciclo de opera¸c˜ao cuja dura¸c˜ao depende da precis˜ao desejada. Cada regra ´e implementada em uma RAM digital com conversores digital/anal´ogico em corrente (veja Figura 6.4). O n´ucleo desta arquitetura ´e um MFC (Figura 6.5) h´abil para gerar um grande n´umero de fun¸c˜oes de pertinˆencia que permite algum tipo de reconfigurabilidade eletrˆonica.

(24)

Figure 6.3: Arquitetura de m´aquina de inferˆencia fuzzy proposto por Baturone

(25)

Figure 6.5: MFC proposto por Huertas: a) esquema b) parˆametros ajust´aveis para fun¸c˜ao trapez´oide

A seguir ser´a detalhado cada bloco da arquitetura proposta por Yamakawa.

1. Fun¸c˜ao de pertinˆencia

O primeiro est´agio de uma m´aquina de inferˆencia fuzzy ´e um circuito de fun¸c˜ao de per-tinˆencia (MFC). As caracter´ısticas de entrada-sa´ıda de um MFC exibe a forma da fun¸c˜ao de pertinˆencia, a qual pode ser associada externamente.

2. Circuito min

O segundo est´agio ´e um circuito min o qual aceita mais do que um sinal de entrada e produz o menor valor deles no terminal de sa´ıda. Este circuito ativa uma fun¸c˜ao AND no antecedente das regras if-then. Se vari´aveis no antecedente s˜ao conectadas com OR, o circuito min deve ser substitu´ıdo por um circuito max. A sa´ıda destes circuitos representam o grau de concordˆancia entre o antecedente e a entrada e ent˜ao alimenta o pr´oximo est´agio para pesar a fun¸c˜ao de pertinˆencia consequente.

Os circuitos min e max podem ser implementados empregando transistores bipolares como mostram as Figuras 6.6 e 6.7. O compensador (seguidor de emissor) compensa o desloca-mento de tens˜ao de 0,7V para produzir a tens˜ao de sa´ıda igual a m´ınima ou m´axima tens˜ao de entrada.

Outras alternativas de circuitos min e max utilizando tecnologia CMOS [19] e dispositivos discretos [4] s˜ao mostradas nas Figuras 6.9, 6.8, e 6.10.

(26)

Figure 6.6: Circuito min utilizando transistor bipolar

A exce¸c˜ao do est´agio de desfuzzifica¸c˜ao, o n´ucleo da computa¸c˜ao da m´aquina fuzzy pode todo ser implementado usando operadores elementares de min e max, da´ı a importˆancia destes circuitos para implementa¸c˜ao em hardware dedicado [8]. Circuitos max e min podem ser implementados com espelhos de corrente, transistores MOS conectados como diodos e conex˜oes.

3. Circuito MFC

Fun¸c˜oes de pertinˆencia de vari´aveis no antecedente s˜ao implementadas por um MFC. Um circuito de fun¸c˜ao de pertinˆencia ´e o qual as caracter´ısticas de entrada/sa´ıda podem ser associadas a sinais externos ou dispositivos. A Figura 6.11 mostra a configura¸c˜ao do circuito de um MFC o qual pode realizar cinco fun¸c˜oes: Z, S, trapezoidal, triangular, e NA (n˜ao importa) como mostra a Figura 6.12. XIN e FX s˜ao os terminais de entrada e sa´ıda. AS ´e um chave anal´ogica controlado pelo sinal externo P.

4. Gerador de fun¸c˜ao de pertinˆencia

Uma fun¸c˜ao de pertinˆencia do consequente ´e amostrado para valores discretos como mostra a Figura 6.2. A forma e o r´otulo da fun¸c˜ao de pertinˆencia podem ser mudadas.

5. Porta de truncagem

Uma porta de truncagem recebe um vetor de sinal fuzzy B e um sinal fuzzy escalar “a”, e produz um vetor de sinal fuzzy B’ truncado pelo sinal fuzzy escalar de entrada. Isto pode

(27)

Figure 6.7: Circuito max utilizando transistor bipolar

ser constru´ıdo por arranjando circuitos min em um vetor, como mostra a Figura 6.13. 6. Vetor de max

As portas de sa´ıda de uma m´aquina de inferˆencia fuzzy devem ser usualmente alimentadas a um vetor max para agregar todas as conclus˜oes individuais antes da desfuzzifica¸c˜ao, como mostra a Figura 6.14. Uma m´aquina de inferˆencia fuzzy com estrutura de coletor aberto e um desfuzzificador envolvendo fonte de corrente no terminal de entrada facilita a sua implementa¸c˜ao.

7. Desfuzzificador

Para obter um valor determin´ıstico de uma fun¸c˜ao de pertinˆencia da conclus˜ao final da inferˆencia fuzzy, a desfuzzifica¸c˜ao deve ser ativada. A Figura 6.15 mostra um desfuzzificador proposto por Yamakawa.

Sistemas fuzzy t´ıpicos como Mandani ou Takagi-Sugeno inferem uma sa´ıda exata (n˜ao fuzzy) agregando todas as respostas das regras e realizando uma divis˜ao. Um dos principais pro-blemas que aparecem quando implementando um sistema fuzzy em hardware ´e a sele¸c˜ao do circuito de divis˜ao adequado. O divisor ´e o circuito que limita a velocidade, precis˜ao e capacidade de interfaceamento do bloco de sa´ıda do chip fuzzy. Circuitos multiplicado-res/divisores podem ser empregados com combina¸c˜oes de conversores A/D e D/A.

(28)
(29)

Figure 6.9: Circuito max utilizando CMOS

Figure 6.10: Circuito max utilizando componentes discretos: a) com diodos b) com diodos e amplificadores operacionais

(30)
(31)
(32)
(33)
(34)
(35)

em modo de corrente. A entrada do conversor A/D ´e o numerador em forma de corrente, enquanto o valor do denominador ´e usado como referˆencia da corrente no conversor, conforme mostra a Figura 6.16. A sa´ıda digital representa a divis˜ao, da´ı a necessidade de um conversor D/A.

Figure 6.16: Circuito em modo de corrente utilizando conversor A/D para implementar a divis˜ao T´ecnicas convencionais log-antilog ou bipolar translinear tem sido empregadas em chips fuzzy anal´ogicos. Estas estruturas podem ser realizadas com tecnologia CMOS usando transistores MOS trabalhando na regi˜ao abaixo da limiar. Entretanto, a baixa corrente que eles tem que operar fazem o circuito ficar lento. Baixa velocidade ´e tamb´em a limita¸c˜ao de multiplicadores e divisores baseados na t´ecnica de divis˜ao de tempo.

O princ´ıpio translinear MOS ´e outra abordagem. Neste caso, a principal limita¸c˜ao ´e a baixa resolu¸c˜ao por causa da performance dos circuitos resultantes que ´e sens´ıvel ao desvio da lei quadr´atica do modelo dos transistores em satura¸c˜ao. Outra t´ecnica amplamente empregada ´e para inverter o ambiente do multiplicador por usando realimenta¸c˜ao local ou por inserindo ele no caminho de realimenta¸c˜ao de um amplificador inversor. A precis˜ao ´e limitada pelos offsets associados com entrada e sa´ıda das vari´aveis.

Outra alternativa ´e a t´ecnica de aproxima¸c˜ao sucessiva que emprega dois acumuladores. Enfim, existem na literatura v´arias propostas de arquiteturas de implementa¸c˜ao de sistemas fuzzy anal´ogicos, cada uma propondo uma solu¸c˜ao diferente, parcialmente ou totalmente.

(36)

Cap´ıtulo 7

Implementa¸c˜

ao digital de sistema fuzzy

em FPGA

FPGA’s (Field Programmable Gate Arrays) s˜ao circuitos integrados que combinam as carac-ter´ısticas dos dispositivos l´ogicos program´aveis (PLD’s) - tempo de projeto curto, program´avel pelo usu´ario, produtos padronizados - e arranjos de portas - alta densidade, arquitetura flex´ıvel e software avan¸cados. A flexibilidade e r´apida prototipa¸c˜ao caracter´ısticos da FPGA permitem verifica¸c˜ao r´apida do projeto em hardware. T´ecnicas de implementa¸c˜ao de controladores fuzzy em FPGA s˜ao descritas na literatura [17].

A arquitetura da FPGA consiste de um programa de armazenamento da configura¸c˜ao e trˆes tipos de elementos configur´aveis: blocos de entrada/sa´ıda, um n´ucleo de blocos l´ogicos configur´aveis (CLB’s), e ´areas de conex˜ao. Veja a Figura 7.1.

Recursos de interconex˜ao configur´aveis ocupam os canais entre as linhas e colunas dos blocos l´ogicos, e entre os blocos l´ogicos e os blocos de entrada/sa´ıda. Os blocos l´ogicos de configura¸c˜ao, blocos de entrada/sa´ıda, e suas interconex˜oes s˜ao controladas por um programa de configura¸c˜ao armazenado em uma mem´oria on-chip. O programa de configura¸c˜ao ´e carregado automaticamente de uma mem´oria PROM externa, na inicializa¸c˜ao do sistema. Ferramentas de projetos em FPGA de alto n´ıvel s˜ao dispon´ıveis no mercado.

Uma desvantagem de usar sistema baseado em FPGA para implementa¸c˜ao em hardware ´e a sua limita¸c˜ao da capacidade dispon´ıvel de c´elulas digitais, o que pode n˜ao permitir que o sistema fuzzy caiba em um ´unico chip FPGA. Pode-se contornar este problema de dois modos. Um modo seria a utiliza¸c˜ao de m´ultiplos chips FPGA, onde o sistema ´e dividido em subsistemas independentes e cada um ´e implementado em um chip FPGA separado. Uma outra alternativa seria utilizar o m´etodo de reconfigura¸c˜ao da FPGA em tempo de execu¸c˜ao, onde a tarefa do sistema ´e separada em v´arias subtarefas independentes no tempo e cada tarefa ´e configurada em uma mesma FPGA, uma de cada vez [15]. Na Figura 7.2 s˜ao mostradas as t´ecnicas de reconfigura¸c˜ao de FPGA.

(37)

Figure 7.1: Arquitetura de uma FPGA

(38)

Na implementa¸c˜ao de sistemas de inferˆencia fuzzy em FPGA, duas abordagens s˜ao poss´ıveis. A primeira op¸c˜ao ´e baseada na s´ıntese l´ogica de equa¸c˜oes booleanas descrevendo as rela¸c˜oes de entrada/sa´ıda do controlador. A segunda abordagem utiliza hardware dedicado para implementar os algoritmos fuzzy de acordo com a arquitetura espec´ıfica baseada em biblioteca de c´elulas em VHDL [16].

O diagrama em blocos da Figura 7.3 ilustra o caminho de dados de uma m´aquina de inferˆencia fuzzy utilizando tecnologia digital em FPGA proposta por Hung [14].

Figure 7.3: Arquitetura digital de inferˆencia fuzzy proposta por Hung

As seis entradas das SRAM’s, o m´odulo min, m´odulo max, m´odulo produto e m´odulo somat´orio al´em de registradores e l´ogica de controle s˜ao implementados em uma FPGA. Apenas a parte da divis˜ao do desfuzzificador ´e implementado usando um EPROM externa. A arquitetura completa-mente paralela e elimina¸c˜ao de multiplicador e divisor garantem incremento na performance com rela¸c˜ao a velocidade.

Utilizando o m´etodo de centro de gravidade (COG) para desfuzzifica¸c˜ao, uma tabela que arma-zena os resultados da opera¸c˜ao de divis˜ao ´e implementada em um EPROM com ambos numerador e denominador como linhas de endere¸co. A EPROM oferece velocidade mais r´apida que algorit-mos de divis˜ao iterativos respons´avel pelo gargalo da performance do sistema, e ´e independente do resto da m´aquina fuzzy de inferˆencia [14] tais como o n´umero de entradas, a escolha das fun¸c˜oes de pertinˆencia e regras de inferˆencia. A EPROM armazena todos os poss´ıveis valores da desfuzzifica¸c˜ao.

Himavathi [11] prop˜oe em seu trabalho um acelerador de computa¸c˜ao fuzzy (FCA) implemen-tado em FPGA. O FCA reduz a carga do processador realizando as opera¸c˜oes complexas de divis˜ao, pertinˆencia e normaliza¸c˜ao, e ent˜ao ajudando a aumentar a velocidade computacional. A estrutura b´asica do FCA ´e apresentada na Figura 7.4, que ´e compat´ıvel com os processadores de 16 bits da Intel.

Os blocos de divis˜ao, pertinˆencia e normaliza¸c˜ao da Figura 7.4 implementam os algoritmos mostrados nas Figuras 7.5, 7.6 e 7.7.

(39)
(40)

Figure 7.5: Algoritmo da divis˜ao, calcula a/b onde a < b

Figure 7.6: Algoritmo da fun¸c˜ao de pertinˆencia, calcula r = 2−x quando 0 < x < n e x = w 1+w2

(41)
(42)

Masmoudi em seu trabalho [18] prop˜oe uma solu¸c˜ao de implementa¸c˜ao em FPGA de sistema fuzzy semelhante a Himavathi, como pode ser visualizado na Figura 7.8. O algoritmo de divis˜ao utilizado por Masmoudi ´e apresentado na Figura 7.9.

O FCA proposto por Himavathi utiliza o m´etodo de inferˆencia de Sugeno, de ordem zero, e fun¸c˜oes de pertinˆencia de potˆencias negativas de dois, o que simplifica a implementa¸c˜ao em hardware. Na Figura 7.10 ´e mostrado o mecanismo de inferˆencia para duas entradas e trˆes regras, cujas etapas de processamento s˜ao:

1. Camada 1: As entradas s˜ao adquiridas.

2. Camada 2: O valor das entradas s˜ao fuzzificadas.

3. Camada 3: As regras s˜ao computadas usando o operador de produto. 4. Camada 4: ´E realizada a normaliza¸c˜ao das regras.

5. Camada 5: Determina-se fi = wi.ci

6. Camada 6: Obtem-se a sa´ıda.

Na arquitetura do controlador fuzzy proposto por Kim [15] utilizando FPGA, o controlador ´e particionado em m´odulos independentes temporais, e cada m´odulo ´e implementado individu-almente no sistema a cada momento. Para isto, cada m´odulo ´e armazenado em um sistema de carregamento em hardware que ´e respons´avel pela reconfigura¸c˜ao da FPGA com um m´odulo de cada vez. O particionamento e sincronismo do carregamento dos m´odulos ´e mostrado na Figura 7.11.

A velocidade de inferˆencia de um sistema fuzzy implementado com FPGA ´e limitada pelo atraso de propaga¸c˜ao nos circuitos de conex˜ao interna da FPGA. A opera¸c˜ao do controlador implementado em FPGA ´e baixa quando uma arquitetura espec´ıfica ´e usada porque muitos ciclos de clock s˜ao necess´arios para calcular uma inferˆencia. Um compromisso entre custo, precis˜ao e velocidade devem ser considerados no projeto de um controlador fuzzy. A t´ecnica de consulta em tabela (look-up table) ´e a melhor escolha em termos de precis˜ao e velocidade, mas o custo torna impratic´avel a solu¸c˜ao quando a resolu¸c˜ao cresce. T´ecnicas baseadas em hardware espec´ıfico s˜ao mais adequadas para controladores de alta resolu¸c˜ao. Arquiteturas particulares usando aritm´etica MFC podem ser usadas para construir controladores de alta resolu¸c˜ao [16].

(43)
(44)
(45)
(46)

Figure 7.11: Arquitetura de controlador fuzzy proposta por Kim com reconfigura¸c˜ao da FPGA em tempo de execu¸c˜ao

(47)

Cap´ıtulo 8

Conclus˜

ao

Ap´os abordar os tipos mais comuns de tecnologia de implementa¸c˜ao de controladores fuzzy, podemos concluir alguns pontos.

Existem v´arias alternativas de implementa¸c˜ao em hardware de controladores fuzzy: hardware ou software, digital ou anal´ogica, transistor ou CMOS, consulta em tabela ou fun¸c˜ao booleana, reconfigur´avel ou fixa. Ou seja, h´a v´arias solu¸c˜oes de implementa¸c˜ao de um controlador fuzzy e para se determinar a melhor alternativa devemos levar em conta os aspectos de custo, velocidade de execu¸c˜ao e flexibilidade. Estes aspectos devem ser balanceados para se ter o menor custo, com maior velocidade e flexibilidade. E, ainda, para cada aplica¸c˜ao de um sistema de inferˆencia fuzzy podem existir v´arias alternativas ´otimas diferentes.

A medida que a tecnologia eletrˆonica evolue, novas propostas de implementa¸c˜ao surgem, au-mentando as alternativas de implementa¸c˜ao de modo a melhorar a performance dos sistemas, e tornando a aplica¸c˜ao dos controladores fuzzy mais vi´aveis no nosso cotidiano.

(48)

Referˆ

encias Bibliogr´

aficas

[1] A. Barriga, R. Senhadji, C. J. Jim´enez, I. Baturone, S. S´anchez-Solano. A Design Methodology for Application Specific Fuzzy Integrated Circuits. Proc. 5th IEEE Int. Conf. on Electronics, Circuits and Systems, Vol. 1, pp. 431-434, Lisboa, Sep. 1998.

[2] I. Baturone, S. S´anchez-Solano, J. L. Huertas. CMOS Fuzzy Controllers Implemented as Mixed-Signal ICs. IEEE International Symposium on Circuits and Systems (ISCAS’96), vol. 3, pp. 422-425, Atlanta, May 12-15, 1996. Dispon´ıvel em citeseer.nj.nec.com/139630.html, acesso em setembro de 2002.

[3] I. Baturone, S. S´anchez-Solano, J. L Huertas. Current-Mode Singleton Fuzzy Controller. Proc. 3rd. Int. Conf. on Fuzzy Logic, Neural Networks and Soft Computing, pp. 647-648, Iizuka, Aug, 1994.

[4] I. Baturone and S. Sanchez-Solano and A. Barriga and J. Huertas. Implementation of CMOS Fuzzy Controllers as Mixed-Signal Integrated Circuits. Circuits, Trans. Fuzzy Systems, vol. 5, no. 1, Feb. 1997, pp. 1-19. Dispon´ıvel em citeseer.nj.nec.com/baturone97implementation.html, acesso em setembro de 2002.

[5] I. Baturone, G. Hern´andez, S. S´anchez-Solano. VLSI Design of Universal Approximator tems. Proc. Information Processing and Management of Uncertainty in Knowledge-based Sys-tems, Vol. 1, pp. 36-43, Madrid, July 2000.

[6] I. Baturone, S. S´anchez Solano, J. L. Huertas. CMOS Design of a Current-Mode Multi-plier/Divider Circuit with Applications to Fuzzy Controllers. Analog Integrated Circuits and Signal Processing, Kluwer Academic publishers, Vol. 23, N. 3, pp. 199-210, June 2000.

[7] Cabrera, A.; Sanchez-Solano, S.; Senhadji, R.; Barriga, A.; Jimenez, C.J. Hardware/software codesign methodology for fuzzy controller implementation. Proceedings of the IEEE Interna-tional Conference on Fuzzy Systems, Volume 1, 2002, pp. 464-469.

[8] Catania, V.; Russo, M. Design of basic hardware gates for efficient fuzzy computing. Micro-electronics for Neural Networks and Fuzzy Systems, Proceedings of the Fourth International Conference on, 1994, pp. 100-109.

[9] Costa, A.; De Gloria, A.; Faraboschi, P.; Pagni, A.; Rizzotto, G. Hardware solutions for fuzzy control. Proceedings of the IEEE , Volume 83, Issue 3, March 1995, pp. 422-434.

(49)

[10] D. Gal´an and C. J. Jim´enez and A. Barriga and S. S´anchez Solano. VHDL Package For Description Of Fuzzy Logic Controllers. European Design Automation Conference (EURO-VHDL’95), pp. 528-533, Great-Britain, September 18-22, 1995.

[11] Himavahi, S.; Umamaheswari, B. FPGA based fuzzy computation accelerator. Proceedings of the 2002 IEEE International Conference on Fuzzy Systems, 2002, Volume 1, pp. 352-357. [12] J. L. Huertas, S. S´anchez-Solano, I. Baturone, A. Barriga. Integrated Circuit Implementation

of Fuzzy Controllers. IEEE Journal of Solid-State Circuits, vol. 31, no. 7, July 1996, pp. 1051-1058. Dispon´ıvel em citeseer.nj.nec.com/huertas96integrated.html, acesso em setembro de 2002.

[13] J. L. Huertas, S. S´anchez-Solano, A. Barriga, I. Baturone. Serial Architecture for Fuzzy Controllers: Hardware Implementation Using Analog/Digital VLSI Techniques. Proc. 2nd. Int. Conf. on Fuzzy Logic and Neural Networks, pp. 535-538, Iizuka, Jul. 1992.

[14] Hung, D.; Zajac, W. Implementing a fuzzy inference engine using FPGA. ASIC Conference and Exhibit, Proceedings Sixth Annual IEEE International, Sept. 1993, pp. 349-352.

[15] Daijin Kim. An implementation of fuzzy logic controller on the reconfigurable FPGA system. IEEE Transactions on Industrial Electronics, Volume 47, Issue 3, June, 2000, pp. 703-715. [16] E. Lago, M. A. Hinojosa, C. J. Jim´enez, A. Barriga, S. S´anchez-Solano. FPGA

Implementa-tion of Fuzzy Controllers. Proc. XII Conf. on Design of Circuits and Integrated Systems, pp. 715-720, Sevilla, Nov. 1997.

[17] Manzoul, M.A.; Jayabharathi, D. Fuzzy controller on FPGA chip. IEEE International Con-ference on Fuzzy Systems, 1992, pp. 1309-1316.

[18] Masmoudi, N.; Hachicha, M.; Kamoun, L. Hardware design of programmable fuzzy control-ler on FPGA. Fuzzy Systems Conference Proceedings, FUZZ-IEEE ’99, IEEE International, Volume 3, 1999, pp. 1675-1679.

[19] Yakout, M.A.; El-Masry, E.I.; Abdel-Fattah, A.I. Hardware realization of analog CMOS current-mode minimum circuit. Radio Science Conference, 1998. NRSC ’98. Proceedings of the Fifteenth National, 1998, pp. D8/1-D8/7.

[20] C. J. Jim´enez, A. Barriga, S. S´anchez-Solano. Digital Implementation of SISC Fuzzy Control-lers. Proc. 3rd. Int. Conf. on Fuzzy Logic, Neural Networks and Soft Computing, pp. 651-652, Iizuka, Aug, 1994.

[21] C. J. Jim´enez, S. S´anchez-Solano, A. Barriga. Hardware Implementation of a General Purpuse Fuzzy Controller. Proc. 6th International Fuzzy Systems Association World Congress, vol. 2, pp. 185-188 , Sao Paulo, Jul, 1995.

[22] S. S´anchez-Solano, A. Barriga, C. J. Jim´enez, J. L. Huertas. Design and Application of Digital Fuzzy Controllers. Proc. 6th IEEE Int. Conf. on Fuzzy Systems, vol. 2, pp. 869-874, Barcelona, Jul., 1997.

(50)

[23] Yamakawa, T. A fuzzy inference engine in nonlinear analog mode and its application to a fuzzy logic control. IEEE Transactions on Neural Networks, Volume 4, Issue 3, May 1993, pp. 496-522.

Referências

Documentos relacionados

— A carga horaria e considerada boa pelos alunos de Mestrado e entre boa e regular pelos do CDC, inferindo-se a afirmapao de que, em disciplinas que exigem um emba-

Na condução do experimento a campo no momento da semeadura foram encontradas dificuldades relacionadas a plantabilidade nos tratamentos com épocas de dessecação

ANDRE LUIZ WALTERMANN GUEDES CIÊNCIAS BIOLÓGICAS - LICENCIATURA ANTONIO HENRIQUE RABELO DOS SANTOS CIÊNCIAS BIOLÓGICAS - LICENCIATURA BRUNA MACHADO CASTRO CIÊNCIAS BIOLÓGICAS

Verifique o furo de ventilação de 1/8&#34; na placa do adaptador, entre o motor e a caixa, para ga- rantir que não está conectado e, em seguida, abaixe cuidadosamente a unidade

Ruy Braga, professor do Departamento de Sociologia da USP e diretor do Centro de Estudos dos Direitos da Cidadania (Cenedic) da USP, é autor, entre outros livros, de Por

Ciranda da

Em suma, tendo em vista a relação folha/colrno e a dife renciação nutritiva entre folha e colmo, a forragem produzida aos 84 dias pela variedade anã (6.090 kg de MS/ha) pode

Crianças/Adolescentes; Ref Pacto: 20; Meta Executada: 30; Serviço/Programa/Benefício: Serviço de Acolhimento a Idosos; Ref Pacto: 50; Meta Executada: 54. Após a