SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br Implementacija algoritma očuvanja radne anvelope vjetroagregata pot
|
|
- Гедеон Михаиловић
- пре 5 година
- Прикази:
Транскрипт
1 SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br Implementacija algoritma očuvanja radne anvelope vjetroagregata potpomognuta programirljivim logičkim poljima Josip Kovačević Zagreb, lipanj 217.
2 Zahvala: Zahvala mentoru, doc. dr. sc. Mariju Vašku, za podršku bez koje ovog rada ne bi bilo. Također, zahvaljujem asistentu Nikoli Hureu, koji je strpljivo trpio moja bezbrojna pitanja i probleme. Naposljetku zahvaljujem svojim roditeljima, bratu i prijateljima na podršci kroz proteklih pet godina, napornih, ali zabavnih.
3 Sadržaj 1. Uvod Algoritam korekcije upravljačkog signala Dvodimenzionalni problem pronalaska najbliže točke na politopu Tehnologije Razvojna pločica System Generator MicroBlaze Brzina izvođenja nekih osnovnih operacija Aritmetika Ekstremi evaluacije Propagacija greške Predobradba Specijalizirano sklopovlje Izračun H reprezentacije politopskog skupa dozvoljenih upravljačkih signala Brzina protoka podataka Pristup izračunatim podacima u sklopovlju Sklop za provjeru pripadnosti točke politopu Kalkulator udaljenosti točke od politopa Sortirajuća ćelija Operacijski takt sortirajuće ćelije Sklop za rješavanje jednodimenzionalnog problema najbliže točke na politopu Programski dio Upravljački programi Skaliranje Utjecaj pogreške zaokruživanja... 29
4 6.4. Eksperimentalno utvrđene brzine izvođenja Rezultati Zaključak Literatura Sažetak Summary Privitak... 45
5 1. Uvod Kompleksni dinamički sustavi, svakodnevno izloženi nepredvidljivom okolišu, mogu imati vrlo stroga ograničenja nametnuta na njihove varijable, pri čemu kršenje tih ograničenja dovodi do velike tehničke ili ekonomske štete. Takve sustave potrebno je što bolje zaštititi, odnosno čuvati njihovu radnu anvelopu. Vjetroagregati pri pokretanju i zaustavljanju trpe veliko mehaničko opterećenje koje može dovesti do teških oštećenja konstrukcije. Smanjivanje učestalosti takvog pokretanja i zaustavljanja produžuje životni vijek vjetroagregata, čime rješavanje tog problema dobiva na važnosti. Iako uvijek može doći do nepredviđenih kvarova, sustav unutar granica sigurne operacije možemo održavati korekcijom upravljačkog signala dodatnim zaštitnim algoritmima. Jedan je od njih algoritam korekcije upravljačkog signala koji koristi unaprijed izračunat upravljački invarijantni skup dinamičkog sustava sa zadanim ograničenjima kako bi se odredio skup dozvoljenih upravljačkih signala regulatora. U slučaju izlaska iz navedenog skupa upravljački signal vraća se na najbližu točku u skupu čime se izbjegava procedura zaustavljanja vjetroagregata. Upravljački invarijantni skup generiran je offline računom uz pretpostavljeni robustan model vjetra, pa dodatna instrumentacija poput LIDAR-a za estimaciju nadolazećeg vjetra nije potrebna. Algoritam zaštite odnosno korekcije upravljačkog signala koji se odvija online zahtijeva mnogo jednostavnih matričnih operacija nad generiranim skupom koje su pogodne za paralelizaciju što upućuje na korištenje programirljivih logičkih polja za realizaciju istog. Programirljiva polja logičkih blokova (engl. Field programmable gate array FPGA) digitalni su sklopovi dizajnirani za konfiguraciju, nakon proizvodnje, od strane korisnika. FPGA se sastoji od niza programabilnih logičkih blokova (engl. Configurable logic block CLB) koji se pak sastoje od velikog broja jednostavnijih komponenata. Temeljni dijelovi pojedinog bloka su programirljiva pregledna tablica (engl. Lookup table - LUT) i D-bistabil. FPGA ima mnoge odlike, među ostalim brzo prototipiranje specijaliziranog sklopovlja, vrlo velika paralelizacija operacija na čipu, mogućnost implementacije mikroprocesora za kontrolnu logiku. Sve od navedenih stavki iskorištene su pri razvoju algoritma u ovom radu. 1
6 Cilj je rada ostvariti algoritam zaštite, odnosno korekcije upravljačkog signala korištenjem Spartan3A čipa i sekvencijalnog procesora, te usporediti performanse dobivene implementacije s idealnom implementacijom simuliranom u MATLABu. Uspoređena je performansa pri punoj double preciznosti sa 16-bitnom aritmetikom s fiksnim zarezom te je provedena analiza rezultata za različite vrijednosti tolerancije greške. Provedena je i usporedba s 15-bitnom preciznosti brojeva, ali algoritam u tom slučaju rijetko ili nikada ne daje ni približne rezultate, stoga je nije potrebno ni spominjati. U drugom poglavlju predstavljen je algoritam za očuvanje radne anvelope vjetroagregata. Korištene tehnologije predstavljene su u trećem poglavlju. U četvrtom su poglavlju opisani aritmetički problemi i njihovo rješavanje prilikom implementacije. Specifični pomoćno sklopovlje opisano je u petom poglavlju. Poglavlje 6 pokazuje programski dio rješenja, od korištenja specijaliziranog sklopovlja do skaliranja ulaznih operanada kako bi se ispravila aritmetika. U posljednjem poglavlju prikazane su grafičke usporedbe nekoliko razvijenih implementacija i idealne implementacije u MATLAB programskom okruženju. 2
7 2. Algoritam korekcije upravljačkog signala Radna anvelopa sustava upravljanja proizlazi iz specifikacija ili iz fizičkih i sigurnosnih svojstava upravljačkog sustava. Za skup korišten u ovom radu ograničenja su prikazana u tablicama 1 i 2. Spajanjem ograničenja dobivamo ograničenja na varijable stanja sustava i ograničenja na upravljačke varijable. Cijeli prostor je unutar zadanih ograničenja stoga definiran s iz čega možemo dobiti najveći mogući upravljački-invarijantan skup (skup stanja sustava za koje postoji upravljački signal koji će zadržati sustav unutar ograničenja u budućnosti). Konveksan skup formira politop ograničeni skup formiran presjecanjem konačnog broja poluprostora. Izračun upravljački-invarijantnog skupa rezultira skupom i pripadnim prostorom stanja, [ ] U zatvorenoj upravljačkoj petlji skup sadrži, za svaki vektor stanja sustava, skup dozvoljenih vrijednosti upravljačkog signala. Dalje u radu [ ] - predstavlja lijevu stranu ograničenja politopa, - predstavlja desnu stranu ograničenja politopa, - predstavlja lijevu stranu ograničenja politopa, - predstavlja desnu stranu ograničenja politopa dobivenu jednadžbom. Varijabla Ograničenje 9[ ] 11[ /s] 313[rpm] [Nm] [Nm] [Nm] Tablica 1 Ograničenja sustava donja granica varijabli je [1] Varijabla Ograničenje 11[ /s] 773.6[Nm/s] Tablica 2 Ograničenja upravljačkih varijabli [1] 3
8 Ovisno o broju iteracija algoritma za izračun upravljački-invarijantnog skupa možemo ostvariti različitu točnost aproksimacije istog skupa. Većim brojem iteracija postiže se bolja aproksimacija ali se usložnjava opis upravljački-invarijantnog skupa te potrebna memorija za njegovu pohranu. Stoga je za realizaciju sustava zaštite koji se zasnivaju na izračunatom upravljački-invarijantnom skupu potrebno ostvariti kompromis između točnosti algoritma zaštite i jednostavnosti realizacije algoritma. U ovom radu koristi se skup s 12 ravnine, no o tome više u poglavlju 3. Pri svakom pozivu algoritma potrebno je riješiti problem pronalaska najbliže točke u dvodimenzionalnom politopu (engl. two dimensional closest admissible point problem 2DCAPP) tj. za vektore (stanje sustava) i [ ] pronaći vektor [ ] gdje je skup upravljačkog signala za koji sustav ostaje unutar zadanih ograničenja. Metodi 2DCAPP prosljeđujemo H-K reprezentaciju politopa i točku Dvodimenzionalni problem pronalaska najbliže točke na politopu 2DCAPP problem možemo podijeliti u 3 slučaja kao na slici. Slika 1. Mogući odnos točke i politopa [1] a) Ovaj slučaj je trivijalan. Dovoljno je provjeriti vrijedi li. b) Ako je gornja nejednadžba prekršena računamo udaljenost upravljačkog signala i politopa. Znamo da je rješenje na onoj ravnini koja je najudaljenija od točke. 4
9 označava i-ti red u matričnoj reprezentaciji skupa. Tražimo projekciju točke na najudaljeniju ravninu jednadžbom označava indeks najudaljenije ravnine. c) Pronalazak najbližeg vrha može se efikasno riješiti kao 1DCAPP pomoću sljedećih jednadžbi [ ] [ ] Gdje je kao i prije, najbliža ravnina dok su ostale. Korištenjem [ ] i [ ] dobivamo Iz čega slijedi te. [ ], Ako rješenje nije pronađeno u jednoj iteraciji (zbog redundantnih ravnina), algoritam se ponavlja za sljedeću najudaljeniju ravninu. Algoritam ima i strogo vremensko ograničenje od 1 ms. 5
10 3. Tehnologije 3.1. Razvojna pločica Korišten je Digilent Spartan 3A Starter Kit kao na slici, koji nažalost više nije u prodaji. Na razvojnoj se pločici osim FPGA-e nalaze i SPI Flash memorija, RS232 serijski port, DDR2 SDRAM itd. Slika 2. Digilent Spartan 3A Starter Kit FPGA korištena u radu je XC3S7A, čije su specifikacije navedene na sljedećoj slici. Slika 3. Specifikacije sklopa Spartan3 [2] Iako je nekad bio FPGA srednje klase, taj čip sada bi pripadao nižoj, ili čak i niskoj klasi. U ovom radu čip je gotovo potpuno iskorišten (99 %), što se može vidjeti u privitku. 6
11 3.2. System Generator Xilinx system generator je alat koji se može integrirati s MATLAB-ovim Simulinkom i koji u Simulink dodaje razne Xilinxove komponente i mogućnost sinteze sklopovlja. Za korištenje tog alata potrebni su MATLAB i Xilinx ISE kompatibilan s njime. U ovom radu korišteni su MATLAB R213a i Xilinx ISE Design Suite Sama instalacija alata nije komplicirana. Potrebno je prvo instalirati MATLAB, a zatim ISE, te prije prvog pokretanja konfigurirati System Generator, koji bi sam trebao pronaći instalaciju MATLAB-a te je ponuditi kao opciju. Slika 4. System generator pronalazi instalaciju MATLABa Ako je konfiguracija uspjela pokretanjem System Generatora te Simulinka, na popisu komponenata trebao bi se pojaviti Xilinx Blockset. Xilinx Blockset sadrži komponente napisane za FPGA-u. Popis svih komponenata moguće je otvoriti pritiskom na Index, a dokumentaciju za svaku komponentu desnim klikom na pojedinu komponentu te lijevim klikom na Help for... 7
12 Slika 5. Indeks svih Xilinx komponenata Osim već ostvarenih komponenti, System generator omogućava simulaciju komponenata koje su opisane VHDL kôdom. Također je moguće iz MATLAB kôda izgenerirati VHDL.[3] Nakon simulacije ostvarenog sklopovlja ono je izvezeno iz MATLAB-a i uvezeno u Xilinx XST, koji omogućava povezivanje vlastite komponente s MicroBlaze mikroprocesorom MicroBlaze MicroBlaze je 32-bitni mikroprocesor baziran na arhitekturi Harvard Reduced Instruction Set (RISC), što znači da ima odvojene podatkovne i instrukcijske sabirnice. Mikroprocesor je soft processor što znači da je posve implementiran na logici FPGA i iznimno podesiv. Može se dodati podrška za aritmetiku s pomičnim zarezom, dijeljenje, množenje, uspoređivanje znakova, dodatnu komunikaciju s periferijom itd. Fleksibilnost takvog dizajna omogućava prilagodbu performansi procesora namjeni za koju je on potreban. Dijelovi na Slici 6 označeni sivom bojom svi su opcionalni pri konfiguraciji procesora za rad. MicroBlaze ima paralelan cjevovod podijeljen u tri stadija Fetch, Decode i Execute. Svaki od stadija traje jedan ciklus, iz čega slijedi da instrukcijama trebaju tri ciklusa kako bi se izvršile. Iako su podatkovna i instrukcijska sabirnica odvojene, MicroBlaze periferiji pristupa jednako kao i samoj memoriji, što znači da koristi memorijsko područje za pohranu vrijednosti ulaza i izlaza (engl. memory mapped I/O). 8
13 Programski kôd za MicroBlaze piše se u C/C++ jeziku korištenjem alata Xilinx EDK, odnosno alata SDK IDE nakon što se dizajn sintetizira i izveze iz EDK-a. Slika 6 Arhitektura procesora MicroBlaze sa svim proširenjima [5] U ovom radu korišten je MicroBlaze podešen na takt od 5 MHz. Od ostalih stavki korištene su instrukcijska i podatkovna priručna memorija veličine 1 kb te podrška za dijeljenje i množenje 32-bitnih cjelobrojnih brojeva. Kako bi algoritam bio točno implementiran na toj konfiguraciji, imamo na raspolaganju 5 procesorskih ciklusa jer je jedan ciklus jednak 2 ns. Kroz rad pri usporedbi brzine raznih načina izvođenja kôda na procesoru i pomoćnom sklopovlju vrijednosti će biti izražene u broju ciklusa. Ovo je samo vrlo kratak uvod u MicroBlaze i njegove mogućnosti. Više se može pronaći u [5] Brzina izvođenja nekih osnovnih operacija Radi lakše usporedbe dobivenog broja ciklusa izvođenja pojedinog dijela algoritma s pomoću specijaliziranog sklopovlja, u ovom potpoglavlju navedeni su iznosi trajanja (u ciklusima) osnovnih operacija potrebnih za prolazak kroz algoritam. Operacije su izvedene nad 16-bitnim short formatom podataka jer je u radu korišten 16-bitni format. Vrijednosti u tablici izmjerene su za 25 ponavljanja svake od operacija kako bi se moglo bolje ustanoviti prosječno trajanje. 9
14 Operacija Bez priručne memorije Sa priručnom memorijom [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] Tablica 1. Trajanja 25 ponavljanja osnovnih operacija Rezultati u gornjoj tablici nisu dovoljna mjera potrebnog vremena za oko 1 ograničenja s kojima je potrebno raditi. Ovdje su samo za usporedbu jer za prelazak na više ograničenja nije dovoljno pomnožiti trajanje. Zbog promašaja priručne memorije petlje s više od četiristo ponavljanja postaju vrlo spore. Npr. za dvije petlje od 4 ponavljanja brojač u timer sklopu prijeđe 32-bitnu vrijednost. 1
15 4. Aritmetika Jedan od najvećih problema pri implementaciji ovog algoritma na FPGA čipu jest odabir prikladne aritmetike. O aritmetici ne ovise samo rezultati izvođenja algoritma, već i prostor na čipu potreban da bi se algoritam uopće mogao implementirati. Invarijantni skup korišten za rad algoritma može se sastojati od nekoliko tisuća ograničenja, što u svojem slučaju nikako ne bismo mogli implementirati kad bismo se htjeli držati zadane vremenske granice, stoga se koristi skup od 12 ograničenja. Usporedba potrebne memorije za različite prikaze brojeva nalazi se u tablici Broj bitova formata Potrebno memorije Kb Kb Kb Kb double 564Kb Tablica 2. Prostor potreban za pohranu skupa od 12 ograničenja sa šest varijabli stanja i dvije upravljačke varijable Iz poglavlja o Spartan3A čipu vidljivo je da na raspolaganju imamo 36 Kbit memorije. Iako je teoretski moguće spremiti 32-bitni skup u memoriju na samom čipu, potrebno je uračunati memorijske zahtjeve mikroprocesora i serijske komunikacije. Memorija je također raspoređena u 2 ugrađenih blokova čije su konfiguracije prikazane u Tablici 3. 11
16 Tablica 3. Moguće konfiguracije memorije čipa [2] Izaberemo li 32-bitni prikaz, potrebna su nam dva takva bloka za pohranu jednog stupca matrice, što znači da sveukupno trebamo 2 blokova (bez komunikacije i mikroprocesora), dok pri pohrani u 16-bitnom obliku implementacija zahtijeva 11 blokova (1 osnovnih i recipročna norma). Zbog navedenih ograničenja najlogičnije je izabrati 16-bitni prikaz brojeva. Točan format ovisit će o njihovu rasponu. Skup je moguće normalizirati, iz čega znamo da će interval svakog od potrebnih brojeva biti [-1,1]. Važno je napomenuti da razvojna pločica ima 4MB DDR2 RAM za programski kôd i podatke, ali zbog brzine dohvata i poziva elemenata možemo zaključiti da je važnije pohraniti podatke na čip (vidi potpoglavlje o brzini) Ekstremi evaluacije Zaključeno je da su svi parametri ograničenja skupa u intervalu [-1,1] te da ulazne varijable možemo svesti na interval [,1], no to ne znači da će i svi međurezultati izvođenja biti unutar istih intervala. Moguće ekstreme intervala međurezultata izvođenja možemo izračunati jednostavnom analizom. Znamo da, ako konstanta kojom se množi parametar bude pozitivna, ona će gornjoj granici intervala najviše doprinositi kada je parametar 1, a donjoj kada je parametar. Za negativne konstante vrijedi obratno, one će donjoj granici najviše doprinositi kada je parametar 1, a gornjoj kada je parametar. Zbog toga možemo ekstreme prilikom računa odrediti statičkom analizom. 12
17 U tablici 4 nalaze se iznosi ekstrema kroz korake algoritma. Operacija Donja granica Gornja granica -1,98 1,672-1,1417 1, ,2135 1, ,8 398, , , , ,283 Tablica 4. intervali međurezultata pri izvođenju algoritma Vidljivo je da izračun nikada neće biti izvan intervala [ , 1.281], stoga je u tom dijelu dovoljno izabrati prikaz brojeva koji će biti nešto veći od tog intervala u ovom slučaju fixed-point formata (kasnije format brojeva izražavamo pomoću <<broj bitova>>.<<decimalna_točka>> npr. za gornji oblik pisat će 16.14). Preciznost ovakvog prikaza je 2^-14. Korištena aritmetika prikazana je u sljedećoj tablici. sign 1 whole 1 decimal 14 Tablica 5. Značenje bitova pri aritmetici Propagacija greške Ovakav odabir aritmetike dovodi do iznimno velike propagacijske greške. Zbog mnoštva zaokruživanja međurezultata kao posljedica memorijskih ograničenja, za sve vrijednosti koje su toliko male da nisu prikazive prethodno navedenim 16-bitnim prikazom sustav će smatrati da iznose. Takva vrijednost dovodi do većih problema pri izvedbi cijelog algoritma, što je vidljivo u rezultatima. Već na punjenju memorije dolazi do greške zbog samog prikaza brojeva u kojem se brojevi zaokružuju na kvant od 2^-14. Promotrimo jednu operaciju množenja. Poznato je da množenjem dvaju 16-bitnih brojeva dobivamo 32-bitan broj. Tako i ovdje množenjem dvaju brojeva u prikazu dobivamo 13
18 broj 32.28, ali moramo ga pretvoriti natrag na (znamo da s gornje strane neće doći do preljeva statičnom analizom). Međutim, u slučaju zaokruživanja zadnje decimale ovdje ponovno dolazi do greške od ½ kvanta. Daljnjim zbrajanjem takvih brojeva greška se propagira. Uočavamo da će do relativno velike pogreške doći i prije samih operacija algoritma, već kod računanja (. Računanje sastoji se od 6 množenja, sume i razlike. Svaka od tih operacija može dovesti do pogreške od ½ kvanta što znači da može biti pogrešan za 3,5 kvanta odnosno 2.13e-4. Nadalje, uzmimo u obzir izračun jednog skalarnog produkta i usporedbe s. Takva operacija koristi se kod izračuna odnosa točke i politopa. Ako je 15. bit pri izračunu jednak 1, iznos će biti zaokružen na prvu višu vrijednost (pogreška od ½ kvanta), ali pri skalarnom produktu takvo zaokruživanje obavit će se dva puta, iz čega slijede četiri slučaja. 1) zaokružen niže, zaokružen niže vidljivo je da ovdje može doći do pogreške od 1 kvanta jer je vrlo lako moguće da zbroj ovih vrijednosti ima 15. bit postavljen u 1, dok svaka zasebno ima (16. bit obje vrijednosti je 1). Dodamo li toj grešci od 1 kvanta grešku kod zaokruživanja pri usporedbi, dobivamo ½ kvanta greške, što može dovesti do netočnog rezultata usporedbe (vidi rezultate). 2) zaokružen više, zaokružen niže dobivamo grešku od ½ kvanta ( zbog zaokruživanja ) što bi pri usporedbi trebalo dati točan rezultat. U prva dva slučaja pretpostavljaju se jednaki predznaci i no to nije nužno točno jer u potproblemu b) algoritma točka koju provjeravamo ne mora imati pozitivne vrijednosti, kao što je to slučaj na početnom ulazu u algoritam. Lako je zaključiti da su preostala dva slučaja analogna prethodnim dvama slučajevima. Pogrešni rezultati koji proizlaze iz takvih numeričkih pogrešaka vidljivi su u poglavlju 6. 14
19 4.3. Predobradba Neke od operacija u algoritmu vrlo su složene i zahtijevaju puno procesorskog vremena npr. računanje korijena pri izračunu norme i projekcije u potproblemu b). Zbog toga ih je vrlo korisno obaviti prije nego se algoritam pokreće jer nećemo samo uštedjeti na vremenu, već možemo i manipulirati tim podacima. Ovakva manipulacija provedena je upravo na normi i recipročnoj normi. Pogledamo li jednadžbu za izračun udaljenosti, vidljivo je da se recipročna norma ne mijenja, a tako ni njezina recipročna vrijednost. Izračunamo li vrijednosti recipročne norme offline, primjećujemo da je njihov raspon vrijednosti od 1 sve do 9, što našoj aritmetici ne odgovara. Dubljim razmatranjem cijelog pronalaska udaljenosti točke od ograničenja dolazimo do zaključka da nije potrebno izračunati udaljenosti točno jer se one ionako međusobno uspoređuju (bilo bi ih korisno imati pri računu projekcije, ali projekciju smo ostavili kao dio programskog kôda procesora). Upravo zbog toga možemo recipročnu normu skalirati s proizvoljnom vrijednosti ili normalizirati. Normalizacijom dobivamo puno pogodniji raspon vrijednost od e-4 do Želimo li izvući što više informacije iz norme, možemo je još jednom skalirati. U tom slučaju skaliramo sa 5.5 kako ne bismo prešli ograničenja aritmetike te dobivamo raspon od.11 do Takvo dodatno skaliranje pokazalo se vrlo važnim pri dobivanju dobrih rezultata traženja prekršenih ograničenja. Uzmimo sada drugu operaciju koja koristi normu. Iako je ovaj dio ostavljen procesoru, moguće je ostvariti ubrzanje pripremom look-up tablice (LUT) umnoška kvadrirane recipročne norme i svakog od. Za ovakve tablice dobivaju se intervali [ , 1] za i [ , 1.412] za. Upravo zato što se projekcija izvodi na procesoru, ali koristi se cjelobrojni format koji koristi 32 bita, i ovaj dio bit će skaliran (ovdje 2^5) radi što više informacija te zaokružen. Novodobiveni intervali su [-16578, 32] za i [-23574, 45] za. Vrijednosti su spremljene kao polja u programskom kôdu na procesoru. 15
20 5. Specijalizirano sklopovlje Specijalizirano sklopovlje omogućava nam da premostimo vremenska ograničenja izvođenja programa samo na procesoru. U uvodu je već spomenuta pogodnost paralelizacije algoritma. Iz tog se razloga većina specijaliziranog sklopovlja temelji na paralelizaciji operacija potrebnih za rad algoritma. Takva izvedba ujedno i povećava propusnost, te eliminira usko grlo (engl. bottleneck) koje je posljedica pristupanja memoriji Izračun H reprezentacije politopskog skupa dozvoljenih upravljačkih signala Kako bi se uopće počeo izvoditi algoritam potrebno je odrediti H-K reprezentaciju politopa, stoga je prvi korak izračun K vektora iz stanja sustava. Specijalno pomoćno sklopovlje za izračun K prikazan je na slici. Sklop za izračun K (dalje u tekstu Kcalc) po pokretanju iterira kroz invarijantni skup, te množi red po red matrice i izračunava skalarni produkt trenutnog stanja sustava postavljenog u registre X1-X6 i invarijantnog skupa. Produkt se sprema u pomoćnu memoriju, no o tome više u sljedećem potpoglavlju. Slika 7. Vanjski dio Kcalca 16
21 Slika 8. Unutarnji dio Kcalca Blok Add5 sa Slike 8 ostvaren je Xilinx Mcode blokom System generatora. Xilinx Mcode blokovi su spremnici za m-funkciju koju želimo izvesti na sklopovlju. Sama konfiguracija sastoji se od navođenja imena funkcije u parametrima bloka te smještanja kôda te funkcije u radni direktorij gdje se nalazi i model. System generator će funkciju prevesti u ekvivalentan VHDL/Verilog kôd pri generiranju sklopovlja. Iako se može napisati, m- funkcija ne može koristiti sva MATLAB-ova svojstva, nego samo određeni podskup tih svojstava te Xilinxove konfiguracijske funkcije Brzina protoka podataka Odgovor na pitanje zbog čega nam je uopće potreban Kcalc ako imamo procesor jest upravo zbog brzine protoka podataka. Invarijantan skup u našem je slučaju matrica 12x6, što znači da bi sekvencijalnim izvođenjem skalarnog produkta bilo potrebno svaki od brojeva dohvatiti iz memorije, pomnožiti, zbrojiti te vratiti u memoriju. Radimo li to na procesoru, izračun K iz svakog reda zahtijevao bi dohvat svakog pojedinačnog operanda, što bi usporavalo proces. Uzmemo li idealan slučaj da dohvat jednog operanda traje 1 procesorski ciklus, za svaki red bilo bi nam potrebno 7 ciklusa i vrijeme potrebno za izvođenje operacija (C). Korištenjem Kcalca svaki ciklus dohvaćamo svih 7 operanada i time smanjujemo složenost sa 7(n+C) na n+c. Računamo li protok podataka, vidljivo je da procesor u ciklusu dohvaća 32 bita, što je protok od 1.9 Gbit/s. No to je idealan protok bez promašaja priručne memorije i trošenja vremena na petlje u stvarnom slučaju za petlju od 25 množenja dobivamo prosjek od 4 procesorskih ciklusa po operaciji (prema tablici iz potpoglavlja , no i taj broj postaje netočan skaliranjem problema). Iz svega navedenog se može zaključiti da je za izračun K sekvencijalnom metodom potrebno oko 28 procesorskih ciklusa. Koristimo li Kcalc protok nam je oko 5.6 Gbit/s jer dolazimo do memorijskih ograničenja (kao što je opisano u poglavlju o aritmetici), a K računamo u 17 ciklusa. 17
22 5.2. Pristup izračunatim podacima u sklopovlju Sklop za pristup izračunatiom podacima (nadalje HKBanka) je kontrolni dio pomoćnog sklopovlja koji ima dvije funkcije, služi za pristup izračunatim podacima od strane procesora (preko Addr registra) i slanje podataka drugim specijaliziranijim dijelovima cijelog sklopa. Po pokretanju HKBanka iterira kroz skup i prosljeđuje H i K vektor pomnožen s vrijednostima u registrima 'U1', 'U2' i 'KU'. Slika 9. Shema HKbanke Takva raspodjela memorije i množila zapravo je posljedica arhitekture Spartana3A gdje je memorija direktno povezana sa sklopovljem za množenje kao što je na Slika 1. Slika 1. Poveznica između memorije i ugrađenog množila na čipu [2] Sa slike se vidi da ugrađeno množilo prima dva operanda, veličine je najviše 18 bita i stoga vraća 36-bitni rezultat, ali kako je zaključeno u poglavlju o aritmetici taj rezultat se zaokružuje na aritmetiku Testiran je i dizajn koji ostavlja 32-bitne vrijednosti no nažalost zahtjevi takvog sklopa premašuju kapacitet čipa pri sintezi cijelog sustava. Za prolazak kroz sva ograničenja potrebno je n+6 ciklusa. Usporedimo li n+6 s tablicom iz potpoglavlja , vidljivo je vrlo veliko ubrzanje čak i naspram 25 iteracija s korištenjem priručne memorije. 18
23 5.3. Sklop za provjeru pripadnosti točke politopu Sklop za provjeru pripadnosti točke politopu (od sada isinpoly) je najjednostavniji sklop koji samo uspoređuje i kako bi odredio je li točka unutar politopa ili nije, tj. rješava prvi slučaj algoritma opisanog u potpoglavlju 1.1..Važno je napomenuti da radi obrnutom logikom, te da vraća rezultat 1 ako je nejednadžba prekršena. Sklopovlje takav problem rješava za HKBank + 2 odnosno n+8 ciklusa. Slika 11. Neprošireni isinpoly s direktnom usporedbom Proširenje tog sklopa teoretski poboljšava rezultate sveukupnog rada algoritma (vidi poglavlje 6). Slika 12 isinpoly s tolerancijom AbsTol registar kontrolira apsolutnu toleranciju provjere jer su rezultati u velikoj mjeri ovisni o istoj. Zbog te ovisnosti taj je registar u 32.3 aritmetici koja omogućava puno veći raspon tolerancija za usporedbu. Sklop prima proširene rezultate množenja iz HKBanke u preciznosti 32.3 jer je vrlo bitno da takva provjera točno radi. Nažalost, nije moguće svim modulima slati proširene rezultate, a ispostavlja se da kalkulator udaljenosti vrlo dobro radi i sa 16-bitnom aritmetikom nakon skaliranja recipročne norme. 19
24 5.4. Kalkulator udaljenosti točke od politopa Rješenje potproblema b) zahtjeva sortiranje udaljenosti točke od ograničenja jer je potrebno naći najudaljenije ograničenje, te projicirati točku na nj. Za izračun i možemo iskoristiti HKbanku, pa je povoljno dodati logiku koja će izračunati ostatak jednadžbe. U poglavlju o pretprocesiranju uvedene su ideje o normi koje su ovdje iskorištene. HKbanci dodan je blok memorije koji sadrži normaliziranu skaliranu recipročnu normu radi lakše sinkronizacije podataka u ovom sklopu. Na ulaz u kalkulator udaljenosti dovedeni su izlazi HKbanke. Dovoljno je izračunati sumu, provjeriti pripadnost točke politopu te izračunati udaljenost točke od ograničenja. Shema sklopa koji izvršava navedenu logiku prikazana je na Slici 13. Slika 13. Obrada podataka prije prosljeđivanja na sortiranje Vidljiv je i najbitniji dio kalkulatora udaljenosti, a to je sklop za sortiranje. Sklop ne sortira sve vrijednosti koje ulaze u kalkulator udaljenosti već samo one gdje vrijedi nejednakost. Od tih vrijednosti sklop pamti indekse 1 najvećih (eksperimentalno se pokazalo da su slučajevi kada rješenje nije pronađeno u prvih 1 iteracija algoritma vrlo rijetki). Za pamćenje tih 1 vrijednosti potrebni su automati koje ćemo nazvati sortirajuće ćelije. Registar emptyflag je registar obrnute logike, koji označava postoji li uopće važeća udaljenost. 2
25 Važna je napomena da se udaljenosti indeksiraju s početnim indeksom 1 radi lakše programske kontrole (ako program naiđe na indeks iznosa onda je prešao sva važeća ograničenja) Sortirajuća ćelija Ideja sortirajućih ćelija dolazi iz [6] i, kao što joj samo ime kaže, riječ je o ćeliji za sortiranje. Rad ćelije objašnjena je u sljedećem primjeru. Primjer. Želimo sortirati niz 4,34,23 uzlazno. Slika 14. Skup sortirajućih ćelija prije prvog koraka Prvi korak počinje brojem 4 na ulazu. Sve su ćelije prazne pa će broj otići u prvu ćeliju sortera. Slika 15. Skup sortirajućih ćelija tijekom i nakon prvog koraka Drugi broj koji dolazi je 34 njega možemo staviti na sljedeće prazno mjesto jer je veći od 4 pa je stanje nakon drugog koraka sljedeće: 21
26 Slika 16. Skup sortirajućih ćelija tijekom i nakon drugog koraka U posljednjem koraku na ulazu je broj 23. Njega treba smjestiti između broja 4 i 34 što znači da broj 34 treba premjestiti u sljedeću ćeliju. Slika 17. Skup sortirajućih ćelija tijekom i nakon treceg koraka Iz primjera se primjećuje nekoliko pravila. 1) ako je prva ćelija prazna u nju stavi prvi broj 2) ako je prethodna ćelija prazna => ne spremaj broj na ulazu 3) ako je broj na ulazu manji od broja trenutnog broja u ćeliji (za sortiranje silazno broj je veći od broja u ćeliji) => trenutni broj u ćeliji pošalji sljedećoj ćeliji u nizu, a broj s ulaza spremi u memoriju 4) ako ćelija koja je prije u nizu gura svoju vrijednost (znači da je usporedba uspjela prije ove ćelije) => spremi gurnut broj, a svoj pošalji sljedećoj ćeliji. Ovo pravilo ima veći prioritet od pravila broj tri. Za provedbu tih pravila potrebni su dodatni signali koji će sljedećoj ćeliji oglašavati je li prethodna ćelija puna i pomiče li svoj broj sljedećoj. Ovakav rad sortiranja zahtijeva vrlo preciznu sinkronizaciju između ćelija, inače bi vrlo lako moglo doći do grešaka. U našem 22
27 slučaju ne sortira se cijeli niz, već se pamti 1 najboljih vrijednosti jer je za ćelije potreban velik broj logičkih elemenata. Izgled jedne ćelije u Simulinku prikazan je na sljedećoj slici. Slika 18. Izgled jedne ćelije Operacijski takt sortirajuće ćelije Razumijevanje operacijskog takta sortirajućih ćelija potrebno je da bi se uspjela ostvariti sinkronizacija pri spajanju ćelija u veće nizove. U idealnom slučaju sve bi se ćelije aktivirale u isto vrijeme i usporedile svoje stanje, no u stvarnom svijetu potrebno je sklop sinkronizirati na rad takta. Signali pri radu jedne ćelije nalaze se na Slici 19. Kada ćelija primi podatke, uspoređuje ih s podatcima koje već ima ako ih ima. Na rastući brid takta ćelija, ovisno o svojem trenutnom stanju i ulaznim signalima prethodne ćelije, određuje koje pravilo treba poštovati. Signal enable je potreban jer za tu primjenu ćelija ne prihvaća sve ulaze, već samo one koji su izvan politopa. 23
28 ciklus Slika 19 Vremenski graf rada jedne ćelije Ćeliji su potrebna dva takta za obradu ulaznih podataka i postavljanje signala stanja, prema kojemu druga ćelija prilagođava svoj rad. Zbog tog kašnjenja pri spajanju više ćelija jedne za drugom potrebno je zakasniti ulazne podatke za dva takta, kao što je prikazano na slici sa spajanjem dviju ćelija. Slika 2. Sinkronizacija dviju ćelija 24
29 5.5. Sklop za rješavanje jednodimenzionalnog problema najbliže točke na politopu Posljednji ostvaren specijalizirani sklop jest sklop za rješavanje 1DCAPP problema [7]. 1DCAPP problem sastoji se od pronalaska najmanjeg maksimuma (minmax) i najvećeg minimuma (maxmin), odnosno dopuštenog intervala vrijednosti upravljačke varijable za koji smo sigurni da će u njemu varijabla ostati u invarijantnom skupu. Iako algoritam ima dvije upravljačke varijable u koraku c), utvrđeno je da problem možemo svesti upravo na 1DCAPP, ali 1DCAPP nećemo rješavati uvijek za istu upravljačku varijablu. Odabrat ćemo onu varijablu čija je apsolutna vrijednost manja. Zbog toga je osim izračuna i potrebna dodatna logika kao na Slici 21. Slika 21. Logički dio za odabir varijable po kojoj se rješava 1DCAPP Radi boljeg razumijevanja logike pogledajmo opet nejednadžbu za 1DCAPP. [ ] Pomnožimo li obje strane sa dobivamo [ ] Takav oblik te nejednadžbe mnogo je lakše izvesti što zbog strukture Spartana3 što zbog već napravljenog sklopovlja. Rješavanje po drugoj varijabli analogno je tom obliku, pa je dovoljno multipleksirati ulaze u sklop. Odabirom oblika koji se rješava upravlja signal sel. 25
30 Nadalje zbog skaliranja koje će biti opisano u poglavlju o programskom dijelu, potrebno je omogućiti množenje varijable koja nije pomnožena u HKBanci iz tog razloga spojen je registar Hscale aritmetike 16.14, kao i ostalo sklopovlje. Potrebno je, također, podijeliti desnu stranu jednadžbe s lijevom jer ipak računamo interval od. Dijeljenje je opasna operacija i zahtijeva provjeru vrijednosti lijevog operanda. Zbog toga su operandi prvo spojeni u 'Control' podsustav, koji provjerava je li lijevi operand i služi za ignoriranje ograničenja po kojem trenutačno tražimo rješenje problema (indeks ograničenja koje se ignorira potrebno je spremiti u registar 'CurrRow'). Slika 22. Kontrolni dio za provjeru dijeljenja s i izbjegavanje trenutnog ograničenja Treći dio tog sklopa upravo je onaj koji od svih kvocijenata lijeve i desne strane jednadžbe pamti one koji predstavljaju minmax i maxmin signala. maxmin očito dobivamo kada je lijeva strana nejednadžbe negativna, stoga je potrebno usmjeriti signal onom dijelu podsustava koji je prikladan za tu vrijednost. Djelilo je konfigurirano da prima dva 16- bitna operanda, a vraća kvocijent u obliku 16 cjelobrojnih bitova i 16 decimalnih bitova koji se zbrajaju. Nadalje, rješenje se smatra 32-bitnim brojem aritmetike Takva konfiguracija daje veću preciznost rješenja, koja je za algoritam i potrebna. Vrlo je važno paziti na takvu aritmetiku prilikom čitanja rezultata korištenjem procesora. 26
31 Slika 23. Dio za pronalazak minmax i maxmin intervala Važno je napomenuti da je registre za maxmin i minmax potrebno inicijalizirati na vrlo malu, odnosno veliku vrijednost. Reinterpret blokovi na slici posljedica su vrlo strogog sustava tipiranja System generatora koji zahtijeva da ulazi u djelilo budu cjelobrojni. Takvi blokovi ne koštaju ništa logičkih blokova čipa, već su ovdje samo zbog pretvorbe tipova podataka. 27
32 6. Programski dio Kao što je već navedeno, sklopovska izvedba sadrži i mikroprocesor. Programski dio rada obuhvaća kontrolu ostvarenog pomoćnog sklopovlja mikroprocesorom, te dodatne operacije koje su potrebne za pronalazak rješenja algoritma. Ukratko su opisane funkcije za pozivanje pojedine funkcionalnosti pomoćnog sklopovlja, skaliranje međurezultata pri provedbi algoritma (vidi poglavlje 3.) te usporedba izmjerenih vremena potrebnih za poziv funkcija i vremena osnovnih operacija navedenih u potpoglavlju Upravljački programi Upravljački program uređaja (engl. driver) programski je kôd koji upravlja i omogućava pristup pojedinoj komponenti sklopovlja. Radi lakšeg korištenja napisane su funkcije za rad s vanjskim komponentama spojenima na procesor. Pozivi Kcalc i HKbank sklopova najjednostavniji su. U enable registar željenog sklopa najprije se postavlja kako bi mu se onemogućio rad. Nakon toga sklop resetiramo postavljanjem 1, pa u registar za resetiranje (Za Kcalc 'Rst', za HKbank 'BankRst'). Nakon resetiranja postavljaju se vrijednosti operanada u za to predviđene registre ('X1'- 'X6' i 'U1','U2' te 'KU'), te 1 u enable registar. Sve pomoćno sklopovlje ima registar koji se postavlja u 1 kada je sklop gotov s radom i podatci su spremni za čitanje ili u slučaju Kcalca, za daljnji rad. Preostala 3 sklopa kontroliraju se iz registra 'ctrlreg' koji je veličine 4 bita. Format riječi je pri čemu: enis endi enclo selclo - enis kontrolira je li omogućen sklop isinpoly, - endi upravlja kalkulatorom udaljenosti, - enclo omogućava sklop za 1DCAPP, - selclo određuje koja se verzija rješavanja 1DCAPP problema izvodi. Za ispravnu kontrolu prvo se omogućava željeni sklop, a zatim se poziva funkcija koja pokreće HKBank koji počinje iterirati kroz retke matrice. 28
33 6.2. Skaliranje U poglavlju o aritmetici utvrđeno je da pri izračunu projekcije dobivene vrijednosti za upravljački signal ne moraju biti u intervalu [-2,2] s kojim pomoćno sklopovlje računa. Javlja se potreba za skaliranjem projekcije ovisno o trenutnom rezultatu. Radi brže operacije skaliranje se provodi aritmetičkim posmakom u desno. Iz intervala je poznato da broj posmaka nikada neće biti veći od 1, ali zbog aritmetike moguće je skaliranje sve do 2^-14. Prije nego se vrijednosti uopće mogu skalirati potrebno je odrediti broj posmaka koji će ih spustiti na interval [-1,1] (aritmetika može prikazati interval [- 2,2] ali zbog mogućeg preljeva ovdje je dopušteno [-1,1] jer množenje s takvim brojevima neće promijeniti granice intervala). Najlakši je način određivanja tog broja s pomoću logaritma vrijednosti koje skaliramo. Algoritam za vrlo brzo izračunavanje logaritma brojeva cjelobrojnih formata opisan je u [8] 6.3. Utjecaj pogreške zaokruživanja Propagacija greške nije samo problem pomoćnog sklopovlja već je i problem programskog kôda. Već pri zapisivanju recipročne norme (vidi poglavlje 3.) unesena je greška od 2^-6 jer je norma skalirana samo sa 2^5. Dodatna greška javlja se pri nužnom skaliranju brojeva zbog operacija množenja pri računanju projekcije. Nadalje, vrijednosti za H i K dobivene su iz HKbanke što znači da su zaokružene na pa je i tu uvedena pogreška od 2^-15. Prolaskom kroz operaciju projekcije lako se uočava gdje sve može doći do pogreške zaokruživanja. Pri izračunavanju i oba su faktora aritmetike pa je rezultat koji se radi kasnije operacije svodi na (ovdje se uvodi greška od 2^-15) Druga operacija gdje dolazi do greške ispravak je aritmetike nakon izračuna projekcije upravljačkog signala jer je recipročna norma formata 16.5, a međurezultat iz prethodne operacije dobiva se rezultat Posljednji rezultat potrebno je svesti na format 1.14 te stoga posmak udesno za 5 uvodi grešku od 2^-5. 29
34 6.4. Eksperimentalno utvrđene brzine izvođenja Brzine izvođenja pojedinih funkcija su već spomenute, ali one ne znače mnogo ako poziv istih funkcija nije dovoljno brz. Bitna je i usporedba dobivenog vremena izvođenja i vremena koje bi algoritmu bilo potrebno za izvođenje da je cijeli implementiran na procesoru. Mjerenjem se ispostavlja da nije ni potrebno uspoređivati s potpunom implementacijom algoritma jer se i usporedbom samih osnovnih operacija iz potpoglavlja vidi veliko ubrzanje. Prosječno trajanje poziva svake od funkcija u ciklusima i u mikrosekundama nalazi se u Tablici 6. Funkcija Ciklusa mikrosekundi Izračun K Isin project DCAPP DI Prosječan prolazak kroz algoritam (iz testova) Najgori prolazak kroz algoritam ponavljanja traženja točke preko 1 najudaljenijih ravnina (samo najgori jer se samo tada može ponavljati) 15 ponavljanja traženja točke preko 1 najudaljenijih ravnina Tablica 6. Vrijeme izvođenja funkcija poziva pomoćnog sklopovlja Potrebno je još napomenuti da se u funkcijama HKBank poziva 2 puta jer se pri duljem radu čipa znaju izmijeniti registri što dovodi do krivih rezultata. 3
35 7. Rezultati Provedeno je testiranje algoritma na 446 točaka, odnosno na rezultatima simulacije modela vjetroagregata snage jednog megavata dugoj 44.6 sekundi. Idealni rezultati dobiveni su simulacijom u MATLABu koja koristi dvostruku preciznost. Važno je napomenuti da je testirano nekoliko različitih izvedbi pomoćnog sklopa s promjenama većinom na dijelu provjere pripadnosti točke politopu, pokazalo se da navedena funkcija ima značajan utjecaj na rezultat. Na sljedećih par grafova oznake su kako slijedi: - Idealno označava rješenje u MATLABu, - označava provjeru gdje se direktno uspoređuju i u aritmetici 16.14, - > pozitivni kvant jest iteracija sklopa gdje se razlika - uspoređuje s najmanjim kvantom aritmetike, odnosno 6.1e-5, čime se prostor smanjuje, - > negativni kvant je jednaka izvedba prošloj, samo je kvant -6.1e-5 ovdje se prostor proširuje 1 Idealno Testni primjer HU > K Testni primjer HU-K > 2-14 HU-K > Testni primjer Testni primjer Slika 24. Dobiveni signal za različite izvedbe testa pripadnosti točke politopu 31
36 1 Idealno Testni primjer HU > K Testni primjer HU-K > 2-14 HU-K > Testni primjer Testni primjer Slika 25. Dobiveni signali za različite izvedbe testa pripadnosti točke politopu Izuzev titranja trećeg signala, koje se može primijetiti na prvih 13 točaka, drugi i treći signal na prvi su pogled vrlo slični idealnom signalu, ali pri računu greške između svakog para rezultata dolazi do velikih odstupanja i greške zaokruživanja od čak 1% za neke primjere. Neki od tih primjera posljedica su upravo provjere točke i politopa, a neki su slučajevi u kojima bi algoritam trebao vratiti grešku (algoritam nije našao točku koja se programski smatra rješenjem). Nažalost, ni izbacivanje tih primjera ne rezultira boljim rezultatima i još uvijek ostaju šiljci gdje je pogreška vrlo velika. 32
37 Idealno vs bez tolerancije [%] -14 [%] Idealno vs tolerancija 2 Idealno vs tolerancija [%] Testni primjer Testni primjer Testni primjer Slika 26. Greška za prva 3 signala sa Slike 24. Idealno vs bez tolerancije [%] -14 [%]l Idealno vs tolerancija 2 Idealno vs tolerancija [%] Testni primjer Testni primjer Testni primjer Slika 27. Greška za prva 3 signala sa Slike
38 Signal gdje se uspoređuje s negativnim kvantom ima samo tri šiljka na mjestima gdje se dogodila greška, odnosno algoritam nije uspio pronaći rješenje u prvih 1 iteracija. Uklanjanjem programskih grešaka dobiva se mnogo bolji graf, ali ostaje problem relativno velike greške zaokruživanja koja doseže i do 2 %. Idealno vs tolerancija Bref [%] Testni primjer Idealno vs tolerancija Tref [%] Testni primjer Slika 28. Negativna tolerancija bez programskih pogrešaka Kao što je navedeno u opisu sklopa za provjeru vrijedi pokušati proširiti preciznost ovog dijela algoritma. Greška zaokruživanja između proširene provjere i idealnog slučaja prikazana je na sljedećoj slici. 34
39 Idealni vs prosireni s korakom Bref [%] Testni primjer Idealni vs prosireni s korakom Tref [%] Testni primjer Slika 29. Razlika između idealnog slučaja i proširenog s malom pozitivnom tolerancijom te ponavljanjem računa s korakom Pri računu Slike 29 nije korištena samo mala pozitivna tolerancija. Iteriranje kroz najudaljenijih 1 ravnina ponavljano je 1 puta, te je u svakoj iteraciji nakon provjera umanjen iznos projekcije i ulaza u 1DCAPP za 1 % čime se obje točke pomiču prema središtu koordinatnog sustava u nadi da će ući u politop. Ta metoda ne daje dobre rezultate stoga treba odabrati prikladnije traženje smjera kretanja ako rješenje nije pronađeno u prvoj iteraciji. U sljedećoj provjeri uvedene su restrikcije kada se rješenje smatra važećim. Oba iznosa signala moraju biti pozitivna i ne veća od 2^14 jer se u idealnom slučaju vidi da dobiveni iznosi ne premašuju tu vrijednost. Takve restrikcije poboljšavaju rješenje kao što je vidljivo na Slici 3. 35
40 Idealni vs ograničeni Bref [%] Testni primjer Ideal vs ograničeni Tref [%] Testni primjer Slika 3. Ograničavanje pri provjeri pripadnosti točke i politopu Detaljnijom provjerom rezultata s restrikcijom u primjerima gdje se događa velika greška zaokruživanja (>6 %) primjećuje se da to zapravo nije greška računa već greška kalkulatora udaljenosti sklopa zbog koje se vrlo male razlike u udaljenostima od ravnina stapaju i dobiva se drugačiji poredak njihovih indeksa. Izbaci li se iz kôda provjera pripadnosti točke politopu dobivaju se bolja rješenja za te slučajeve jer algoritam forsira provjeru 1DCAPP problema, ali gora rješenja u drugim slučajevima gdje greška naraste i do 2 % u usporedbi s idealnim rezultatima. Proširenjem preciznosti kalkulatora udaljenosti i ćelija za sortiranje, te negativnom apsolutnom tolerancijom vrijednosti od jednog kvanta dobivaju se nešto bolji rezultati gdje greška zaokruživanja ne prelazi 2 %. Prikaz je bez primjera u kojima algoritam ne pronalazi rješenje, ali tih primjera ima samo 18, za razliku od rješenja s pozitivnom tolerancijom gdje je takvih slučajeva oko 8. 36
41 Ideal vs prosireni kalkulator udaljenosti Tref [%] Ideal vsprosireni kalkulator udaljenosti Bref [%] Testni primjer Testni primjer Slika 31. Prošireni kalkulator udaljenosti s negativnom tolerancijom jer ona daje bolje rezultate Još uvijek ostaju veliki skokovi razlike između dobivenog upravljačkog signala i idealnog signala na mjestima kao i prije, iz čega se dā zaključiti da su razlike u udaljenosti točke od ravnina toliko male da se zaokružuju na 3. bitu ili su vrijednosti u memoriji toliko slične da odmah pri izlazu uvode grešku koja onemogućava usporedbu udaljenosti. Posljednji skup mjerenja izveden je s proširenim sklopovljem za udaljenost i provjeru te bez tolerancije odnosno s malom negativnom tolerancijom i malom pozitivnom tolerancijom iznosa ±2e-6. Nažalost, sva tri rješenja gotovo su jednaka rješenju bez tolerancije kao na Slici
42 Idealni vs vise prosirenja Bref [%] Testni primjer Idealni vs vise prosirenja Tref [%] Testni primjer Slika 32. Greška s proširenim kalkulatorom udaljenosti i provjerom Uvidom u dobivene rezultate možemo zaključiti sljedeće. Iako odabir tolerancije, širine kalkulatora udaljenosti i restrikcija rješenja utječe na točnost sveukupnog rezultata zbog ograničenja aritmetike slučajevi gdje bi se trebali dobiti relativno dobri rezultati često imaju vrlo velika odstupanja zbog malih razlika između udaljenosti. Takva greška mogla bi se popraviti skaliranjem ulaznih varijabli radi ostvarivanja veće preciznosti, no zbog ograničenja Spartan3A čipa takve prilagodbe ovdje nije moguće napraviti. Sva razmatranja uspoređivana su promatranjem iznosa relativne pogreške, ali dobro je i pogledati apsolutni iznos greške i izgled odokativno najboljeg dobivenog rješenja. 38
43 Idealno vs prosirenja s negativnom tolerancijom Bref hardver idealni apsolutna greška Testni primjer Slika 33 za proširene kalkulator udaljenosti i isinpoly s negativnom tolerancijom hardver idealni greška idealni vs proširenja s negativnom tolerancijom Tref Testni primjer Slika 34 za proširene kalkulator udaljenosti i isinpoly s negativnom tolerancijom 39
44 Za vidljiva je najveća apsolutna pogreška iznosa.5 što je u tom trenutku oko 1% iznosa točnog rješenja. Tref nešto više griješi ovom metodom i dolazi se sve do apsolutne pogreške iznosa.1 koja prestavlja oko 15 % cjelokupne vrijednosti rješenja za tu varijablu. Nadalje, isprobani su kompliciraniji algoritmi pronalaska rješenja poput skaliranja dobivenih vrijednosti kružno (skaliranje za 1 % u svakom od 8 smjerova) i uzimanja samo onog rješenja koje je najbliže ulaznoj točki donosno najdalje od nje. Ni takvim traženjem ne dobivaju se greške manje od onih na Slikama 34. i 35. te ih nije ni potrebno prikazivati. 4
45 8. Zaključak Istražen je pristup ostvarenja algoritma koji pomaže pri nadbrzinskoj zaštiti vjetroagregata prilikom naleta vjetra ili općenito pri upravljanju procesima kod kojih je potrebno da varijable ne prelaze odgovarajuće granice. Sustav je dizajniran s ciljem samostalne operacije plug'n'play principom kako bi se mogao što lakše koristiti u praksi. Iz tog razloga korišteni mikroprocesor sintetiziran je od logičkih polja. U pogledu vremena, ostvareni sustav problem rješava za red veličine brže od potrebnog, ali zbog tehničkih ograničenja korištenog čipa javlja se relativno velika greška u usporedbi s idealnim modelom. Ta velika greška očekivana je uzmemo li u obzir da izvedeno sklopovlje na 15 bita ni jednom ne dolazi do rješenja. 16-bitni pristup apsolutni je minimum, barem na ovakav način. Implementacija pokazuje iznimnu snagu FPGA čipova pri izvođenju algoritama za koje je poželjno dizajnirati specijalizirano sklopovlje. Usporedba različitih izvedbi algoritma s idealnim modelom pokazuje koliko je bitna aritmetika pogodna za ostvarenje dobrih rezultata. Podešavanjem raznih parametara moguće je grešku ublažiti, ali ni ublažavanjem ne mogu se nadići ograničenja aritmetike. Povećavanjem preciznosti dijelova algoritma vidljivo je da prelazak na veću sveukupnu numeričku preciznost algoritma ne bi zahtijevao mnogo veći čip od Spartan3A. Dovoljan bi bio moderan čip srednje klase. Točne iznose potrebnih ćelija i drugih komponenata teško je odrediti jer moderni čipovi imaju drugačiju arhitekturu. Arhitektura, također, ovisi i o proizvođaču. 41
46 9. Literatura [1] Hure N. et al., Wind turbine overspeed protection based on polytopic robustly invariant sets, Wiley Online Library. Volume 19, Issue 9 September 216 Pages [2] Xilinx Inc., Spartan-3A FPGA Family: Data Sheet, [3] Xilinx Inc., System Generator for DSP User Guide, , [4] Xilinx Inc., System Generator for DSP Getting Started Guide, , gen_gs.pdf, [5] Xilinx Inc., MicroBlaze Processor Reference Guide, , [6] Joshua Vasquez, Sort faster with FPGAs, [7] Vašak M., Perić N.,Robust invariant set-based protection of multi-mass electrical drives, COMPEL - The international journal for computation and mathematics in electrical and electronic engineering, 29/1, 21, str [8] Andrew Shapira, , Find the log base 2 of an N-bit integer in O(lg(N)) operations,
47 Sažetak Kompleksni mehnički sustavi, svakodnevno izloženi nepredvidljivom okolišu, imaju vrlo stroge granice rada čije kršenje dovodi do velike tehničke ili ekonomske štete. Algoritmima koji upravljaju takvim sustavima dodaju se zaštitni algoritmi koji ograničavaju upravljački signal. U radu je implementiran jedan takav algoritam zasnovan na proračunanom invarijantnom skupu korištenjem procesora i specijaliziranog pomoćnog slopovlja realiziranih na programirljivim logičkim poljima. Detaljno je opisan svaki dio pomoćnog sklopovlja te način pristupanja sklopovlju programskim kodom koji se izvodi na procesoru. Na kraju su uspoređene performanse različitih konfiguracija izvedbe i idealnog modela sustava. Iako su vrijednosti dobivenih rezultata loše, rezultati su obećavajući za korištenje FPGA čipova za implementaciju tog algoritma ili sličnih algoritama temeljenih na invarijantnom skupu. Bolji rezultati izvedbe algoritma mogu se dobiti na moćnijem sklopovlju. Ključni pojmovi: Programabilna logika (FPGA) (engl. Programmable Logic Array), Sustav zaštite radne anvelope, Nadbrzinska zaštita vjetroagregata, System generator, Aritmetika s fiksnim zarezom, Kvantitativna analiza preciznosti aritmetike 43
48 Summary Complex mechanical systems, which are exposed to hostile environment every day, include very strict operating limits so as not to cause technical or economic damage. Control algorithms for these systems often require additional protective algorithms which limit the control signal that is applied to the plant. This paper describes the implementation of such protection algorithm. The algorithm is based on a pre-calculated control invariant set. The implementation uses both a microprocessor and a special coprocessor synthesized from logic fabric. Parts of the coprocessor and software drivers are described. Different configurations of the implementation are compared to the ideal model. Although the results are not as good as strict industrial environment may require, they paint a promising picture for the use of FPGA chips to implement this or similar invariant set-based algorithms. More accurate results of the implemented algorithm can be obtained with the more powerful hardware. Keywords: Programmable Logic Array, Operating envelope protection system, Wind turbine overspeed protection, System generator,fixed-point arithmetic, Quantitative arithmetic precision analysis 44
49 Privitak Sinteza sklopovlja iz MATLAB-a u EDK-u Prije nego što se pomoćno sklopovlje može spojiti na procesor potrebno ga je izvesti iz MATLAB-a. Radi inicijalizacije vrijednosti u memoriji prave se tekstualne datoteke od kojih svaka sadrži jedan stupac matrice. Put do tekstualnih datoteka stavlja se u polje Initial value vector kao na slici. Postupak se ponavlja za svaki stupac matrice. Nakon postavljanja inicijalnih vrijednosti potrebno je sinkronizirati EDK blok, koji određuje što će procesor vidjeti kao memoriju, te u kartici Implementation postaviti Bus Type kao PLB v4.6. Nakon toga otvara se System generator blok. Pod polje compilation postavlja se Export as pcore to EDK. U postavkama tog načina kompilacije potrebno je na EDK-u pokazati projekt u koji se sklop želi uvesti. Zbog toga što ovaj dizajn sadrži dodatne MCode i Black Box blokove potrebno je u direktorij gdje se nalazi model staviti sljedeću MATLAB funkciju: function sum = add5( x1,x2,x3,x4,x5,x6 ) % adds all 5 values sum=xfix({xlsigned, 16,14,xlSaturate,xlRound},x1+x2+x3+x4+x5+x6); 45
50 end i VHDL kod koji opisuje ćelije za sortiranje: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.ALL; entity cell is Port ( clk : in STD_LOGIC; ce : in STD_LOGIC; rst : in STD_LOGIC; enable : in STD_LOGIC; prev_cell_pushed : in STD_LOGIC; prev_cell_state : in STD_LOGIC; prev_cell_data : in STD_LOGIC_VECTOR (15 downto ); prev_cell_index : in STD_LOGIC_VECTOR (15 downto ); new_data : in STD_LOGIC_VECTOR(15 downto ); new_index : in STD_LOGIC_VECTOR(15 downto ); data_out : out STD_LOGIC_VECTOR (15 downto ); index_out : out STD_LOGIC_VECTOR (15 downto ); cell_pushed : out STD_LOGIC; cell_state_out : out STD_LOGIC ); end cell; architecture Behavioral of cell is type statetype is (EMPTY, OCCUPIED); signal data_valid: STD_LOGIC; signal cell_state: STD_LOGIC; signal cell_state2 : STD_LOGIC; signal state: statetype := EMPTY; signal data: STD_LOGIC_VECTOR(15 downto ) := (others => ''); signal data2: STD_LOGIC_VECTOR(15 downto ) := (others => ''); signal index: STD_LOGIC_VECTOR(15 downto ) := (others => ''); 46
51 signal index2: STD_LOGIC_VECTOR(15 downto ) := (others => ''); signal push: STD_LOGIC; begin process (new_data,data) begin if (new_data > data) then data_valid <= '1'; else data_valid <= ''; end if; end process; process (clk,ce) begin if ce = '1' then if(rising_edge(clk)) then if rst = '1' then state <= EMPTY; cell_state <= ''; push <= ''; data <= (others => ''); index <= (others => ''); elsif enable = '1' then case state is when EMPTY => if prev_cell_pushed = '1' then state <= OCCUPIED; cell_state <= '1'; data <= prev_cell_data; index <= prev_cell_index; push <= ''; elsif prev_cell_state = '1' then state <= OCCUPIED; cell_state <= '1'; data <= new_data; index <= new_index; push <= ''; end if; 47
52 when OCCUPIED => if prev_cell_pushed = '1' then push <= '1'; data <= prev_cell_data; index <= prev_cell_index; elsif data_valid = '1' then push <= '1'; data <= new_data; index <= new_index; else state <= OCCUPIED; cell_state <= '1'; push <= ''; end if; when others => state <= EMPTY; cell_state <= ''; push <= ''; data <= (others => ''); index <= (others => ''); end case; end if; end if; end if; end process; process (clk,ce) begin if ce = '1' then if rising_edge(clk) then cell_state2 <= cell_state; cell_state_out <= cell_state2; data2 <= data; index2 <= index; cell_pushed <= push; data_out <= data2; index_out <= index2; end if; end if; end process; end Behavioral; 48
53 Konfiguracija EDK projekta Pri kreaciji EDK projekta potrebno je odabrati PLB system te zatim stvaranje novog dizajna. Kod odabira pločice potrebno je odabrati Spartan 3A Starter Kit zatim Single- Processor System. Postavke konfiguracije procesora potrebno je ostaviti kako su zadane (kasnije će se promijeniti). Postavke periferije navedene su na sljedećoj slici: Na sljedećem prozoru potrebno je omogućiti priručnu memoriju zatim kliknuti na gumb kojim se završava dizajn. Postavke MicroBlaze procesora potrebno je promijeniti na sljedeće: 49
54 Koraci za povezivanje generiranog sklopovlja su sljedeći: - U kartici Ports spojiti generirano sklopovlje na clock_generator_::clkout2 - Generirati adresni prostor pritiskom na za to predviđen gumb u kartici Addresses - Nakon konfiguracije kliknuti na Project Export design to SDK - Pričekati kraj sinteze (sinteza može potrajati nekoliko desetaka minuta,ovisno o računalu) U kartici Design Summary moguće je vidjeti Device utilization, odnosno koliko je čipa zauzeo dizajn. Za dizajn u ovom radu iskorištenost čipa bila je kao na sljedećoj slici. Kada se SDK pokrene za konfiguraciju sljediti korake: - U kartici Xilinx Tools Repositories dodati put do EDK projekta - Za kreaciju novog projekta (uključujući i automatski generirane primjere aplikacija) otići na File New Application Project - Proširiti memoriju za gomilu i stog projekta, generiranjem novog linker scripta 5
Algoritmi i arhitekture DSP I
Univerzitet u Novom Sadu Fakultet Tehničkih Nauka Katedra za računarsku tehniku i međuračunarske komunikacije Algoritmi i arhitekture DSP I INTERNA ORGANIACIJA DIGITALNOG PROCESORA A OBRADU SIGNALA INTERNA
ВишеMicrosoft Word - predavanje8
DERIVACIJA KOMPOZICIJE FUNKCIJA Ponekad je potrebno derivirati funkcije koje nisu jednostavne (složene su). Na primjer, funkcija sin2 je kompozicija funkcija sin (vanjska funkcija) i 2 (unutarnja funkcija).
Више23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi
3. siječnja 0. od 3:00 do 4:00 RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovitelji Sadržaj Zadaci. 4.... Zadaci 5. 0.... 3 od 8 Zadaci. 4. U sljedećim pitanjima na pitanja odgovaraš upisivanjem
Више(Microsoft Word - Dr\236avna matura - studeni osnovna razina - rje\232enja)
1. C. Imamo redom: I. ZADATCI VIŠESTRUKOGA IZBORA 9 + 7 6 9 + 4 51 = = = 5.1 18 4 18 8 10. B. Pomoću kalkulatora nalazimo 10 1.5 = 63.45553. Četvrta decimala je očito jednaka 5, pa se zaokruživanje vrši
Више_sheets.dvi
Zavod za elektroniku, mikroelektroniku, 28. studenog 2008. računalne i inteligentne sustave 2. me duispit iz Arhitekture računala 2, teorijski dio 1. Koja komponenta modernih računala nije bila prisutnau
Више8 2 upiti_izvjesca.indd
1 2. Baze podataka Upiti i izvješća baze podataka Na početku cjeline o bazama podataka napravili ste plošnu bazu podataka o natjecanjima učenika. Sada ćete izraditi relacijsku bazu u Accessu o učenicima
ВишеNastavna cjelina: 1. Jezik računala Kataloška tema: 1.1. Bit 1.2. Brojevi zapisani četvorkom bitova Nastavna jedinica: 1.1. Bit 1.2. Brojevi zapisan
Nastavna cjelina: 1. Osnove IKT-a Kataloška tema: 1.6. Paralelni i slijedni ulazno-izlazni pristupi računala 1.7. Svojstva računala Unutar računala podatci su prikazani električnim digitalnim signalima
Више(Microsoft Word - Dr\236avna matura - kolovoz ni\236a razina - rje\232enja)
1. C. Imamo redom: I. ZADATCI VIŠESTRUKOGA IZBORA. B. Imamo redom: 0.3 0. 8 7 8 19 ( 3) 4 : = 9 4 = 9 4 = 9 = =. 0. 0.3 3 3 3 3 0 1 3 + 1 + 4 8 5 5 = = = = = = 0 1 3 0 1 3 0 1+ 3 ( : ) ( : ) 5 5 4 0 3.
ВишеP11.3 Analiza zivotnog veka, Graf smetnji
Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 1 Поједностављени поглед на задњи
ВишеMicrosoft Word - 6ms001
Zadatak 001 (Anela, ekonomska škola) Riješi sustav jednadžbi: 5 z = 0 + + z = 14 4 + + z = 16 Rješenje 001 Sustav rješavamo Gaussovom metodom eliminacije (isključivanja). Gaussova metoda provodi se pomoću
ВишеMicrosoft Word - 15ms261
Zadatak 6 (Mirko, elektrotehnička škola) Rješenje 6 Odredite sup S, inf S, ma S i min S u skupu R ako je S = { R } a b = a a b + b a b, c < 0 a c b c. ( ), : 5. Skratiti razlomak znači brojnik i nazivnik
ВишеPuTTY CERT.hr-PUBDOC
PuTTY CERT.hr-PUBDOC-2018-12-371 Sadržaj 1 UVOD... 3 2 INSTALACIJA ALATA PUTTY... 4 3 KORIŠTENJE ALATA PUTTY... 7 3.1 POVEZIVANJE S UDALJENIM RAČUNALOM... 7 3.2 POHRANA PROFILA KORISNIČKIH SJEDNICA...
ВишеRecuva CERT.hr-PUBDOC
Recuva CERT.hr-PUBDOC-2019-5-379 Sadržaj 1 UVOD... 3 2 INSTALACIJA ALATA RECUVA... 4 3 KORIŠTENJE ALATA RECUVA... 7 4 ZAKLJUČAK... 13 Ovaj dokument izradio je Laboratorij za sustave i signale Zavoda za
ВишеALIP1_udzb_2019.indb
Razmislimo Kako u memoriji računala prikazujemo tekst, brojeve, slike? Gdje se spremaju svi ti podatci? Kako uopće izgleda memorija računala i koji ju elektronički sklopovi čine? Kako biste znali odgovoriti
ВишеУвод у организацију и архитектуру рачунара 1
Увод у организацију и архитектуру рачунара 2 Александар Картељ kartelj@matf.bg.ac.rs Напомена: садржај ових слајдова је преузет од проф. Саше Малкова Увод у организацију и архитектуру рачунара 2 1 Секвенцијалне
ВишеMatrice. Algebarske operacije s matricama. - Predavanje I
Matrice.. Predavanje I Ines Radošević inesr@math.uniri.hr Odjel za matematiku Sveučilišta u Rijeci Matrice... Matrice... Podsjeti se... skup, element skupa,..., matematička logika skupovi brojeva N,...,
ВишеSlide 1
OSNOVNI POJMOVI Naredba je uputa računalu za obavljanje određene radnje. Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Pisanje programa zovemo programiranje. Programski jezik
Више(Microsoft Word - MATB - kolovoz osnovna razina - rje\232enja zadataka)
. B. Zapišimo zadane brojeve u obliku beskonačno periodičnih decimalnih brojeva: 3 4 = 0.7, = 0.36. Prvi od navedenih četiriju brojeva je manji od 3 4, dok su treći i četvrti veći od. Jedini broj koji
Више(Microsoft Word - Dr\236avna matura - svibanj osnovna razina - rje\232enja)
I. ZADATCI VIŠESTRUKOGA IZBORA 1. A. Svih pet zadanih razlomaka svedemo na najmanji zajednički nazivnik. Taj nazivnik je najmanji zajednički višekratnik brojeva i 3, tj. NZV(, 3) = 6. Dobijemo: 15 1, 6
ВишеAlgoritmi SŠ P1
Županijsko natjecanje iz informatike Srednja škola 9. veljače 2018. RJEŠENJA ZADATAKA Napomena: kodovi za većinu opisanih algoritama dani su u Pythonu radi jednostavnosti i lakše čitljivosti. Zbog prirode
ВишеCIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup priro
CIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup prirodnih brojeva? 4.) Pripada li 0 skupu prirodnih brojeva?
ВишеDrugi kolokvij iz predmeta Operacijski sustavi 2. srpnja Napomene: PISATI ČITKO! Zadatke 7-10 rješavati na ovom papiru ili uz njih napisati "na
Drugi kolokvij iz predmeta Operacijski sustavi 2. srpnja 2019. Napomene: PISATI ČITKO! Zadatke 7-10 rješavati na ovom papiru ili uz njih napisati "na papirima". 1. (2) Opisati pristupni sklop za izravni
Вишеkriteriji ocjenjivanja - informatika 8
8. razred Nastavne cjeline: 1. Osnove informatike 2. Pohranjivanje multimedijalnih sadržaja, obrada zvuka 3. Baze podataka - MS Access 4. Izrada prezentacije 5. Timska izrada web stranice 6. Kritički odnos
ВишеNumerička matematika 11. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb NumMat 2019, 11. p
Numerička matematika 11. predavanje dodatak Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb NumMat 2019, 11. predavanje dodatak p. 1/46 Sadržaj predavanja dodatka
ВишеProgramiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj
Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje, te službeni šalabahter. Kalkulatori, mobiteli, razne neslužbene tablice, papiri i sl., nisu dozvoljeni! Sva rješenja napišite
Више2015_k2_z12.dvi
OBLIKOVANJE I ANALIZA ALGORITAMA 2. kolokvij 27. 1. 2016. Skice rješenja prva dva zadatka 1. (20) Zadano je n poslova. Svaki posao je zadan kao vremenski interval realnih brojeva, P i = [p i,k i ],zai
ВишеDevelopment Case
Tehnička dokumentacija Verzija Studentski tim: Nastavnik: < izv. prof. dr. sc. Nikola Mišković> FER 2 -
ВишеPROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije
PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije korake. Uz dobro razrađen algoritam neku radnju ćemo
ВишеDržavna matura iz informatike
DRŽAVNA MATURA IZ INFORMATIKE U ŠK. GOD. 2013./14. 2016./17. SADRŽAJ Osnovne informacije o ispitu iz informatike Područja ispitivanja Pragovi prolaznosti u 2014./15. Primjeri zadataka po područjima ispitivanja
ВишеOblikovanje i analiza algoritama 4. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 4. pr
Oblikovanje i analiza algoritama 4. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 4. predavanje p. 1/69 Sadržaj predavanja Složenost u praksi
ВишеSveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Ba
Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Baze podataka Tema: Osnovna SELECT naredba Vježbu pripremili:
ВишеTest ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime
Test ispravio: () () Ukupan broj bodova:. veljače 04. od 3:00 do 4:00 Ime i prezime Razred Škola Županija Mentor Sadržaj Upute za natjecatelje... Zadaci... Upute za natjecatelje Vrijeme pisanja: 60 minuta
ВишеKORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA
KORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA SADRŽAJ 1. UVOD... 3 1.1. Cilj i svrha... 3 1.2. Područje primjene... 3 2. POJMOVI I SKRAĆENICE... 4 3. PREDUVJETI KORIŠTENJA... 5 4. PREGLED APLIKACIJE...
ВишеProgramiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4
Programiranje 2 0. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/48 Sadržaj predavanja Ponavljanje onog dijela C-a koji
ВишеNumeričke metode u fizici 1, Projektni zadataci 2018./ Za sustav običnih diferencijalnih jednadžbi, koje opisuju kretanje populacije dviju vrs
Numeričke metode u fizici, Projektni zadataci 8./9.. Za sustav običnih diferencijalnih jednadžbi, koje opisuju kretanje populacije dviju vrsta životinja koje se nadmeću za istu hranu, dx ( dt = x x ) xy
ВишеMatematika 1 - izborna
3.3. NELINEARNE DIOFANTSKE JEDNADŽBE Navest ćemo sada neke metode rješavanja diofantskih jednadžbi koje su drugog i viših stupnjeva. Sve su te metode zapravo posebni oblici jedne opće metode, koja se naziva
ВишеSmjernice za korištenje sustava online prijava Ukoliko imate pristupno korisničko ime i lozinku ili ste navedeno dobili nakon zahtjeva za otvaranje no
Smjernice za korištenje sustava online prijava Ukoliko imate pristupno korisničko ime i lozinku ili ste navedeno dobili nakon zahtjeva za otvaranje novog korisničkog računa (poslati zahtjev na javnipoziv.opp@havc.hr
ВишеAlgoritmi SŠ P1
Državno natjecanje iz informatike Srednja škola Prvi dan natjecanja 2. ožujka 219. ime zadatka BADMINTON SJEME MANIPULATOR vremensko ograničenje 1 sekunda 1 sekunda 3 sekunde memorijsko ograničenje 512
ВишеSlide 1
Kako jednostavnije preći na višu verziju Formsa Ivan Lovrić, Vedran Latin 14.10.2009. Sadržaj prezentacije Predmet migracije Razlozi za migraciju Infrastruktura potrebna za migraciju Pilot migracija Migracija
ВишеInfokup - Školsko Osnovne škole Algoritmi BaPaCpp
21.. siječnja 2013.. od 1:30 do 16:30 Školsko natjecanje / Algoritmi (Basic/Pascal/C/C++) Sadržaj Zadaci... 1 Zadatak: Napolitanke... 2 Zadatak: Peking... 3 Zadatak: Joker... Zadaci U tablici možete pogledati
Више1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p
1 Rezultati i uvidi u kolokvije: Rezultati u petak 3.5. navečer na webu a uvidi u ponedjeljak 6.5. u 16 sati. Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje te službeni podsjetnik.
ВишеJMBAG IME I PREZIME BROJ BODOVA 1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja (Knjige, bilježnice, dodatni papiri i kalkulatori n
1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja 2018. (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) (a) (2 boda) Definirajte (općenitu) vanjsku mjeru. (b) (2 boda) Definirajte
ВишеОрт колоквијум
II колоквијум из Основа рачунарске технике I - 27/28 (.6.28.) Р е ш е њ е Задатак На улазе x, x 2, x 3, x 4 комбинационе мреже, са излазом z, долази четворобитни BCD број. Ако број са улаза при дељењу
ВишеMicrosoft Word - V03-Prelijevanje.doc
Praktikum iz hidraulike Str. 3-1 III vježba Prelijevanje preko širokog praga i preljeva praktičnog profila Mali stakleni žlijeb je izrađen za potrebe mjerenja pojedinih hidrauličkih parametara tečenja
ВишеТехничко решење: Софтвер за симулацију стохастичког ортогоналног мерила сигнала, његовог интеграла и диференцијала Руководилац пројекта: Владимир Вуји
Техничко решење: Софтвер за симулацију стохастичког ортогоналног мерила сигнала, његовог интеграла и диференцијала Руководилац пројекта: Владимир Вујичић Одговорно лице: Владимир Вујичић Аутори: Велибор
ВишеNatjecanje 2016.
I RAZRED Zadatak 1 Grafiĉki predstavi funkciju RJEŠENJE 2, { Za, imamo Za, ), imamo, Za imamo I RAZRED Zadatak 2 Neka su realni brojevi koji nisu svi jednaki, takvi da vrijedi Dokaži da je RJEŠENJE Neka
ВишеSveučilište J.J. Strossmayera Fizika 2 FERIT Predložak za laboratorijske vježbe Određivanje relativne permitivnosti sredstva Cilj vježbe Određivanje r
Sveučilište J.J. Strossmayera Fizika 2 Predložak za laboratorijske vježbe Cilj vježbe Određivanje relativne permitivnosti stakla, plastike, papira i zraka mjerenjem kapaciteta pločastog kondenzatora U-I
Више(Microsoft Word - Dr\236avna matura - lipanj osnovna razina - rje\232enja)
1. C. Interval, tvore svi realni brojevi strogo manji od. Interval, 9] tvore svi realni brojevi strogo veći od i jednaki ili manji od 9. Interval [1, 8] tvore svi realni brojevi jednaki ili veći od 1,
ВишеPROMENLJIVE, TIPOVI PROMENLJIVIH
PROMENLJIVE, TIPOVI PROMENLJIVIH Šta je promenljiva? To je objekat jezika koji ima ime i kome se mogu dodeljivati vrednosti. Svakoj promenljivoj se dodeljuje registar (memorijska lokacija) operativne memorije
ВишеTutoring System for Distance Learning of Java Programming Language
Niz (array) Nizovi Niz je lista elemenata istog tipa sa zajedničkim imenom. Redosled elemenata u nizovnoj strukturi je bitan. Konkretnom elementu niza pristupa se preko zajedničkog imena niza i konkretne
ВишеProgramiranje 1 IEEE prikaz brojeva sažetak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, IEEE p
Programiranje IEEE prikaz brojeva sažetak Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog 208, IEEE prikaz brojeva sažetak p. /4 Sadržaj predavanja IEEE standard
ВишеEUROPSKA KOMISIJA Bruxelles, C(2018) 3697 final ANNEXES 1 to 2 PRILOZI PROVEDBENOJ UREDBI KOMISIJE (EU) /... o izmjeni Uredbe (EU) br. 1301
EUROPSKA KOMISIJA Bruxelles, 13.6.2018. C(2018) 3697 final ANNEXES 1 to 2 PRILOZI PROVEDBENOJ UREDBI KOMISIJE (EU) /... o izmjeni Uredbe (EU) br. 1301/2014 i Uredbe (EU) br. 1302/2014 u pogledu odredaba
ВишеSKRIPTE EKOF 2019/20 skripteekof.com Lekcija 1: Brojevni izrazi Lekcija 1: Brojevni izrazi Pregled lekcije U okviru ove lekcije imaćete priliku da nau
Lekcija : Brojevni izrazi Pregled lekcije U okviru ove lekcije imaćete priliku da naučite sledeće: osnovni pojmovi o razlomcima proširivanje, skraćivanje, upoređivanje; zapis razlomka u okviru mešovitog
ВишеProgramiranje 1 drugi kolokvij, 2. veljače Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje,
Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje, te službeni podsjetnik. Kalkulatori, mobiteli, razne neslužbene tablice, papiri i sl., nisu dozvoljeni! Sva rješenja napišite
ВишеSveučilište J.J. Strossmayera Fizika 2 FERIT Predložak za laboratorijske vježbe Lom i refleksija svjetlosti Cilj vježbe Primjena zakona geometrijske o
Lom i refleksija svjetlosti Cilj vježbe Primjena zakona geometrijske optike (lom i refleksija svjetlosti). Određivanje žarišne daljine tanke leće Besselovom metodom. Teorijski dio Zrcala i leće su objekti
ВишеFAKULTET STROJARSTVA I BRODOGRADNJE KATEDRA ZA STROJARSKU AUTOMATIKU SEMINARSKI RAD IZ KOLEGIJA NEIZRAZITO I DIGITALNO UPRAVLJANJE Mehatronika i robot
FAKULTET STROJARSTVA I BRODOGRADNJE KATEDRA ZA STROJARSKU AUTOMATIKU SEMINARSKI RAD IZ KOLEGIJA NEIZRAZITO I DIGITALNO UPRAVLJANJE Mehatronika i robotika Zagreb, 2014. MODEL PROCESA U PROSTORU STANJA
Више(Microsoft Word - Rje\232enja zadataka)
1. D. Svedimo sve razlomke na jedinstveni zajednički nazivnik. Lako provjeravamo da vrijede rastavi: 85 = 17 5, 187 = 17 11, 170 = 17 10, pa je zajednički nazivnik svih razlomaka jednak Tako sada imamo:
Више1
Podsetnik: Statističke relacije Matematičko očekivanje (srednja vrednost): E X x p x p x p - Diskretna sl promenljiva 1 1 k k xf ( x) dx E X - Kontinualna sl promenljiva Varijansa: Var X X E X E X 1 N
Вишеs2.dvi
1. Skup kompleksnih brojeva 1. Skupovibrojeva.... Skup kompleksnih brojeva................................. 6. Zbrajanje i množenje kompleksnih brojeva..................... 9 4. Kompleksno konjugirani
ВишеSlide 1
0(a) 0(b) 0(c) 0(d) 0(e) :: :: Neke fizikalne veličine poput indeksa loma u anizotropnim sredstvima ovise o iznosu i smjeru, a nisu vektori. Stoga se namede potreba poopdavanja. Međutim, fizikalne veličine,
ВишеŽUPANIJSKO NATJECANJE IZ MATEMATIKE 28. veljače razred - rješenja OVDJE SU DANI NEKI NAČINI RJEŠAVANJA ZADATAKA. UKOLIKO UČENIK IMA DRUGAČIJI
ŽUANIJSKO NATJECANJE IZ MATEMATIKE 8. veljače 09. 8. razred - rješenja OVDJE SU DANI NEKI NAČINI RJEŠAVANJA ZADATAKA. UKOLIKO UČENIK IMA DRUGAČIJI OSTUAK RJEŠAVANJA, ČLAN OVJERENSTVA DUŽAN JE I TAJ OSTUAK
Више7. predavanje Vladimir Dananić 14. studenoga Vladimir Dananić () 7. predavanje 14. studenoga / 16
7. predavanje Vladimir Dananić 14. studenoga 2011. Vladimir Dananić () 7. predavanje 14. studenoga 2011. 1 / 16 Sadržaj 1 Operator kutne količine gibanja 2 3 Zadatci Vladimir Dananić () 7. predavanje 14.
ВишеJMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL završni ispit 6. srpnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1.
MJERA I INTEGRAL završni ispit 6. srpnja 208. (Knjige bilježnice dodatni papiri i kalkulatori nisu dozvoljeni!). (8 bodova) Kao na predavanjima za d N sa P d : a b ] a d b d ] : a i b i R a i b i za i
ВишеPostojanost boja
Korištenje distribucije osvjetljenja za ostvaranje brzih i točnih metode za postojanost boja Nikola Banić 26. rujna 2014. Sadržaj Postojanost boja Ubrzavanje lokalnog podešavanja boja Distribucija najčešćih
ВишеПрограмирај!
Листе Поред појединачних вредности исказаних бројем или ниском карактера, често је потребно забележити већи скуп вредности које су на неки начин повезане, као, на пример, имена у списку путника у неком
ВишеČesto postavljana pitanja u programu OBRT 1. Kako napraviti uplatu u knjizi tražbina i obveza? 2. Kako odabrati mapu/disk za pohranu podataka? 3. Kako
Često postavljana pitanja u programu OBRT 1. Kako napraviti uplatu u knjizi tražbina i obveza? 2. Kako odabrati mapu/disk za pohranu podataka? 3. Kako instalirati (novi) finin certifikat? 4. Kako ispisati
Више(Microsoft Word - Dr\236avna matura - rujan osnovna razina - rje\232enja)
I. ZADATCI VIŠESTRUKOGA IZBORA. B. Broj je cijeli broj, tj. pripada skupu cijelih brojeva Z. Skup cijelih brojeva Z je pravi podskup skupa racionalnih brojeva Q, pa je i racionalan broj. 9 4 je očito broj
ВишеSveučilište J.J. Strossmayera Fizika 2 FERIT Predložak za laboratorijske vježbe Cilj vježbe Određivanje specifičnog naboja elektrona Odrediti specifič
Cilj vježbe Određivanje specifičnog naboja elektrona Odrediti specifični naboja elektrona (omjer e/me) iz poznatog polumjera putanje elektronske zrake u elektronskoj cijevi, i poznatog napona i jakosti
ВишеLAB PRAKTIKUM OR1 _ETR_
UNIVERZITET CRNE GORE ELEKTROTEHNIČKI FAKULTET STUDIJSKI PROGRAM: ELEKTRONIKA, TELEKOMUNIKACIJE I RAČUNARI PREDMET: OSNOVE RAČUNARSTVA 1 FOND ČASOVA: 2+1+1 LABORATORIJSKA VJEŽBA BROJ 1 NAZIV: REALIZACIJA
ВишеKako postupiti u slučaju prekida internet veze i nemogućnosti fiskaliziranja računa? U slučaju da dođe do prekida internet veze fiskalizacija računa n
Kako postupiti u slučaju prekida internet veze i nemogućnosti fiskaliziranja računa? U slučaju da dođe do prekida internet veze fiskalizacija računa neće biti moguća sve do ponovnog uspostavljanja internet
ВишеUvod u obične diferencijalne jednadžbe Metoda separacije varijabli Obične diferencijalne jednadžbe Franka Miriam Brückler
Obične diferencijalne jednadžbe Franka Miriam Brückler Primjer Deriviranje po x je linearan operator d dx kojemu recimo kao domenu i kodomenu uzmemo (beskonačnodimenzionalni) vektorski prostor funkcija
Више5S prezentacija - za printati bez videa i igre (3)
Lean 5S Anja Štefanić, mag.oec. copyright Što je 5S? Alat Lean menadžmenta Alat koji se čini jednostavan, no mnoga poduzeća ignoriraju baš te osnovne principe Baza uspješne implementacije Fokusira se
ВишеDocument ID / Revision : 0419/1.1 ID Issuer Sustav (sustav izdavatelja identifikacijskih oznaka) Upute za registraciju gospodarskih subjekata
ID Issuer Sustav (sustav izdavatelja identifikacijskih oznaka) Upute za registraciju gospodarskih subjekata Gospodarski subjekti Definicija: U skladu s Direktivom 2014/40/EU gospodarski subjekt svaka
ВишеUvod u statistiku
Uvod u statistiku Osnovni pojmovi Statistika nauka o podacima Uključuje prikupljanje, klasifikaciju, prikaz, obradu i interpretaciju podataka Staistička jedinica objekat kome se mjeri neko svojstvo. Svi
ВишеTehničko rešenje: Industrijski prototip dvostrukog trofaznog analizatora snage sa funkcijama merenja kvaliteta električne energije tipska oznaka MM2 R
Tehničko rešenje: Industrijski prototip dvostrukog trofaznog analizatora snage sa funkcijama merenja kvaliteta električne energije tipska oznaka MM2 Rukovodilac projekta: Vladimir Vujičić Odgovorno lice:
ВишеGrafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr
Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odrediti njene krajeve. b) Odrediti sledeće skupove: -
ВишеTolerancije slobodnih mjera ISO Tolerancije dimenzija prešanih gumenih elemenata (iz kalupa) Tablica 1.1. Dopuštena odstupanja u odnosu na dime
Tolerancije dimenzija prešanih gumenih elemenata (iz kalupa) Tablica 1.1. Dopuštena odstupanja u odnosu na dimenzije Dimenzije (mm) Klasa M1 Klasa M2 Klasa M3 Klasa M4 od NAPOMENA: do (uključujući) F C
ВишеOptimizacija
Optimizacija 1 / 43 2 / 43 Uvod u optimizaciju Zadana funkcija Uvod u optimizaciju f : R n R Cilj: Naći x, točku minimuma funkcije f : - Problem je jednostavno opisati x = arg min x R n f (x). - Rješavanje
ВишеRAČUNALO
RAČUNALO HARDVER + SOFTVER RAČUNALO HARDVER strojna oprema računala tj. tvrdi, materijalni, opipljivi dijelovi računala kućište i sve komponente u njemu, vanjske jedinice SOFTVER neopipljivi dijelovi računala
ВишеPLAN I PROGRAM ZA DOPUNSKU (PRODUŽNU) NASTAVU IZ MATEMATIKE (za 1. razred)
PLAN I PROGRAM ZA DOPUNSKU (PRODUŽNU) NASTAVU IZ MATEMATIKE (za 1. razred) Učenik prvog razreda treba ostvarit sljedeće minimalne standarde 1. SKUP REALNIH BROJEVA -razlikovati brojevne skupove i njihove
ВишеDaljinski upravljiva utičnica
Zvonimir Miličević;Martin Berić SEMINARSKI RAD - SPVP Projekt u sklopu Pametna kuća Poznavanje ugradbenih računalnih sustava Načini upravljanja na daljinu 14. lipnja 2018 Sažetak Svakome se dogodilo da
ВишеMultiBoot Korisnički priručnik
MultiBoot Korisnički priručnik Autorsko pravo 2006., 2007. Hewlett- Packard Development Company, L.P. Informacije sadržane u ovom dokumentu podložne su promjenama bez najave. Jedina jamstva za HP-ove proizvode
Више0255_Uvod.p65
1Skupovi brojeva Skup prirodnih brojeva Zbrajanje prirodnih brojeva Množenje prirodnih brojeva U košari ima 12 jaja. U drugoj košari nedostaju tri jabuke da bi bila puna, a treća je prazna. Pozitivni,
ВишеMicrosoft Word - Rjesenja zadataka
1. C. Svi elementi zadanoga intervala su realni brojevi strogo veći od 4 i strogo manji od. Brojevi i 5 nisu strogo veći od 4, a 1 nije strogo manji od. Jedino je broj 3 strogo veći od 4 i strogo manji
ВишеProgramiranje 1 9. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/6
Programiranje 1 9. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/60 Sadržaj predavanja Osnovni algoritmi na cijelim brojevima:
ВишеUPUTE ZA OBLIKOVANJE DOKTORSKE DISERTACIJE Doktorska disertacija se piše na hrvatskom standardnom jeziku. Disertacija može biti napisana na nekom od s
UPUTE ZA OBLIKOVANJE DOKTORSKE DISERTACIJE Doktorska disertacija se piše na hrvatskom standardnom jeziku. Disertacija može biti napisana na nekom od svjetskih jezika (engleski, njemački itd.). Tekst disertacije
ВишеPrikaz znakova u računalu
PRIKAZ ZNAKOVA U RAČUNALU Načini kodiranja ASCII 1 znak 7 bitova Prošireni ASCII 1 znak 8 bitova (1B) UNICODE 1 znak 16 bitova (2B) ZADATCI S MATURE ljetni rok, 2014., zadatak 11 Koliko se različitih znakova
ВишеLogičke izjave i logičke funkcije
Logičke izjave i logičke funkcije Građa računala, prijenos podataka u računalu Što su logičke izjave? Logička izjava je tvrdnja koja može biti istinita (True) ili lažna (False). Ako je u logičkoj izjavi
ВишеKATALOG ZNANJA IZ INFORMATIKE
KATALOG ZNANJA IZ INFORMATIKE Nacionalni savjet za obrazovanje je na 27. sjednici održanoj 17. marta 2014. godine utvrdio izmjene predmetnoga programa INFORMATIKA za I razred gimnazije. Na zahtijev Pedagoško-psihološke
ВишеP9.1 Dodela resursa, Bojenje grafa
Фаза доделе ресурса Ова фаза се у литератури назива и фазом доделе регистара, при чему се под регистрима подразумева скуп ресурса истог типа. Додела регистара променљивама из графа сметњи се обавља тзв.
Више(Microsoft Word - Dr\236avna matura - kolovoz osnovna razina - rje\232enja)
I. ZADATCI VIŠESTRUKOGA IZBORA. C. Zadani broj očito nije niti prirodan broj niti cijeli broj. Budući da je 3 78 3. = =, 00 5 zadani broj možemo zapisati u obliku razlomka kojemu je brojnik cijeli broj
Више1 MATEMATIKA 1 (prva zadaća) Vektori i primjene 1. U trokutu ABC točke M i N dijele stranicu AB na tri jednaka dijela. O
http://www.fsb.hr/matematika/ (prva zadać Vektori i primjene. U trokutu ABC točke M i N dijele stranicu AB na tri jednaka dijela. Označite CA= a, CB= b i izrazite vektore CM i CN pomoću vektora a i b..
ВишеMicrosoft PowerPoint - 03-Slozenost [Compatibility Mode]
Сложеност алгоритама (Програмирање 2, глава 3, глава 4-4.3) Проблем: класа задатака истог типа Велики број различитих (коректних) алгоритама Величина (димензија) проблема нпр. количина података које треба
Више4
4.1.2 Eksperimentalni rezultati Rezultati eksperimentalnog istraživanja obrađeni su u programu za digitalno uređivanje audio zapisa (Coll Edit). To je program koji omogućava široku obradu audio zapisa.
ВишеPowerPoint Presentation
. ICT sustavi za energetski održivi razvoj grada Energetski informacijski sustav Grada Zagreba Optimizacija energetske potrošnje kroz uslugu točne procjene solarnog potencijala. Energetski informacijski
ВишеSkalarne funkcije više varijabli Parcijalne derivacije Skalarne funkcije više varijabli i parcijalne derivacije Franka Miriam Brückler
i parcijalne derivacije Franka Miriam Brückler Jednadžba stanja idealnog plina uz p = nrt V f (x, y, z) = xy z x = n mol, y = T K, z = V L, f == p Pa. Pritom je kodomena od f skup R, a domena je Jednadžba
ВишеNIAS Projekt e-građani KORISNIČKA UPUTA za aplikaciju NIAS Verzija 1.1 Zagreb, srpanj 2014.
Projekt e-građani KORISNIČKA UPUTA za aplikaciju Verzija 1.1 Zagreb, srpanj 2014. Naslov: Opis: Korisnička uputa za aplikaciju Dokument sadrži upute korisnicima aplikacije u sustavu e-građani Ključne riječi:
ВишеTutoring System for Distance Learning of Java Programming Language
Deklaracija promenljivih Inicijalizacija promenljivih Deklaracija promenljive obuhvata: dodelu simboličkog imena promenljivoj i određivanje tipa promenljive (tip određuje koja će vrsta memorijskog registra
ВишеMicrosoft Word - CCERT-PUBDOC doc
Analiza Qchain programskog paketa CCERT-PUBDOC-2003-02-04 Sigurnosni problemi u računalnim programima i operativnim sustavima područje je na kojem CARNet CERT kontinuirano radi. Rezultat toga rada ovaj
Више