Documente Academic
Documente Profesional
Documente Cultură
STADIUL ACTUAL
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].
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].
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].
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].
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
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];
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].
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
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
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.
0.5
0.5
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].
11
FIS EDITOR-afişează informaţii generale cu privire la sistemul de inferenţă fuzzy
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.
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.
13
Figura 2.6 Afişarea regulilor
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.
15
3. Implementarea soluţiei adoptate
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)
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:
Ş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
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
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:+)
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.
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.
Figura 3.8 Extras cod pentru generarea setului de antrenare şi setului de verificare
ans =
155 2
ans =
465 2
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)
Funcţia anfis oferă anumite informaţii cu privire la procesul de antrenare, printre care şi
informaţii referitoare la:
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.
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]
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
[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'
f ( μ ( x ))=
−1 ∑ μ c (x )∙ x (3.5)
∑ μ c (x )
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.
29
4. Rezultate experimentale
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ă.
32
4.2 Modelarea CSTV folosind datele complete
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.
34
Figura 4.9 Baza de activare a regulilor
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
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
[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
[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
[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
[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.
38
39