aplikacija za dimenzioniranje parametara za prilagodbu … · 2016-09-27 · poglavlje 1 uvod tema...

41
SVEU ˇ CILI ˇ STE U RIJECI TEHNI ˇ CKI FAKULTET Preddiplomski studij raˇ cunarstva Zavrˇ sni rad Aplikacija za dimenzioniranje parametara za prilagodbu impedancije pomo´ cu jednoga stuba Rijeka, rujan 2016. Vanessa Carta 0069064298

Upload: others

Post on 28-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

SVEUCILISTE U RIJECI

TEHNICKI FAKULTETPreddiplomski studij racunarstva

Zavrsni rad

Aplikacija za dimenzioniranje parametaraza prilagodbu impedancije pomocu

jednoga stuba

Rijeka, rujan 2016. Vanessa Carta

0069064298

Zahvala

Zahvaljujem se mentoru Miroslavu Joleru na podrsci tijekom pisanja ovoga rada ikorisnim raspravama i savjetima. Takoder, zahvaljujem se svojoj obitelji na podrscitijekom studiranja.

ii

SVEUCILISTE U RIJECI

TEHNICKI FAKULTETPreddiplomski studij racunarstva

Zavrsni rad

Aplikacija za dimenzioniranje parametaraza prilagodbu impedancije pomocu

jednoga stuba

Mentor: izv.prof.dr.sc. Miroslav Joler

Rijeka, rujan 2016. Vanessa Carta

0069064298

Izjava o samostalnoj izradi rada

Izjavljujem da sam samostalno izradila ovaj rad.

Rijeka, rujan 2016. _______________

Vanessa Carta

v

Sadrzaj

Popis slika viii

1 Uvod 1

2 Koristeni alati 3

2.1 Apache HTTP posluzitelj . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2 HTML - HyperText Markup Language . . . . . . . . . . . . . . . . . 4

2.3 CSS - Cascading Style Sheets . . . . . . . . . . . . . . . . . . . . . . 5

2.4 PHP - Hypertext Preprocessor . . . . . . . . . . . . . . . . . . . . . . 6

2.5 JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.5.1 Math.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.5.2 D3.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.5.3 JQuery.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Matematicki model 10

3.1 Ugadanje Paralelnim stubom . . . . . . . . . . . . . . . . . . . . . . . 12

3.2 Ugadanje serijskim stubom . . . . . . . . . . . . . . . . . . . . . . . . 14

3.3 Graficki prikaz koeficijenta refleksije . . . . . . . . . . . . . . . . . . . 16

3.4 Sirina frekvencijskog pojasa . . . . . . . . . . . . . . . . . . . . . . . 18

vi

Sadrzaj

4 Korisnicko sucelje 20

4.1 Primjer - Kratkospojni paralelni stub . . . . . . . . . . . . . . . . . . 21

4.2 Primjer - Otvoreni serijski stub . . . . . . . . . . . . . . . . . . . . . 24

5 Zakljucak 27

Bibliografija 29

Pojmovnik 31

Sazetak 32

vii

Popis slika

3.1 Dobivanje cetiri razlicitih vrsta stuba. . . . . . . . . . . . . . . . . . 12

4.1 Pocetna stranica aplikacije. . . . . . . . . . . . . . . . . . . . . . . . 20

4.2 Izlaz nakon unesenih vrijednosti. . . . . . . . . . . . . . . . . . . . . 21

4.3 Shema prvog rjesenja. . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.4 Graf koeficijenta refleksije. . . . . . . . . . . . . . . . . . . . . . . . 23

4.5 Sirine frekvencijskog pojasa. . . . . . . . . . . . . . . . . . . . . . . 23

4.6 Izlaz nakon unesenih vrijednosti. . . . . . . . . . . . . . . . . . . . . 24

4.7 Shema prvog rjesenja. . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.8 Graf koeficijenta refleksije. . . . . . . . . . . . . . . . . . . . . . . . 25

4.9 Izlaz nakon unesenih vrijednosti. . . . . . . . . . . . . . . . . . . . . 26

viii

Poglavlje 1

Uvod

Tema ovog zavrsnog rada je izrada grafickog sucelja pomocu kojeg se na jednostavan

nacin moze izvrsiti dimenzioniranje parametara za prilagodbu impedancije pomocu

jednog stuba. Takav stub moze biti zakljucen kratkim spojem ili otvorenim krajem.

Korisnik unosi odredene parametre, odnosno unosi impedanciju tereta ZL, ka-

rakteristicnu impedancija prijenosne linije Z0 i zeljenu frekvenciju f na kojoj se vrsi

prilagodba. Aplikacija ce uz pomoc tih parametara izracunati dva moguca rjesenja

za potrebnu udaljenost stuba od tereta d te duljinu stuba l. Takoder, oni ce biti

prikazani na odgovarajucim mjestima na dvjema rezultantnim shemama. Nakon

izracunatih duljina l i d iscrtava se graf koeficijenta refleksije na nacin da ce biti

prikazane dvije krivulje za oba rjesenja. Na samom kraju dodana je opcija gdje

korisnik unosi koeficijent refleksije, a aplikacija za tu vrijednost odreduje sirinu i re-

lativnu sirinu frekvencijskog pojasa svakog rjesenja. Na temelju dobivenih vrijednosti

odreduje se koje je od dvaju rjesenja bolje.

U drugom poglavlju biti ce opisani alati koji su koristeni pri izradi same aplikacije.

Precizirati ce se koji dio zadatka je rijesen uz pomoc kojeg alata i na koji nacin.

Trece poglavlje je glavni dio koji opisuje matematicki model prilagodbe impedan-

cije i nacin na koji je taj model implementiran u kodu. Odnosno, objasnjava sto se

izvodi u pozadini aplikacije.

Nakon opisa onog sto korisnik ne vidi, u cetvrtom poglavlju opisati ce se korisnicko

sucelje i koja je korisnikova uloga, odnosno sto treba unijeti i sto ce mu se na temelju

1

Poglavlje 1. Uvod

odredenog ulaza prikazati.

2

Poglavlje 2

Koristeni alati

Izrada ove aplikacije nije zahtijevala kompleksne web tehnologije. Sve sto je potrebno

jest Internet preglednik u kojemu ce se pomocu localhosta dohvacati izvorni kod i

odgovarajuci posluzitelj. Pri izradi koristen je Apache web server koji je potreban

za uspjesno izvodenje Hypertext Preprocessor (PHP) datoteka.

Koristeni jezici su HyperText Markup Language (HTML) [1], Cascading Style

Sheets (CSS) [2], te za malo kompleksnije izvedbe koristen je programski jezik Ja-

vaScript [3] koji se u potpunosti izvrsava na klijentskoj strani, unutar Internet pre-

glednika.

U nastavku je svaka tehnologija detaljnije opisana uz objasnjenje gdje se koristila.

2.1 Apache HTTP posluzitelj

Apache HTTP [4] posluzitelj je besplatni, otvoreni Web posluzitelj koji moze raditi

na raznim operacijskim sustavima, koji su od najpoznatijih Unix sustavi i Microsoft

Windows. Upravo iz tog razloga Apache je vec 20 godina najcesce koristeni Web

posluzitelj na Internetu s udjelom visim od 60%. Inacica 1.0 izasla je 1. prosinca

1995. [5], a u razdoblju samo jedne godine njegova popularnost nadisla je popularnost

National Center for Supercomputing Application (NCSA) odnosno servera iz kojeg

proizlazi sam Apache. Danasnja aktualna verzija je 2.4. Apache razvija i odrzava

otvorena zajednica programera pod vodstvom Apache Software Foundation.

3

Poglavlje 2. Koristeni alati

Za izradu ove aplikacije koristen je Vertrigo [6] paket softwarea koji se osniva na

Apache serveru. Ukljucuje Apache, PHP, MySql i PhpMyAdmin te ih objedinjuje

za razvoj dinamicnih web stranica razvijenih u PHP programskom jeziku. Apache

server je bio potreban kako bi se izgenerirao HTML kod koji se nalazi unutar PHP-a,

a onda kao takav uspjesno prikazao u Internet pregledniku klijenta.

2.2 HTML - HyperText Markup Language

HTML je prezentacijski jezik namijenjen izradi web stranica [7]. HTML je kao takav

najmanje koristen u ovoj aplikaciji, ali kao niti jedne web aplikacije, tako ne bi bilo

ni ove bez HTML-a. Kao sto je vec spomenuto, nakon primitka zahtjeva za PHP

dokumentom posluzitelj izvrsava PHP kod te na osnovu njega generira HTML i salje

ga klijentu. HTML je baza na kojoj se temelji svaka web stranica bas kao i aplikacija.

Jednostavan je za uporabu i lako se uci, sto je jedan od razloga njegove opce

prihvacenosti i popularnosti. Veliku rasirenost postigao je jednostavnoscu i time sto

je od pocetka bio zamisljen kao besplatan i tako dostupan svima.

Prikaz hipertekst dokumenta omogucuje Internet preglednik, a temeljna zadaca

HTML jezika jest uputiti Internet preglednik kako prikazati hipertext dokument.

HTML nije programski jezik pa njime ne mozemo izvrsiti nikakvu zadacu kao ni naj-

jednostavniju operaciju zbrajanja ili oduzimanja dvaju cijelih brojeva. On sluzi samo

za opis nasih hipertekstualnih dokumenata. Zbog toga se ova aplikacija minimalnim

dijelom pisala u HTML-u, a vecim u PHP-u i JavaScript-u. Osnovni gradevni element

svake stranice su tagovi koji opisuju kako ce se nesto prikazati u web pregledniku.

Cisti HTML tagovi bili su dovoljni za izradu veceg dijela index.php datoteke kada

se stvarala pocetna stranica. Stvorena je forma sa raznim input tagovima kako bi

korisnik jednostavno unosio zeljene vrijednosti. Kasnije su te vrijednosti proslijedene

na sljedecu stranicu post metodom.

4

Poglavlje 2. Koristeni alati

2.3 CSS - Cascading Style Sheets

CSS [8] se koristi za opis prezentacije dokumenta napisanog pomocu HTML jezika.

Drugim rijecima, CSS definira kako prikazati HTML elemente. Ureduje sam izgled i

raspored stranice.

CSS cijele aplikacije definiran je u posebnoj datoteci main.css. Na taj nacin

izbjegava se prenatrpanost HTML tagova te je HTML datoteka orijentirana samo na

sadrzaj sto je puno preglednije.

Nadalje, CSS ovdje nije sluzio samo kao nacin za ”ukrasiti” aplikaciju. Kod iscr-

tavanja pripadajucih shema na temelju korisnikovih odabira bio je vise nego koristan.

Stvorena su dva div-a poravnana jedan do drugog. Unutar svakog diva postav-

ljena je slika sa dva paragrafa. Svakom od tih paragrafa dodijeljen je poseban id.

Nakon toga je uz pomoc CSS-a za svaki uslijedilo posebno pozicioniranje teksta unu-

tar tog paragrafa kako bi varijabla sa izracunatim duljinama l i d sjela na pravo

mjesto.

Ovdje se moze vidjeti kako su namjestene pozicije za duljine d i l serijskog stuba:

#ds

z-index: 100;

position: absolute;

color: black;

font-size: 14px;

left: 352px;

top: 15px;

#ls

z-index: 100;

position: absolute;

color: black;

font-size: 14px;

left: 265px;

top: 179px;

5

Poglavlje 2. Koristeni alati

Za ukljucivanje takve eksterne CSS datoteke u HTML bila je potrebna sljedeca

linija koda:

<link href="main.css" rel="stylesheet" type="text/css">

2.4 PHP - Hypertext Preprocessor

PHP [9] je skriptni programski jezik otvorenog koda za dinamicko generiranje HTML

koda, a izvrsava se na posluziteljskoj strani. Pomocu njega se kreira HTML stranica

popunjena dinamickim sadrzajem na posluzitelju prije nego sto se salje klijentu. Na

taj nacin, klijent ne moze vidjeti kod, odnosno skriptu, koja je zapravo izgenerirala

sadrzaj koji gleda. Klijent ima pristup samo cistom HTML kodu.

PHP je jedna od najnaprednijih i najkoristenijih skriptnih tehnologija na posluzi-

teljskoj strani koje se danas nalaze u upotrebi. Sadrzi funkcije koje su po sintaksi i

funkcionalnosti jednake funkcijama nekih drugih jezika kao sto su C ili Perl.

U ovom slucaju bio je potreban kako bi se jednostavnije stvorila dinamicka web

stranica. Glavni razlog zbog kojeg se odabrao PHP bio je model navigacije. Naime,

aplikacija se sastoji od dvije PHP datoteke. To su index.php i functions.php. Na

stranici index.php korisnik unosi vrijednosti u formu, nakon cega se te vrijednosti

pomocu post metode prenose na functions.php. U functions.php izvrsava se citav

izracun te prikazuju rezultati.

PHP ima jednostavnu sintaksu za funkcije pa se pomocu njih izvrsavao ponav-

ljajuci izracun. Odnosno, takav se izracun ponavljao vise puta samo sa razlicitim

varijablama, a funkcije su se pozivale sa vise razlicitih mjesta u kodu.

Takoder, PHP je bogat funkcijama za manipuliranje mnogo razlicitih tipova

sadrzaja [9]. Zbog toga nije bilo problema kod ubacivanja slika koje su u ovom

slucaju bile tipa JPG. One su bile potrebne za prikaz dvaju rezultantnih shema. Pos-

toje cetiri razlicite kombinacija stuba pa tako postoje i cetiri slike u folderu aplikacije

koje se na osnovu korisnikovih ulaza postavljaju kako bi se prikazala odgovarajuca

shema.

6

Poglavlje 2. Koristeni alati

2.5 JavaScript

JavaScript [10] je najpopularniji skriptni jezik na Internetu, koji se izvrsava u Internet

pregledniku na strani korisnika. Napravljen je da bude slican Javi zbog laksega

koristenja, ali nije objektno orijentiran kao Java. JavaScript je interpreter, sto znaci

da se skripta izvrsava odmah naredbu po naredbu, bez prethodnog prevodenja cijelog

programa i kreiranja izvrsne datoteke.

Ukljucujemo ga u web stranicu da bi je ucinili dinamicnijom. Uz pomoc JavaS-

cripta dobiva se mnogo veca kontrola nad web stranicom i njenim ponasanjem. U

kombinaciji sa HTML-om i CSS-om dobivamo DHTML (Dinamic HTML).

Takoder, jako je praktican jer sam detektira preglednik kojeg korisnik upotreb-

ljava pa na osnovu tog prepoznavanja JavaScript moze ucitati drugaciju stranicu

koja je posebno dizajnirana za njega.

Reagira na dogadaje, odnosno moguce je postaviti da se skripta izvrsava kada se

dogodi neki dogadaj, npr. kada se stranica ucita, ili kada korisnik klikne na odredeno

dugme ili neki drugi HTML element. U ovoj aplikaciji bilo je potrebno prepoznati

kada korisnik klikne na dugme Izracunaj kod odredivanja sirina frekvencijskog pojasa

pa je koristen event onclick().

U nastavku su opisane JavaScript knjiznice koristene pri izradi ove aplikacije te

funkcionalnosti za cije su kodiranje bile potrebne.

Sve knjiznice se nalaze u folderu aplikacije pa se ukljucuju u funkcija.php datoteku

sljedecim linijama koda:

<script src="d3.min.js" type="text/javascript"></script>

<script src="math.js" type="text/javascript"></script>

<script src="jquery.js" type="text/javascript"></script>

2.5.1 Math.js

Math.js je JavaScript knjiznica sa matematickim funkcijama i konstantama [11].

Takva knjiznica je bila neophodna kod izrade ove aplikacije.

7

Poglavlje 2. Koristeni alati

Prva prepreka na koju se naislo, a da PHP to nije mogao rijesiti, bili su kom-

pleksni brojevi. Math.js podrzava stvaranje i izvrsavanje izracuna sa kompleksnim

brojevima. Funkcija Math.complex(re, im) stvara kompleksni broj tako da je prvi

parametar u zagradi realni dio, a drugi imaginarni dio kompleksnog broja.

Ako od nekog kompleksnog broja zelimo odvojiti realni ili imaginarni dio, to se

moze izvesti sa nastavkom .re ili .im. Npr. ako zelimo iz varijable var, izdvojiti

imaginarni dio to cemo uciniti sa var.im.

Za konjugaciju kompleksnih brojeva koristena je funkcija Math.conj(). Odnosno,

to znaci da se mijenja predznak imaginarnom parametru kompleksnog broja.

Koristene su i mnoge druge funkcije koje se koriste za poznatije operacije, ali

takoder sa kompleksnim brojevima. Za izracun korijena to je Math.sqrt(), za mnozenje

Math.multiply(), a za zbrajanje Math.add().

Za tangens neke vrijednosti u radijanima koristena je funkcija Math.tan(). Kao

sto je navedeno, osim matematickih funkcija, ova knjiznica sadrzi i konstante. U

ovom slucaju bile je potrebna samo pi konstanta, koja se dohvaca sa Math.PI.

2.5.2 D3.js

D3.js [12] je JavaScript knjiznica koja sluzi za upravljanje podacima koristeci HTML,

SVG i CSS. S obzirom na vrijeme izvrsavanja, D3 je iznimno brz, podrzava velike

kolicine podataka te djeluje interaktivno. Za razliku od mnogih drugih knjiznica,

D3 omogucava veliku kontrolu nad konacnim vizualnim rezultatima. Stvara di-

namicku, interaktivnu vizualizaciju podataka u Internet preglednicima [13]. Na taj

nacin podize aplikaciju na visi nivo.

Podatke koje dobije uspjesno transformira i kao takve vraca u dokument. Npr.

koristeci D3 moze se generirati HTML tablica iz polja brojeva. Takoder, ti se brojevi

mogu koristiti kako bi se iscrtao SVG dijagram sa glatkim prijelazima.

D3 sadrzi nekoliko stotina funkcija koje se mogu grupirati u nekoliko logickih

jedinica, a za ovu aplikaciju bila je potrebna upravo SVG.

SVG moze definirati staticne i animirane SVG-ove. Jako je zahvalan jer SVG

grafike ne gube kvalitetu prilikom zumiranja ili promjenom velicine. SVG slike mogu

8

Poglavlje 2. Koristeni alati

biti ispisane sa visokom kvalitetom u bilo kojoj rezoluciji.

Nakon duze potrage za pravim nacinom iscrtavanja grafa, s obzirom na navedene

pogodnosti, D3 i SVG u kombinaciji su se pokazali dosta pogodnima. Implementiralo

se na nacin da se zeljenom div-u dodao SVG element, a onda prilagodavali parametri

koji obiljezavaju izgled dijagrama uz pomoc atributa.

2.5.3 JQuery.js

Jquery.js [14] je posebna vrsta JavaScript knjiznice, razvijena sa namjenom da bude

nadogradnja osnovnom JavaScript-u. Jquery.js pojednostavljuje njegovu sintaksu i

omogucava bolju interakciju izmedu JavaScript-a i drugih programskih jezika nami-

jenjenih razvoju Internet aplikacija.

Omogucava stvaranje animacija kao i dinamickih AJAX web elemenata na mnogo

jednostavniji nacin nego sto bi se to ucinilo upotrebom klasicnog JavaScript-a. Danas

je to najpopularnija JavaScript knjiznica.

Zbog navedenih cinjenica jQuery.js knjiznica je bila idealno rjesenje za prikaz

izracuna sirine frekvencijskog pojasa koji se pojavljuje, ali i mijenja u istom div -u s

obzirom na to kako korisnik unosi nove vrijednosti koeficijenta refleksije Γ. Sljedece

linije koda prikazuju koristenje jQuery metode .append() koja ispisuje rezultate prvog

rjesenja u div koji ima id fre1 :

$("#fre1").append("Rjesenje 1:<br><br>");

$("#fre1").append("f1 = " + f11 + " Hz<br>");

$("#fre1").append("f2 = " + f12 + " Hz<br><br>");

$("#fre1").append("BW = " + bw1 + " Hz<br>");

$("#fre1").append("BW<sub>rel</sub> = " + bwrel1.toFixed(2)

+ " %<br><br><br>");

9

Poglavlje 3

Matematicki model

U ovom poglavlju objasniti cemo matematicki model aplikacije i detaljno opisati sve

ono sto korisnik ne vidi, odnosno sto se desava u pozadini.

Korisnik unosi sljedece parametre: impedancija tereta ZL, karakteristicna impe-

dancija prilagodne mreze tj. prijenosne linije Z0 i frekvencija f na kojoj ce se vrsiti

prilagodba. Potom odabire potrebne znacajke stuba, odnosno hoce li stub biti para-

lelni ili serijski te zakljucen kratkim spojem ili otvorenim krajem [15]. Prema jednoj

od definicija, stub je kompozicijski element sastavljen od prijenosne linije odredene

duljine, zakljucen reaktivnim teretom, kratkim spojem ili otvorenim krajem.

Nas je cilj ostvariti prilagodbu impedancije tereta na karakteristicnu liniju impe-

dancije. Kako bi se to ostvarilo, potrebno je ponistiti reaktivnu komponentu impe-

dancije (+jX ili -jX).

U postupku prilagodbe impedancije pomocu jednog stuba prilagodavaju se dvije

varijable: udaljenost izmedu stuba i tereta d te duljina stuba l. Stub se spaja

paralelno ili serijski na glavnu liniju.

Spajanjem kratkog spoja ili otvorenog kraja i mijenjanjem duljine prijenosne

linije moze se na njenom ulazu postici bilo koja reaktancija. Reaktancija moze biti

pozitivna i onda je to induktivni karakter reaktancije, a moze biti i negativna pa je

kapacitivni karakter reaktancije [16].

Duljinom d, vrsi se prilagodba ReZL na Z0, a duljinom l ponistava se reak-

tancija. Stoga, nakon sto korisnik unese sve ulazne vrijednosti, potrebno je pronaci

10

Poglavlje 3. Matematicki model

duljine d i l kako bi se ostvarila prilagodba impedancije tereta na karakteristicnu

impedanciju linije. Dokle god je ReZL razlicito od 0, prilagodna mreza se uvijek

moze odrediti.

Smatra se da je teret prilagoden ako vrijedi Zin/Z0=1, odnosno ako je Zin=Z0.

Zin je ulazna impedancija sklopa za prilagodbu koju vidi generator.

U komunikacijskim primjenama nerijetko se trazi prilagodba u sto je moguce

sirem frekvencijskom podrucju. Niti jedan teret ne moze se savrseno prilagoditi u

kontinuiranom pojasu frekvencija, vec je savrsenu prilagodbu moguce ostvariti samo

na diskretnim frekvencijama [17].

Prilagodba impedancije vazna je iz vise razloga. Poboljsava SNR osjetljivih kom-

ponenta prijemnika, smanjuje pogreske amplitude i faze u mrezama dijeljene snage,

te je maksimalna snaga isporucena teretu kada je on prilagoden na prijenosnu liniju

[16].

U nastavku ce biti detaljnije opisan postupak dobivanja grafa magnitude koefici-

jenta refleksije u ovisnosti o frekvenciji iz kojeg je odmah vidljivo za koju frekvenciju

se izvodi prilagodba.

Smisao prilagodavanja impedancije tereta na impedanciju prijenosne linije koris-

tenjem stubova je eliminacija reflektiranog vala na odsjecku linije lijevo od stuba,

odnosno izmedu generatora i stuba [18].

Postupak prilagodbe lijepo se moze prikazati grafickim rjesenjem u Smithovom

dijagramu. Smithov dijagram je graficko pomagalo pri radu s prijenosnim linijama

i podesavanju impedancije elektricnih krugova. To je prikaz koeficijenta refleksije u

dvije dimenzije koji je skaliran na normaliziranu vrijednost impedancije. Normali-

zacija omogucuje koristenje dijagrama u situaciji kada imamo neku karakteristicnu

impedanciju strujnog kruga. Najcesce je karakteristicna vrijednost 50 Ω [17].

Zbog vece tocnosti i preciznosti, u ovom radu ostati cemo orijentirani samo na

analiticko rjesenje koje je korisno za racunalnu analizu.

Na slici 3.1 prikazano je na koji nacin se mogu dobiti cetiri razlicite sheme stuba.

11

Poglavlje 3. Matematicki model

Slika 3.1 Dobivanje cetiri razlicitih vrsta stuba.

3.1 Ugadanje Paralelnim stubom

Ovdje ce biti objasnjeno sto se dogada kada korisnik odabere prilagodbu impedancije

uz pomoc paralelnog stuba, odnosno kako se dolazi do izracuna duljina d i l. Odabir

izmedu paralelnog i serijskog stuba se sprema u varijablu vrsta1. U ovom slucaju u

toj ce varijabli biti spremljena vrijednost paralelni.

Nakon sto se unese vrijednost ZL, njegov se realni dio sprema u varijablu RL, a

imaginarni u XL. Takoder, Z0 se sprema u istoimenu varijablu.

Sve vrijednosti koje unosi korisnik se sa index.php stranice prebacuju u functi-

ons.php uz pomoc post metode gdje se odvija izracun.

Za prijenosnu liniju karakteristicne impedancije Z0, moze se reci da ima karak-

teristicnu admitanciju Y0, a ona se dobije prema jednostavnoj formuli (3.1). Nakon

sto su spremne sve vrijednosti, moze se zapoceti sa izracunom.

Y0 =1

Z0

(3.1)

U slucaju paralelnog stuba, za dobivanje duljina d i l nije potreban rad sa kom-

pleksnim brojevima pa je za citav izracun dovoljan PHP.

12

Poglavlje 3. Matematicki model

Vec pri samom pocetku susrecemo se s dvije formule s obzirom na dvije moguce

opcije. Formula (3.2a) se uzima ako je RL razlicito od Z0 , a prema (3.2b) se racuna

ako je RL = Z0. Kod (3.2a) mogu se uociti +/- znakovi u nazivniku iz cega se odmah

zakljucuje da ce se dobiti dva rjesenja, odnosno t1 i t2. Prema (3.2b) dobivamo samo

jedno rjesenje t.

t =XL ±

√RL[(Z0 −RL)2 +X2

L]/Z0

RL − Z0

RL 6= Z0 (3.2a)

t = −XL

2Z0

RL = Z0 (3.2b)

U kodu se opisani izracun rjesava sljedecim funkcijama:

function t1($rl, $xl, $z0)

$t1 = ($xl + sqrt ($rl * (pow(($z0 - $rl), 2) + pow($xl,

2))/$z0))/($rl-$z0);

return $t1;

function t2($rl, $xl, $z0)

$t2 = ($xl - sqrt ($rl * (pow(($z0 - $rl), 2) + pow($xl,

2))/$z0))/($rl-$z0);

return $t2;

Nakon toga slijedi racunanje parametra B koji ce kasnije biti potreban za dobi-

vanje duljine l. B se racuna prema (3.3), a ako smo prethodno dobili dva rjesenje za

t, sada cemo takoder imati dva rjesenja, a to su B1 i B2.

B =R2

Lt− (Z0 −XLt)(XL + Z0t)

Z0[R2L + (XL + Z0t)2]

(3.3)

Nakon sto su izracunati svi potrebni parametri moze se krenuti na racunanje

duljina d i l. Duljina d se racuna prema (3.4a) ako je t ≥ 0, a prema (3.4b) ako je

13

Poglavlje 3. Matematicki model

t < 0. S obzirom da u se u prethodnom racunu najcesce dobiju dva rijesenja za t,

ovdje cemo dobiti i dva rjesenja za d, odnosno d1 i d2.

d

λ=

1

2πarctan t ≥ 0 (3.4a)

d

λ=

1

2π(π + arctan t) t < 0 (3.4b)

Na red dolaze zadnje formule, a to su one za izracun duljine l. Kod ovog izracuna

bitno je uzeti u obzir da li je korisnik odabrao stub koji je zakljucen kratkim spojem

ili otvorenim krajem. Taj odabir se sprema u varijablu naziva vrsta2.

U slucaju da je odabrao otvoreni kraj, l se racuna prema (3.5a), a ukoliko je

odabrao kratki spoj uzima se formula (3.5b). Za ovaj izracun koristimo prethodno

izracunati parametar B, a ako smo imali dva rjesenja za B, sada cemo imati i dva

rjesenja za l. U slucaju da l dode negativan dodaje se λ /2 sve dok se ne dobije

pozitivna vrijednost.

l

λ=−1

2πarctan

B

Y0(3.5a)

l

λ=

1

2πarctan

Y0B

(3.5b)

3.2 Ugadanje serijskim stubom

Kao sto je prethodno objasnjen postupak dobivanja duljina d i l za paralelni stub,

ovdje ce biti objasnjeno kakav je postupak kod serijskog stuba, odnosno kada je u

varijablu vrsta1 spremljena vrijednost serijski.

Kako bi izracunali t prema (3.6a) i (3.6b) moramo pronaci parametre GL, BL i

Y0. Krenimo od vrijednosti ZL koju unosi korisnik. Naime, korisnik pomocu dvije

input forme zasebno unosi realni i imaginarni dio. Kako bi stvorili kompleksni broj

14

Poglavlje 3. Matematicki model

vise nije dovoljan PHP. Stoga se prebacujemo u JavaScript i ukljucujemo JavaScript

knjiznicu Math.js. Uz pomoc funkcije Math.complex(re, im) stvaramo kompleksni

broj. Preostale funkcije iz iste knjiznice koje su opisane u drugom poglavlju, koriste

se za daljnji izracun sa kompleksnim brojevima.

t =BL ±

√GL[(Y0 −GL)2 +B2

L]/Y0GL − Y0

GL 6= Y0 (3.6a)

t = −BL

2Y0GL = Y0 (3.6b)

Kako bi pronasli parametre GL i BL, potrebno je izracunati YL. YL se racuna prema

(3.7) koja za rjesenje ima kompleksni broj. Njegov imaginarni dio je GL, a realni BL.

Ti se parametri dohvacaju sa Math.re() i Math.im().

YL =1

ZL

(3.7)

Y0 dobivamo iz vec poznate formule (3.1).

Sada kada imamo sve potrebne parametre, t racunamo na isti nacin kao kod

paralelnog stuba. Razliciti su jedino parametri. Umjesto XL, RL i Z0, ovdje se

koriste BL, GL i Y0.

Isto vrijedi za dobivanje pomocnog parametra X koji smo kod paralelnog stuba

oznacavali sa B.

Nakon sto imamo sve vrijednosti, po istim formulama koje su prikazane kod

paralelnog stuba, (3.4a) i (3.4b), dobiti cemo duljine d1 i d2 ovisno o tome da li je

t veci ili manji od 0. Na slican nacin kao kod paralelnog, racunaju se i duljine l1 i

l2, ali treba obratiti paznju na predznake te parametar X zamijeniti sa B. Formula

(3.8a) se uzima za kratkosposni, a (3.8b) za otvoreni stub.

l

λ=−1

2πarctan

B

Y0(3.8a)

l

λ=

1

2πarctan

Y0B

(3.8b)

15

Poglavlje 3. Matematicki model

3.3 Graficki prikaz koeficijenta refleksije

Kako bi dobili graf magnitude koeficijenta refleksije, prvo je trebalo postaviti izracun

za jednu tocku koeficijenta refleksije Γ. Izracun je detaljno opisan u nastavku.

Kako bi dobili ulaznu imepdanciju sustava Zuk treba uzeti u obzir ulaznu impe-

danciju odsjecka linije Zd te ulaznu impedanciju odsjecka stuba Zs.

Neovisno da li se radi o paralelnom ili serijskom stubu, Zd se racuna prema (3.9).

Zd(f) = Z0ZL + jZ0 tan(βd)

Z0 + jZL tan(βd)(3.9)

gdje je βd:

βd = 2πdf

f0(3.10)

Nakon toga potrebno je izracunati Zs. Ovdje postoje dvije mogucnosti ovisno

o tome je li korisnik odabrao stub koji je zakljucen kratkim spojem ili otvorenim

krajem. Ako je korisnik odabrao kratki spoj Zs se racuna prema (3.11), a ako je

odabrao otvoreni kraj formula je (3.12).

ZS(f) = jZ0 tan(βl) (3.11)

ZS(f) = −jZ0 cot(βl) (3.12)

gdje je βl:

βl = 2πlf

f0(3.13)

Sada kad imamo Zd i Zs mozemo izracunati Zuk sto je kombinacija tih dvaju

elemenata, ovisno o tome da li je rijec o serijskom ili paralelnom stubu. Prema poz-

natim formulama iz podrucja elektrotehnike, ako se radi o serijskom spoju racunamo

prema (3.14), a ako se radi o paralelnom onda je tocna formula (3.15).

16

Poglavlje 3. Matematicki model

Zuk(f) = Zd(f) + Zs(f) (3.14)

Zuk(f) =1

1Zd(f)

+ 1Zs(f)

=Zd(f)Zs(f)

Zd(f) + Zs(f)(3.15)

Jos su preostale dvije formule koje nas dijele od zeljene tocke. To su (3.16) i

(3.17).

|Γ(f)| =| Zuk(f)− Z0

Zuk(f) + Z0

|= |A± jB| (3.16)

|Γ| =√A2 +B2 (3.17)

Ovim postupkom dobili smo jednu tocku. Kako bi iscrtali graf sa rasponom

frekvencija od 1 GHz do 3 GHz, postupak treba ponavljati za 2000 tocaka, od 1000

do 3000. Za to je koristena for petlja koja ce nakon svakog izracuna spremati rezultate

u dva razlicita polja, ipsiloni1 i ipisloni2. Dva razlicita polja postoje zbog prethodno

dobivenih dvaju rjesenja. Naravno, postoje i posebni slucajevi kada je RL = Z0 ili

GL = Y0, i tada ce se ispuniti samo jedno polje.

Nakon sto se izvrsi for petlja, naredbom push stvara se jedno slozeno polje ipsiloni

od dva prethodno dobivena iz petlje.

Sa dobivenim poljem koje za frekvencije od 1 GHz do 3 GHz sadrzi sve potrebne

izracunate koeficijente refleksije Γ, prelazi se na iscrtavanje grafa. Poziva se funkcija

crtajGraf kojoj se takvo polje salje kao argument.

Za samo crtanje grafa, koristena je JavaScript knjiznica d3.js. Njene znacajke

opisane su u drugom poglavlju.

Funkcija crtajGraf() prvo rasporeduje tocke iz slozenog u dva manja polja sa y

tockama za dvije razlicite krivulje, odnosno dva razlicita rjesenja. Nakon toga po-

novo se otvara for petlja te se u nova dva razlicita polja, opet naredbom push, unose

vrijednosti x i y za svako rjesenje. U kodu to izgleda ovako:

17

Poglavlje 3. Matematicki model

var xy1 = [];

for(var i=1000;i<Xtocke.length;i++)

xy1.push(x:Xtocke[i],y:Ytocke1[i]);

var xy2 = [];

for(var i=1000;i<Xtocke.length;i++)

xy2.push(x:Xtocke[i],y:Ytocke2[i]);

Potom se odreduju visina, sirina i margine grafa te skala za x i y vrijednosti. U

samom HTML-u napravljen je div kao prostor za iscrtavanje grafa, ali i za izracun

frekvencijskog pojasa koji ce biti objasnjen u sljedecem podpoglavlju. U taj div

dodaje se SVG element sa svim potrebnim atributima, unutar kojeg ce se iscrtati

graf.

3.4 Sirina frekvencijskog pojasa

Pri izracunu sirine frekvencijskog pojasa koristena je javascript knjiznica jQuery.js,

koja je sa preostalim alatima opisana u drugom poglavlju.

Nakon sto korisnik unese zeljeni koeficijent refleksije i pritisne gumb, funkcija

onclick() aktivira funkciju izracunajBW(). U toj se funkciji uzima vrijednost zadanog

koeficijenta refleksije i on se sprema u varijablu zadano. Uz pomoc for petlje prolazi

se kroz 2000 tocaka, odnosno prolazi se kroz dva polja poznata od ranije u kojima

su spremljeni svi izracunati koeficijenti refleksije. U trenutku kada je koeficijent

refleksije iz polja jednak varijabli zadano, uzima se pozicija tog elementa u polju. To

je zapravo trazena rubna frekvencija.

U sljedecim linijama koda prikazana je petlja koja pronalazi rubne frekvencije

prvog rjesenja:

for(var i = 1000; i < ipsiloni1.length; i++)

if(ipsiloni1[i].toFixed(2) == n)

18

Poglavlje 3. Matematicki model

if(flag1 == 0)

f11 = i;

flag1++;

else

f12 = i;

i +=50;

Kako bi se uspjesno spremile obje frekvencije postavljena je varijabla flag koja

ce postavljenom uvjetu signalizirati da sljedecu pronadenu vrijednost spremi u novu

varijablu f12.

Nakon sto se pronadu dvije takve frekvencije za svako rjesenje, moze se odrediti

sirina frekvencijskog pojasa i relativna sirina frekvencijskog pojasa na vrlo jednosta-

van nacin uz pomoc formula (3.18) i (3.19) tako da je fV veca, a fM manja frekvencija.

Pri cemu je fC prikazan jednadzbom (3.20).

BW = fV − fM (3.18)

BWrel =BW

fC∗ 100% (3.19)

fC =fM + fV

2(3.20)

Nakon sto imamo izracunate sirine frekvencijskog pojasa zakljucuje se da je bolje

ono rjesenje sa sirim frekvencijskim pojasom.

Ispisi rjesenja odvijaju se uz pomoc metode append() koja je dio knjiznice jQu-

ery.js. Ona omogucava da se prilikom svakog novog upisa koeficijenta refleksije u

istom div -u ispisuju nova rjesenja. Event onclick() aktivira se svaki puta kada ko-

risnik pritisne gumb Izracunaj.

19

Poglavlje 4

Korisnicko sucelje

Nakon sto je u prethodnom poglavlju opisan pozadinski dio aplikacije, u ovom cemo

se poglavlju usredotociti na opis onoga sto korisnik vidi. Sve sto se zahtjevnim

matematickim postupkom izracunalo, sada je prikazano korisniku na najjednostavniji

nacin. Koristenjem CSS-a, sve forme su napravljene su tako da budu pregledne i

elementi prigodno postavljeni.

Na slici 4.1 prikazana je pocetna stranica.

Slika 4.1 Pocetna stranica aplikacije.

Uz pomoc sljedeca dva primjera, proci ce se kroz aplikaciju od pocetka do kraja

i vidjeti sto se desava na upis razlicitih vrijednosti.

20

Poglavlje 4. Korisnicko sucelje

4.1 Primjer - Kratkospojni paralelni stub

Korisnik u odgovarajuca polja unosi sljedece vrijednosti na index.php:

ZL = 60 - j80 Ω

Z0 = 50 Ω

f = 2 GHz

Prilikom prijelaza misem preko ZL i Z0 moze se vidjeti kratka poruka koja objasnjava

sto zapravo predstavljaju ti parametri.

Nakon sto je korisnik unio zeljene brojcane vrijednosti ponudene su mu na odabir

dvije slike, odnosno dvije sheme. Desna predstavlja paralelni stub, a lijeva serijski.

Ako se misem neodlucno prelazi preko obje slike naizmjenicno, ona na kojoj je pozici-

oniran mis biti ce osvijetljena, dok ce ona druga ostati zatamnjena. U ovom primjeru

korisnik bira paralelni stub pa ce nakon odabira ta slika ostati osvijetljena.

Njihovi krajevi nisu definirani na shemama vec je ispod slika ponuden jos jedan

odabir radio-button-ima. Klikom na kratkospojni odabran je kratkospojni stub.

Nakon sto korisnik pritisne dugme Izracunaj, aplikacija ga vodi na functions.php

gdje je prikazan dobiveni izracun. U slucaju da korisnik ne ispuni sve sto se od njega

trazi, prikazati ce se poruka da nisu unesene sve vrijednosti.

Prvo sto korisnik vidi jesu njegove upisane vrijednosti iz kojih proizlaze dva

rjesenja za duljine d i l. Za opisane ulazne vrijednosti, izlaz je prikazan na slici

4.2.

Slika 4.2 Izlaz nakon unesenih vrijednosti.

21

Poglavlje 4. Korisnicko sucelje

Ispod toga nalaze se takoder dvije slike za dva rjesenja. To su zapravo rezul-

tantne sheme. One prikazuju stub prema znacajkama koje je korisnik odabrao sa

rezultatima prikazanim na odgovarajucim mjestima. Shema za prvo rjesenje ovog

primjera prikazana je na slici 4.3.

Slika 4.3 Shema prvog rjesenja.

Ispod dvaju shema nalazi se graficki prikaz koeficijenta refleksije. Za frekvenciju

od 2 GHz koju je upisao korisnik, mreza je prilagodena idealno, bez refleksija. Na

slici 4.4 prikazan je dobiveni graf na kojemu se to jasno vidi. Naime, za obje krivulje

koeficijent refleksije je na frekvenciji od 2 GHz u nuli. Kako bi se uspjesno razlikovala

ova dva rjesenja, krivulja za prvo rjesenje prikazana je plavom bojom i punom linijom,

dok je druga krivulja crvena i iscrtkana.

Desno od grafa nalazi se prazan prostor, a pri dnu je polje za unos koeficijenta

refleksije Γ. Prelaskom misa preko znaka Γ pojaviti ce se pojasnjenje da je to zapravo

koeficijent refleksije. Kada korisnik unese vrijednost u rasponu od 0 do 1, aplikacija

ce ispisati dva rjesenja, jedno za svaku krivulju. Ako korisnik u ovom slucaju upise

0.4 ispisati ce se rjesenja prikazana na slici 4.5 kao i poruka da je bolje prvo rjesenje.

Naime, ako obje krivulje na slici 4.4 promatramo za vrijednost koeficijenta refleksije

0.4, jasno je da prvo rjesenje ima siri frekvencijski pojas.

22

Poglavlje 4. Korisnicko sucelje

Slika 4.4 Graf koeficijenta refleksije.

Slika 4.5 Sirine frekvencijskog pojasa.

23

Poglavlje 4. Korisnicko sucelje

4.2 Primjer - Otvoreni serijski stub

Korisnik unosi sljedece vrijednosti:

ZL = 100 + j80 Ω

Z0 = 50 Ω

f = 2 GHz

Nakon toga klikom na odgovarajucu shemu odabire otvoreni serijski stub.

Dobivena rjesenja za d i l prikazana su na slici 4.6.

Slika 4.6 Izlaz nakon unesenih vrijednosti.

Ispod toga su prikazane sheme kao i u prethodnom primjeru. Shema za prvo

rjesenje prikazana je na slici 4.7.

Graf sa krivuljama za oba rjesenja prikazan je na slici 4.8.

Ako za koeficijent refleksije upisemo 0.5 prikazati ce se rjesenja sa slike 4.9.

U ovom slucaju bolje je drugo rjesenje, sto se takoder moze vidjeti na grafu ako

gledamo sirine frekvencijskih pojasa oba rjesenja za koeficijent refleksije 0.5.

24

Poglavlje 4. Korisnicko sucelje

Slika 4.7 Shema prvog rjesenja.

Slika 4.8 Graf koeficijenta refleksije.

25

Poglavlje 4. Korisnicko sucelje

Slika 4.9 Izlaz nakon unesenih vrijednosti.

26

Poglavlje 5

Zakljucak

U ovom radu obradivala se tema koja je bila izrada aplikacije za prilagodbu impe-

dancije pomocu jednog stuba. U prethodnim poglavljima detaljno je opisano koji

alati su koristeni, tijek izrade aplikacije te sto je njen izlaz.

Prilozene su sve potrebne formule i detaljno opisan matematicki model. Ulazne

varijable su: impedancija tereta ZL, karakteristicna impedancija prijenosne linije Z0

i frekvencija f, na temelju cega aplikacija vrsi prilagodbu impedancije. Za uspijesno

racunanje kompleksnim brojevima, koristena je JavaScript knjiznica Math.js, a jed-

nostavniji izracuni izvrsavaju se u PHP-u. Dobiveni rezultat ukljucuje dva rjesenja,

odnosno dvije duljine za l i dvije duljine za d.

Na dvjema rezultantnim shemama ti su rezultati upisani na odgovarajucim mjes-

tima zbog bolje preglednosti i razumijevanja. Za stvaranje shema bilo je potrebno

dobro izbalansirati HTML i CSS, kako bi se dobivene duljine d i l prikazale na pravim

mjestima.

Takoder, prikazan je graf magnitude koeficijenta refleksije u ovisnosti o frekvenciji.

Iz njega se moze odmah vidjeti na kojoj frekvenciji se izvrsila prilagodba. Obje

krivulje koje predstavljaju dva rjesenja padaju prema 0 na zadanoj frekvenciji, a

onda se ponovo uzdizu. Za crtanje grafa koristena je knjiznica d3.js, koja uz pomoc

SVG elementa iscrtava graf.

Koristeci jQuery.js knjiznicu bila je olaksana izrada koda za racunanje sirine

frekvencijskog pojasa. Naime, u aplikaciji se na osnovu zadanih koeficijenta refleksije

27

Poglavlje 5. Zakljucak

racuna sirina i relativna sirina frekvencijskog pojasa. Na temelju tih vrijednosti

donosi se zakljucak koje rjesenje je bolje.

U ovom radu opisana je prilagodba impedancije analitickim putem, cime se pusta

otvoren prostor za nadogradnju aplikacije Smitthovim dijagramom. Graficka analiza

bila bi interesantna, iako zahtjeva neke slozenije tehnologije i vise znanja.

Postoji i opcija u kojoj bi se vise aplikacija srodnih ovoj ujedinilo. Tada bi se

mogao napraviti kvalitetan portal znanja iz podrucja radiokomunikacija, ali i sire,

koji bi sigurno mnogima bio od koristi.

28

Bibliografija

[1] HTML. , s Interneta, https://www.w3.org/html/ , rujan 2016.

[2] CSS. , s Interneta, https://www.w3.org/Style/CSS/ , rujan 2016.

[3] Javascript. , s Interneta, https://developer.mozilla.org/en-US/docs/Web/JavaScript , rujan 2016.

[4] Apache. , s Interneta, https://httpd.apache.org/ , rujan 2016.

[5] Apache. , s Interneta, https://hr.wikipedia.org/wiki/Apache (webserver) ,rujan 2016.

[6] Vertrigo. , s Interneta, http://vertrigo.sourceforge.net/ , rujan 2016.

[7] HTML. , s Interneta, https://hr.wikipedia.org/wiki/HTML , rujan 2016.

[8] CSS. , s Interneta, https://hr.wikipedia.org/wiki/CSS , rujan 2016.

[9] PHP. , s Interneta, http://php.com.hr/77 , rujan 2016.

[10] JavaScript. , s Interneta, http://www.znanje.org/knjige/computer/JavaScript/2010/index.htm , rujan 2016.

[11] Math.js. , s Interneta, http://mathjs.org/ , rujan 2016.

[12] D3.js. , s Interneta, https://d3js.org/ , rujan 2016.

[13] D3.js. , s Interneta, https://en.wikipedia.org/wiki/D3.js

[14] jQuery. , s Interneta, https://jquery.com/ , rujan 2016.

[15] Impedance matching. , s Interneta, http://www.ece.rutgers.edu/∼orfanidi/ewa/ch13.pdf , rujan 2016.

[16] Joler, M., Predavanja iz kolegija radiokomunikacije, 2016.

29

Bibliografija

[17] Bartolic, J. Mikrovalna elektronika. , s Interneta, http://www.graphis.hr/news/mikrovalna/bartolic web.pdf , rujan 2016.

[18] Pozar, D.M. (2012) Microwave engineering. , s Inter-neta, http://www2.electron.frba.utn.edu.ar/∼jcecconi/Bibliografia/Ocultos/Libros/Microwave Engineering David M Pozar 4ed Wiley 2012.pdf , rujan2016.

30

Pojmovnik

CSS Cascading Style Sheets. 3, 5–7, 20, 27

HTML HyperText Markup Language. 3–7, 27

PHP Hypertext Preprocessor. 3, 4, 7, 27, 31

31

Sazetak

Kroz ovaj zavrsni rad opisana je izrada aplikacije za prilagodbu impedancije pomocu

jednog stuba. Ulazne vrijednosti su: impedancije tereta ZL, karakteristicna impe-

dancija prijenosne linije Z0 i frekvencija na kojoj se vrsi prilagodba f. Prikazom

matematickog modela opisan je postupak kojim se iz navedenih ulaznih vrijednosti

dolazi do udaljenosti stuba od tereta d te duljine stuba l koje su potrebne za pri-

lagodbu. Kod ovog izracuna vecinom je koristen PHP. Osim rjesenja analitickog

izracuna, prikazuju se dvije sheme i iscrtava graf magnitude koeficijenta refleksije u

ovisnosti o frekvenciji. Prikaz shema ovisi o tome da li je stub paralelan ili serijski,

te zakljucen kratkim spojem ili otvorenim krajem. Kod trazenja koeficijenta reflek-

sije bilo je potrebno mnogo racunanja sa kompleksnim brojevima, pa je ukljucena

JavaScript knjiznica Math.js. Za iscrtavanje grafa koristena je knjiznica d3.js.

Aplikacija bi trebala pomoci ljudima koji rade u podrucju radiokomunikacije te

slicnima granama, bas kao i studentima. Zbog dugackog i dosta zahtjevnog izracuna

za koji je rucno potrebno utrositi mnogo vremena, ova aplikacija ce sve odraditi u tek

nekoliko klikova. Brz izracun u kombinaciji sa shemama i grafovima daje preglednu

sliku za lakse razumijevanje, sto bi zasigurno bilo od koristi.

Kljucne rijeci — stub, prijenosna linija, prilagodba impedancije, ko-

eficijent refleksije

Abstract

Through this thesis an application for impedance matching with one stub is des-

cribed. The input values are: load impedance ZL, characteristic impedance of the

transmission line Z0 and the frequency f at which the matching must be performed.

The mathematical model describes a process which of the following input values

comes to the distance of the stub from the load d and stub length l, which are nece-

ssary for impedance matching. PHP is mostly used for this calculation. In addition

to solutions from the mathematical calculations, two schemes are displayed and the

graph of the magnitude of the reflection coefficient is plotted against the frequency.

32

Displaying of the particular scheme is based on whether the stub is parallel or serial

and terminated by a short or by an open circuit. For searching the reflection coeffi-

cient, it required a lot of calculations with complex numbers, which is why javascript

library Math.js was included. To draw a graph library, d3.js was used.

This application should be helpful to people who work in radiocomunications and

similar branches and it should also help students. Because of the long and demanding

calculation which would take a long time if done by hand, this application will do

evertything in a few clicks. Fast calculation, combined with schemes and graphs,

gives a better picture which is easier to understand and is ultimately helpful.

Keywords — stub, transmittion line, impedance matching, transmission

line, reflection coefficient

33