Sunteți pe pagina 1din 39

1.

STADIUL ACTUAL

1.1 Logica fuzzy


Învăţarea cu ajutorul calculatorului a cunoscut o dezvoltare rapidă datorită
posibilităţilor hardware, care au crescut foarte mult în ultimul timp. Principalele motive care
stau la baza acestei dezvoltări sunt generate de posibilităţile oferite de diverse domenii,cum ar
fi:internetul şi inteligenţa artificială. Acestea se bazează pe unele concepte relative precum
reţelele neuronale,algoritmii genetici și logica fuzzy[1].
Logica fuzzy (în engleză „fuzzy”,înseamnă „vag”, „neclar”, „imprecis”, „nuanţat”) a fost
definită în 1965 de către prof. Lotfi Zadeh de la University of California, Berkeley. Spre
deosebire de logica clasică, în care se lucrează cu două valori de adevăr exacte (notate de
exemplu 0 pentru fals și 1 pentru adevărat), logica fuzzy folosește un domeniu continuu de
valori logice cuprinse în intervalul [0,1], unde 0 indică falsitatea completă, iar 1 indică
adevărul complet. Spre deosebire de logica clasică unde un obiect poate aparține (1) sau nu (0)
unei mulțimi date, în logica fuzzy se lucrează cu gradul de apartenență al obiectului la mulțime,
acesta luând valori cuprinse între 0 și 1 [2].
Logica fuzzy este întâlnită peste tot, oriunde avem de-a face cu importanţa relativă a
preciziei. “Pe masură ce creşte complexitatea, formulările precise pierd din înţeles şi
formulările pline de înţeles pierd din precizie.”–Lotfi Zadeh. Logica fuzzy este foarte potrivită
pentru controlul sistemelor neliniare şi modelarea sistemelor complexe deoarece aceasta
prelucrează informaţii aproximative într-o manieră sistematică [3].
Logica fuzzy este utilizată în lucrarea de faţă pentru a modela funcţionarea unui circuit.
Sistemele inteligente bazate pe logica fuzzy consideră că un obiect aparține unei mulțimi în
grade diferite, generându-se o flexibilitate a interpretării situațiilor. Logica fuzzy este
conceptual mai uşor de înțeles, este flexibilă, tolerantă la datele imprecise , poate modela
funcţii complexe cu nivel ridicat de precizie, poate fi combinată cu tehnici convenţionale de
control şi se bazează pe limbajul natural.

1.2 Aplicații ale logicii fuzzy


Un domeniu de utilizare al logicii fuzzy este fiabilitatea proceselor tehnologice. În
cazul proceselor de mare complexitate, afectate de incertitudine şi neliniaritate, determinarea
fiabilităţii necesită utilizarea unor raţionamente subiective, date incerte şi modele de sistem
aproximative. Pe măsură ce complexitatea acestor procese creşte, cu atât mai mult este
necesară asigurarea fiabilităţii lor.
S-au dezvoltat numeroase metodologii pentru evaluarea fiabilităţii sistemelor complexe
în funcţie de parametrii mai mult sau mai puţin cunoscuţi cu precizie, în vederea determinării
ratei de degradare.Datorită incertitudinilor din fazele de proiectare, de dezvoltare, de producţie
şi de exploatare a instalaţiilor tehnologice apar dificultăţi în aceste analize.
Problema fiabilităţii sistemelor foarte complexe,se poate rezolva cu ajutorul logicii
fuzzy bazată pe raţionamentul aproximativ şi cu ajutorul sistemelor cu logică fuzzy, care admit
imprecizia.Acestea nu presupun forţarea preciziei, care este imposibil de atins prin orice
metodă. La evaluarea fiabilităţii sistemelor complexe folosind logica fuzzy, se recurge la
concepte noi cum ar fi: posibilitatea defectării, arbori de defectări, arbori de evenimente,
securitatea şi riscul ca măsură globală a fiabilităţii.

1
Tehnica logicii fuzzy este utilizată de către firme prestigioase japoneze, ca Matsushita
şi Hitachi, în perfecţionarea maşinilor casnice de spălat. Eforturile acestor firme au fost
îndreptate spre realizarea unor performanţe ridicate, legate de conservarea apei, descreşterea
zgomotului, conservarea calităţii rufelor şi scurtarea timpului de spălare. Pentru implementarea
sistemului de conducere cu logică fuzzy s-a apelat la beneficiul colectării experienţei de la
gospodinele care au lucrat cu maşinile de spălat conduse manual.
Aceasta este folosită şi ca un instrument de lucru în inteligenţa artificială,fiind bine
cunoscută utilizarea ei în domeniul roboticii [4],[5].

1.3 Logica trivalentă

Primul logician clasic cunoscut a fost Aristotel (care este de asemenea, considerat și
"părintele logicii") . Aristotel a recunoscut că legile sale nu se aplică toate în evenimente
viitoare, dar el nu a creat un sistem de logică cu valori multiple pentru a explica această
remarcă izolată. Secolul 20 a adus înapoi ideea logicii cu valori multiple.Logicianul și filosoful
polonez Jan Łukasiewicz a început să creeze sisteme de logică cu valori multiple în 1920,
folosind o a treia valoare, "posibilă". Între timp, matematicianul american, Emil L. Post (1921),
a introdus, de asemenea, formularea gradelor de adevăr suplimentare cu n ≥ 2,n reprezentând
valoarea de adevăr.În 1932 Hans Reichenbach a formulat o logică cu mai multe valori de
adevăr unde n → infinit [6].
Logica cu trei valori (trivalentă, ternară, logica trinară, sau trilean prescurtată uneori
3VL) este una dintre sistemele logice cu valori multiple,în care există trei valori de adevăr
care indică adevărat, fals și a treia valoare nedeterminată. Acest lucru este în contrast cu cea
mai cunoscută logică bivalentă (cum ar fi logica booleană clasică), care utilizează doar 2
valori de adevăr (adevărat și fals). Forma conceptuală și ideile de bază au fost apoi reformulate
de Grigore Moisil într-o formă algebrică axiomatică și de asemenea, extinse la logica cu n
valori în 1945.
De asemenea sunt scoase în evidenţă ca principii ale logii trivalente,diferite reformulări
ale principiilor clasice (principiul dublei negaţii, principiul bivalenţei, principiul excluderii)
făcându−se deosebire între exprimarea acestora ca principii logice sau ca principii metalogice,
ca teze sau ca scheme (reguli de deducţie) şi sunt cercetate sistemele de logică neclasică după
principiile pe care nu le satisfac. În acest sens sunt considerate neclasice: logica trivalentă al lui
Lukasiewicz şi logicile polivalente ulterioare [7].

1.4 Aplicații ale logicii trivalente


Aplicaţiile cunoscute a logicii trivalente pot fi clasificate în mare,în două grupuri.
Primul grup folosește domeniul logic cu valori multiple pentru a rezolva mai eficient
problemele binare. De exemplu, o abordare binecunoscută pentru a reprezenta o funcţie
booleană cu ieşiri multiple,este de a trata componenta de ieșire ca o singură variabilă cu valori
multiple și de a o transforma într-o funcție caracteristică cu o singură ieşire. Alte aplicații ale
logicii trivalente includ proiectarea logicii programabile Arrays (Plas) cu decodoare de intrare,
optimizarea maşinilor cu stare finită, de testare, și de verificare.
Al doilea grup vizează proiectarea circuitelor electronice care folosesc mai mult de
două nivele de semnal discrete,cum ar fi memorii cu valori multiple, circuite aritmetice, Field
Programmable Gate Arrays (FPGA).Circuitele trivalente au un număr de avantaje teoretice faţă
de circuitele binare standard. De exemplu cipul interconectat ON şi OF poate fi redus dacă
semnalele din circuit însumează patru sau mai multe nivele în loc de două. Logica trivalentă
poate fi folosită împreună cu tehnologiile de transmitere a datelor, cum ar fi: fibra optică şi

2
semnalele transmise prin lumină [8].Este întâlnită atât în aplicaţiile ce includ bazele de date(în
limbajul SQL) cât şi în electronică. Limbajul de interogare a bazelor de date SQL
implementează logica trivalentă ca un mijloc de a trata conţinutul NULL al unui câmp. SQL
foloseşte NULL pentru reprezentarea datelor ce lipsesc dintr-o bază de date. În cazul în care
un câmp nu conţine o valoare definită, SQL consideră că există o valoare, dar aceasta nu este
înregistrată în baza de date. O valoare care lipseşte nu reprezintă acelaşi lucru cu valoarea
numerică 0, sau cu o valoare a şirurilor de caractere de lungime zero. Comparând orice cu
NULL, chiar şi un alt NULL, rezultă o stare de adevăr UNKNOWN (necunoscută). Utilizând
logica trivalentă, SQL poate astfel ţine cont de starea de adevăr necunoscută în evaluarea
expresiilor booleene.
Domeniul cel mai utilizat în implementarea formei logicii trivalente este cel al
electronicii digitale. În timpul simulării electronicelor digitale multe unelte de simulare a
limbajului de descriere hardware ca verilog şi VHDL, suportă o valoare necunoscută.Aceasta
nu este o logică trivalentă pură, este menţionată pentru completitudine, fiind singurul sistem cu
trei stări folosit mai des. Logica trivalentă include stările obişnuite de true (adevărat) sau false
(fals), cu o a treia stare transparentă de înaltă impedanţă (sau 'off-state'), care efectiv
deconectează ieşirea logică. Aceasta conectează mai multe ieşiri logice unei singure intrări,
unde toate în afară de una sunt puse în stare de înaltă impedanţă, şi permite ieşirii rămase să
opereze în sensul binar normal. Logica trivalentă este folosită la conectarea plăcilor de
memorie a calculatoarelor şi alte dispozitive similare la un bus de date comun, astfel un număr
mare de dispozitive poate comunica peste acelaşi canal pentru a se asigura că doar unul este
activat la un moment dat [9].

1.5 Modelarea fuzzy


Modelarea joacă un rol important în proiectarea, fabricarea şi testarea circuitelor.
Modul în care se reprezintă un circuit are consecinţe importante pentru modul în care acesta se
simulează pentru a-i putea verifica funcţionarea corectă. Modul de simulare,de modelare al
defectelor precum şi modul de generare al testelor depinde de asemenea în aceeaşi măsură de
reprezentarea circuitului.
Există trei tipuri de modelare: comportamentală, structurală şi funcţională. Un model
funcţional al unui sistem este o reprezentare a funcţionării sale logice. Un model
comportamental constă dintr-un model funcţional cuplat cu o reprezentare a relaţiilor
temporale asociate. În general. rezultă o serie de avantaje din separarea dintre funcţia logică şi
timp.Circuitele ce realizează aceeaşi funcţie dar diferă în ceea ce priveşte distribuţia temporală,
pot avea acelaşi model funcţional.Un model structural descrie o cutie neagră ca o colecţie de
cutii negre mai mici interconectate, numite componente sau elemente. Conţine întotdeauna
(implicit sau explicit) informaţii cu privire la funcţia componentelor sale. În practică modelarea
structurală şi funcţională sunt aproape întotdeauna întrepătrunse [10].
Modelarea fuzzy a apărut ca răspuns la încercările cercetătorilor de a modela
imprecizia. Celebra lucrare a profesorului Zadeh(1965) a deschis porţile unui domeniu
impresionant, nu numai din punct de vedere teoretic, dar şi din punct de vedere aplicativ. După
anul 1970,au apărut diverse aplicaţii cu privire la: controlul fuzzy, decizii fuzzy, recunoaşterea
formelor prin tehnici fuzzy. Acestea au fost discutate mai mult în mediul academic decât în
mediul de afaceri.Chiar dacă, în decursul a două decenii, dezvoltarea teoriei mulţimilor fuzzy
s-a realizat în mediul academic, momentul implementării în anul 1987, cu succes, a unui sistem
de control fuzzy pentru metroul oraşului Semdai (situat în nordul Japoniei) a generat un interes
major pentru aplicarea tehnicilor fuzzy.
În Europa, primele cercetări teoretice în domeniul modelării fuzzy au fost realizate în
Germania, în domeniul spaţiilor topologice fuzzy, măsura fuzzy si programare liniară fuzzy.

3
În România , trebuie remarcat interesul şi contribuţiile la dezvoltarea modelării fuzzy
de către Negoiţă C.V şi Ralescu D. (încă din 1974), Dumitrescu D.(Universitatea Babeş-Bolyai
Cluj -Napoca) Facultatea de Matematică şi Informatică, în direcţiile logicii raţionamentului
nuanţat şi al logicii multivalente [11].
Modelarea fuzzy se poate realiza utilizând: Expertiza calitativă (expert uman) când
aceasta este disponibilă şi seturi de date numerice intrare-ieşire (tehnica de modelare neliniară
de tip cutie neagră). Un model fuzzy poate fi descris ca o cale particulară de generare a unei
transformări (funcţii) neliniare între anumite variabile denumite “intrări ale sistemului fuzzy”
la o altă variabilă denumită “ieşirea sistemului fuzzy”.
Modelarea fuzzy este una dintre tehnicile de descriere a sistemelor complexe neliniare.
Aceasta partiționează spațiul variabilelor din sistem în regiuni numite mulțimi fuzzy.
Pentru fiecare astfel de regiune, caracteristicile sistemului pot fi descrise cu o regulă care este
transparentă la interpolare și analiză. Modelele de reguli fuzzy, însă, nu sunt întotdeauna ușor
de interpretat. Unele sisteme complexe sunt reprezentate de un număr mare de mulțimi fuzzy,
care fac interpretarea dificilă [12].
Modelarea fuzzy constă în descoperirea mulțimilor fuzzy și estimarea parametrilor
funcțiilor de apartenență. Rezultatul modelării fuzzy este un grup de reguli de forma DACĂ-
ATUNCI (IF-THEN). Aceste reguli stabilesc relații între variabilele sistemului peste care se
face modelarea. Modelul este o descriere calitativă a sistemului, cu reguli cum ar fi: DACĂ
tenisunea de intrare este mică ,ATUNCI tensiunea de ieșire este mare. Modelele care se
bazează pe acest tip de reguli se numesc modele lingvistice.Modelele lingvistice pot fi
clasificate în: Model de tip Mamdani care folosește reguli lingvistice la care atât premiza cât și
consecința sunt de tip fuzzy și Model de tip Takagi Sugeno (TS) care folosește reguli pentru
care consecințele sunt funcții matematice în loc de mulțimi fuzzy [13].

1.6 Modelarea fuzzy a funcțiilor de circuit


Simularea la nivel de circuit este costisitoare din punct de vedere al calculelor, în
special dacă circuitul este mare şi necesită mai multe tipuri de analize (în timp, în frecvenţă).
O alternativă o reprezintă utilizarea modelelor de circuit, modele care trebuie sa fie cât mai
precise , iar utilizarea lor să conducă la economie de timp şi calcule.
Utilitatea modelării funcțiilor de circuit este dată de eficiența din punct de vedere al
volumului, complexității calculelor modelului și de exactitatea acestuia.Nivelele ierarhic
superioare de abstractizare în descrierea funcțiilor de circuit,folosite ca o alternativă în
simularea circuitelor, sunt necesare și la:
 nivele ierarhic superioare ale proiectării descendente;
 verificarea sistemelor mixte analog-digitale;
 descrierea macrocelulelor analogice IP (Intelectual Property);
Dificultatea majoră apare la construirea (automată) a acestor modele parametrice ce
trebuie să aproximeze funcții neliniare multidimensionale [14].

4
2. Fundamentare teoretică

Procesul de proiectare a unui circuit electronic este un proces iterativ, care necesită un
număr mare de simulări de circuit pentru a satisface specificațiile utilizatorului. O modalitate
eficientă de a reduce timpul petrecut în aceste simulări,este de a construi modele funcțiilor de
performanță ale circuitului. Modelele simple pot fi utilizate în descrierea circuitelor non-
complexe cu un comportament liniar.În multe probleme, nu este posibil să se determine astfel
de modele simple, deoarece neliniaritățile inerente ale circuitului nu pot fi aproximate cu
precizie de către funcțiile elementare.
În domeniul inteligenţei artificiale noile tehnici (sistemele cu logică fuzzy, sistemele
expert, retelele neuronale) emulează două caracteristici umane, inteligente: învăţarea şi
adaptarea, fie în timpul funcţionării efective a sistemului, fie pe parcursul etapei de proiectare a
sistemului.
În cazul sistemelor cu logică fuzzy, învăţarea reprezintă capacitatea de a extrage un set
de reguli, fuzzy sau non-fuzzy, dintr-un proces de înregistrare şi prelucrare de date numerice
(pentru un sistem automat) sau de observaţii experimentale (pentru un proiectant).
Un sistem expert (SE) reprezintă un program format din două componente:o bază de
date, respectiv un set de reguli de căutare în această bază, cu scopul de a găsi soluția pentru o
problemă dată. Baza de date și setul de reguli sunt dezvoltate prin chestionarea experților în
problema dată. SE sunt proiectate să găsească soluția optimă pe baza datelor disponibile, la fel
cum ar face un expert uman.
O rețea neuronală artificială (RNA) reprezintă un ansamblu de procesoare (neuroni)
puternic interconectate, organizate în structuri masiv paralele și care pot rezolva probleme
complexe prin cooperarea între elementele simple de calcul[15].
Fiecare tehnică inteligentă are proprietăţi tipice care îi conferă aplicabilitate pentru
anumite probleme şi prezintă dezavantaje în rezolvarea altora.Reţelele neuronale au avantajul
recunoaşterii modelelor, însă nu pot explica modul în care au ajuns la o concluzie. Pe de altă
parte, sistemele fuzzy pot raţiona cu informaţii imprecise şi îşi pot explica raţionamentul, dar
nu pot achiziţiona automat regulile pe care le utilizează pentru luarea deciziilor.
Modelarea cu reguli fuzzy, de tip dacă-atunci, este potrivită pentru modelarea calitativă.
Această abordare se dovedeşte a fi insuficientă în diverse situaţii, datorită incompletitudinii
cunoaşterii, inerente unor situaţii reale. De aceea se apeleză la unele metode conexioniste, cum
ar fi reţelele neuronale. Sistemele neuro-fuzzy sunt astfel capabile să înveţe din exemple, să
generalizeze pe baza cunoştinţelor acumulate şi, pe baza datelor primite, să sintetizeze
cunoştinţe în forma regulilor fuzzy [16].
Punctul de pornire al realizării modelelelor este dat de valorile obţinute în urma
simulărilor circuitului de modelat. Mărimile simulate şi măsurate pot fi atât tensiuni, cât şi
curenţi. Circuitele trebuiesc simulate,plecând de la schemele la nivel de tranzistor. Pentru
implementarea şi simularea circuitelor logice la nivel de tranzistor se utilizează tehnologia
CMOS (tranzistoare cu canal indus n şi p). Circuitele de bază trivalente cu o singură intrare
(corespunzătoare algebrei Post) sunt: inversorul simplu trivalent (Simple Ternary Inverter STI),
inversorul negativ trivalent (Negative Ternary Inverter NTI) și inversorul pozitiv trivalent
(Positive Ternary Inverter NTI). Dintre cele trei inversoare cel mai utilizat este STI, acesta
fiind motivul pentru care doar STI a fost implementat, simulat și analizat.
O structura de circuit cu ajutorul căreia sunt proiectate, analizate şi realizate circuitele
trivalente este SUS-LOC (Supplementary Symmetrical Logic Circuit Structure).

5
2.1 Structura SUS-LOC

Circuitele digitale funcţionează pe niveluri de tensiune care pot produce semnale,care


pot fi interpretate ca una dintre cele două stări ”0” sau ”1”logic. Pentru a extinde transferul de
date, circuitele MVL folosesc mai multe stări logice 0,1,2(trivalente). Utilizarea MVL
înseamnă mai puţine fire (conexiuni) folosite pentru transferul de date. Pot fi finalizate mai
multe operaţii/fir şi pot fi transmise sau stocate mai multe date.
Structura de circuit SUS-LOC a fost patentată în anul 2001 de către D.E. Olson şi
presupune utilizarea tranzistoarelor CMOS, cu canal n şi p, atât cu canal indus (structura
CMOS strandard) cât şi cu canal iniţial. Folosind SUS-LOC pot fi proiectate circuite cu n
niveluri de tensiune (n mai mare ca 2). SUS-LOC poate fi folosită pentru a realiza orice funcţie
logică r-valentă.
O caracteristică principală a SUS-LOC este că oferă posibilitatea de realizare a unor
seturi de circuite multivalente de bază, cu ajutorul cărora se poate implementa orice funcţie
logică, indiferent de numărul nivelurilor logice [17]. Alte câteva caracteristici importante ale
SUS-LOC sunt [18], [19]:
 pentru orice combinaţie a semnalelor de intrare există doar o singură cale de curent
între sursele de tensiune, respectiv masă şi ieşirea circuitului;
 viteza şi consumul de putere sunt comparabile cu cele ale circuitelor binare în
tehnologie CMOS;
 puterea disipată în c.c. este nulă, deoarece în c.c. nu există cale de curent între sursele
de tensiune continuă şi masă;
 sunt folosite tranzistoare de ambele tipuri, atât cu canal indus cât şi cu canal iniţial, n şi
p;
 partea de circuit pentru realizarea nivelurilor logice extreme este identică cu circuitul
binar corespunzător, şi este realizată folosind tranzistoare cu canal indus. Partea de
circuit pentru realizarea nivelelor logice intermediare este realizată folosind tranzistoare
cu canal iniţial.
 tranzistoarele cu canal inițial sunt conectate în circuit astfel încât să fie în
conducţie/blocare în momentul în care tranzistoarele cu canal indus (din ramura
alimentată cu 5V) sunt în blocare/conducţie. Pentru unele circuite, datorită
caracteristicilor de funcționare ale elementelor de comutare, este necesară introducerea
unor elemente de circuit sau etaje suplimentare pentru prevenirea polarizării inverse a
acestora.

Dezavantajul structurii de circuit SUS-LOC este necesitatea unui număr de surse de


tensiune egal cu (n-1), unde n reprezintă numărul nivelurilor logice. De exemplu, pentru
realizarea circuitelor trivalente sunt necesare două surse de tensiune (una pentru realizarea
nivelului 2 logic şi alta pentru realizarea nivelului 1 logic), al treilea nivel logic (0 logic)
obţinându-se de la masa circuitului.
Circuitele r-valente realizate cu ajutorul structurii de circuit SUS-LOC au aplicaţii în
diverse domenii cum ar fi: inteligenţa artificială, învăţarea automată respectiv în
criptare/securitate.Circuitele trivalente ce pot fi implementate cu ajutorul SUS-LOC pot fi atât
circuite de bază cât şi circuite complexe (realizate cu ajutorul circuitelor de bază). Circuitele de
bază ce pot fi implementate sunt: cele trei tipuri de inversoare trivalente, circuitul de maxim,
circuitul de minim, circuitul de maxim negat, circuitul de minim negat, cu două sau mai multe
intrări. Dintre toate circuitele de bază, inversorul simplu trivalent este circuitul fără de care nu
poate fi realizat nici un alt circuit trivalent.

6
2.2 Programul de simulare OrCAD

OrCAD este un program complex, care permite: desenarea schemelor electrice ale
circuitelor electronice, simularea funcţionării acestora sub diverşi stimuli (diverse semnale de
excitaţie) şi la diverse temperaturi ambiente, proiectarea circuitelor imprimate (inclusiv
optimizarea traseelor) pornind de la dimensiunile de catalog ale componentelor. Desenarea
schemelor de circuit în cadrul programului OrCAD se realizează prin intermediul componentei
OrCAD CAPTURE CIS (Component Information System)[20].
Programul Pspice A/D(analog/digital),parte a OrCAD-ului poate simula atât circuite
descrise la nivel de componente analogice (rezistoare, condensatoare, tranzistoare) în care
variabilele circuitului sunt tensiuni şi curenţi, cât şi circuite digitale descrise la nivel de
componente sau blocuri logice în care variabilele circuitului sunt semnale logice. Programul
poate simula şi circuite mixte analog/digitale, trecerea de la partea analogică de circuit la cea
digitală, care este realizată prin inserarea automată a unor subcircuite de interfaţare A/D
(analog digitale), respectiv D/A(digital analogice).
Pachetul OrCAD PSpice conţine mai multe biblioteci de simboluri standard pentru o
gamă largă de componente digitale din diverse tehnologii (TTL, CMOS, ECL). Fiecare
componentă digitală este descrisă din punct de vedere electric printr-un model de dispozitiv
digital sub forma unui subcircuit stocat într-un fişier bibliotecă de modele. Dacă într-un proiect
sunt necesare componente digitale care nu se regăsesc în bibliotecile standard,atunci
utilizatorul poate defini noi modele digitale şi simboluri pentru componentele respective. În
general, datorită caracterului mai complex de definire a modelelor componentelor logice, cu
Pspice este relativ uşor să se efectueze simulări ale circuitelor digitale şi/sau mixte analog
digitale construite cu dispozitive existente în bibliotecile programului. Simularea unui circuit
digital cuprinde şase etape:

 Desenarea circuitului;
 Definirea stimulilor;
 Verificarea şi generarea netlistului circuitului ;
 Stabilirea şi ajustarea parametrilor de simulare;
 Rularea simulării;
 Vizualizarea şi analiza rezultatelor [21];

2.3 Tipurile principale de analiză în PSpice

Programul PSpice poate realiza următoarele tipuri de analiză : în curent continuu, în


curent alternativ (analiza de semnal mic), în regim tranzitoriu (analiza de semnal mare), analiza
Fourier, calculul funcţiilor de transfer, analiza de zgomot, analiza de distorsiuni şi analiza de
senzitivităţi.
Bias Point - punctul de polarizare sau PSF- este o analiză de curent continuu, care
stabileşte curenţii prin circuit şi punctul de polarizare al tranzistorului bipolar sau MOS.
Analiza se face la o temperatură specificată, de regulă 27ºC (300K).
DC Sweep – este o analiză care permite determinarea variaţiei unei mărimi electrice a
circuitului şi determinarea variaţiei valorii mărimii electrice a unei surse a circuitului
respectiv.Aceasta este utilă pentru determinarea caracteristicilor statice de funcţionare ale
dispozitivelor semiconductoare din circuit, sau a carateristicilor de transfer în regim de curent
continuu sau de semnal mare ale circuitelor electronice.
AC Sweep - este o analiză de semnal mic pe modelul liniarizat al tranzistoarelor,
repetată pe intervalul de frecvenţe specificat. În cadrul acesteia se poate determina
caracteristica amplificare-frecventă şi impedanţele de intrare şi ieşire în funcţie de frecvenţă.

7
Transient - este o analiză tranzitorie în domeniul timp. Programul rezolvă ecuaţiile
diferenţiale neliniare ce caracterizează circuitul, utilizând modelele neliniare ale
tranzistoarelor. Răspunsul este o formă de undă reprezentată grafic, funcţie de timp. Această
analiză se utilizează când semnalul de intrare este mare şi dispozitivele semiconductoare
(diode, tranzistoare) nu pot fi liniarizate.
Rezultatele obţinute în urma simulării circuitelor în Orcad sunt exportate sub formă de
fişiere, având următoarele extensii:.dat,.stl,.txt,.csv,cu scopul de a fi utilizate pentru modelarea
circuitelor în Matlab [22].

2.4 Mediul de programare Matlab


MATLAB-ul este un limbaj de nivel înalt și un mediu interactiv folosit de milioane de
ingineri și oameni de știință din întreaga lume. Acesta permite explorarea și vizualizarea
ideilor și colaborarea între discipline,inclusiv procesarea de imagini și semnale,comunicațiile şi
sistemele de control. El integrează analiza numerică,calculul matriceal, procesarea semnalului
şi reprezentările grafice, într-un mediu uşor de învăţat şi folosit, în care enunţurile problemelor
şi rezolvările acestora sunt exprimate în modul cel mai natural posibil.
Cea mai importantă caracteristică a MATLAB-ului este uşurinţa cu care poate fi
extins.Datorită acestui fapt orice utilizator poate adăuga propriile programe, scrise în
MATLAB, la fişierele originale, dezvoltând astfel aplicaţii specifice domeniului în care
lucrează.MATLAB-ul include aplicaţii specifice, numite TOOLBOX-uri. Acestea sunt colecţii
extinse de funcţii MATLAB (fişiere M) care dezvoltă mediul de programare de la o versiune la
alta, pentru a rezolva probleme din domenii variate [23].
MATLAB-ul lucrează fie în modul linie de comandă,fie cu programe conţinute în
fişiere. Aceste două moduri formează împreună un „mediu” de programare.
Fuzzy Logic Toolbox extinde mediul tehnic de calcul cu instrumente pentru proiectarea
sistemelor bazate pe logică fuzzy.
Interfaţa grafică prezintă paşii de urmat în proiectarea sistemelor fuzzy. Sunt puse la
dispoziţie funcţii pentru numeroase metode cu logică fuzzy comune, inclusiv gruparea fuzzy
sau învăţarea neurofuzzy adaptivă. Toolboxul permite modelarea comportamentală a sistemelor
logice complexe,utilizând reguli logice simple, iar apoi implementarea acestor reguli într-un
sistem de inferenţă fuzzy. Acest toolbox poate fi folosit ca un motor de inferenţă de sine
stătător. Fuzzy Logic Toolbox oferă o serie de instrumente interactive care permit accesarea
mai multor funcții printr-o interfață grafică (GUI). Fuzzy Logic Toolbox permite construcția a
două tipuri de sisteme:Sistem de inferenţă fuzzy (FIS-Fuzzy Inference System) și Sistem de
inferenţă neuro-fuzzy(ANFIS- Adaptive-Neuro-Fuzzy Inference System) [24].

2.5 Sisteme cu logică fuzzy

Sistemele fuzzy sunt sisteme care oferă o metodă flexibilă pentru tratarea incertitudinii.
Sistemele bazate pe logica fuzzy,consideră că un obiect aparţine unei mulţimi în grade diferite.
Astfel se generează o flexibilitate a interpretării situaţiilor. Sistemele fuzzy utilizează date
inexacte sau parţial corecte.Sunt potrivite pentru recunoaşterea formelor şi a caracterelor.
Specificul unui sistem fuzzy constă în faptul că poate controla simultan date numerice şi
cunoştinţe lexicale.

8
Figura 2.1 Structura unui sistem cu logică fuzzy

unde X este universul discuţiei lui x şi Y este universul discuţiei lui y


Structura sistemului cu logică fuzzy cuprinde o bază de cunoştinţe din care fac parte
mulţimile fuzzy peste universul discuţiei variabilei de intrare ,X, mulţimile fuzzy peste
universul discuţiei variabilei de intrare ,Y, baza de reguli fuzzy şi operaţiile de fuzzificare,
inferenţă şi defuzzificare.
Baza de cunoştinţe este specifică fiecărei aplicaţii, iar de calitatea ei depinde calitatea
SLF-ului(sistem cu logică fuzzy)
Noţiunea de mulţime în forma ei clasică reprezintă mai degrabă o idealizare a situaţiilor
reale. Conceptul de mulţime fuzzy, a apărut ca o urmare a imposibilităţii de a modela un sistem
nedefinit cu ajutorul unor instrumente matematice precise. Se consideră un exemplu:
Fie X o colecţie de obiecte, mulţimea fuzzy A definită pe mulţimea X care este o
mulţime de perechi ordonate:
A = {µA(x)/x} unde :
µA(x) reprezintă funcţia de apartenenţă a lui x la mulţimea A. Această funcţie este
definită pe intervalul de valori a lui x în intervalul [0,1]: µA → [0, 1]
Utilizând aceste mulţimi fuzzy se pot efectua mai multe operaţii cum ar fi: intersecţia
fuzzy, reuniunea, complementul, combinaţia convexă, concentrarea, dilatarea, plus, minus şi
intensificarea.
Pentru a înţelege mai bine mulţimile fuzzy sunt definite cinci noţiuni:

1. Variabila lingvistică
Notată cu x -reprezintă un atribut al obiectului (obiectelor) în discuţie

2. Valoare lingvistică
Notată cu A -reprezintă un adverb sau adjectiv asociat variabilei lingvistice

3. Universul discuţiei
Notat cu X - reprezintă o mulţime clasică, tranşantă, pe care se definesc mulţimile fuzzy

4. Gradul de apartenenţă
Notat cu µ -arată măsura în care un element aparţine unei mulţimi fuzzy

5. Funcţia de apartenenţă
Notată cu µA ∈- asociază fiecărui element x gradul de apartenenţă la mulţimea fuzzy
respectivă [25].

9
2.5.1 Variabile lingvistice

O variabilă lingvistică poate fi considerată fie ca o variabilă a cărei valoare este un


număr fuzzy sau ca o variabilă a cărei valori sunt definite în termeni lingvistici.
În aplicaţiile cu logică fuzzy, variabilele lingvistice nenumerice sunt adesea folosite
pentru a facilita exprimarea regulilor şi a faptelor.Variabilele fuzzy sau lingvistice nu descriu
datele numeric, ci printr-o funcţie de apartenenţă care este scalată între zero şi unu.
Unei variabile lingvistice îi corespunde un domeniu de valori posibile,care sunt definite
pe un interval numit universul discuţiei pentru variabila lingvistică respectivă. O problemă care
foloseşte variabile lingvistice implică stabilirea mulţimii termenilor lingvistici asociaţi fiecărei
variabile. Pentru reprezentarea acestora se folosesc seturile fuzzy, care captează din punct de
vedere cantitativ interpretarea calitativă a termenilor [26].

2.5.2 Raţionamentul aproximativ

Raţionamentul aproximativ este cea mai importantă extensie a logicii fuzzy.El operează
cu reguli de inferenţă diferite de cele ale logicii clasice, ale căror premise conţin propoziţii
fuzzy.
Raţionamentul fuzzy (sau raţionamentul aproximativ) este analogul logicii predicatelor
pentru raţionamentul cu propoziţii precise fiind o extensie a logicii propoziţiilor clasice.
Raţionamentul fuzzy foloseşte propoziţii fuzzy care sunt afirmaţii ce pot fi adevărate în
anumite grade cuprinse în intervalul [0; 1]. Acestea sunt exprimate folosind limbajul natural.
Un model de propoziţie fuzzy este:“x este X” unde x este o variabilă lingvistică iar X este o
valoare lingvistică a variabilei x. Înţelesul acestei propoziţii este determinat de mulţimea fuzzy
X definită pe universul discuţiei variabilei x [27].
Funcţiile de apartenenţă pot fi de mai multe tipuri cum ar fi: triunghiulare (trimf),
trapezoidale (tramf), de tip Gauss (gaussmf şi gauss2mf), clopot(gbellmf), sinusoidale (sigmf,
dsigmf, psigmf), curbe polinomiale (zmf, pimf, smf) şi de tip singleton.

trapmf gbellmf trimf gaussmf gauss2mf smf


1

0.5

zmf psigmf dsigmf pimf sigmf


1

0.5

Figura 2.2 Tipurile de mulţimi fuzzy

Operaţia de fuzzificare transcrie intrarea concisă în mulţimi fuzzy de intrare, care sunt
exprimate prin funcţii de apartenenţă ce stau la baza operaţiilor logice.

10
Baza de reguli conţine regulile ce se vor utiliza în blocul de inferenţă sau de decizie.
Aceste reguli, în majoritatea lor sunt de tip condiţional: „IF-THEN” sunt elaborate din date
numerice concise fiind exprimate în termeni lingvistici şi având mulţimi fuzzy asociate cu ele.
Regulile activate din această bază, sunt utilizate în procesul de inferenţă [28].
Inferenţa este blocul care transpune mulţimile fuzzy de intrare în mulţimi fuzzy la
ieşire, acest bloc fiind considerat ca un bloc de decizie, având mijloacele prin care regulile
activate sunt combinate în acţiunea lor asupra mulţimilor de date concise de la intrare. După
cum oamenii utilizează diferite tipuri de proceduri deductive pentru înţelegerea şi interpretarea
fenomenelor, tot aşa există şi diverse proceduri inferenţiale fuzzy. Dintre toate acestea numai
un număr restrâns sunt utilizate în aplicaţii inginereşti. Inferenţa este considerată cea mai
complexă operaţie dintr-un SLF [29].
Operaţia de defuzificare transpune mulţimea nuanţată de la ieşire sub formă de numere
concise. Pentru această operaţie mărimea de ieşire a SLF trebuie să fie o valoare tranşantă, la
fel ca şi intrările SLF. Defuzificarea reprezintă procesul de obţinere a unei valori pentru
variabila de ieşire,utilizând funcţia de apartenenţă a soluţiei inferenţei. Ieşirea unui proces
(sistem) fuzzy poate fi din punct de vedere logic reuniunea a două sau mai multe funcţii de
apartenenţă fuzzy, definite pe universul de discuţie al variabilei de ieşire.
În literatura de specialitate există mai multe metode de defuzificare printre care şi
următoarele: AI (adaptive integration), BADD(basic defuzzification distributions), BOA
(bisector of area), CDD (constraint decision defuzzification), COA (center of area), COG
(center of gravity), ECOA (extended center of area), EQM (extended quality method), FCD
(fuzzy clustering defuzzification), FM (fuzzy mean),FOM (first of maximum), GLSD
(generalized level set defuzzification), ICOG (indexed center of gravity), IV (influence value)
LOM (last of maximum), MeOM (mean of maxima), MOM (middle of maximum), QM
(quality method), RCOM(random choice of maximum), SLIDE(semi-linear defuzzification),
WFM (weighted fuzzy mean). Metoda centrului de greutate este una dintre cele mai utilizate
metode de defuzzificare [30].
Există 2 tipuri de sisteme cu logică fuzzy: de tip Mamdani şi de tip Takagi-Sugeno.
Acestea diferă prin partea de concluzie a regulilor fuzzy. Sistemele Mamdani utilizează
mulţimi fuzzy obişnuite, faţă de sistemele Takagi-Sugeno (T-S) care folosesc în concluzie
funcţii (liniare) a variabilelor de intrare.
Metoda Mamdani este utilizată pe scară mai largă pentru reprezentarea cunoştinţelor
expert. Aceasta permite descrierea mai intuitivă a cunoştinţelor dar are însă dezavantajul unui
efort de calcul mai mare.
Metoda Takagi-Sugeno este eficientă computaţional şi obţine rezultate bune în
problemele de optimizare şi tehnicile adaptive. Aceasta este mai potrivită pentru problemele de
control,în special pentru sistemele neliniare [31].

2.5.3 Construirea unui sistem de inferenţă fuzzy

Inferenţa fuzzy reprezintă un mod de interpretare a vectorului de intrare, bazat pe reguli


definite de utilizator şi asignarea de valori vectorului de ieşire. Folosind interfeţele grafice de
editare şi afişare conţinute în Fuzzy Logic Toolbox, se poate defini setul de reguli, mulţimile
fuzzy pentru variabilele de intrare, pentru variabilele ieşire şi se poate analiza comportamentul
unui sistem de inferenţă fuzzy [32].

11
FIS EDITOR-afişează informaţii generale cu privire la sistemul de inferenţă fuzzy

prin apăsarea unui dublu


prin apăsarea unui dublu
clik se deschide
clik se deschide
MembershipFigura
Function
2.3 Editorul FIS Rule Editor
Editor

Aceste
meniuri sunt
utilizate
pentru a
ajusta funcţiile
de
inferenţă,cum
ar fi metoda
de Acest câmp este folosit pentru a
defuzzificare specifica sau edita numele variabilelor
Membership Function Editor (Editorul funcţiilor
de intrare şide apartenenţă)-permite afişarea
ieşire
şi editarea mulţimilor fuzzy asociate variabilelor de intrare şi de ieşire a fişierului . FIS.Click
pe una dintre mulţimile fuzzy-se poate alege numele,tipul, parametrii mulţimii şi universul
discuţiei al acesteia.

Figura 2.4 Editorul funcţiilor de apartenenţă

12
Rule Editor (Editorul Regulilor) – permite afişarea şi editarea de reguli fuzzy folosind
unul din cele trei formate: sintaxa full-English, notaţie simbolică concisă, sau notaţie indexată.
Din meniul view se poate vizualiza afişarea regulilor şi a suprafeţelor. Se pot creea, edita şi
şterge reguli. În cazul în care exită mai multe intrări, ele pot fi conectate între ele folosind
conectivul logic or sau and.

Figura 2.5 Editorul regulilor

Rule Viewer (Afişarea Regulilor)–permite observarea amănunţită a comportamentului


unui fişier .FIS pentru a diagnostica dinamica unor reguli specifice. Prezintă gradul de activare
al fiecărei reguli în parte, în funcţie de valoarea variabilei de intrare. Se obţine o valoare în
urma procesului de agregare şi defuzzificare,fiind prezentată pe ultimul rând din coloana
variabilei de ieşire.

13
Figura 2.6 Afişarea regulilor

Surface Viewer (Afişarea Sprafetelor) –generează o suprafaţă de ieşire pentru fiecare


ieşire a sistemului comparativ cu intrarea sau intrările acestuia. Folosind mouse-ul se pot roti
axele. În cazul unui sistem cu o ieşire şi două intrări se generează o suprafaţă tridimensională.

Figura 2.7 Afişarea suprafeţei de control

2.6 Modelarea utilizând logica fuzzy


Modelarea în logica fuzzy se bazează pe ideea că,un model neliniar cu formă
funcţională necunoscută poate fi aproximat prin mai multe relaţii matematice simple, fiecare
dintre ele fiind valabilă doar într-o mică regiune a domeniului pe care sunt definite
variabilele.Pentru aplicarea acestor relaţii trebuie să se specifice modelul sistemului,adică să se
aleagă un anumit număr de mulţimi împreună cu funcţiile de apartenenţă asociate.
Modelarea fuzzy se referă la procesul prin care un sistem dinamic este modelat sub
formă de reguli fuzzy și mulţimi fuzzy corespunzătoare.Nevoia de modelare fuzzy în sistemul
neliniar apare din cauza capacității limitate a tehnicii de modelare convențională,pentru a face
o aproximare mai exactă a sistemului real. Această limitare crește proporțional cu gradul de
neliniaritate al sistemului[33].

2.6.1 Inferenţa neurofuzzy adaptivă

Utilizând Sistemul de Inferenţă Adaptivă Neurofuzzy (ANFIS) se pot forma mulţimi


fuzzy prin instruirea acestora cu date de intrare/ieşire. Sistemul de inferență corespunde unui
set de reguli fuzzy, DACĂ-ATUNCI, care au capacitatea de a învăța pentru a aproxima
funcțiile neliniare, ANFIS fiind considerat un estimator universal. Acesta serveşte la
optimizarea unei baze de cunoştinţe fuzzy (mulţimi şi reguli) ce conţine funcţii de apartenenţă
potrivite generării seturilor de date intrare ieşire prescrise (acţionează asupra mulţimilor fuzzy
de intrare şi de ieşire). În mod specific, ANFIS acceptă numai sistemele de tip Sugeno, iar
acestea trebuie să aibă următoarele proprietăți:
 să fie aplicate sisteme de tip Sugeno de ordin zero sau de ordin unu;
14
 toate funcțiile de apartenenţă de ieșire trebuie să fie de acelaș tip și să fie liniare
sau constante.
 numărul funcţiilor de apartenenţă de ieșire trebuie să fie egal cu numărul de
reguli.
Pentru generarea sistemului fuzzy Takagi-Sugeno se folosesc diferite funcţii din
Matlab cum ar fi: genfis1, genfis2 respectiv genfis3. Genfis1 foloseşte “grid partition” fără
gruparea datelor, genfis2 utilizează gruparea substractivă, iar genfis3 foloseşte gruparea
utilizând algoritmul fuzzy C-Means.Sistemul cu logică fuzzy generat cu genfis1 necesită
antrenarea obligatorie, faţă de genfis2 şi genfis3 care nu necesită neaparat antrenare, modelând
relaţiile din seturile de date [34].

2.7 Etapele strategiei de modelare a funcțiilor de circuit

Punctul de plecare în definirea acestor etape este circuitul electronic pentru care se doreşte
construirea modelelor fuzzy a funcţiilor de circuit. Sunt prezentate tehnicile sau modelele
folosite pentru fiecare etapă în parte.

1)Stabilirea spațiului parametrilor


Gama de parametri trebuie aleasă,astfel încât,indiferent de combinația valorilor
parametrilor, circuitul trebuie să rămâne întotdeauna în zona dorită.

2)Generarea de parametrii stabiliți


În spațiul parametrilor trebuie determinată o valoare pentru fiecare parametru ce
formează împreună setul de parametrii.Setul trebuie ales astfel încât să corespundă funcțiilor de
modelat dar să nu fie de dimensiune foarte mare deoarece aceasta ar duce la un timp de
simulare inacceptabil de mare.

3)Generarea performanțelor stabilite ale parametrilor


Valorile funcției circuitelor sunt deduse prin simularea Spice.

4)Generarea sistemului fuzzy T-S inițial


Setul de instruire(parametrii-performanțe) este supus unei proceduri de clasificare
substractivă care grupează datele într-un număr de clase,fiecare clasă constituind o regulă
fuzzy. Se poate construi un sistem fuzzy inițial care are mulțimi fuzzy de tip gbell pentru
variabilele de intrare și un polinom de ordinul unu pentru variabila de ieșire,sistemul fuzzy
inițial fiind de tipul Takagi-Sugeno.

5)Formarea sistemului fuzzy T-S inițial


Modelul fuzzy iniţial este antrenat prin intermediul sistemului de inferență fuzzy bazat
pe rețeaua adaptivă(ANFIS), care este rutina de instruire majoră pentru sistemele de inferență
fuzzy ale sistemului de tip Sugeno.ANFIS efectuează, de asemenea, un model de validare
folosind un set de date de verificare, pentru a detecta modelul overfitting.

6)Modelul este adecvat?


Modelul fuzzy rezultat în urma antrenării este verificat din punct de vedere al preciziei.
Dacă modelul nu este considerat potrivit trebuie să ne întoarcem fie la etapa 2, fie la etapa 4. În
cazul în care se consideră că setul de instruire nu acoperă suficiente caracteristici ale funcției
de modelat(datele sunt insuficiente) are loc întoarcerea la etapa 2. Întoarcerea la etapa 4
presupune generarea unui sistem inițial cu un număr mai mare de reguli decât cel anterior,prin
mărirea numărului de clase [35],[36].

15
3. Implementarea soluţiei adoptate

Lucrarea de față are ca scop modelarea caracteristicii statice de transfer în tensiune


pentru inversorul simplu trivalent, folosind tehnici de inteligenţă artificială. Tehnicile utilizate
sunt: sistemul cu logică fuzzy şi reţeaua neuronală. Inversorul trivalent este circuit de bază în
proiectarea circuitelor mai complexe.
Pentru procesul de modelare s-a ales inversorul trivalent simplu deoarece acesta este cel
mai utilizat, în comparaţie cu inversorul negativ trivalent (Negative Ternary Inverter NTI) și
inversorul pozitiv trivalent (Positive Ternary Inverter NTI). STI are prezente la ieşire toate cele
trei niveluri logice.Schema bloc a procesului de modelare fuzzy este prezentată în Figura 3.1

1. Simularea 2. Obţinerea şi
circuitului în pregătirea 3. Utilizarea 4. Obţinerea
Spice datelor pentru funcţiilor Matlab modelului fuzzy
modelare

structura de circuit
SUS-LOC
date antrenare,
(SUpplementary anfis, genfis
verificare
Symmetrical LOgic
Circuit)

Figura 3.1 Schema bloc a procesului de modelare


Procesul de modelare a caracteristicii statice de transfer în tensiune pentru inversorul
trivalent simplu constă în urmarea a patru etape. Astfel:
1. Simularea circuitului în programul de simulare Spice include pregătirea inversorului
trivalent în vederea simulării acestuia,descrierea funcţionării circuitului şi obţinerea diferitelor
cronograme(tensiune de intrare ,tensiune de ieşire şi caracteristica statică de transfer în
tensiune).
2. Obţinerea şi pregătirea datelor pentru modelare presupune realizarea unei analize de
simulare de tip transient şi împărţirea datelor realizate în urma simulărilor făcute în 3 seturi de
date, iniţial,de antrenare şi de verificare.
3. Utilizarea funcţiilor din Matlab cuprinde generarea şi antrenarea sistemului cu logică
fuzzy în obţinerea unui rezultat optim.
4. Obţinerea modelului fuzzy presupune atât utilizarea celor trei seturi de date obţinute
în urma simulărilor, cât şi a funcţiilor de generare, antrenare a sistemului fuzzy. Obţinerea
modelului fuzzy cuprinde şi etapa de verificare a corectitudinii modelului obţinut,printr-o
comparaţie facută între caracteristica statică de transfer în tensiune, obţinută prin utilizarea
setului de date iniţial şi caracteristica statică de transfer în tensiune obţinută prin folosirea
setului de antrenare.
16
Etapele de realizare ale procesului de modelare pentru caracteristica statică de transfer a
inversorului trivalent simplu sunt prezentate în continuare într-un mod mai amănunţit.

3.1 Simularea circuitului în Spice

Pentru a verifica corectitudinea funcţionării circuitului inversor trivalent, bazată pe


fundamentele teoretice, este realizată simularea acestuia în OrCAD. Simularea circuitului în
Spice este şi punctul de plecare în obţinerea unor date necesare modelării carecteristicii statice
de transfer în tensiune.

Figura 3.2 Schema inversorul trivalent

Inversorul trivalent este simulat în Spice (Orcad) și este realizat folosind structura de
circuit SUS-LOC (Supplementary Symmetrical Logic Circuit structure). Realizarea practică a
circuitului integrat trivalent de bază folosind această structură presupune utilizarea a patru
tipuri de tranzistoare CMOS, două cu canal indus (n și p) şi două cu canal iniţial (n și p), cu
valori diferite ale tensiunilor de prag.Tensiunile de prag necesare pentru tranzistoare sunt
calculate conform SUS-LOC folosind ecuațiile (3.1) pentru tranzistoarele cu canal n și (3.2)
pentru tranzistoarele cu canal p. Tensiunile de prag rezultate în urma calculatelor sunt: pentru
tranzistorul cu canal n indus VPNindus= 3.25V, pentru tranzistorul cu canal p indusVPPindus= -
3.25V, pentru tranzistorul cu canal n initial VPNinitial= -0.75V iar pentru tranzistorul cu canal p
iniţial VPPiniţial=0.75V.
17
V TH =V E −(V ¿¿ S+(OP × LSV ))¿
N
(3.1)
V TH =V E −(V ¿ ¿ S−(OP × LSV ))¿
P
(3.2)

unde cu VE este notată tensiunea de intrare (aplicată în grila tranzistoarelor), cu VS este notată
tensiunea de la ieșirea tranzistorului (culeasă din drena tranzistoarelor pentru tranzistoarele cu
canal indus, respectiv din sursa tranzistoarelor pentru tranzistoarele cu canal inițial), LSV
(Logic Step Voltage) este domeniul de tensiune dintre două niveluri alăturate, iar OP (Overlap
Percentage) este un raport cuprins între 55% și 75% . Pentru circuitul trivalent ales de noi LSV
este 2.5V iar OP este 75%.
Principiul de funcţionare al inversorului trivalent este identic cu cel al inversorului
clasic; semnalul de intrare este aplicat în acelaşi timp în grilele a două tranzistoare cu canal
indus (primul cu canal p M3inv1 şi al doilea cu canal n M4inv1) conectate în serie. Sursa
tranzistorului M3inv1 este conectată la tensiunea de alimentare (5V), iar cea a tranzistorului
M4inv1 la masă (0V). Drenele celor două tranzistoare sunt conectate împreună, aceasta fiind
considerată şi ieşirea inversorului. Cele două tranzistoare sunt în stare de conducţie alternativ și
cu ajutorul lor se obțin nivelurile logic ”0” (0 V), respectiv ”2” (5V). Astfel, pentru intrare 0V
conduce tranzistorul M3inv1 iar ieşirea va fi dată de valoarea tensiunii de alimentare (5V), iar
pentru cazul în care tensiunea de intrare va fi 5V va conduce tranzistorul M4inv1 iar ieşirea va
fi 0V.
În plus faţă de inversorul binar, cel trivalent are o a doua ramură de circuit, realizată cu
tranzistoare cu canal iniţial și alimentată cu 2.5V (nivelul logic “ 1”). Ieşirea acestei noi ramuri
este conectată la ieşirea inversorului. Pentru tranzistoare s-au utilizat modelele în tehnologie de
90 nm. Deoarece integrarea tranzistoarelor de tipuri diferite este o problemă în realizarea
circuitelor integrate şi datorită faptului că în OrCAD nu există decat modele ideale pentru
tranzistoarele cu canal n iniţial, acestea au fost înlocuite cu tranzistoare cu canal indus. Un
tranzistor cu canal n iniţial poate fi modelat folosind un tranzistor cu canal n indus şi o sursă de
tensiune continuă conectată în grila tranzistorului cu canal indus. La fel, tranzistorul cu canal p
iniţial poate fi modelat folosind un tranzistor cu canal p indus şi o sursă de tensiune continuă
conectată în grila tranzistorului cu canal indus.
Valorile tensiunilor de prag ale modelelor tranzistoarelor în tehnologia de 90nm sunt
VPP90nm= -0.3V (vth0 = -0.303V), respectiv VPN90nm= 0.25V (vth0 = 0.2607V).
Valorile tensiunilor continue (V1inv şi V2inv) din grilele tranzistoarelor cu canal indus
(M1inv şi M2inv) care modelează tranzistoarele cu canal iniţial sunt: V1inv= tensiunea din
grila tranzistorului cu canal p, V2inv= tensiunea din grila tranzistorului cu canal n:

V1inv = VPPiniţial - VPPindus= -0.3V-0.75V ≈ -1V (3.3)

V2inv = VPNindus - VPNinitial = 0.25V- (-0.75V) ≈ 1V (3.4)

Şi pentru tranzistoarele cu canal indus a fost necesară înserierea unor surse de tensiune
continuă (în grilele tranzistoarelor M3inv şi M4inv) având valorile ±3V, pentru obţinerea
tensiunilor de prag de -3.25V, respectiv +3.25V.
În urma simulărilor, pentru tensiune de intrare de 0V se obţin 4.8875V pentru tensiunea
de ieşire,iar pentru tensiune de intrare de 2.5V se obține valoarea de 2.3982V pentru tensiunea
de ieșire.
Formele de undă obținute sunt prezentate în Figura 3.3,respectiv Figura 3.4,iar
caracteristica statică de transfer în tensiune a inversorului trivalent este prezentată în Figura
3.5.

18
6.0V

4.0V

2.0V

0V

-1.0V
0s 5us 10us 15us 20us 25us 30us 35us 40us 45us 50us 55us 59us
V(V1inv1:+)
Time

Figura 3.3 Cronograma tensiunii de intrare (V(V1inv1:-)

6.0V

4.0V

2.0V

0V

-1.0V
0s 5us 10us 15us 20us 25us 30us 35us 40us 45us 50us 55us 59us
V(M4inv1:d)
Time

Figura 3.4 Cronograma tensiunii de ieșire V(M4inv1:d)


19
6.0V

4.0V

2.0V

0V

-1.0V
0V 0.5V 1.0V 1.5V 2.0V 2.5V 3.0V 3.5V 4.0V 4.5V 5.0V
V(M4inv1:d)
V(V1inv1:+)

Figura 3.5 Caracteristica statică de transfer în tensiune vO(vI)

3.2 Obținerea și pregătirea datelor pentru simulare


Pentru obținerea datelor necesare s-a realizat o simulare de tipul Time
Domain(Transient).

20
Figura 3.6 Simularea de tip transient
Analiza regimului tranzitoriu este cea mai des folosită în PSpice. Această analiză s-a
utilizat pentru determinarea comportării în timp a circuitului de la momentul timp TIME=0 ,
până la momentul precizat cu parametrul TSTOP=0.059ms, reprezentând timpul până la care se
efectuează analiza de regim tranzitoriu.Parametrul TSTOP a fost setat la valoarea de 0.059ms
deoarece în acest interval de timp semnalul de intrare trece prin toate cele 3 stări logice 0,1
respectiv 2. Parametrul TSTEP=0.0000001 reprezintă pasul de timp utilizat pentru tipărirea sau
trasarea grafică a rezultatelor cerute prin comenzile PRINT sau PLOT, în fişierul de ieşire.
Mărimea acestui parametru determină cantitatea de date salvate în fişierul de ieşire, influenţând
mărimea fişierului de ieşire.
Datele obţinute prin simularea circuitului în Orcad au fost exportate (în format
text)File- Export-Text și apoi salvate pentru a fi utilizate în Matlab.

Figura 3.7 Exportarea Datelor OrCAD

Au fost folosite trei seturi de date: setul de date de antrenare (75% din datele totale),
setul de verificare (25% din datele totale) respectiv setul total de date obținut în urma simulării
(620 perechi de date).

21
A fost aleasă tot a patra valoare din setul de date complet (620 perechi de date)pentru a
obţine perechile de date ale setului de verificare şi dimensiunea acestuia,folosind indexarea. În
urma simulării acestui cod se poate observa dimensiunea fiecărui set de date,155 reprezintă
numărul perechilor de date de intrare-ieşire a setului de verificare, iar 465 numărul perechilor
de date ale setului de antrenare. A fost afişată şi caracteristica statică de transfer în tensiune atât
pentru setul de antrenare cât şi pentru setul de verificare.

load date620;%incarcare set de date complet


idx=1:4:620;% este aleasa tot a patra valoare din setul de date
test_data=date620(idx,:);
size(test_data)%dimensiunea setului de verificare
plot (test_data(:,1),test_data(:,2))%afisare cstv folosind setul de
date de verificare
save test_data test_data% salvarea setului de date
date620(idx,:)=-1000;
date_col1=date620(:,1);%prima coloana din setul de date complet
date_col2=date620(:,2);%a doua coloana din setul de date
date_col1(date_col1==-1000)=[]
date_col2(date_col2==-1000)=[];
trn_data=[date_col1 date_col2];%setul de date de antrenare
size(trn_data)%dimensiune set de antrenare
plot (trn_data(:,1),trn_data(:,2))%afisare cstv folosind setul de date
de antrenare
save trn_data trn_data

Figura 3.8 Extras cod pentru generarea setului de antrenare şi setului de verificare

În urma simulării acestui cod sunt obţinute următoarele rezultate:

ans =

155 2
ans =

465 2

Figura.3.9 Dimensiunile seturilor de date de antrenare şi de verificare

Setul de antrenare și setul de verificare au fost pregătite pentru a fi utilizate de funcțiile


genfis, anfis din Matlab iar setul total de date a fost pregătit pentru a se verifica corectitudinea
modelului fuzzy obținut.

22
Datele de intrare sunt considerate valorile tensiunii de intrare (datele din prima coloană
din Tabelul 3.1) iar datele de ieșire sunt valorile tensiunii de ieșire (coloana a doua din Tabelul
3.1)

Tensiune de intrare [V] Tensiune de ieșire [V]


0.025001 4.889199
0.075002 4.889373
0.175004 4.886665
0.375007 4.880497
0.625019 4.866138
0.87503 4.836346
1.125042 4.751179
1.31229 4.218394
1.523082 3.317835
1.610597 3.046816
1.740639 2.752001

Tabelul 3.1 Extras din setul de date de antrenare

3.3 Utilizarea funcțiilor Matlab


Pentru modelarea fuzzy în Matlab au fost utilizate funcțiile: genfis1, anfis, writefis
respectiv evalfis.
Funcția genfis1 – generează un sistem fuzzy inițial de tip Sugeno, sistem ce are nevoie
de antrenare. Funcția genfis1 utilizează ‘grid partition’, fără gruparea datelor iar parametrii
mulţimii fuzzy de ieșire au toți valoarea 0. Ca urmare a utilizării genfis1, se generează și o bază
de reguli completă. Forma generală a funcției este:
fismat = genfis1(data, numMFs).
În cazul nostru, datele utilizate pentru generearea sistemului fuzzy sunt datele de
antrenare (”date_antren”) iar numărul de reguli este 10 (numMFs). Sistemul fuzzy generat a
fost denumit car_cstv_init. Astfel,
car_cstv_init=genfis1(date_antren,10).
Sistemului fuzzy a fost antrenat apoi utilizând funcția anfis. Forma generală a funcției
este:
[fis,error,stepsize,chkFis,chkErr]=anfis(trnData,initFis,trnOpt,dispOpt,chkData,optMetho)
unde fis reprezintă sistemul cu logică fuzzy la sfârşitul antrenării,error- evoluţia erorii în setul
de antrenare, stepsize-mărimea pasului de optimizare, chekfis-sistemul cu logică fuzzy la
începerea suprapotrivirii şi chkerror-evoluţia erorii în setul de verificare,iar cea utilizată este:
[car_cstv, err, xxx, car_chk, err_chk]=anfis(date_antren, car_cstv_init, epoch,[],date_chk).

Funcţia anfis oferă anumite informaţii cu privire la procesul de antrenare, printre care şi
informaţii referitoare la:

Numărul nodurilor- sistemul cu logică fuzzy generat şi antrenat pentru obţinerea


caracteristicii statice de transfer în tensiune a inversorului simplu trivalent simplu are 44 de
noduri;
Numărul parametrilor neliniari- pentru muţimile fuzzy din antecedentul
regulii(mulţimile fuzzy de intrare ) s-a folosit un număr de 30 de parametrii neliniari; În cazul
de faţă mulţimile fuzzy utilizate sunt de tipul gbell şi se folosesc 3 parametri neliniari pentru
fiecare mulţime fuzzy de intrare;
23
Numărul parametrilor liniari-pentru mulţimile fuzzy din consecinţa regulii (mulţimi
fuzzy de ieşire) s-a folosit un număr de 20 de parametrii liniari;
Numărul total al parametrilor-pentru mulţimile fuzzy de intrare şi pentru mulţimile
fuzzy de ieşire s-au folosit în total 50 de parametri;
Perechilor de date de antrenare -setul de date de antrenare conţine un număr de 465 de
perechi de date;
Perechilor de date de verificare -setul de verificare conţine un număr de 155 de perechi
de date ;
Regulilor fuzzy-numărul regulilor ce se vor utilizate în blocul de inferenţă este 10;

Start training ANFIS

1 0.0337785 0.00886932
2 0.0329395 0.00841077
3 0.0320375 0.00802297
4 0.0310821 0.00774185
5 0.0300841 0.00760063
Step size increases to 0.011000 after epoch 5.
6 0.0290513 0.00762228
7 0.0278758 0.00784239
8 0.026643 0.00825421
9 0.0253206 0.00882119
Step size increases to 0.012100 after epoch 9.

Figura. 3.10 Extras date din procesul de antrenare

Acest rezultat reprezintă o parte din datele obţinute (pentru primele 9 epoci) în timpul
procesului de antrenare. Pe prima coloană sunt prezentate valorile tensiunii de intrare,iar pe a
doua coloană ,valorile tensiunii de ieşire.

Pentru salvarea sistemului fuzzy creat în workspace sub forma unui fișier .fis s-a
utilizat funcția writefis, funcție ce are sintaxa:writefis (fismat,'filename'), iar pentru modelul
realizat funcția are următoarea formă: writefis (car_cstv,'caract_cstv').
Efectuarea calculelor din interfața fuzzy s-a realizat cu ajutorul funcției evalfis, cu
sintaxa:output=evalfis(input,fismat)
iar cea utilizată fiind: tensiesire_init2=evalfis(tensintrare,car_cstv)unde:
tensiesire_init2 reprezintă tensiunea de ieşire obţinută în urma antrenării sistemului.

Pentru a înţelege mai bine procesul de generare al sistemului fuzzy de tip Takagi-
Sugeno şi pentru a urmării paşii făcuţi în obţinerea sistemului, am pornit de la prezentarea în
general a unui sistem de acest tip. Pentru obţinerea rezultatului final acest sistem este trecut
prin trei etape: fuzzificare, inferenţă şi defuzzificare. În cazul acestui tip de sistem nu se
realizează agregarea ieşirilor regulilor, operaţie folosită doar în cazul sistemului de tip
Mamdani. Pe baza figurii 3.11 sunt prezentate aceste etape.

24
Figura 3.11 Prelucrarea semnalelor într-un sistem cu logică fuzzy Takagi-Sugeno[37]

Acest proces de generare al sistemului fuzzy de tip Sugeno porneşte de la definerea


unor variabile de intrare respectiv variabile de ieşire care sunt folosite în realizarea unei baze
de reguli.

Fuzzificarea

x 1∗¿ şi x 2∗¿ sunt valorile tranşante ale variabilelor de intrare. Acestea sunt supuse
procesului de fuzzificare în urma căruia rezultă mulţimile fuzzy de ieşire X 1*, respectiv X 2 * de
tip singleton. Gradele de activare (adevăr) notate cu µ1, respectiv µ2 ale regulilor sunt valori
intermediare folosite în cadrul etapei de inferenţă

Inferenţa

R2 este o regulă compusă şi conţine în partea de premisă ambele variabile legate prin
conectivul fuzzy ŞI. În cazul conectivul ŞI se foloseşte operatorul“min” operator folosit pentru
în cadrul acestei etape.Valorile fuzzy parţiale Y 1* şi Y 2* ale variabilei de ieşire furnizate de
regulile sistemului, diferă în funcţie de ordinul SLF T-S(sistem cu logică fuzzy Takagi-
Sugeno) de ordin zero sau de ordin unu. Sistemul este de ordin zero dacă f(x,y) = k, unde k
reprezintă o constantă . În acest caz funcţiile de apartenenţă ale consecinţelor sunt de forma
singleton(mulţime fuzzy a cărei funcţie de apartenenţă ia valoarea 1 pentru un singur punct din
universul de discurs şi 0 în toate celelalte puncte). Dacă sistemul este de ordin unu atunci f(x,y)
= ax + by+c.

Defuzzificarea

Aceste valori parţiale sunt supuse etapei de defuzzificare folosind metode diferite cum
ar fi: media ponderată sau suma ponderată. În urma defuzzificării se obţine valoarea tranşantă
a variabilei de ieşire y* corespunzătoare valorilor tranşante ale celor două variabile de intrare.
25
În urma procesului de generare s-a obţinut sistemul fuzzy iniţial care este prezentat în
Figura 3.12

Figura 3.12 Structura sistemului fuzzy

[System]
Name='caract_cstv'
Type='sugeno'
Version=2.0
NumInputs=1
NumOutputs=1
NumRules=10
AndMethod='prod'
OrMethod='max'
ImpMethod='prod'
AggMethod='max'
DefuzzMethod='wtaver'

Figura 3.13 Informaţii generale cu privire la sistemul fuzzy generat

Sistemul fuzzy generat conţine o singură variabilă de intrare şi o singură variabilă de


ieşire. Tensintrare reprezintă variabila de intrare, iar tensieşire reprezintă variabila de ieşire a
sistemului. Universul discuţiei al variabilei de intrare este [0 5] iar al variabilei de ieşire
[-6.677e-05 4.8893] .
Sistemul fuzzy este de tipul Takagi-Sugeno și conține 10 mulțimi de intrare, respectiv
10 mulțimi de ieșire. Mulțimile fuzzy de intrare sunt de tipul gbell (generalizate sub formă de
clopot) care depind de 3 parametrii a,b și c unde parametrul b este de obicei pozitiv iar c
reprezintă centrul curbei. Mulțimile fuzzy de ieșire sunt de tip singleton. Aceste mulţimi sunt
prezentate în Figura3.14 respectiv Figura 3.15.
Operația de agregare a rezultatelor este realizată cu ajutorul operatorului “maxim”care
va cumula maximul fiecărei ieşiri în scopul aplicării metodei de defuzzificare.
26
Operaţia de selecţie a valorii tranşante a ieşirii, adică, de defuzzificare a rezultatului
fuzzy al inferenţei fuzzy, este weighted average(medie ponderată). Această metodă folosește
mulțimi fuzzy de ieșire scalate individual,ia valoarea de vârf a fiecărui set de ieșire fuzzy și
construiește media ponderată a acestor valori de vârf.
Formula care stă la baza calculării valorii defuzzificate este:

f ( μ ( x ))=
−1 ∑ μ c (x )∙ x (3.5)
∑ μ c (x )

Figura 3.14 Mulțimile fuzzy de intrare

Figura 3.15 Multimile fuzzy de ieșire

27
Sistemul fuzzy ce modelează caracteristica de transfer în tensiune conține un număr de
10 reguli.Regulile obținute prin generarea sistemului sunt prezentate în Figura 3.16 respectiv în
Figura 3.17. În funcție de valoarea curentă a valorii mărimii de intrare rezultă poziția mărimii
fuzzy de ieșire respectiv gradele de activare a fiecărei reguli în parte.

Figura 3.16 Regulile sistemului fuzzy sub formă de text

Figura 3.17 Baza de activare a regulilor


28
Se observă modul de activare al regulilor. În funcţie de valoarea curentă a mărimii de
intrare rezultă poziţia mărimii de ieşire precum şi gradele de activare a fiecărei reguli în parte.
Pentru cazul în care tensiunea de intrare are valoarea 0 V se obţine tensiunea de ieşire cu
valoarea de 4.89 V,fiind activă doar prima regulă.
Codul ce cuprinde atât procesul de generare cât şi procesul de antrenare al sistemului
fuzzy este prezentat în figura 3.18. Prin simularea acestui cod este obţinută caracteristica
statică de transfer în tensiune pentru inversorul trivalent simplu. Pentru a verifica
corectitudinea modelului fuzzy este afişată evoluţia erorii. Această eroare este reprezentă în
două moduri,prin utilizarea unui număr de 1000 de epoci de antrenare şi ca diferenţă dintre
tensiunea de ieşire iniţială, respectiv cea obţinută în urma antrenării sistemului. Se realizează o
comparaţie între caracteristica de transfer în tensiune obţinută cu ajutorul setului de date de
antrenare şi cea obţinută cu ajutorul setului de date complet, pentru a verifica care dintre
acestea este cea mai potrivită în obţinerea unui rezultat corect.

close all % închide toate figurile


clear all % sterge toate variabilele existente în workspace
clc % sterge consola (fereastra de comenzi)
load test_data;% încărcare set de date de verificare
load trn_data; % încărcare set de date de antrenare
date_chk= test_data;
load date620;% încărcare set de date iniţial(complet)
date_antren=date620;% datele de antrenare sunt egale cu datele setului
complet
%date_antren=trn_data;
car_cstv_init=genfis1(date_antren,10);% generarea sistemului folosind
setul de date complet şi cele 10 mulţimi fuzzy
writefis(car_cstv_init,'car_cstv_init');% sistemul creat salvat în
workspace
epoch=1000;% numărul de epoci
[car_cstv, err, xxx, car_chk, err_chk]=anfis(date_antren, car_cstv_init,
epoch,[],date_chk);% antrenarea sistemului
figure
plot([err err_chk])% afişarea erorii iniţiale şi cea de verificare
folosind numărul de epoci
legend ('trn','chk')
writefis(car_cstv,'caract_cstv');
load date620;
dateorig=date620;
tensiesire=dateorig(:,2);%a doua coloană din setul de date este tensiunea
de ieşire
Figura 3.20 Cod de bază pentru realizarea
tensintrare=dateorig(:,1);%prima coloanămodelului CSTVde date este tensiunea
din setul
de intrare
figure
plot(tensintrare,tensiesire,'r');%afişarea CSTV iniţială
hold on;
tensiesire_init2=evalfis(tensintrare,car_cstv);%tensiunea de ieşire
obţinută în urma antrenării sistemului
diferenta=(tensiesire-tensiesire_init2);%diferenţa dintre tensiunea de
ieşire iniţială şi cea obţinută în urma antrenării
plot(tensintrare,tensiesire_init2,'b');%afişarea CSTV după antrenare
plot(tensintrare,diferenta,'m');%afişarea diferenţei(eroarea)
legend('ref','trained')

Figura 3.18 Cod de bază pentru realizarea modelului CSTV

29
4. Rezultate experimentale

În acest capitol este prezentată modelarea carateristicii statice de transfer în tensiune


pentru inversorul trivalent simplu folosind seturi diferite de date.
În primul caz s-a luat în considerare un set de date, denumit set de antrenare, set ce
conţine un număr de 465 perechi de date intrare-ieşire. Urmărind diferenţele dintre
caracteristica statică de transfer în tensiune obţinută în Orcad şi cea obţinută cu ajutorul
modelului fuzzy s-a încercat îmbunătăţirea modelului prin utilizarea unui număr mai mare de
perechi de date intrare-ieşire. Astfel, noul set de date utilizat conţine 620 de perechi de date.

4.1 Modelarea CSTV folosind datele parţiale

Rezultatele obţinute în urma modelării caracteristicii statice de transfer în tensiune a


circuitului inversor trivalent sunt prezentate în figurile următoare.

Figura 4.1 Modelarea CSTV

În figura 4.1 este comparată caracteristica statică de transfer în tensiune obținută cu


ajutorul sistemului fuzzy (culoarea albastră)cu CSTV reprezentată folosind setul de date
parţial, set de antrenare (465 perechi de date, culoarea roșie) . Eroarea apărută între tensiunea

30
de ieşire iniţială şi cea obţinută în urma antrenării sistemului este prezentată în figura
4.1(culoarea magenta).
Se observă o diferenţă mai pronunţată între cele două caracteristici în zona neliniară a
CSTV, caracteristica reprezentată de setul de date având o formă mai curbată decât cea iniţială.
Din acest motiv în aceea zonă se observă şi o creştere a erorii care pe celelalte porţiuni ramâne
aproximativ constantă.

Figura 4.2 Evoluţia erorilor folosind numărul de epoci

Analizând evoluţia erorii se observă o îmbunătăţire a performanţelor modelului


(scăderea erorii) în primele aproximativ 50 de iteraţii, după care îmbunătăţirea performanţelor
este mai lentă.

Error Error check


0.0380133362516076 0.105891085589593
0.0371559346248268 0.0942784669836580
0.0362263478103464 0.0812522185629040
0.0352250333751174 0.0670252741369409
0.0341515849669507 0.0519239394414399
0.0330007672734466 0.0365504715145782
0.0316278093505876 0.0216230090255701
0.0301045903629585 0.0189455975220211
0.0283772109871814 0.0328970740329637
0.0263982959183449 0.0513531634278002

Figura 4.3 Extras din evoluţia erorii pentru primele 10 iteraţii


31
Figura 4.4 Baza de activare a regulilor

Figura 4.5 Suprafaţa de control CSTV

32
4.2 Modelarea CSTV folosind datele complete

Figura 4.6 Modelarea CSTV

În figura 4.6 Atât caracteristica statică de transfer în tensiune obținută cu ajutorul


sistemului fuzzy (culoarea albastră)cât și CSTV reprezentată folosind setul de date
complet(620 perechi de date, culoarea roșie) au aproximativ aceeași formă. Nu se mai disting
diferențe în anumite zone, fapt pentru care și evoluția erorii fiind aproximativ liniară (cât mai
aproape de 0).

33
4.7 Evoluţia erorilor folosind numărul de epoci

În prima coloană sunt prezentate valorile obţinute pentru antrenarea erorii,iar în a doua
coloană valorile obţinute pentru verificarea erorii.

Error Error check


0.0337784675635137 0.00886931743885444
0.0329395257649768 0.00841077316267930
0.0320374933466232 0.00802297221961867
0.0310820936645372 0.00774185367870534
0.0300840750273645 0.00760063247289831
0.0290513357479754 0.00762228383519160
0.0278757571135329 0.00784238992783498
0.0266429539723827 0.00825421418225853
0.0253206080095550 0.00882118851354594
0.0238733956591318 0.00948372097369740

Figura 4.8 Extras din evoluţia erorii pentru primele 10 iteraţii

34
Figura 4.9 Baza de activare a regulilor

Figura 4.10 Suprafaţa de control CSTV

Realizând o comparaţie între caracteristica statică de transfer în tensiune din Figura 4.1
şi cea din Figura 4.6 se observă că CSTV din figura 4,6 pe întreaga suprafață urmărește CSTV
obținută cu ajutorul sistemului fuzzy. Eroarea din figura 4.1 are o formă liniară față de cea din
figura 4.6. Valorile obținute pentru error check prezentate în figura 4.8 sunt mult mai mici față
de cele obţinute în figura 4.3. Din baza de activare a regulilor se observă că, în ambele cazuri,
pentru o valoare de 2,5 V a tensiunii de intrare se obține o valoare de 2,4 V pentru tensiunea de
ieșire. În urma procesului de agregare și defuzzificare se obțin valori diferite,58.56 folosind
setul de date de antrenare și 74.16 folosind setul de date complet.
Analizând aceste diferenţe se poate deduce că rezultatul cel mai bun se obţine folosind
setul de date complet.Cu cât numărul perechilor de date este mai mare, cu atât rezultatul
obţinut se apropie cât mai mult de cel dorit. Înlocuirea setului de date de antrenare (465 perechi
de date) cu setul de date complet (620 perechi de date) s-a dovedit a fi un avantaj pentru
îmbunătăţirea modelului caracteristicii statice de transfer în tensiune. Încercarea îmbunătăţirii
modelului prin utilizarea unui număr mai mare de perechi de date intrare-ieşire a fost soluţia
optimă pentru obţinerea unui rezultat final corect.

35
Concluzii

În lucrarea de faţă a fost prezentată modelarea caracteristicii statice de transfer în


tensiune a unui circuit trivalent,utilizând tehnici de inteligenţă artificială (sisteme cu logică
fuzzy, reţele neuronale).Circuitele trivalente funcționează cu valori de tensiune
corespunzătoare la trei niveluri logice. Astfel, tensiunea de 0V este considerată ”0 logic”,
tensiunea de 2.5V este considerată ”1 logic”, respectiv tensiunea de 5V este folosită pentru
realizarea nivelului ”logic 2”.Avantajele principale ale circuitelor trivalente comparativ cu
circuitele binare sunt: transmiterea/stocarea unui volum mai mare de informații (pe un fir de
semnal se transmit trei niveluri logice), un necesar de fire de semnale mai mic, aria ocupată de
firele de semnal mai mică.Logica fuzzy este utilizată în această lucrare pentru a modela
funcţionarea inversorului trivalent simplu, circuit de bază în proiectarea circuitelor trivalente
complexe. Logica fuzzy este flexibilă, tolerantă la datele imprecise, poate modela funcţii
complexe cu nivel ridicat de precizie, poate fi combinată cu tehnici convenţionale de control şi
se bazează pe limbajul natural.
Modelarea funcțiilor de circuit are un impact pozitiv în etapa de proiectare a circuitelor
electronice.Simularea la nivel de circuit este mai costisitoare din punct de vedere al
calculelor,iar utilitatea modelării funcțiilor de circuit este dată și de eficiența din punct de
vedere al volumului, complexității calculelor modelului și de exactitatea acestuia.
Etapele procesului de modelare a caracteristicilor unui circuit cu ajutorul sistemelor
fuzzy sunt: simularea circuitului într-un mediu de simulare; obținerea datelor de simulare și
pregătirea acestora pentru utilizare; utilizarea funcțiilor pentru generarea, antrenarea și salvarea
sistemului fuzzy precum și verificarea corectitudinii sistemului fuzzy generat.
Simularea a fost realizată în Orcad,iar circuitul a fost proiectat folosind structura de
circuit SUS-LOC. O parte din avantajele acestei structuri sunt: viteza mare, consumul de putere
scăzut şi posibilitatea realizării unor seturi de circuite multivalente de bază,cu ajutorul cărora se
poate implementa orice funcţie logică. În urma procesului de simulare au fost obţinute seturi de
date ale valorilor tensiunilor de intrare şi ieşire, date necesare modelării caracteristicii statice de
transfer în tensiune.
Pentru generarea, antrenarea, salvarea și verificarea corectitudinii sistemului fuzzy
generat au fost utilizate funcțiile genfis, anfis, writefis, evalfis din Matlab.
Inițial a fost stabilit un număr de 465 perechi de date tensiune de ieșire/tensiune de
intrare,iar cu ajutorul modelului fuzzy generat a fost realizată o comparație între caracteristica
de transfer obținută în Orcad respectiv caracteristica de transfer obținută cu ajutorul modelului
generat. Deoarece au apărut nepotriviri între cele două caracteristici, în special în zonele
neliniare, s-a extins numărul perechilor de date necesar obținerii modelului la 620 de perechi.
Comparația realizată între caracteristica de transfer obținută cu ajutorul sistemului
fuzzy obținut folosind 620 perechi de date și caracteristica statică de transfer în tensiune
inițială,arată că sistemul fuzzy generat funcționează corect. Este necesar un număr cât mai
mare de perechi de date pentru obţinerea unui rezultat mai bun. Realizând comparaţia dintre
rezultalele obţinute folosind setul de date complet şi setul de date de antrenare,se observă prin
analizarea evoluţiei erorii şi a valorilor diferite din baza de activare a regulilor, că rezultatele
cele mai bune se obţin utilizând setul de date complet.
Contribuţia personală adusă în această lucrare este modelarea inversorului trivalent,
realizată în scopul reducerii timpului şi costului alocat simulării circuitelor mult mai complexe

36
şi îmbunătăţirea caracteristicii statice de transfer folosind mai multe perechi de date (de intrare
respectiv de ieşire).
Ca dezvoltări ulterioare,se recomandă utilizarea etapelor folosite în această lucrare
pentru modelarea altor circuite trivalente complexe cum ar fi: circuitul de maxim, circuitul de
minim,circuitul de maxim negat, circuitul de minim negat, cu două sau mai multe intrări, la
baza cărora se află inversorul trivalent.
Bibliografie

[1] http://rria.ici.ro/ria2000_1/art03.html

[2] http://ro.wikipedia.org/wiki/Logic%C4%83_fuzzy

[3 ] Prof.dr.ing Gabriel Oltean ,http://www.bel.utcluj.ro/dce/didactic/sln/01_LogicaFuzzy.pdf

[4] http://profs.info.uaic.ro/~alaiba/mw/index.php?title=Logica_Fuzzy

[5] http://www.armyacademy.ro/reviste/3_2001/rev2.html

[6] http://socio-umane.lispanciu.com/wp-content/pdf/pdf%20opere%20filosofice/Petre
%20Botezatu-Introducere%20in%20logica.pdf

[7] https://en.wikipedia.org/wiki/Three-valued_logic

[8] Dubrova, Elena (2002). Multiple-Valued Logic Synthesis and Optimization, in Hassoun S.
and Sasao T., editors, Logic Synthesis and Verification, Kluwer Academic Publishers, pp. 89-
114

[9]http://profs.info.uaic.ro/~alaiba/mw/index.php?title=Logica_polivalent
%C4%83:_de_la_teorie_la_practic%C4%83

[10] http://andrei.clubcisco.ro/cursuri/4ts/tsc/tsc-C02.pdf

[11] http://fmi.unibuc.ro/ro/biblioteca/intrari/pdf/2004/02/96_2.pdf

[12] Prof.dr.ing Gabriel


Oltean ,http://www.bel.utcluj.ro/dce/didactic/sln/11_ModelareFuzzy.pdf

[13] http://webbut.unitbv.ro/teze/rezumate/2011/rom/CrivatIoanBogdan.pdf

[14] Oltean, Gabriel, Şipoş Emilia, “Tehnici fuzzy în proiectarea şi modelarea circuitelor
analogice”, Editura U.T. Pres, Cluj-Napoca, 2007,pag 45.

[15] Viorel Trifa, Elena Ioana Gaur”Reţele Neuronale Artificiale. Arhitecturi Fundamentale”
Editura Mediamira 1996.

[16] http://www2.unitbv.ro/LinkClick.aspx?fileticket=RL_QLsOY4Yk%3D&tabid=4579

[17] E. Olson, Supplementary symmetrical logic circuit structure, Proceedings of the 29th
IEEE International Symposium on Multiple-Valued Logic, 1999, pag. 42 – 47.

37
[18] D. Olson and K. W. Current, "Demonstration of SUSLOC concepts using a CMOS test
chip", MVL Journal, vol.7, Taylor and Francis Group London, 2001, pag.1-23.

[19] E. Kinvi-Boh, M. Aline, O. Sentieys, Edgar D. Olson, MVL circuit design and
characterization at the transistor level using SUS-LOC, Proceeding ISMVL '03 Proceedings of
the 33rd International Symposium on Multiple-Valued Logic, Page 105, 2003, ISBN:0-7695-
1918-0 .

[20] http://www.bel.utcluj.ro/scs/rom/laborator/ts/l1_ts.pdf

[21]http://www.etti.tuiasi.ro/pac/PAC2/PAC2_Laborator/
Lab5_PAC2_Sim_circ_dig_si_mixte_cu_PSpiceAD_v1.pdf

[22] http://www.dragos.elth.pub.ro/cursuri/IndrLD.pdf

[23] http://www.mathworks.com/products/matlab/

[24] http://www.utgjiu.ro/ing/down/ts-lucrarea01.pdf

[25] Prof.dr.ing Gabriel Oltean ,


http://www.bel.utcluj.ro/dce/didactic/sln/02_MultimiFuzzy.pdf

[26] Zadeh, L. A. et al. 1996 Fuzzy Sets, Fuzzy Logic, Fuzzy Systems, World Scientific Press,
ISBN 981-02-2421-4.

[27] https://www.scribd.com/doc/51122152/Logica-Fuzzy

[28] http://www.data-machine.com/fuzzy1.htm

[29] http://profs.info.uaic.ro/~alaiba/mw/index.php?title=Logica_Fuzzy

[30] https://en.wikipedia.org/wiki/Defuzzification

[31 http://www.mathworks.com/help/fuzzy/comparison-of-sugeno-and-mamdani-systems.html

[32] https://www.scribd.com/doc/51122152/Logica-Fuzzy

[33] Conf.dr. Vasile GEORGESCU , ,”Modelarea comportamentului producatorului bazata pe


tehnici fuzzy “Revista Informatica Economică, nr. 1 (13) / 2000.

[34] http://www.ace.tuiasi.ro/users/103/2009-Dosoftei%20Catalin%20PhD%202009.pdf

[35] Jang, R.J-S., ANFIS, Adaptive-Network-Based Fuzzy Inference System, IEEE Transaction
on System, Man, and Cybernetics, 1993,Vol. 23, No. 3, pp. 665-685.

[36] ***Fuzzy Logic Toolbox, User’s Guide, Fourth printing, The Math Works, Inc. 1998.

[37] Prof.dr.ing Gabriel Oltean,


http://www.bel.utcluj.ro/dce/didactic/sln/06_SistemeFuzzy_MISO.pdf

38
39

S-ar putea să vă placă și