Professional Documents
Culture Documents
Seminarski rad
PSPICE je program koji omogućava efikasno obavljanje sva tri uobičajena tipa analize elektronskih
kola: određivanje jednosmernog režima rada, analiza u naizmeničnom režimu za male signale,
određivanje vremenskog odziva kola.
Pored njih raspložive su i opcije koje daju osetljivosti, izobličenja, funkcije prenosa, factor šuma,
“Worst Case” analizu i sl.
Otvoren kod i jednostavna pravila omogućavaju da korisnici Matlaba mogu za 5 minuta da nauče
osnovne komande i da odmah proizvode programe koji rešavaju jednostavne inženjerske probleme.
2
Sadržaj
1. Uvod .................................................................................................................................................4
2. PCPICE osnove programskog paketa ..............................................................................................4
2. 1. Osnove programa……… ..............................................................................................5
2. 2. Prikazivanje elemenata……… .........................................................................................5
2. 3. Otpornici……… ...........................................................................................................6
2. 4. Induktori……… ...........................................................................................................6
2. 5. Kondenzatori……… .....................................................................................................6
2. 6. Nezavinski naponski izvor… .........................................................................................7
2. 7. Nezavisni izvor struje……… ..........................................................................................7
2. 5. Kondenzatori……… .....................................................................................................6
2. 6. Nezavinski naponski izvor… .........................................................................................7
3. PCPICE upravljačke naredbe …...……………................................................................................8
3. 1. Pokretanje programa i zadavanje imena……… ............................................................8
3. 2. DC analiza (.DC)……… ................................................................................................9
3. 3. Analiza u vremenskom domenu TRANSIENT analiza (.TRAN)……… ......................10
3. 4. AC analiza (.AC)……… ................................................................................................12
3. 5. Komanda štampanje (.PRINT)……… .........................................................................14
3. 6. Početni uslovi (.IC, .UIC)… .........................................................................................14
3. 7. PSPICE Probe - program za prikazivanje rezultata analize (.PROBE)……… .............14
4. MATLAB osnove programskog paketa …..….............................................................................16
4. 1. Pokretanje i zaustavljanje MATLAB-a ……… ............................................................16
4. 2. MATLAB struktura i varijable … ..................................................................................18
4. 3. Saveti za rad u MATLAB-u ……… ..............................................................................21
4. 4. Grafičke funkcije MATLAB-a ……… ..........................................................................22
4. 5. Parametriranje dijagrama ……… ..................................................................................24
4. 6. Kreiranje m-fajlova i pisanje vlastitih funkcija u MATLAB-u … .................................26
4. 7. Kontrola toka izvršenja ……… ......................................................................................27
4. 7. MATLAB pomoć ……… ..............................................................................................30
5. Zaključci …...……………..............................................................................................................31
6. Literatura ................................................................................................................................31
3
1. Uvod
U Teoriji električnih kola pod analizom električnih kola podrazumeva se određivanje odziva
električnog kola kada je poznata eksitacija (pobuda) u kolu, kao i sama konfiguracija kola. Kada su u
električnim kolima struja i napon nesinusoidalne periodične funkcije, onda takvo stanje u kolu
nazivamo složenoperiodični režim. Analiza ovakvog režima u električnim kolima izvodi se sličnim
metodama koje važe za kola u kojima se struja i napon menjaju po prostoperiodičnim zakonima. Ova
mogućnost je posledica činjenice da se složenoperiodične funkcije mogu predstaviti redom
prostoperiodičnih funkcija čije frekvencije rastu po aritmetičkoj progresiji, za šta zaslugu ima
francuski matematičar i fizičar Joseph Fourier. Za određivanje odziva složenijih električnih kola
koriste se računari (sa dobrim hardverskim karakteristikama) kao i adekvatan softver. PSPICE (PC
Simulation Program for Integrated Circuit Emphasis) je jedan od softvera za određivanje odziva
električnih kola. U ovom radu su prikazane mogućnosti primene softverskog paketa PSPICE za
određivanje odziva električnih kola u složenoperiodičnom režimu. Realizacija ovog rada je bazirana
a teorijskim osnovama teorije električnih kola, gde je, na selektivnim primerima kola u
složenoperiodičnom režimu izvršena simulacija rada kola upotrebom programskog paketa PSPICE.
Linearni odziv kola na prostoperiodičnu pobudu daje frekvencijsku karakteristiku kola za male
signale (nezavisno od veličine amplitude pobudnog napona), sa vrednostima parametara nelinearnih
elemenata u okolini mirne radne tačke. Dodatno u okviru naizmenične (AC Sweep) analize može se
odrediti veličina šuma koji elementi kola generišu, bilo kao nivo šuma na izlazu ili ekvivalentni šum
na ulazu. Analiza u vremenskom domenu (Transient) daje odziv kola u specificiranim tačkama na
različite pobude u intervalu koji korisnik specificira. Za periodičnu pobudu program može da računa
4
i Fourierove koeficijente signala na izlazu, a samim tim i harmonijska izobličenja. Progam ima
ugrađene modele za sve uobičajene nelinearne elemente koji se mogu praviti u integrisanoj tehnici:
diode, MOS (Metal-Oxide-Semiconductor) tranzistore, bipolarne tranzistore, tiristore, IGBT-ove
(Insulated-Gate Bipolar Transistor), JFET-ove (Junction Field Effect Transistors) i MOSFET-ove
(Metal-Oxide-Semiconductor Field Effect Transistors) [2]. Ukoliko se posebno ne specificira sva
izračunavanja se obavljaju za temperaturu od 27 stepeni Celzijusa. Dodatna ograničenja programa
su:
čvor 0 (0/Source) je rezervisan za zajedničku tačku,
simulacija se neće obaviti ukoliko svi čvorovi nisu električno povezani sa zajedničkom
tačkom,
svaki čvor u kolu mora biti vezan za bar dva elementa,
nisu dozvoljeni preseci od strujnih izvora i induktivnosti,
Paket Orcad Family Release 9.2 Lite Edition ne pruža sve mogućnosti kao puna verzija ovog
programa. Lite Edition verzija unosi sledeća ograničenja:
mogu se simulirati kola sa maksimalno 64 čvora, 10 tranzistora, 2 operaciona pojačavača ili
65 osnovnih digitalnih kola i 10 transmisionih linija,
PSPICE Model Editor može se koristiti samo za diode,
Stimulus Editor se može koristiti za prostoperiodične napone kod analognih kola i za clock
kod digitalnih kola,
osnovna biblioteka ima 39 analognih i 134 digitalna kola,
kreirana šema u Capture editoru se može zapisati ako nema više od 30 komponenti.
Simulacija, po pravilu treba da bude produžetak teorijskih ili intuitivnih razmatranja, a predhodnica
eksperimenta. Bez početnih proračuna, rezultati simulacije, ma koliko spektakularni, neće imati
inženjersku težinu.
5
Tabela 1. Oznaka i odgovarajući element
2.3. Otpornici
Opšteprihvaćeni način opisivanja otpornika je:
Rime N + N – vrednost*
Gde ime mora početi sa slovom R. Dok su N + N – pozitivni I negativni čvorovi otpornika,
respektivno, vrednost* određuje vrednost otpornika. Ona može biti pozitivna i negativna ali ne nula.
2.4. Induktori
Opšteprihvaćeni način opisivanja induktora je:
Gde ime induktora mora početi slovom L. Dok su N + N – pozitivni I negativni čvorovi induktora,
vrednost* određuje vrednost indukcije, a početni uslov za prolazne analize je obaveza korišćenja
vrednosti početne struje.
2.5. Kondenzatori
Opšteprihvaćeni način opisivanja linijskih kondenzatora je:
6
Cime N + N- vrednost* [IC = početni napon]
Gde ime kondenzatora mora početi slovom C. Dok su N + N – pozitivni I negativni čvorovi
kondenzatora, vrednost* ukazuje na vrednost kapacitativnosti, a početni uslov za prolazne analize je
obaveza korišćenja početnog napona kondenzatora.
gde izvor napona mora početi sa slovom V. Dok su N + i N - pozitivni i negativni čvorovi izvora,
odnosno, a izvoru mogu biti dodeljene vrednosti za analizu dc [DC vrednosti], ac analizu [AC
magnitudna faza], i prolaznu analizu. Samo jedan od prolaznih opcija izvora odgovor (puls, SIN,
EKSP, PVL, SFFM) mogu se odrediti za svaki izvor. Ugao AC faze je u stepenima.
gde izvor struje mora početi sa slovom I. Dok su N + i N - pozitivni i negativni čvorovi izvora, struja
teče od pozitivnog kanegativnom čvoru , a strujnom izvoru mogu biti dodeljene vrednosti za analizu
dc [DC vrednosti], ac analizu [AC magnitudna faza], i prolaznu analizu. Samo jedan od prolaznih
7
opcija izvora odgovor (puls, SIN, EKSP, PVL, SFFM) mogu se odrediti za svaki izvor. Ugao AC
faze je u stepenima.
8
Da bi se došlo do editora za crtanje šema potrebno je odraditi sledeće:
1. Aktivirati: File →New Project, što je prikazano na Slici 2;
2. Selektovati Analog or Mixed A/D, upisati ime (u polju name) i izabrati mesto (Location) za
zapisivanje file-a u kome će se nalaziti šema željenog kola za simulaciju;
3. Aktivirati OK, pa označiti opciju Create a blank project i na kraju još jednom OK, što je
prikazano na Slici 3.
gde je SOURCE_NAME ime za nezavisni naponski ili strujni izvor za početnu krajnju ili srednju
vrednost, i predstavljanu početnu, završnu i vrednost povećanja (priraštaja).
Ovo je analiza kojom se određuje zavisnost promene vrednosti jednosmernih napona i struja sa
promenom neke od promenljivih, prema slici 4.
Gde su izabrani uslovi unutar zagrada, TSTEP je štampanje ili crtanje priraštaja, TSTOP je krajnje
vreme za prolazne analize.
Analiza u vremenskom domenu, ili analiza prelaznog režima počinje od t=0. Da bi analiza imala
smisla potrebno je definisati pobude koje se menaju sa vremenom, VSIN, ISIN, VPULSE, IPULSE
i sl.
10
Posle ovoga dobija se prozor prikazan na slici 5.
Ova opcija često se koristi kod dugotrajnih prelaznih procesa u cilju skraćivanja trajanja analize.
Simboli IC1 i IC2 nemaju uticaja pri DC analizi kola, za razliku od simbola NODESET1 i
NODESET2 koji imaju uticaja za izračunavanje DC vrednosti pri prvoj iteraciji. Ovo se može
koristiti kod kola koja imaju više stabilnih radnih tačaka.
11
Slika 6. Postavljanje početnih uslova pri analizi prelaznih procesa
Ova analiza obuhvata određivanje napona i struja sa promenom učestanosti, a u ovom prozoru se
definiše kako se menja učestanost i to:
12
Start Freq.-učestanost od koje počinje analiza (obratiti pažnju da ova vrednost ne može
biti nula)
End Freq.- učestanost sa kojom se završava analiza.
Odnos krajnje i početne učestanosti ne sme biti manji od dva kod opcije sa Octave ili deset kada je
uključena opcija Decade. Da bi se AC Sweep analiza pokrenula potrebno je da bar jedan izvor ima
definisanu nenultu vrednost u polju AC.
Ukoliko se želi analizirati uticaj šuma onda treba obeležiti polje Noise Enabled, slika 8.
13
Ova analiza obavlja se paralelno sa AC analizom. Potrebno je uneti ime čvora na kome se posmatra
ekvivalentni napon šuma, ovde v(out), gde je out ime čvora u našem slučaju. U kolu se uračunaju
uticaji svih šumova i svedu na ekvivalentni napon šuma na izlazu. Da bi se taj šum sveo na mesto
nekog naponskog ili strujnog generatora potrebno je u polje I/V uneti njegovo ime. Ovaj šum
(inoise) služi za ekvivalentiranje datog kola preko generatora (I/V), generatora šuma na ulazu i kola
u kome nema šuma.
Vrednost šuma na izlazu (onoise), kao i ekvivalentnog šuma na ulazu bešumnog kola (inoise)
zapisuju se u izlaznu datoteku (Analysis, pa Examine Output). U slučajivima kada nam nije
potreban veliki broj zapisanih podataka u izlaznoj datoteci, pošto se ova analiza, kao i AC analiza
obavlja prema napred navedenoj specifikaciji, u polje Interval treba uneti broj tačaka, ovde po
dekadi, za koji se zapisuju podaci. Ovo ne umanjuje rezoluciju prikazivanja napona šuma, u
programu za grafičko prikazivanje rezultata PROBE, pošto on prikazuje rezultate obrade šuma kao i
za AC analizu.
gde ANALYSIS_TYPE može biti DC, AC, TRAN. Samo jedna vrsta analiza mora biti navedena za
štampanje.
Treba napomemuti da se koristi samo kada su pošetni uslovi na indukcionom kalemu ili
kondenzatoru u slučaju analize u vremenskom domenu . TRAN koristi .UIC
14
.PROBE OUTPUT_VARIABLES
Ulaženje u program može se obaviti automatski posle svake analize, ili po potrebi. Ovo se postavlja
pokretanjem sledećih opcija iz menija, Analysis, zatim Probe Setup, nakon čega treba da se dobije
prozor u kome se postavljaju vrednosti bitne za prikazivanje rezultata, slika 9.
Najčešće je potrebno automatski, posle svake analize prikazati dobijeni oblik napona ili struje
pomoću PROBE, a ovo se ostvaruje obeležavanjem, uz pomoć miša, polja Automatically run
Probe after simulation. Ako se ne želi startovati PROBE posle simulacije (npr. kada se samo žele
analizirati rezultati u izlaznoj datoteci) onda treba označiti opciju Do not auto-run Probe. Ako posle
ovoga kojim slučajem želimo videti oblike napona ili struje, to možemo učiniti iz menija,
aktiviranjem Analysis, a potom i Run Probe.
Prilikom startovanja PROBE na ekranu će se prikazati napon ili struja ako je na šemi prisutan neki
od markera. Izgled nekih od markera prikazan je na slici 10. Oni se mogu postavljati pre ili posle
analize. Ako se žele videti oblici napona ili struja na mestu gde su markeri postavljeni pre analize
mora biti uključena opcija Show all markers. Ova opcija omogućava i prikazivanje rezultata ako se
markeri postave u kolo i posle analize. Ako se označi opcija Show selected markers, tek posle
analize naknadnim postavljanjem markera moguće je videti rezultate analize.
15
Slika 10. Primer kola za prikazivanje rezultata simulacije
MATLAB predstavlja interaktivni sistem čiji je osnovni tip podataka matrica koji ne zahtijeva
prethodno dimenzioniranje, te je vrlo pogodan za rješavanje tehničkih problema koji zahtijevaju rad
sa matricama. Interakcija s korisnikom se odvija direktnim unošenjem komandi na promptu u
komandnom prozoru. Pored toga omogućeno je i pisanje programa u vidu m-fajlova koje MATLAB
potom interpretira i izvršava. MATLAB sadrži i kolekcije već predefiniranih funkcija koje su
grupisane u alatne grupe (eng. Toolbox) namijenjenih za rješavanje problema iz neke naučne oblasti
npr. Optimization Toolbox, Neural Network Toolbox, Fuzzy Logic Toolbox, Control System
Toolbox, Signal Processing Toolbox, Statistics Toolbox itd. Postoji još mnogo primjena ovakvih
alata, ali mi ćemo se fokusurati na akviziciju, analizu i vizualizaciju podataka.
Pokretanje MATLAB-a se vrši odabirom MATLAB-a iz Programs menija ili dvostrukim klikom na
ikonu na desktopu. Kada se se otvori grafički interfejs MATLAB-a sačekamo da se pojavi znak ‘>>’
koji označava da je MATLAB spreman za unos podataka.
16
Grafički interfejs MATLAB-a pored standardizovanih menija sačinjavaju i prozor za unošenje
komandi, prozor koji vodi evidenciju o svim ranije unesenim komandama, prozor za manipulaciju
folderima i radni prostor u kome su prikazane sve globalne varijable koju su trenutno dostupne
unutar MATLAB-a. Izgled grafičkog interfejsa MATLAB-a je prikazan na slici 11.
MATLAB korisniku nudi veoma kvalitetan sistem pomoći koji se aktivira unosom komadne riječi
'help' u komandni prozor. MATLAB posjeduje i veliku kolekciju demonstracija korištenja pojedinih
alatnih skupina, kojima je moguće pristupiti korištenjem naredbe ‘demo’. Ukoliko znamo ime
funkcije, ali ne znamo kako da je upotrijebimo, koje parametre prima i slično, moguće je jednostavno
unijeti sljedeći zahtjev za pomoć u komandni prozor:
Da bi napustili MATLAB potrebno je unijeti ‘quit’ ili ‘exit’. Ukoliko želite obustaviti rad prije
završetka i sačuvati podatke ukucajte ‘save’ prije napuštanja programa i vaš radni postor će biti
sačuvan u tekućem direktoriju (naziv fajla je po defaultu matlab.mat). Tekući direktorij predstavlja
direktorij unutar kojeg će MATLAB spašavati sve podatke, dnevnike, m-fajlove, slike, modele i sl.
ukoliko eksplicitno ne naznačite drugačije.
Također, unutar tekućeg direktorija je moguće pozivati sve sačuvane fajlove unošenjem samo
njihovog imena, bez navođenja pune memorijske adrese. Ukoliko želite nastaviti raditi na svom
projektu nakon pokretanja MATLAB-a ukucajte ‘load’ da povratite vaš prijašnji radni prostor i
nastavite tamo gdje ste se prethodno zaustavili.
17
4.2. MATLAB struktura i varijable
MATLAB koristi slijedeće elementarne operacije i funkcije: aritmetičke, logičke i operacije izmjene
podataka te matematičke i grafičke funkcije. One se izvode na objektima određenog tipa podataka, a
to su matrice. Iz tog se razloga matricama ovdje pridodaje naziv MATLAB varijable. One mogu
sadržavati realne i kompleksne brojeve te ASCII znakove. Funkcije rade nad varijablama koje se
trenutno nalaze u radnom prostoru ili kreiraju nove varijable. Po izvršenju funkcije sve varijable
ostaju u radnom prostoru i može ih se pregledati, crtati, te dalje koristiti.
» x = 7.25
x=
7.2500
» vektor = [4 2 -3]
uz odgovor
vektor = 4 2 -3
» matrica = [3 1+2*i 7; 4 0 -5]
uz odgovor
matrica = 3.0000 1.0000 + 2.0000i 7.0000
4.0000 0 -5.0000
» jednostupcanamatrica = [3; 5; 7; 1-3i]
uz odgovor
jednostupcanamatrica =
3.0000
5.0000
7.0000
1.0000 - 3.0000i
» [2, -4, 5; -8, 3, -2]
uz odgovor
ans =
2 -4 5
-8 3 -2
Ne upiše li se naziv varijable Matlab sam dodaje naziv ans (odgovor). Iz ovih primjera proizlazi da
su unosi jednog reda matrice međusobno odvojeni praznim mjestima, a jednog stupca s točka –
18
zarezom. Točka – zarez na kraju naredbe označava da se rezultat ne ispisuje na ekranu. Pored toga ;
služi za razdvajanje više naredbi u jednom redu. Ukoliko nam je naredba predugačka za jedan red
dodavanjem na kraju tog reda ... ista se nastavlja u sljedećem redu.
Matlab varijable mogu sadržavati realne i kompleksne brojeve te ASCII znakove. Varijable u
Matlabu su matrice, različitog sadržaja i dimenzije. Skalarne se veličine tretiraju kao matrice 1˟1,
dok su vektori stupčane ili redne matrice. Kao i kod svih računalnih jezika postoje neka od osnovnih
pravila kod imenovanja varijabli i datoteka:
Potrebno je razlikovati upotrebu malih/velikih slova,
Maksimalni broj znakova,
Prvi znak mora biti slovo.
Matlab posjeduje i specijalne (simboličke) varijable (pi, eps, ans…) čiji su nazivi rezervirani.
Simboličke varijable sadrže simbole koje se interpretiraju numerički. Varijable Matlaba se mogu
podijeliti u više skupina (prema sadržaju elemenata matrice, prema dohvatu, prema izvoru nastanka)
a njihova svojstva ovise o pripadnosti pojedinim skupinama. Sadrže li elementi matrice realne
brojeve i varijabla se može nazvati realna. Kompleksne varijable sadrže kompleksne brojeve.
Prema vidljivosti varijable možemo podijeliti na lokalne i globalne. Ukoliko je potrebno određene
varijable primijeniti u nekoliko funkcija, a želimo izbjeći njihovo pojavljivanje u popisu ulaznih
varijabli tih funkcija, dovoljno je takve varijable deklarirati kao globalne.
Globalne su varijable one varijable koje su vidljive iz više funkcija Matlaba. Postoji li definirana
varijabla u funkciji Matlaba, nakon izvršenja funkcije u Workspacu varijabla neće postojati. Vidljiva
je samo u funkciji gdje je definirana. Takve varijable tretiramo kao lokalne. Varijabla postaje
globalna tako da se deklarira naredbom:
Prema izvoru nastanka varijable možemo podijeliti na interne i eksterne varijable. Interne su
varijable one varijable koje definira sam Matlab kao što su eps, realmin, realmax, pi, inf, itd. Bilo
koji od ovih varijabli interpretiraju se jednostavnim ukucavanjem naziva u komadni prozor iza znaka
prompt.
Eksterne varijable su varijable definirane od korisnika ili varijable nastale kao rezultat matematičkim
operacijama i funkcija izvedenih u Matlabu. Definirane varijable moguće je vidjeti u tzv. Workspace-
u (pregledniku radnog prostora) ili u komadnom prozoru primjenom naredbe who (ispis varijabli) i
whos (detaljni ispis varijabli). Tako je u našem primeru:
» who
Your variables are:
ans matrica x
jednostupcanamatrica vektor
» whos
Name Size Bytes Class
ans 2x3 48 double array
19
jednostupcanamatrica 4x1 64 double array (complex)
matrica 2x3 96 double array (complex)
vektor 1x3 24 double array
x 1x1 8 double array
Izborom naloga View/ Workspace možemo te iste varijable vidjeti i u prozoru Workspace (slika 12).
Dvostrukim klikom na bilo koju varijablu unutar tog podprozora otvara se Array Editor (slika 13) u
kojem je moguće promijeniti različite parametre kao što su dimenzije matrice, format prikazivanja te
pojedinačne unose.
20
Samim nalogom clear bez dodatnih opcija izbrisali bi sve varijable iz radnog prostora. Ista
mogućnost nam stoji na raspolaganju s preglednikom radnog prostora - pritiskom desne tipke miša
možemo odabrati Delete za brisanje odabrane varijable (ili ikonicu za brisanje) te Clear Workplace
za brisanje svih varijabli iz radnog prostora.
Sadržaj radnog prostora možemo spremiti s binarnim formatom u željenu datoteku ime.mat i to na
nekoliko načina:
iz menija File/Save Workspace as,
iz menija File/Import Dana,
iz preglednika radnog prostora - pritiskom desne tipke miša odabirom Save Workplace as.
naredbom u komandnom prozoru save ime
Dijalogni prozor File/Import Data sadrži popis datoteka različitih formata. Klikom na bilo koju
datoteku otvara se prozor Import Wizard. Na taj način se mogu izvesti odgovarajuće izmjene u
datoteci.
Matlab koristi više raznih vrsta datoteka i one se prepoznaju po nastavku unutar imena. Najčešći
korišteni tipovi su:
ime.m - je tekstualna datoteka koja sadrži program pisan u Matlabu.
ime.mat - je binarna datoteka, tj. standardni Matlabov format za spremanje varijabli i njihovih
vrijednosti.
ime.fig - je binarna datoteka, tj. standardni format Matlaba za spremanje slika. Učitava se u
Workspace naredbom:
>> y=average(x)
??? Undefined function or variable 'average'.
21
Kao i većina drugih programskih jezika i u MATLAB-u moguće je od korisnika zatražiti određeni
ulaz. Osnovni je oblik unos ulaza preko tipkovnice komandom input, kao npr.
Ako je u Command Window prisutno puno naloga, njihovo se traženje može pojednostaviti
utipkavanjem iza promptnog znaka samo početnih slova naloga. Pritiskom na tipku sa strelicom
prema gore pojavljuje se odmah traženi nalog. Čitavu situaciju dodatno pojednostavljuje i prisutnost
četvrtog podprozora pod nazivom Command History. U njemu su izlistani svi ranije korišteni nalozi
uz navođenje datuma njihova nastanka. Kad se nađe traženi nalog, za njegovo ponovo izvođenje
dovoljno je na njega samo dvaput kliknuti za učitavanje u radni prostor.
Za dvodimenzionalni prikaz potrebna su dva vektora iste duljine a za trodimenzionalni tri. Kad se
želi istovremeni prikaz zavisnosti više funkcija o jednoj varijabli, onda je varijabla vektor a funkcije
se prikazuju matricom. Uz to se linije grafa mogu prikazati na različite načine.
Najvažniju funkciju ima nalog plot, a unosom naloga help plot dobivaju se sve potrebne informacije
o ovoj funkciji.
U svrhu grafičkog prikaza neka se varijabla x može, kao vektor odnosno jednoredna matrica,
definirati i unijeti i na slijedeći način:
» t=(0:2:10)
t=
0 2 4 6 8 10
gdje je t vremenski vektor, prva znamenka u zagradi označuje prvu vrijednost varijable, srednja
razmak pojedinačnih vrijednosti a zadnja konačnu vrijednost. One su međusobno odvojene
dvotočkom. Zada li se ta varijabla na slijedeći način:
» t=(0:2:10);
nalog se ne izvršava odmah, nego tek iza naloga koji ne sadrži točku - zarez, što je za izvođenje
simulacija veoma bitno. Želimo li prikazati graf sin t, onda unos naloga ima izgled
» t=(0:2:10);
» s=sin(t);
» plot(t,s)
22
nakon čega se otvara prozor s grafom kao u slici 14. Ovakav malo čudan izgled grafa pojavljuje se
onda, ako su vrijednost na apscisi međusobno dosta razmaknute. Numeričke oznake na osama se
pojavljuju automatski, a pomoćne linije, označavanje osi i naziv grafa moraju se unijeti dodatnim
nalozima.
» t=(0:0.01:2);
» sinfkt=sin(2*pi*5*t);
» cosfkt=2*cos(2*pi*3*t);
» expfkt=exp(-2*t);
» plot(t ,[sinfkt ; cosfkt ; expfkt])
U grafovima se jednostavnim nalozima, baziranim na uputama u već spomenutom nalogu help plot,
mogu mijenjati boje i vrste linija. U cilju dokumentiranja grafova nužno je uz to upisati oznake osi i
naziv dijagrama, ucrtati mrežu pomoćnih linija te povećati pojedine isječke dijagrama.
Za opise služe nalozi xlabel, ylabel i title, za mrežu pomoćnih linija nalog grid, a za povećanje
isječka nalozi zoom i axis u kojima se mora navesti x,y područje koje se želi povećati. Idući primjer
pokazuje neke od tih mogućnosti.
» t=(0:0.05:2);
» cosfkt=2*cos(2*pi*t);
» plot(t, cosfkt)
» xlabel('vrijeme/s')
» ylabel('amplituda/V')
» title('Kosinusni napon frekvencije 1 HZ')
» figure % Otvoriti novi prozor !
» plot(t, cosfkt)
» xlabel('vrijeme/s')
23
» ylabel('amplituda/V')
» axis([0,0.5, 0,2]) % Isjecak intervala [0,0,5] i [0,2]
» title('Isjecak kosinusnog napona frekvencije 1 HZ')
Definiranje gornjeg dijagrama završava nalogom title('Kosinusni napon frekvencije 1 Hz’) (slika 15),
a novi se otvara nalogom figure i za njegovo definiranje moraju se zatim unijeti nalozi koji iza njega
slede.
Osim funkcije plot postoje i funkcije semilogy, semilogx, loglog, plotyy za crtanje u logaritamskom
mjerilu, te mnoge druge funkcije za crtanje dvodimenzionalnih prikaza. Sve ove funkcije imaju
različitu sintaksu za različite potrebe korisnika. Više o tim funkcijama možete doznati pozivanjem
naloga help ime_funkcije.
Naknadnim pozivanjem neke grafičke funkcije poput plot postojeća slika, će u pravilu, biti obrisana i
zamijenjena novom. Ako se pak želi crtati preko postojeće slike treba koristiti naredbu hold on.
Suprotan učinak ima naredba hold off.
» t=(0:0.05:2);
» cosfkt=2*cos(2*pi*t);
» stem(t,cosfkt)
Dobiveni dijagram se, isto kao i oni ranije, pojavljuje u Matlab grafičkom prozoru (slika 16). U slici
se vidi traka s nalozima koji omogućavaju grafičku doradu dijagrama, a ispod nje i traka sa
24
simbolima od kojih je posebno zanimljiv zadnji desno koji omogućuje rotaciju trodimenzionalnih
dijagrama. Doradimo prikazani dijagram.
Nalogom pomoću simbola A upišimo naziv dijagrama i centrirajmo ga iznad grafa, a pomoću
simbola strelice naznačimo prijelaz iz negativnog u pozitivno područje. Dvostrukim klikom na graf
otvorimo dijalogni prozor i u njemu promijenimo debljinu linije s 0.5 na 4.0. Dvostrukim klikom na
osi otvorimo drugi dijalogni prozor, izgleda kao na slici 17.
25
On omogućuje promjene skaliranja i još nekih osobina osi, što se vidi u dijalognom prozoru.
Upišimo u njemu oznake obojih osi. Dobili smo time dorađeni dijagram izgleda kao onaj ispod
osnovnog. Već je navedeno kako napraviti više dijagrama odnosno više grafičkih prozora, ali kako
na jednom grafičkom prozoru napraviti više dijagrama. To se ostvaruje naredbom subplot.
Svi ovi napori grafičke prezentacije podataka bili bi uzaludni kada dobivene dijagrame ne bi mogli
transformirati iz Matlab-a u željeni oblik: ispis na printeru ili u grafičku datoteku ili pak direktan
prijenos (copy-paste) u neku drugu aplikaciju. Četiri su osnovne operacije kojima je moguće
transformirati grafiku iz Matlab-a:
1. ispis na printer,
2. ispis u datoteku (Postscript datoteku),
3. eksportiranje u datoteku u odabranom grafičkom formatu,
4. eksportiranje u Clipboard (za daljnju uporabu u nekoj drugoj aplikaciji).
Osnovna naredba Matlab-a za ispis je print i ovisno o našoj potrebi primjenjuje se nekoliko opcija.
Svaka je opcija primjenjiva direktno iz komandnog prozora. Način na koji se nalozi unose u radni
prostor mogu se vidjeti pozivanjem naloga help print .
Unošenjem komande ‘edit’ u MATLAB-u se otvara editor sa praznim m-fajlom. Unutar ovog m-fajla
moguće je upisati niz naredbi koje želimo izvršiti. Nakon upisivanja komandi m-fajl je potrebno
imenovati i sačuvati. Uz ime fajla obavezno ide ekstenzija .m. Kasnije kada želite izvršiti komande
upisane u m-fajl, dovoljno je samo uneti ime fajla u editor (bez ekstenzije.m) i on će sa podacima
pohranjenim u globalne varijable sadržane u random prostoru izvršiti komande upisane u m-fajl.
Ovaj način pristupanja je moguć samo ukoliko je m-fajl sačuvan u trenutno aktivnom direktoriju, u
suprotnom je potrebno promijeniti trenutno aktivni direktorij u direktorij koji sadrži m-fajl ili upisati
potpunu adresu m-fajla. Drugi način pokretanja m-fajla je direktno iz editora pritiskom na tipku F5.
M-fajlovi koji samo izvršavaju komande koje su u njima sadržane bez prihvatanja i vraćanja
podataka se nazivaju skripte.
Prilikom pisanja m-fajla većeg obima od velikog je praktičnog značaja pisati komentare radi
pojednostavljenja izvođenja budućih korekcija u skripti. Komentar započinjemo znakom ’%’.
MATLAB tumači kao komantar svaki karakter koji se nalazi desno od ovog znaka pa sve do kraja
reda.
Funkcije predstavljaju m-fajlove koji imaju posebno zaglavlje u kome se navodi ime funkcije, ulazni
argumenti I vrijednosti koje funkcija vraća. Pri tome bi ime funkcije trebalo biti isto kao i ime m-
fajla. Izgled zaglavlja funkcije:
function izl_var=ime_funkcije(ul_var1,ul_var2,...)
gde su:
izl_var – varijabla koju funkcija vraća (ili više njih-matrica)
26
ime_funkcije – ime funkcije koje odgovara imenu m-fajla
ul_var1, ul_var2, ... – argumenti koji se prenose u funkciju pri pozivu.
Broj argumenata koji se prosljeđuju funkciji može biti manji od zadanog ukoliko su za
neproslijeđene argument unutar funkcije određene default-ne vrijednosti. Ukoliko se neki od
argumenata ne koristi to označavamo pisanjem ‘[]’ na mjestu njegove vrijednosti. Korištenjem
naredbe ‘nargin’ je moguće provjeriti koliko je argumenata proslijeđeno funkciji.
Varijable unutar funkcije imaju lokalni karakter, tako da njihove izmjene unutar funkcije ne utiču na
njihove vrijednosti u radnom prostoru MATLAB-a. Ukoliko želimo da ove izmjene budu vidljive i
izvan funkcije potrebno je varijable prije prve upotrebe deklarisati kao globalne:
global ime_varijable
Ukoliko funkcija vrati veći broj vrijednosti od predviđenog MATLAB neće preuzeti sve vrijednosti,
već samo njihov ranije određen broj i pri tome preuzima vraćene vrijednosti redom s lijeva na desno.
Korištenjem naredbe ‘nargout’ je moguće uticati na to koje će vrijednosti funkcija vratiti.
MATLAB posjeduje pet struktura za kontrolu toka. Sintaksa struktura za kontolu toka je veoma
slična onoj u C programskom jeziku odakle je i preuzeta.
if struktura
if uslov1 kod1
elseif uslov2 kod2
else kod3
end
Ukoliko su varijable koje se porede skalarne veličine kao uslove je moguće koristiti ranije navedene
relacione i logičke operatore. Međutim u slučaju da su veličine koje se porede matrice, potrebno je
umjesto relacionih operatora koristiti logičke funkcije, jer relacioni operatori ne vraćaju logičku
vrijednost već matricu vrijednosti 0_i _. Često korištene logičke funkcije uključuju:
isequal(A,B) - rezultat je 1 ili 0 ovisno da li su svi elementi A jednaki elementima B ili nisu
isempty(A) - rezultat je 1 ako je matrica A prazna
all(A) - rezultat je 1 ako su svi elementi matrice A nenulti
any(A) - rezultat je 1 ako je bar jedan element matrice A različit od nule
svitch struktura
switch varijabla
case vrijednost1
27
kod1
case vrijednost2
kod2
...
otherwise
kod
end
Kod MATLAB-ove ‘switch’ strukture program se završava čim je jedan od uslova zadovoljen, što je
značajna razlika u odnosu na ‘switch’ strukturu programskog jezika C.
for petlja
for n=pocetna_vrijednost:korak:krajnja_vrijednost
kod
end
while petlja
while uslov
kod
end
break
Komanda koja prekida izvršavanje neke od ovih struktura. Ukoliko je više ovakvih struktura
ugnježdeno prekida se samo unutarnja struktura koja sadrži ‘break’.
Simulink
Simulink u suštini predstavlja grafički korisnički interfejs (GUI) koji kao dodatak MATLAB-u
pomaže lakšem i jednostavnijem kreiranju i dizajnu složenijih sistema i vizualizacije rezultata. On
omogućava korisniku da jednostavnom ‘drag and drop’ metodom odabire potrebne blokove i
povezuje ih linijama toka signala.
Da bismo napravili jednostavan Simulnik model prikazan na slici 17. potrebno je prikazane blokove
pronaći u Simulink-ovom pretraživaču. U sekciji Sources ćete pronaći blok Sine Wave koji
predstavlja izvor sinusoidalnog signala, koji trebate označiti i potom prevući u vaš prazan model.
28
Blokovi Integrator i Derivative se nalaze u Continuous sekciji, a blok Mux u Signal Routing sekciji.
Scope ćete pronaći u sekciji Sinks. Blokovi se povezuju tako što klikom miša odaberemo izlazni port
bloka i vučemo vezu do ulaznog porta željenog bloka. Veze između blokova je potrebno urediti tako
da odgovaraju onima prikazanim na slici 17. Nakon što ste prenijeli blokove u model možete ga
sačuvati. MATLAB uz odabrano ime fajla dodaje ekstenziju .mdl. Pozicionirajte miša na dugme Play
i pritiskom lijeve tipke miša pokrenite simulaciju. Dvostrukim klikom miša na Scope dobijate
grafički prikaz ulaznog i izlaznih signala.
Dvostrukim klikom na bilo koji blok otvara se novi prozor Parametars unutar kojeg je moguće vršiti
podešenja vrijednosti parametara tog bloka. Tako je izvoru sinusoidalnog signala između ostalog
moguće podešavati amplitudu, frekvenciju, fazni pomak sigala. U donjem desnom uglu se nalazi
tipka Help. Pritiskom na ovaj taster otvara se sistem pomoći i prikazuje informacije o mogućnostima
podešenja izabranog bloka.
Kao primjer sistema prvog reda razmotrimo jednostavno RC kolo prikazano na slici 18., gdje je
kapacitet kondenzatora , a otpornost otpornika prikazanog na slici.
29
Slika 18. Serijsko RC kolo
U traženju pomoći pri definiranju i unosu naloga treba kliknuti na nalog Help/MATLAB Help u traci s
nalozima te u otvorenom dijalognom prozoru u kartici Search upisati nalog za koji se pomoć traži.
Levo na slici 18 vidi se dijalogni prozor s otvorenom karticom Search i u njoj primjerice upisani
nalog hold za koji se traže dodatna objašnjenja. Desno u slici vide se objašnjenja koja se pojave
nakon klika na nalog Go u kartici Search i dvostrukog klika na nalog hold u polju s nalozima ispod
oznake Title.
Slika 18. Dijalogni prozor s otvorenom karticom Search i u njoj primjerice upisani nalog hold
30
Matlab je i okruženje i programski jezik. Jedna od jačih strana Matlab-a je činjenica da njegov
programski jezik omogućava izgradnju vlastitih alata za višekratnu uporabu. Možete lako sami
kreirati vlastite funkcije i programe (poznate kao m-datoteke) u kodu Matlab-a. Matlb posjeduje niz
demo funkcija za prezentaciju mogućnosti Matlab-a.
Postoje funkcije visokog stepena za 2D i 3D vizualizaciju podataka, obradu slike, animaciju. Također
postoje i funkcije za izgradnju grafičkih sučelja za vaše Matlab aplikacije. U ovoj vježbi bit će
pokazane samo osnovne funkcije Matlab-a dostatne za početak samostalnog rada u Matlab-u. Za sve
daljnje informacije proučite Matlab-ov help ili dodatne upute koje dolaze s instalacijom.
5. Zaključci
PSPICE je program čija je osnovna verzija razvijena na univerzitetu u Berkliju 1975. godine.
Omogućava efikasno obavljanje sva tri uobičajena tipa analize elektronskih kola: određivanje mirne
radne tačke i jednosmernog režima rada, analiza u naizmeničnom režimu za male signale-
određivanje vremenskog odziva kola. Pored njih raspoložive su i opcije koje daju: osetljivosti,
izobličenja, funkcije prenosa, faktor šuma, analizu najgoreg slučaja (Worst Case) i slično.
MATLAB predstavlja veoma razvijen jezik tehnološkog proračuna koji objedinjuje proračun,
vizualizaciju i programiranje u jednostavnom razvojnom okruženju u kome se problem i rješenje
izražavaju u poznatoj matematičkoj notaciji. MATLAB predstavlja interaktivni sistem čiji je osnovni
tip podataka matrica koji ne zahtijeva prethodno dimenzioniranje, te je vrlo pogodan za rješavanje
tehničkih problema koji zahtijevaju rad sa matricama.
6. Literatura
1. Richard C. Dorf, Electronics, Power Electronics, Optoelectronics, Microwaves,
Electromagnetics, and Radar University of California Davis, California, U.S.A. 2006.
2. A. Vladimirescu, The SPICE Book, New York: John Wiley & Sons, 1994.
3. B. Al-Hashimi, The Art of Simulation Using PSPICE, Analog, and Digital, Boca Raton, FL:
CRC Press, 1994.
4. J.O. Attia, PSPICE and MATLAB for Electronics: An Integrated Approach, Boca Raton, FL:
CRC Press, 2002.
5. S.J. Chapman, MATLAB Programming for Engineers, 2nd ed., Pacific Grove, CA: Brook,
Cole
6. Thompson, Learning, 2002.
7. D.M. Etter, Engineering Problem Solving with MATLAB, 2nd ed., Upper Saddle River, NJ:
Prentice-Hall, 1997.
8. J.O. Attia, Electronics and Circuit Analysis Using MATLAB, Boca Raton, FL: CRC Press,
1999.
9. G.W. Roberts and A.S. Sedra, SPICE for Microelectronic Circuits, Fort Worth, TX: Saunders
College Publishing, 1992.
10. Danilo M. Stojanović: Teorija električnih kola, Tehnički fakultet, Čačak, 2002.
11. Miloš B. Živanov: Uvod u Elektroniku, Univerzitet u Novom Sadu, Fakultet tehničkih nauka,
Novi Sad, 2008.
31