58
SVEU ˇ CILI ˇ STE U RIJECI TEHNI ˇ CKI FAKULTET Diplomski studij raˇ cunarstva Diplomski rad Web aplikacija za simulaciju ASK, FSK i PSK modulacije Rijeka, svibanj 2017. Kristian Sulji´ c 0069054424

Web aplikacija za simulaciju ASK, FSK i PSK modulacije · opisati vrste modulacija signala gdje ce fokus biti na digitalnoj modulaciji. Digitalna modulacija je mogu ca na tri na cina,

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

SVEUCILISTE U RIJECI

TEHNICKI FAKULTETDiplomski studij racunarstva

Diplomski rad

Web aplikacija za simulaciju ASK, FSK iPSK modulacije

Rijeka, svibanj 2017. Kristian Suljic

0069054424

SVEUCILISTE U RIJECI

TEHNICKI FAKULTETDiplomski studij racunarstva

Diplomski rad

Web aplikacija za simulaciju ASK, FSK iPSK modulacije

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

Rijeka, svibanj 2017. Kristian Suljic

0069054424

Izjava o samostalnoj izradi rada

Izjavljujem da sam samostalno izradio ovaj rad.

Rijeka, svibanj 2017. _______________

Ime Prezime

iii

Zahvala

Zahvaljujem mentoru izv.prof.dr.sc. Miroslavu Joleru na podrsci tijekom pisanjaovoga rada i korisnim raspravama i savjetima. Zahvaljujem obitelji i Martini nabezuvjetnoj podrsci i strpljenju tijekom studiranja. Svima od srca, hvala.

iv

Sadrzaj

Popis slika viii

1 Uvod 1

2 Aspekti bezicnog prijenosa podataka 3

2.1 Interferencija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Signali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3 Antene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4 Sirenje signala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.5 Multipleksiranje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.6 Modulacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.6.1 Amplitudna modulacija . . . . . . . . . . . . . . . . . . . . . 20

2.6.2 Frekvencijska modulacija . . . . . . . . . . . . . . . . . . . . . 22

2.6.3 Fazna modulacija . . . . . . . . . . . . . . . . . . . . . . . . . 23

3 Razvoj web aplikacija 24

3.1 Arhitektura klijent - posluzitelj . . . . . . . . . . . . . . . . . . . . . 24

3.2 Programski jezici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.3 Moderne web tehnologije . . . . . . . . . . . . . . . . . . . . . . . . . 30

v

Sadrzaj

4 Programsko rjesenje 33

4.1 Odabir tehnologija . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.1.1 Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.1.2 JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.2 Rasclamba zadatka i realizacija . . . . . . . . . . . . . . . . . . . . . 35

4.2.1 Ulazni podaci . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.2.2 Validacija ulaznih podataka . . . . . . . . . . . . . . . . . . . 37

4.2.3 Obrada podataka . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.2.4 Prikaz izlaznih podataka . . . . . . . . . . . . . . . . . . . . . 43

4.2.5 Pohrana/ucitavanje u/iz datoteke . . . . . . . . . . . . . . . . 44

5 Zakljucak 45

Bibliografija 46

Pojmovnik 49

Sazetak 50

vi

Popis slika

2.1 Spektar ferkvencija [1, Frequencies for radio transmission] . . . . . . 4

2.2 Sinusni val i njegovi parametri [5] . . . . . . . . . . . . . . . . . . . 6

2.3 Sinusni signal bez i s pomakom u fazi [1, Signals] . . . . . . . . . . . 7

2.4 Signal u frekvencijskoj domeni [1, Signals] . . . . . . . . . . . . . . . 8

2.5 Signal u faznoj domeni [1, Signals] . . . . . . . . . . . . . . . . . . . 8

2.6 Antena kao sklop s cetiri kanala [1, Antennas] . . . . . . . . . . . . . 9

2.7 Uzorak zracenja antene u stvarnosti [6] . . . . . . . . . . . . . . . . 10

2.8 Hertzov dipol s prikazom otvora za prolaz energije [7] . . . . . . . . 10

2.9 Marconijeva antena [7] . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.10 Pojednostavljena shema pametne antene [8] . . . . . . . . . . . . . . 12

2.11 Domet i stanje signala kroz prostor [1, Propagation] . . . . . . . . . 12

2.12 Atenuacija signala [9] . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.13 Multipleksiranje, prijenos i demultipleksiranje signala [10] . . . . . . 15

2.14 Prostorno multipleksiranje [1, Multiplexing] . . . . . . . . . . . . . . 16

2.15 Frekvencijsko multipleksiranje [1, Multiplexing] . . . . . . . . . . . . 17

2.16 Vremensko multipleksiranje [1, Multiplexing] . . . . . . . . . . . . . 17

2.17 Kodno multipleksiranje [1, Multiplexing] . . . . . . . . . . . . . . . 18

2.18 Modulacija na strani posiljatelja [1, Modulation] . . . . . . . . . . . 20

2.19 Demodulacija na strani primatelja [1, Modulation] . . . . . . . . . . 21

vii

Popis slika

2.20 Amplitudna modulacija signala [1, Modulation] . . . . . . . . . . . . 21

2.21 Frekvencijska modulacija signala [1, Modulation] . . . . . . . . . . . 22

2.22 Fazna modulacija [1, Modulation] . . . . . . . . . . . . . . . . . . . 23

3.1 Primjer arhitekture klijent-posluzitelj [14] . . . . . . . . . . . . . . . 25

3.2 Uloge HTML, CSS i JavaScript-a u web aplikaciji [17] . . . . . . . . 26

3.3 Primjer HTML koda [18] . . . . . . . . . . . . . . . . . . . . . . . . 27

3.4 Primjer CSS koda [20] . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.5 Primjer JavaScript koda . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.6 Slikovni prikaz cloud computing-a [23] . . . . . . . . . . . . . . . . . 30

3.7 Amazon Web Services [24] . . . . . . . . . . . . . . . . . . . . . . . 31

4.1 Prikaz sucelja za unos podataka . . . . . . . . . . . . . . . . . . . . 36

4.2 Prikaz rjesenja validacije . . . . . . . . . . . . . . . . . . . . . . . . 37

4.3 Provjera validacijskog pravila . . . . . . . . . . . . . . . . . . . . . . 38

4.4 Petlja provjere svih validacijskih pravila . . . . . . . . . . . . . . . . 39

4.5 Prikaz ASK modulacije s pozitivnom logikom kodiranja . . . . . . . 41

4.6 Prikaz FSK modulacije s pozitivnom logikom kodiranja . . . . . . . 42

4.7 Prikaz PSK modulacije s pozitivnom logikom kodiranja . . . . . . . 42

4.8 Prikaz pozicije canvas elemenata . . . . . . . . . . . . . . . . . . . . 43

4.9 Prikaz opcije za ucitavanje/pohranu podataka u datoteku . . . . . . 44

viii

Poglavlje 1

Uvod

U danasnje doba sve je rasireniji pojam komunikacije. Ako njemu dodamo i pojam

“mobilna” dobivamo vrlo mocnu kombinaciju. U svakom smo trenutku povezani

i dostupni te to cesto uzimamo zdravo za gotovo, a da pritom ni ne pomisljamo

o stvarima i procesima koji se dogadaju u pozadini i koji nam sve to omogucuju.

Pojam mobilna komunikacija obuhvaca tehnologije od osobnih komunikacija te od-

govarajucih sustava (celijski sustavi) do bezicnih podataka i bezicnih mreza.

Jedan od temeljnih aspekata svih nacina bezicne komunikacije je modulacija sig-

nala tj. proces sazimanja podataka da bi se mogli poslati na odredenom nositelju.

Vecina danasnjih bezicnih prijenosa podataka digitalne je vrste i mozemo reci da je

tip modulacije kriticni dio obrade signala, uzimajuci u obzir ogranicenu sirinu dos-

tupnog spektra. Glavni zadatak modulacije signala je prenijeti sto vise podataka,

a da se pritom zauzme sto je manje moguce spektra, te se to naziva spektralnom

efikasnoscu. Postoji vise tehnika koje poboljsavaju spektralnu efikasnost i samim

time bolje utiliziraju spektar.

1

Poglavlje 1. Uvod

U ovom ce se radu obraditi podrucje bezicne komunikacije te nesto detaljnije

opisati vrste modulacija signala gdje ce fokus biti na digitalnoj modulaciji. Digitalna

modulacija je moguca na tri nacina, te se postize modifikacijom:

1. Amplitude

2. Frekvencije

3. Faze

Sofisticiranije metode kombiniraju dvije ili vise varijacija u jednu kako bi poboljsali

spektralnu efikasnost. Ovakvi, temeljni nacini modulacije se jos uvijek koriste za

modulaciju digitalnih signala. Osim digitalne, tu su analogne modulacije te prijenos

signala sirokog spektra.

Kako je prakticni dio ovog rada bio napraviti web aplikaciju za digitalnu modula-

ciju signala, osim teorijske pozadine, biti ce opisane i tehnologije u kojem je program-

sko rjesenje relizirano poput JavaScript-a Hypertext Markup Language (HTML)-a

i Cascading style sheets (CSS)-a. Isto tako, valja naglasiti kako ce se osim teh-

nologija zasluznih za klijentsku stranu aplikacije, rad osvrnuti i na posluziteljsku

stranu i dotaknuti se tema poput Amazon Web Services (AWS) te “serverless” nacina

izvrsavanja aplikacije. Detaljnije u trecem poglavlju.

2

Poglavlje 2

Aspekti bezicnog prijenosa

podataka

Sama modulacija signala nije zasluzna za prijenos podataka te bi steceni dojam u tom

slucaju bio krivi. Kako bi se dobila potpuna slika te uvidjela razina kompleksnosti

bezicnog prijenosa podataka, potrebno je zakoraciti jedan korak unatrag. Upravo se

to u ovom poglavlju dogada te se rad osvrce na temeljne aspekte bezicnog prijenosa

koji su navedeni u nastavku, a potrebni su za razumijevanje problema na visim

slojevima procesa:

• Interferencija - dok kod prijenosa preko zicanog medija ne moramo brinuti o

interferenciji, ona je vrlo bitan faktor u bezicnom prijenosu

• Signal - fizicka prezentacija podataka, “alat” koji nam daje mogucnost opisi-

vanja i prijenosa podataka

• Antena - uredaj koji omogucuje odasiljanje energije, odnosno, elektromagnet-

skih valova koje predaje odasiljac, ali i sazimanje iste iz medija prema prijam-

niku

• Propagacija - nacin na koji se signal siri te posljedice tog procesa. Javlja se

problem udaljenosti prijemnika i odasiljaca

3

Poglavlje 2. Aspekti bezicnog prijenosa podataka

• Multipleksiranje - od velikog znacaja iz razloga sto je medij koji se koristi za

prijenos uvijek isti, te se mora osigurati sto je manja moguca interferencija u

slucaju vise posiljatelja/primatelja

• Modulacija - omogucuje prijenos digitalnih podataka preko komunikacije ana-

lognog tipa (valovi)

2.1 Interferencija

S ciljem izbjegavanja interferencije signala koristimo razlicite frekvencije u razlicite

svrhe, tj. namjene. Iako je interferencija jedan od jacih argumenata za koristenje

razlicitih frekvencija, podrucje i svrha primjene je uvelike utjecala u stvaranju ko-

nvencije koristenja frekvencija. Primjerice, u slucajevima poput prenosenja glasovne

informacije treba paziti na razinu gubitka informacije, jer ako je ona prevelika, stra-

nama koje sudjeluju u komunikaciji ta informacija nece biti korisna. Slika 2.1 prika-

zuje spektar frekvencija koji se koristi za prijenos podataka [1, Frequencies for radio

transmission].

Slika 2.1 Spektar ferkvencija [1, Frequencies for radio transmission]

Iz gore prikazane slike mozemo zakljuciti kako je bezicni prijenos podataka moguc

na velikom broju frekvencija od kojih svaka ima svoje prednosti i mane, na teme-

lju kojih nalazi svoje mjesto u primjeni. Slika prikazuje spektar elektromagnetskog

zracenja te njihovu klasifikaciju po valnoj duljini. Koncentracija ce biti na radio i

mikrovalnom spektru iz razloga sto se te klase koriste za bezicnu komunikaciju [2].

Radio valovi su valovi fekvencije od 3 kHz do 300 MHz ciji je domet 1 mm,

4

Poglavlje 2. Aspekti bezicnog prijenosa podataka

odnosno 100 km. Generirani se radio valovi koriste za fiksnu i mobilnu radio komu-

nikaciju, navigacijske sustave, komunikacijske satelite i brojne druge primjene. Nas-

taju kao rezultat rada radio odasiljaca, a primaju se pomocu prijemnika podesenog

na odredenu frekvenciju, te se na odredenim frekvencijama valovi mogu odbijati od

okoline i Zemljine ionosfere pa nije nuzno da se primatelj i posiljatelj nalaze u vid-

nom polju kako bi komunikacija bila uspjesna [3]. Frekvencijski pojasevi koji se

klasificiraju kao radio valovi su:

• Very Low Frequency (VLF)

• Low Frequency (LF)

• Medium Frequency (MF)

• High Frequency (HF)

• Very High Frequency (VHF)

Mikrovalovi imaju kracu valnu duljinu te im se za donju granicu frekvencije uzima

300 MHz, dok je gornja 300 GHz. Naziv sugerira kako je valna duljina u odnosu na

radio valove malena, te je raspon od 100 cm do 1 mm. Vazna karakteristika mikro-

valova jest da se prenose unutar vidnog polja sto ogranicava uspjesnost komunikacije

na vecim udaljenostima, ali su bez obzira na to siroko upotrebljavani za komunika-

ciju od tocke do tocke, radarske tehnologije, komunikaciju u svemiru, kod sustava

za izbjegavanje kolizija i drugih [4]. Frekvencijski pojasevi koji se klasificiraju kao

mikrovalovi jesu:

• Ultra High Frequency (UHF)

• Extremely High Frequency (EHF)

• Super High Frequency (SHF)

2.2 Signali

Kao sto je vec istaknuto u poglavlju 2, signali su fizicka prezentacija podataka te

korisnici nekog komunikacijskog sustava mogu razmjenjivati podatke jedino pomocu

signala, tj. pretvorbe podataka u signale i obrnuto. Osim toga, signali su isto tako

5

Poglavlje 2. Aspekti bezicnog prijenosa podataka

funkcije opisane vremenom i lokacijom, te je pomocu tih parametara moguce opisati

podatke koji se salju. Signali pogodni za bezicnu komunikaciju su periodicni signali

poput sinusnih valova koji ujedno sluze kao nositelji [1, Signals].

Slika 2.2 Sinusni val i njegovi parametri [5]

Na slici 2.2 prikazan je sinusni val i njegovi parametri te iz nje mozemo zakljuciti

kako signal mozemo prikazati u obliku funkcije na sljedeci nacin:

y(t) = At sin(ωt+ ϕt)

Ako pritom znamo da je ω = 2πf dobivamo konacni izraz:

y(t) = At sin(2πftt+ ϕt)

Parametri signala su amplituda A, frekvencija f i faza, odnosno fazni pomak.

At i ft su u formuli prikazani na taj nacin jer su to faktori koji se mogu mijenjati

kroz vrijeme. Frekvencija ft opisuje periodicnost signala kojemu je perioda T = 1/f .

Preostao je samo parametar faznog pomaka koji odreduje pomak u fazi u odnosu na

isti signal bez pomaka [1, Signals].

6

Poglavlje 2. Aspekti bezicnog prijenosa podataka

Slika 2.3 Sinusni signal bez i s pomakom u fazi [1, Signals]

Slika 2.3 prikazuje sinusni signal bez pomaka (puna linija) i s pomakom (ispre-

kidana linija) u fazi, sto znaci da se razlikuju u fazi dok su amplituda i frekvencija

ostali isti. U poglavlju 2.6.3 ce se detalnije opisati na koji je nacin moguce opisati po-

datke koristeci fazni pomak. Dakle, sinusni valovi su vrlo pogodni jer je pomocu njih

moguce konstruirati svaki periodicni val koristeci se njihovim funkcijama, a upravo

to nam govori osnovna Fourier-ova jednadzba koja glasi:

y(t) =1

2c+

∞∑n=1

an sin(2πnft) +∞∑n=1

bn cos(2πnft)

Kako u jednadzbi suma ide od 1 do ∞ mozeme se zakljuciti da je potreban be-

skonacan broj sinusnih funkcija kako bi se konstruirala proizvoljna periodicka funkcija

gdje se pri konstruiranju iste, frekvencije povecavaju proporcionalno povecanju broja

n. U stvarnosti, svaki je medij okarakterziran svojom propusnoscu, sto znaci da u

svakom mediju postoji gornja granica frekvencije. Stoga je dovoljno znati da se zbog

tih ogranicenja periodicki signali stvaraju iz ogranicenog broja sinusnih funkcija te

da se odasiljani signal moze shvatiti kao signal konstruiran od jedne ili vise sinusnih

funkcija [1, Signals].

7

Poglavlje 2. Aspekti bezicnog prijenosa podataka

Signal mozemo prikazivati na vise nacina, odnosno u vise domena. Domene su

vremenska, frekvencijska i fazna te su nacini detaljnije objasnjeni u nastavku [1,

Signals]:

• Vremenska - pogledom na sliku 2.3 vidi se kako je amplituda A prikazana na

grafu u odnosu na vrijeme t. Prikazivanje u vremenskoj domeni nailazi na

probleme u slucaju kada se signal sastoji od puno razlicitih frekvencija te je u

tom slucaju bolji prikaz u frekvencijskoj domeni

• Frekvencijska - na slici ispod prikazana je amplituda signala u odnosu na frek-

venciju. Na grafu postoji samo jedan graficki prikaz sto nam govori da je signal

opisan jednom frekvencijom.

Slika 2.4 Signal u frekvencijskoj domeni [1, Signals]

• Fazna - prikaz stanja faze, pokazuje amplitudu M signala i njezin kut u odnosu

na x-os koji predstavlja pomak u fazi.

Slika 2.5 Signal u faznoj domeni [1, Signals]

8

Poglavlje 2. Aspekti bezicnog prijenosa podataka

2.3 Antene

Kako je glavni cilj bezicne komunikacije eliminacija glavnog medija zicane komunika-

cije - zice, potrebno je rjesenje koje ce odaslati signal kroz prostor koji dijeli krajnje

tocke komunikacijskog kanala. Upravo tome sluze antene, uredaji koji pretvaraju

valove koji se sire zicom u valove koji se odasilju prostorom te su zasluzni za oba

smjera komunikacije. Naime, antene primaju signal u obliku elektromagnetskih va-

lova te ih prosljeduju prijemniku, ali isto tako odasilju elektromagnetske valove koje

je proizveo odasiljac sto znaci da se sve karakteristike antene mogu koristiti za prijem

i odasiljanje signala [1, Antennas].

Slika 2.6 Antena kao sklop s cetiri kanala [1, Antennas]

Kada se pak spominju u kontekstu povezanosti, antene se cine kao sklopovi s

dvostrukim kanalom iako u stvarnosti imaju cetiri kanala, sto je prikazano na slici

2.6 . Naime, kanal koji nije povezan na prijemnik/odasiljac, ipak je spojen na prostor,

odnosno okolinu koja uvelike utjece na elektricna svojstva antene, a time i na sam

rad iste.

9

Poglavlje 2. Aspekti bezicnog prijenosa podataka

U teoriji je antena izotropni radijator tj. tocka u prostoru koja zraci energiju

jednako u svim smjerovima (x, y i z os). Medutim kako to inace biva, praksa donosi

odredene anomalije u odnosu na teorijsku pozadinu, pa se tako zna da u stvarnosti

sve antene odasilju energiju usmjereno sto znaci da zracenje nije jednako u svim

smjerovima [1, Antennas].

Slika 2.7 Uzorak zracenja antene u stvarnosti [6]

Najjednostavniji oblik antene je elektricni dipol poznat kao Hertzov dipol koji se

sastoji od dva linearna vodica jednakih duljina, razdvojenih malim prostorom koji

sluzi kao otvor za ulaz energije [7].

Slika 2.8 Hertzov dipol s prikazom otvora za prolaz energije [7]

10

Poglavlje 2. Aspekti bezicnog prijenosa podataka

Antena je, gledajuci sa stajalista elektrotehnicke znanosti, uredaj s kompleksnom

RLC mrezom. Iz tog ce se razloga tokom rada na razlicitim ferkvencijama stvarati

razliciti induktivni ili kapacitivni otpori, dok ce se na specificnim frekvencijama mag-

nitude dvaju otpora ponistiti i rezultirati rezonantnom antenom. To daje pozadinu

zakljucku kako duljina antene ne moze biti proizvoljna. Najcesce se uzima duljina

koja je jednaka polovini valne duljine, λ/2 ili pak cetvrtini, λ/4 kako je prikazano na

slici ispod (Marconijeva antena) [7].

Slika 2.9 Marconijeva antena [7]

Naprednije rjesenje u odnosu na konvencionalne antene je postignuto s takozva-

nim pametnim antenama, koje kombiniraju polje antena s algoritmima za obradu

signala kako bi optimizirale uzorak zracenja i prijema u odnosu na karakteristike

signala i okruzja u kojem se isti propagira. Pametne se antene mogu prilagodavati

promjenama kao sto su anomalije u jakosti prijema i uvjeta u kojem se odasiljanje

odvija te se isto tako mogu koristiti za formiranje prijenosnih zraka. Usmjerene an-

tene mogu pratiti korisnike pojedinacno, ali isto tako i usmjeravati zracenje prema

baznim stanicama (kod celijskih sutava) i na taj nacin smanjuju apsorpciju zracenja

kod ljudi. Rjesenje pametnih antena je danas realizirano u podrucjima poput obrade

zvucnog signala, radara te celijskim sustavima poput Wide Code Division Multiple

Access (W-CDMA), Universal Mobile Telecommunications System (UMTS) i Long

Term Evolution (LTE) [8].

11

Poglavlje 2. Aspekti bezicnog prijenosa podataka

Slika 2.10 Pojednostavljena shema pametne antene [8]

2.4 Sirenje signala

Propagacija, odnosno sirenje signala kod bezicnih mreza se uvelike razlikuje od pro-

pagacije kod mreza povezanih zicom. Zica pomaze u odredivanju smjera sirenja

signala, te dok god ona nije fizicki ostecena ili prekinuta, opisana je istim karakte-

ristikama u svakoj tocki. Moguce je deterministicki odrediti ponasanje signala koji

putuje zicom, primjerice jakost prijema u odnosu na duljinu zice, dok je kod bezicnog

prijenosa takva prediktivnost moguca samo kod prijenosa podataka u vakuumu [1,

Propagation].

Slika 2.11 Domet i stanje signala kroz prostor [1, Propagation]

12

Poglavlje 2. Aspekti bezicnog prijenosa podataka

Na slici 2.11 je prikazano stanje signala u prostoru koji je prikazan u obliku

vektora. Ako gledamo izvana prema unutra, najmanja kruznica predstavlja podrucje

pouzdanog prijenosa, dok ona najveca predstavlja prostor najmanje pouzdanosti sto

je detaljnije opisano u nastavku:

• Domet prijenosa - unutar odredenog radijusa posiljatelja, moguc je prijenos

podataka s dovoljno malom razinom pogreske da bi se komunikacija uspostavila

u oba smjera

• Domet detekcije - unutar sljedeceg veceg raspona radijusa, detekcija prijenosa

te sam prijenos su moguci, ali je razina pogreske prevelika kako bi se uspostavila

uspjesna komunikacija

• Domet inteferencije - u trecem rasponu radijusa postoji mogucnost da se odas-

lani signal stopi s pozadinskim sumom, te ga primatelj nece moci detektirati

Medutim, poznato je kako se bezicni prijenos u svakodnevnom zivotu ne odvija

u vakuumu pa na njega utjecu atmosfera, prepreke(planine, zgrade), pokretne mete

itd. Iz tog ce se razloga ranije opisani dijagram stanja signala u prostoru, iz pravilno

opisanih kruznica pretvoriti u najmanju ruku cudne poligone oblikovane vremenom

i frekvencijom. Opisani utjecaji su zasluzni za slabljenje signala poznato pod poj-

mom atenuacije ili prigusenja koje raste s udaljenoscu posiljatelja od primatelja, a

pospjesuju ga razne prepreke na tom putu. Postoji vise vrsta prigusenja signala [1,

Propagation]:

• Blokiranje signala - sto je prepreka veca, prigusenje prerasta u blokiranje ili

zasjenjivanje signala, a efekt je naglaseniji sto je frekvencija visa sto znaci da

je signal slicniji svjetlu pa cak i mala prepreka moze u potpunosti blokirati

signal

• Odbijanje (refleksija) signala - ako je prepreka na koju signal nailazi veca u

odnosu na valnu duljinu signala, isti ce se reflektirati od prepreke na koju je

naisao. Radi apsorpcije dijela energije od strane prepreke, reflektirani signal

nece biti istoga intenziteta u odnosu na signal prije refleksije

• Lom (refrakcija) signala - pojava koja se javlja radi ovisnosti brzine signala o

gustoci medija kroz koji putuje. Naime, kada signal naide na gusci mediji, lomi

13

Poglavlje 2. Aspekti bezicnog prijenosa podataka

se u smjeru istoga.

• Rasprsivanje signala - pojava kada se val istodobno reflektira u vise valova s

manjom amplitudom u vise smjerova nakon udara u male i neravne povrsine

• Difrakcija signala - pojava vrlo slicna refrakciji signala gdje se za razliku od

refrakcije signal savija kroz medij, dok kod difrakcije dolazi do savijanja oko

neke prepreke

Slika 2.12 Atenuacija signala [9]

14

Poglavlje 2. Aspekti bezicnog prijenosa podataka

2.5 Multipleksiranje

Multipleksiranje je jedno od temeljnih mehanizama u svim komunikacijskim susta-

vima, bilo onima koji kao mediji koriste zicu ili onima koji kao mediji koriste prostor

(bezicne mreze). Svrha multipleksiranja je omoguciti komunikaciju vise korisnika

preko istog medija bez ili s minimalnom inteferencijom, a to postize na nacin da

se vise signala kombinira u jedan signal koji se salje zajednickim medijem. Multi-

pleksiranjem se jedan fizicki kanal dijeli u nekoliko logickih kanala gdje svaki nosi

odredenu informaciju namjenjenu odredenom primatelju, na cijoj strani onda dolazi

do demultipleksiranja, odnosno procesa izvlacenja informacije namjenjene primatelju

[10].

Slika 2.13 Multipleksiranje, prijenos i demultipleksiranje signala [10]

Kada se radi o bezicnim sustavima, multipleksiranje se odvija u cetiri domene:

prostorna, vremenska, frekvencijska i kodna. Zadatak multipleksiranja u svakoj od

domena jest dodijeliti onoliko resursa svakom komunikacijskom kanalu, na nacin da se

postigne minimalna interferencija i maksimalna iskoristivost medija [1, Multiplexing].

U nastavku su opisane metode multipleksiranja signala:

15

Poglavlje 2. Aspekti bezicnog prijenosa podataka

• Prostorno multipleksiranje - Space Division Multiplexing (SDM) je metoda

multipleksiranja u kojoj komunikacijski kanali koriste prostore koji su medusobno

fizicki odvojeni. Vazno je napomenuti kako se dometi interferencije (slika 2.11)

prostora svakog od komunikacijskih kanala ne smiju preklapati. SDM je najjed-

nostavniji oblik multipleksiranja, te kao takav nije optimalan u slucaju velikog

broja komunikacijskih kanala zbog potrebe za velikim prostorom [1, Multi-

plexing]

Slika 2.14 Prostorno multipleksiranje [1, Multiplexing]

• Frekvencijsko multipleksiranje - Frequency Division Multiplexing (FDM) radi

na nacin da frekvencijsku domenu dijeli na manje frekvencijske pojaseve koji

se ne preklapaju, te svakom komunikacijskom kanalu dodjeljuje jednu od frek-

vencija. Ova vrsta multipleksiranja je pogodna za odasiljanje vise radio stanica

na malom prostoru, gdje svaka od radio stanica odasilje na zasebnoj frekven-

ciji. Primatelj, ukoliko zeli primati signal odredene radio stanice mora po-

desiti prijemnik na odredenu frekvenciju. Medutim, ovakav nacin modulacije

takoder ima nedostataka. U primjeru s radio stanicama koji je naveden ranije,

odasiljanje signala se odvija kroz dugacak period vremena, dok se primjerice,

kod mobilnih (celijskih sustava) odasiljanje vrsi u kracim vremenskim peri-

odima. Dodjeljivanje zasebnih frekvencija svakom komunikacijskom scenariju

u tom slucaju nije optimalno [1, Multiplexing]

16

Poglavlje 2. Aspekti bezicnog prijenosa podataka

Slika 2.15 Frekvencijsko multipleksiranje [1, Multiplexing]

• Vremensko multipleksiranje -Time Division Multiplexing (TDM) djeluje na

nacin da svakom kanalu dodijeli cijeli frekvencijski pojas na odredeno vri-

jeme, te na taj nacin svi kanali koriste isti frekvencijski pojas, ali u razlicitim

vremenskim tockama. Prednost ovakvog nacina multipleksiranja je ta sto se

posiljateljima s vecom kolicinom informacija za prijenos, moze dodijeliti vise

vremena za koristenje frekvencijskog pojasa u odnosu na posiljatelje s malom

kolicinom informacija koji dobivaju manje vremena. Medutim, nedostatak ove

metode je taj sto je potrebna precizna sinkronizacija svih posiljatelja kako ne

bi doslo do interferencije u komunikacijskom kanalu, dok na strani primatelja

nije dovoljno podesiti frekvenciju na kojoj ce primati podatke vec za to treba

primati u tocno odredenom vremenskom periodu [1, Multiplexing]

Slika 2.16 Vremensko multipleksiranje [1, Multiplexing]

17

Poglavlje 2. Aspekti bezicnog prijenosa podataka

• Kodno multipleksiranje - Code Division Multiplexing (CDM) koristi identifika-

cijske kodove kako bi se signali razlikovali unutar zajednickog medija. Svakom

je signalu dodijeljena jedinstvena sekvenca bitova, koji zajedno s originalnim

signalom cine novi oblik podataka. Primatelj koji zna kod koji je odredenom

signalu dodijeljen, moci ce rekonstruirati originalni signal oduzimanjem bi-

tovne sekvence. Najveca prednost ovakvog nacina multipleksiranja jest inhe-

rentna sigurnosna karakteristika koja dolazi upotrebom kodova, te koja isto

tako rjesava problem interferencije signala u zajednickom mediju. Kodna do-

mena je ogromna u odnosu na ostale, te dodjeljivanje bitovne sekvence svakom

kanalu ne bi trebalo stvarati probleme. Glavni nedostatak naime, jest komplek-

snost demultipleksora, sinkronizacija s posiljateljem i kontrola jacine signala [1,

Multiplexing]

Slika 2.17 Kodno multipleksiranje [1, Multiplexing]

18

Poglavlje 2. Aspekti bezicnog prijenosa podataka

2.6 Modulacija

U poglavlju 2.2 vec je napravljen osvrt na karakteristike signala i kako su sinusni

valovi (funkcije) pogodni za bezicni prijenos podataka. Sinusna funkcija ima tri pa-

rametra po kojima se moze modulirati signal u odnosu na podatke koje je potrebno

prenijeti, a to su: amplituda At, frekvencija ft i faza (fazni pomak) ϕt. Digitalna mo-

dulacija sluzi kako bi digitalne podatke (bitove, odnosno 0 i 1) pretvorili u analogni

signal, te ih poslali preko medija koji podrzava iskljucivo analogni prijenos podataka,

sto je slucaj kod bezicne komunikacije. Tri osnovne metode kojima se digitalni po-

daci pretvaraju u analogni oblik su amplitudna modulacija (Amplitude Shift Keying

(ASK)), frekvencijska modulacija (Frequency Shift Keying (FSK)) i fazna modulacija

(Phase Shift Keying (PSK)) [1, Modulation].

Osim digitalne modulacije, da bi bezicni prijenos bio moguc, signal je potrebno

dodatno modulirati analognom modulacijom kako bi se sredisnja frekvencija sig-

nala u osnovnom frekvencijskom pojasu prilagodila valu nosiocu. Prilagodavanje

je potrebno, jer propusnost direktno korelira s frekvencijom signala u osnovnom

frekvencijskom pojasu, primjerice ako imamo propusnost od 1 Mbit/s, digitalnom

modulacijom dobiva se analogni signal frekvencije 1 MHz[1, Modulation]. Osvrcuci

se na ranije dijelove rada 2.3, 2.4 i 2.5 proizlazi zakljucak kako postoji vise razloga

zbog kojih bezicni prijenos signala koji je rezultat samo digitalne modulacije, nije

moguc:

• Antena - mora biti odredene velicine u odnosu na valnu duljinu signala koji

se odasilje/prima kako bi bila efektivna. U slucaju signala s frekvencijom od

1 MHz antena bi morala biti nekoliko stotina metara visoka kako bi taj signal

mogla primiti te ga tocno proslijediti prijemniku.

• Medij - sve navedene karakteristike u sekciji 2.4 - prigusenje, blokiranje, refrak-

cija, rasprsivanje i ostale, direktno ovise o valnoj duljini signala te se u odnosu

na primjenu odabire optimalna valna duljina, odnosno frekvencijski pojas

• Multipleksiranje - frekvencijsko multipleksiranje ne bi bilo moguce u slucaju

koristenja frekvencije osnovnog frekvencijskog pojasa. Zbog toga, analogna mo-

dulacija digitalno moduliranog signala, ujednacava frekvenciju s frekvencijom

19

Poglavlje 2. Aspekti bezicnog prijenosa podataka

vala nosioca, te sto je frekvencija veca to je veca iskoristiva sirina frekvencijskog

pojasa

U nastavku je prikazan pojednostavljeni dijagram odasiljanja digitalnih podataka

pri cemu je prvi korak digitalna modulacija signala koristeci jednu od metoda koje ce

biti opisane u nastavku. Nakon toga, analogna se modulacija pobrine da rezultiranom

signalu digitalne modulacije ujednaci frekvenciju u odnosu na signal nosioc te se na

posljetku takav signal odasilje preko antene [1, Modulation].

Slika 2.18 Modulacija na strani posiljatelja [1, Modulation]

Primatelj, s druge strane, dobiva analogni signal preko antene, te ga demodulira u

signal osnovnog frekvencijskog pojasa pomocu informacije o frekvenciji vala nosioca.

Kako bi primatelj uspjesno detektirao o kakvoj se bitovnoj informaciji radi (0 ili

1), mora se sinkronizirati s posiljateljem na nacin koji odredena vrsta modulacije

iziskuje. Nakon toga primatelj moze razlikovati logicke informacije 1 i 0, te dolazi

do rekonstrukcije originalnih podataka [1, Modulation].

2.6.1 Amplitudna modulacija

Amplitudna modulacija je najjednostavniji oblik digitalne modulacije signala, koja

opisuje binarne podatke razlicitim razinama amplitude. Primjerice, ako je vrijednost

amplitude razlicita od 0, znaci da je primljena informacija 1 dok je u suprotnom

0. Prednost je ta sto takva vrsta modulacije zahtjeva malu propusnost, medutim

nedostaci su naglaseniji iz razloga sto su utjecaji na signal poput suma, prigusenja,

20

Poglavlje 2. Aspekti bezicnog prijenosa podataka

Slika 2.19 Demodulacija na strani primatelja [1, Modulation]

refleksije i ostalih, koji su vrlo ucestali u bezicnoj komunikaciji, prenaglaseni i nije

moguce garantirati stabilnu i konstantnu razinu amplitude [11]. Stoga, nije tipicno

koristiti amplitudnu modulaciju u bezicnoj komunikaciji, sto ne znaci da se ona ne

koristi. Primjerice, u optickom prijenosu podataka se koristi amplitudna modulacija,

gdje nedostatak svjetlosnog vala predstavlja 0, dok svjetlosni impuls predstavlja 1

[1, Modulation].

Slika 2.20 Amplitudna modulacija signala [1, Modulation]

21

Poglavlje 2. Aspekti bezicnog prijenosa podataka

2.6.2 Frekvencijska modulacija

Frekvencijska modulacija je metoda modulacije signala koja se cesto koristi u bezicnom

prijenosu podataka te je isto tako poznata kao binarna frekvencijska modulacija (Bi-

nary Frequency Shift Keying (BFSK)). Radi na nacin da logicku 1 predstavlja jedna

ferkvencija f1, dok 0 predstavlja druga frekvencija f2. Nezeljena pojava pri koristenju

te vrste modulacije jest skok(ovi) u fazi koji uzrokuje diskontinuitet i pospjesuje in-

terferenciju, pa se kao protumjera koristi varijacija frekvencijske modulacije, poznata

kao modulacija s kontinuiranom fazom (Continuous Phase Modulation (CPM)) [1,

Modulation]. Naime, za razliku od obicne frekvencijske modulacije, pri CPM modu-

laciji se faza ne resetira na svakom segmentu informacije, vec se pazi da faza bude

kontinuirana. Prednost u slucaju koristenja ove modulacije jest u jednostavnosti pri-

jemnika, odnosno demodulatora koji pomocu dva filtera - jedan za svaku ferkvenciju,

moze na jednostavan nacin rekonstruirati poslanu informaciju [12]. Poznata varija-

cija frekvencijske modulacije je modulacija s najmanjim pomakom (Minimmum Shift

Keying (MSK)) kojoj je jedan od glavnih zadataka rijesavanje problema skokova u

fazi.

Slika 2.21 Frekvencijska modulacija signala [1, Modulation]

22

Poglavlje 2. Aspekti bezicnog prijenosa podataka

2.6.3 Fazna modulacija

Fazna modulacija je vrsta modulacije signala kojom se opisuju digitalni podaci na

nacin da se mijenja fazni pomak referentnoga signala. Naime, svaki puta kada dode

do promjene logicke vrijednosti, referentnom se signalu desava fazni pomak od 180◦

ili π. Na strani primatelja, demodulator odreduje fazu primljenog signala te pomocu

te informacije radi rekonstrukciju originalnog podatka [13].

Kako osnovna fazna modulacija opisana iznad koristi samo jednu varijantu faznog

pomaka kako bi se opisala informacija, ista se na prilicno jednostavan nacin moze

unaprijediti i to pomocu kvadratne fazne modulacije (Quadrature Phase Shift Keying

(QPSK)). Ono u cemu dolazi do poboljsanja jest brzina prijenosa, a da je pritom

propusnost kanala ostala ista, a to se postize na nacin da se dvije logicke informacije

(dva bita) kodiraju u jednom faznom pomaku [1, Modulation].

Slika 2.22 Fazna modulacija [1, Modulation]

Ovime je zakljuceno poglavlje o bezicnom prijenosu koje je pruzilo solidan temelj

za razumijevanje razine kompleksnosti i logike konacnog programskog rjesenja.

23

Poglavlje 3

Razvoj web aplikacija

Kako je izrada web aplikacije sastavni dio ovog rada, nakon teorijske pozadine o

bezicnoj komunikaciji, u nastavku ce se pokusati postaviti temelji za razumijevanje

rada i koraka izrade web aplikacije te se koncentrirati na tehnologije koristene pri

izradi programskog rjesenja i njihove temeljne znacajke.

3.1 Arhitektura klijent - posluzitelj

Klijentsko-posluziteljska arhitektura je struktura koju prati neka aplikacija i zasluzna

je za odredivanje poslova izmedu pruzatelja usluga - posluzitelja i korisnika usluga

- klijenata [14]. Klijent i posluzitelj se razlikuju u nekoliko aspekata, primjerice na

posluzitelju se moze izvrsavati vise posluziteljskih programa koji dijele svoje resurse

s klijentima, dok klijenti ne dijele svoje resurse nego samo potrazuju uslugu. Pojed-

nostavljeno, dva programa se izvrsavaju u isto vrijeme na relaciji klijent-posluzitelj,

a to su [15]

• Program koji se izvrsava na posluzitelju i odgovara na upite klijenta

• Program koji se izvrsava u web pregledniku (klijent) i odgovara na akcije ko-

risnika

Postoje razne konvencije kada se govori o web aplikacijama, a jedna od njih

savjetuje kakva bi raspodjela tereta trebala biti izmedu posluzitelja i klijenta, pa iz

24

Poglavlje 3. Razvoj web aplikacija

toga slijedi [15]:

Posluzitelj:

• Izvrsava bilo koji program koji se moze pokrenuti na racunalu i odgovarati na

zahtjeve klijenta

• Sprema podatke

• Ne odgovara na proizvoljne zahtjeve vec samo na unaprijed odredene

Klijent:

• Izvrsavanje HTML, CSS ili JavaScript koda

• Odgovara na akciju korisnika

• Stvara web stranicu ili aplikaciju kao finalni proizvod

Slika 3.1 Primjer arhitekture klijent-posluzitelj [14]

Web aplikacija je dakle, programsko rjesenje koje koristi klijentsko-posluziteljsku

arhitekturu te se izvrsava u web pregledniku, a sve u svrhu pruzanja odredene

funkcionalnosti/usluge potencijalnom korisniku. Koriste web datoteke napisane u

standardiziranom formatu poput HTML-a i JavaScript-a, koje u danasnje vrijeme

podrzavaju svi web preglednici.

25

Poglavlje 3. Razvoj web aplikacija

Iako postoji puno vrsta web aplikacija i stranica, detaljnije ce se opisati jed-

nostranicne aplikacije (Single Page Application (SPA)), jer se upravo o takvoj vrsti

aplikacije radi u sklopu ovog rada. To su web aplikacije koje, kako naziv sugerira,

imaju jednu stranicu s ciljem pruzanja korisnickog iskustva slicnog desktop apli-

kacijama. Jos jedna karakteristika im je da se sav potreban kod “povuce” s jednim

ucitavanjem stranice, te se tokom koristenja vise ne ucitava. Isto tako, takvu je vrstu

web aplikacije moguce pokrenuti na lokalnom racunalu koristeci URI koji pokazuje

na lokaciju datoteke u datotecnom sustavu. Zbog te je funkcionalnosti moguce s

posluzitelja povuci potrebnu datoteku te je koristiti lokalno, a da pritom ne ovisi o

mogucnosti povezivanja s posluziteljem [16].

3.2 Programski jezici

Web aplikacija koja je ce biti detaljnije opisana u poglavlju 4 koristi HTML jezik

za oznacavanje i CSS stilski jezik za izgled, dok se funkcionalnost aplikacije i samih

grafickih elemenata postigla JavaScript skriptnim programskim jezikom koji je veoma

rasprostranjen i koristi se uglavnom za programiranje aplikacija na klijentskoj strani.

Slika 3.2 Uloge HTML, CSS i JavaScript-a u web aplikaciji [17]

26

Poglavlje 3. Razvoj web aplikacija

HTML

HTML je standardizirani jezik za oznacavanje koji sluzi za izradu web stranica i

aplikacija te zajedno s CSS i JavaScript jezicima koji se spominju u nastavku cini

trozubac tehnologija za razvoj web programskih rjesenja. Nakon sto je objavljen

1995. godine kao standard prema kojemu se buduce implementacije trebaju ravnati,

i dan danas sluzi kao standard, sa zadnjom verzijom 5.1 objavljenom krajem 2016.

godine. Osim sto web preglednici primaju HTML dokumente od strane posluzitelja

ili lokalne pohrane i prikazuju u obliku interaktivnih web stranica, HTML opisuje

web stranicu pomocu semantickih znakova koji odreduju njenu strukturu [18].

Pruza mogucnost za stvaranje strukturiranih dokumenata koristenjem strukturne

semantike za tekst poput zaglavlja, paragrafa, lista, poveznica itd. Osim toga, pruza

mogucnost ugradnje programa pisanih skriptnim jezicima koji utjecu na funkcional-

nost i sadrzaj web stranica, a kompatibilnost s opisnim jezikom CSS omogucuje

definiranje izgleda [18].

Slika 3.3 Primjer HTML koda [18]

27

Poglavlje 3. Razvoj web aplikacija

CSS

CSS je opisni programski jezik pomocu kojeg se opisuje graficki prikaz dokumenta

napisanog u nekom programskom jeziku za oznacavanje. Iako se uglavnom koristi za

postavljanje stilskih karakteristika sucelja napisanih u HTML-u, moze se koristiti i u

drugim jezicima za oznacavanje (XML, SVG, XUL) te za stiliziranje web i mobilnih

aplikacija. Pocetke je vidio 1996. godine kada je objavljena prva specifikacija, a

zadnja verzija je na snazi od 2012. godine kada je objavljena specifikacija za CSS 3

[19].

CSS je primarno zamisljen da cini razliku izmedu prikaza i sadrzaja ukljucujuci

aspekte poput boja i fontova. Ta razlika moze unaprijediti sadrzaj na nacin da bude

pristupacniji i pruza vecu fleksibilnost i kontrolu sadrzaja. Prednost CSS-a je ta sto

radi razdvajanja stilskih karakteristika od sadrzaja, promjene na stilu i grafickom

dizajnu se mogu raditi na jednom mjestu, a da svejedno utjece na n broj HTML

dokumenata [19].

Slika 3.4 Primjer CSS koda [20]

28

Poglavlje 3. Razvoj web aplikacija

JavaScript

JavaScript je standardizirani skriptni programski jezik kojeg velika vecina web stra-

nica koristi, te ga svi moderni web preglednici podrzavaju bez dodatnog podesavanja.

Podrzava objektno orijentirani, proceduralni i funkcijski nacin programiranja te ima

dostupan Aplication Programming Interface (API) za manipulaciju textom, po-

ljima, datumima itd. Medutim, ne ukljucuje/podrzava ulazno-izlazne operacije po-

put mreznih operacija, pohrane, graficke operacije za koje se oslanja na okruzenje u

kojem se izvrsava [21].

Takoder, koristi se u okruzenjima koji nisu bazirani na web-u kao sto su PDF

dokumenti, specificni preglednici i desktop alati. Zbog novijih i brzih virtualnih

masina i platformi izgradenih na njima sve je veca popularnost JavaScript-a kao jezika

za programiranje aplikacija na strani posluzitelja. Ostale primjene su u industriji

video igrica, razvoju mobilnih aplikacija itd [21].

Slika 3.5 Primjer JavaScript koda

29

Poglavlje 3. Razvoj web aplikacija

3.3 Moderne web tehnologije

Kako je receno u uvodu rad ce se osvrnuti i na moderne web tehnologije i servise

poput AWS-a, odnosno web usluga koje pruza kompanija Amazon iz razloga sto se

u danasnje vrijeme sve vise naginje prema Internet of Things (IoT) rjesenjima koje

je svojim alatima AWS ucinio pristupacnijima. Glavna znacajka AWS servisa je

pruzanje usluge procesiranja podataka u oblaku (Cloud Computing). Kao sto sam

naziv sugerira, procesiranje ne odvija na lokalnom racunalu te se stoga ne koriste

njegovi resursi, vec se pruzatelju te usluge uputi zahtjev za odredenom kolicinom

resursa (memorije, procesora, pohrane itd.) koji se onda koriste.

Procesiranje podataka u oblaku ima nekoliko prednosti. Omogucuje izbjegava-

nje troskova potrebnih za infrastruktiru (posluzitelji), te posljedicno daje odredenu

bezbriznost organizacijama da se koncentriraju na srz njihovog poslovanja. Ukoliko

dode do naglog porasta poslovnih zahtjeva, moguce je minimalnim naporom povecati

obim resursa kako bi se zahtjevi ispunili, a kada bi nakon toga poslovanje stagniralo,

jednako lako je smanjiti potrebne resurse i na taj se nacin stedi novac. Medutim,

pruzatelji takvih usluga najcesce koriste “plati koliko potrosis” model, koji u slucaju

nedovoljno dobrog pracenja potrosenih resursa moze rezultirati velikim troskovima

[22].

Slika 3.6 Slikovni prikaz cloud computing-a [23]

30

Poglavlje 3. Razvoj web aplikacija

Iako AWS pruza brojne usluge, tocnije njih preko 70, poput procesiranja, pohrane,

mreznih operacija, baza podataka, analize podataka, razvoja, upravljanja i drugih,

detaljnije ce se opisati usluga pohrane poznata pod nazivom “S3” iz razloga sto je ona

koristena u implementaciji web aplikacije koja ce biti opisana u sljedecem poglavlju

[?].

Amazon S3 (Amazon Simple Storage Service) pruza skalabilnu pohranu koja sluzi

za cuvanje ili koristenje podataka. Koristi se u mnoge svrhe a neke od njih su:

• Cuvanje i arhiviranje podataka

• Pohrana i distribucija podataka

• Analiza podataka (Big Data)

• Posluzivanje statickih web stranica

• Zastita podataka

Slika 3.7 Amazon Web Services [24]

Posebno je zanimljiva usluga posluzivanja statickih web stranica, jer to omogucuje

korisnicima da svoje web aplikacije ucine dostupnima u vrlo kratkom vremenu, bez

trazenja nekog javno dostupnog posluzitelja s upitnom sigurnoscu ili pak dezigniranje

lokalnog racunala da bude posluzitelj koji je javno dostupan, sto isto tako dovodi u

pitanje sigurnost i komociju. Koristi se na nacin da se na Amazon S3 servis spremi

31

Poglavlje 3. Razvoj web aplikacija

datoteka koja sadrzi izvorni kod zeljene web aplikacije. Nakon toga se ta datoteka

jednostavnim klikom na gumb ucini javnom tako da joj se dodijeli javna adresa na

kojoj se izvrsava i kojoj moze pristupiti bilo tko s tom adresom.

32

Poglavlje 4

Programsko rjesenje

U ovom ce se poglavlju opisati metodologija rada od odabira tehnologije, rasclambe

zadatka do konacne realizacije. U tom opisu, rad ce se koncentrirati na logiku i opis

problema te realiziranog rjesenja, dok se od ciljane publike ocekuje da ima usvojeno

osnovno znanje programiranja.

4.1 Odabir tehnologija

Pitanje koje se namece i na koje bi se trebalo obratiti najvise pozornosti jest: ”Sto je

cilj zadatka?”. Ako postoji vrlo jasan odgovor na to pitanje, eventualna podpitanja

koja ce se pojaviti tijekom razvoja nece predstavljati problem. Osim cilja zadatka,

koji je u ovom slucaju web aplikacija, potrebno je znati i razumijeti njen sadrzaj,

sto ce nam odrediti u kojem pravcu ici u pogledu tehnologija. Kako se radi o web

sadrzaju, HTML i CSS se namecu kao prirodni odabir jer su to danasnji standardi

za bilo kakav razvoj koji je povezan s pregledavanjem na webu. U nastavku slijedi

opis odabranih tehnologija te razlozi njihovog odabira.

33

Poglavlje 4. Programsko rjesenje

4.1.1 Bootstrap

Zna se, sto smo i opisali u proslom poglavlju, da su HTML i CSS tehnologije kojima

definiramo strukturu i izgled nekog web sadrzaja, a Bootstrap upravo kombinira te

dvije tehnologije u jednu. Naime, koristi HTML i CSS okvire kako bi se definirali sti-

lovi raznih elemenata poput gumbova, formi, navigacije i drugih [25]. Slijedi nekoliko

prednosti koristenja Bootstrap razvojnog okvira [26]:

• Jednostavnost - pomnim pracenjem popratne dokumentacije pri radu cini koristenje

Boostrap-a jednostavnim. Jedna od znacajki jest ta sto prethodno obraduje

unaprijed definirane CSS datoteke koje se kasnije koriste u razvoju, te zbog

mogucnosti koristenja vise CSS stilova na vise mjesta pomocu jedne datoteke,

rezultira u manjem ukupnom broju datoteka i brzem razvoju rjesenja

• Siroka paleta komponenti - dolazi sa velikim brojem predefiniranih stilova za

razne elemente kao sto su padajuci izbornici, grupe gumbova, upozorenja, trake

za napredak i mnoge ostale

• Konzistentnost - jednostavno receno, pruza konzistentnost u smislu pisanja

koda bez obzira na to tko taj kod generira. Nadalje, krajnji proizvod je uni-

forman, odnosno isti na svim platformama na kojima se izvrsava

• Prilagodljivost - moze se prilagodavati potrebama projekta u smislu da ukoliko

neki unaprijed odredeni stilovi nisu potrebni ili se nece koristiti pri razvoju,

datoteke koje sadrze te stilove se mogu odbaciti bez utjecaja na funkcionalnost

konacnog proizvoda

• Podrska - ogromna zajednica korisnika je od velike pomoci ukoliko dode do

poteskoca u procesu razvoja. Povrh toga, detaljna dokumentacija i kontinu-

irana azuriranja su velika prednost i pomoc

4.1.2 JavaScript

Nakon strukture i izgleda ostaje samo odabrati koja ce se tehnologija brinuti o funk-

cionalnosti i interakciji sa sadrzajem. Funkcionalnost se u ovoj aplikaciji postize

programskim jezikom JavaScript opisan u poglavlju 3, a neki od razloga koji podu-

34

Poglavlje 4. Programsko rjesenje

piru taj odabir jesu [27]:

• Otvorenost - jedan od najotvorenijih programskih jezika uopce cija je specifi-

kacija ISO standard koju prate mnogi projekti u svojim implementacijama od

kojih su mnoge otvorenog koda. Nadalje, o razvoju jezika se brine posebno

vijece sastavljeno od vise kompanija, ukljucujuci sve one koje razvijaju web

preglednike poput Google Chrome, Opera, Mozzila Firefox i slicnih pregled-

nika.

• Fleksibilnost - Iako nije najelegantniji jezik, ima svoje cari zbog kojih je je-

dan od najcesce koristenih i najrasprostranjenijih programskih jezika. Jedna

od njih je da pruza mogucnost koristenja mjesavine objektno orijentiranog,

proceduralnog i funkcijskog nacina programiranja

• Integracija - JavaScript moze biti dio HTML koda te je njihovo medusobno

koristenje stopljeno u jedno rjesenje, iako su to dva razlicita pojma koji se

brinu o razlicitim stvarima. Jednostavnom HTML oznakom “¡script¿” mozemo

integrirati bilo koji JavaScript kod

• Siroka upotreba - postoji nekoliko prednosti koristenja programskog jezika koji

je siroko upotrebljavan. Detaljna dokumentacija i podrska su vrlo bitni za

sve koji se upustaju u razvoj programskih rjesenja tim jezikom te to uvelike

olaksava sam proces

4.2 Rasclamba zadatka i realizacija

Zadatak se moze podijeliti na nekoliko manjih podzadataka, te u kontekstu koristenja

od strane korisnika aplikacija mora:

• Omoguciti unos ulaznih podataka

• Validirati ulazne podatke

• Obraditi ulazne podatake u izlazne

• Prikazati izlazne podatke

• Omoguciti pohranu/ucitavanje ulaznih podataka u/iz datoteke

35

Poglavlje 4. Programsko rjesenje

4.2.1 Ulazni podaci

Prema specifikaciji zahtjeva zadatka definirano je kako su ulazni podaci aplikacije:

• Vrsta modulacije (ASK, FSK ili PSK)

• Binarna informacija, duljine do 10 bitova

• Logika kodiranja (pozitivna ili negativna)

• Razina amplitude

• Frekvencija signala

• Napomena

Slika 4.1 Prikaz sucelja za unos podataka

Na slici 4.1 prikazano je sucelje koje sluzi korisniku za unos ulaznih podataka.

Odabir modulacije realiziran je pomocu padajuceg izbornika koji sadrzi elemente

ASK, FSK i PSK i svaki, kao sto nomenklatura sugerira, predstavlja vrstu modula-

cije. Binarna se informacija unosi u formu za unos teksta u kojoj se nalazi privremeni

tekst koji korisniku daje do znanja koji je maksimalni broj znakova koji se moze uni-

jeti.

36

Poglavlje 4. Programsko rjesenje

Amplituda i frekvencija se takoder odabiru pomocu padajuceg izbornika gdje

vrijednosti koje se mogu odabrati za amplitudu idu od 1 do 4, dok za frekvenciju

moguce vrijednosti idu od 0.5 Hz do 2 Hz. Na posljetku, napomena se unosi u

tekstualno polje te unos nije obavezan.

4.2.2 Validacija ulaznih podataka

Prije nego li se ulazni podaci obrade na nacin da se mogu dobiti izlazni, potrebno je

podatke validirati i osigurati da u proces obrade ulaze podaci u ocekivanom obliku.

Prvo validacijsko pravilo jest da niti jedan ulazni podatak ne smije biti neodreden,

osim napomene. Postoji i dodatno pravilo koje se tice unosa binarne informacije,

a to je da se binarna informacija moze sastojati samo od znakova (brojeva) 0 i 1

te duljina informacije ne smije prelaziti 10 znakova. Nepostivanje pravila validacije

se manifestira na nacin da se obrub elementa promjeni u crvenu boju s tockastim

uzorkom.

Slika 4.2 Prikaz rjesenja validacije

37

Poglavlje 4. Programsko rjesenje

U nastavku je opisano programsko rjesenje validacije. Konstruirana je varija-

bla tipa dictionary u kojoj je svaki par (kljuc:vrijednost) tipa string: boolean. String

predstavlja HTML identifikator elementa kojega smo definirali pri konstrukciji struk-

ture, a boolean predstavlja logicki operator tocno ili netocno (true ili false). Isprva

se u varijabli nalazi onoliko parova koliko ima elemenata, gdje je logicka vrijednost

svakog od parova false. Nakon sto je varijabla inicijalizirana potrebno je izvrsiti niz

provjera za svaki od elemenata i prvi korak jest dohvatiti vrijednost koja se trenutno

nalazi u elementu, sto se radi na sljedeci nacin:

var binaryInfo = document.getElementById("binaryInfo");

Kada se vrijednost dohvati i spremi u varijablu, njezinu vrijednost treba uspore-

diti s validacijskim pravilom tog ulaznog podatka. U slucaju na slici ?? u varijabli

binaryInfo ce se nalaziti vrijednost tekstualnog polja predodredenog za unos binarne

informacije. Validacijsko je pravilo u ovom slucaju, kao sto je prije napomenuto, da

vrijednost moze sadrzavati samo znakove 0 i 1 te da duzina ne smije biti veca od 10

znakova. Ukoliko vrijednost unutar varijable postuje to validacijsko pravilo, logicka

se vrijednost tog odgovarajuceg kljuca mijenja u true, u suprotnom vrijednost ostaje

false.

Slika 4.3 Provjera validacijskog pravila

38

Poglavlje 4. Programsko rjesenje

Nakon sto se postupak opisan ranije i prikazan na slici ?? primjeni na svim ele-

mentima za unos podataka, nad cijelim dictionary-em se vrsi provjera koristeci for

petlju. Naime, petlja iterira kroz sve kljuceve te provjerava njihovu logicku vrijed-

nost. Ukoliko je logicka vrijednost jednaka false HTML elementu s tim identifikato-

rom se mijenja boja okvira u crvenu boju, cime se naznacuje pogreska u validaciji

koju korisnik mora ispraviti da bi uspjesno mogao koristiti aplikaciju. Petlja je pri-

kazana na slici 4.5.

Slika 4.4 Petlja provjere svih validacijskih pravila

39

Poglavlje 4. Programsko rjesenje

4.2.3 Obrada podataka

Nakon uspjesne validacije ulaznih podataka potrebno je te podatke obraditi na nacin

da dobijemo garnituru podataka formatirane za graficki prikaz. Prvi korak je izracun

vrijednosti vala nositelja, koji je u ovom slucaju definiran sinus funkcijom, pa se

shodno tome racunaju sinusne vrijednosti za svaku od tocaka u vremenu. Informacija

o amplitudi i frekvenciji se dobiva na isti nacin kao i binarna informacija u sekciji

4.2.2, a to je programatski citajuci vrijednosti HTML elemenata koje je korisnik

unio.

Isto tako vrlo je vazna informacija o kojoj se vrsti modulacije radi, jer ukoliko

se radi o faznoj modulaciji potrebno je znati vrijednost frekvencije drugog vala no-

sitelja pa i njemu izgenerirati vrijednosti na gore opisani nacin s odgovarajucim

parametrima. Zakljucno, slijedi sazeti popis koraka koji se izvrsavaju pri generiranju

vrijednosti vala nositelja:

1. Dohvacanje podataka o amplitudi i frekvenciji

2. Izracun sinusne vrijednosti formulom y(t) = At sin(ωt + ϕt) koristeci pritom

parametre iz 1. koraka

Nakon generiranja podataka za val ili, u slucaju fazne modulacije, valova nosi-

oca, potrebno je konstruirati modulirani signal. Modulirani signal i podaci koji ga

odreduju ovise o vrsti modulacije signala i odabranoj logici kodiranja. Takoder, pret-

postavka radi lakseg razumijevanja je da jedan bit traje tocno jednu sekundu. Ako

se radi o amplitudnoj modulaciji i pozitivnoj logici kodiranja, 1 u binarnoj infor-

maciji znaci da ce modulirani signal za period trajanja jednog bita, imati identicne

vrijednosti kao i val nosioc u vremenskom periodu u kojem se nalazi spomenuti bit s

vrijednoscu 1. Nadalje, u slucaju da je binarna informacija 0, za odgovarajuci period

vrijednosti signala iznosit ce 0. Ukoliko je logika kodiranja negativna efekt je obrnut,

a primjer slijedi na slici 4.5.

40

Poglavlje 4. Programsko rjesenje

Slika 4.5 Prikaz ASK modulacije s pozitivnom logikom kodiranja

Kada se radi o frekvencijskoj modulaciji u cijelu se pricu ukljucuje jos jedna

komponenta, dodatan val nosioc s visom frekvencijom. Obris logike je isti kao kod

amplitudne modulacije. Ukoliko se u binarnoj informaciji pojavi 1, moduliranom

signalu pridodjeljujemo identicne vrijednosti onima vala nosioca s nizom frekvencijom

dok u slucaju 0 pridodajemo vrijednosti vala nosioca s visom frekvencijom. Ukoliko

je preferencija logike kodiranja negativna efekt je obrnut.

U slucaju fazne modulacije, logika je slicna amplitudnoj modulaciji te se razli-

kuje u konacnom rjesenju zbog prirode fazne modulacije. Naime, za 1 u binarnoj

informaciji se vrijednosti moduliranog signala u tom vremenskom periodu dobivaju

tako da se vrijednosti vala nosioca u istom periodu mnoze s 1, dok se u slucaju 0

u binarnoj informaciji vrijednosti mnoze s -1. Mnozenje s -1 rezultira vrijednostima

koje kada graficki prikazemo opisuju pomak faze za 180◦. U slucaju negativne logike

kodiranja, kao i kod amplitudne modulacije, efekt je obrnut.

41

Poglavlje 4. Programsko rjesenje

Slika 4.6 Prikaz FSK modulacije s pozitivnom logikom kodiranja

Slika 4.7 Prikaz PSK modulacije s pozitivnom logikom kodiranja

42

Poglavlje 4. Programsko rjesenje

4.2.4 Prikaz izlaznih podataka

Za prikaz izlaznih podataka, u ovom slucaju - grafova, koristi se JavaScript knjiznica

Charts.js. Knjiznica omogucuje jednostavno generiranje grafova na nacin da se kao

ulaz prirede dvije garniture podataka, od kojih jedna populira podatke na x osi, dok

druga predstavlja vrijednosti na y osi. Vazno je napomenuti da obje garniture moraju

imati jednaki broj podataka kako bi se graf ispravno prikazao. U ovom slucaju se

koristi linijska vrsta grafa iako knjiznica podrzava mnoge druge vrste.

Osim knjiznice potrebno je objasniti na koji se nacin izgenerirani grafovi prika-

zuju u odnosu na odabranu modulaciju. Naime, prostor koji sluzi za prikaz grafova

se sastoji od tri HTML elementa poznatih pod oznakom canvas, koji omogucuju di-

namicko renderiranje 2D oblika i slika. Ukoliko su odabrane modulacije ASK i PSK,

kao rezultat vidimo dva canvas elementa, od kojih prvi sadrzi graf vala nosioca,

drugi graf moduliranog signala dok je treci skriven. Ako se pak odabere FSK modu-

lacija, jednostavnom provjerom pri generiranju podataka za grafove, cinimo skriveni

element vidljivim te se u njemu prikazuje val nosioc s visom frekvencijom.

Slika 4.8 Prikaz pozicije canvas elemenata

43

Poglavlje 4. Programsko rjesenje

Prednosti koristenja gotove knjiznice je jednostavnost integracije u zeljeno pro-

gramsko rjesenje. Nadalje Charts.js knjiznicu podupire detaljna dokumentacija te je

jedno od najcesce upotrebljavanih rjesenja u toj domeni.

4.2.5 Pohrana/ucitavanje u/iz datoteke

Bitna funkcionalnost za aplikaciju je mogucnost pohrane ulaznih podataka u dato-

teku te ucitavanje podataka iz datoteke. Odabirom opcije za pohranu podataka u

datoteku iz padajuceg izbornika navigacijske trake, citaju se podaci iz HTML ele-

menata koji te podatke sadrze te se isti zapisuju u tekstualnu datoteku.

Slika 4.9 Prikaz opcije za ucitavanje/pohranu podataka u datoteku

Format u kojem se podaci zapisuju je sljedeci:

Modulacija:ASK, Informacija:1010110,

Logika:Pozitivna, Amplituda:2,

Frekvencija_1:1, Frekvencija_2:Frekvencija,

Napomena:Ovo je napomena

Isto tako je moguce ucitati datoteku koja je na prethodno opisani nacin pohra-

njena, ali i ucitati rucno generiranu datoteku sve dok se pazi na ocuvanje formata.

44

Poglavlje 5

Zakljucak

Kako je u uvodu receno, ljudima kao svakodnevnim korisnicima raznih oblika bezicnog

prijenosa, bilo govora celijskim sustavima ili podataka u arhitekturi posluzitelj-

klijent, nije u potpunosti jasna razina kompleksnosti takve vrste komunikacije. Upravo

je iz tog razloga ovaj rad pred sebe postavio nekoliko ciljeva od kojih je prvi izrada

web aplikacije za simulaciju modulacije signala te olaksavanje razumijevanja tog as-

pekta bezicne komunikacije. Medutim, pojam “izrada aplikacije” ima nekoliko razina

koji odreduju kvalitetu konacnog proizvoda te se moze reci da su i to svojevrsni ci-

ljevi. Jedan od njih je svakako izgled aplikacije koja je od velike vaznosti, jer odreduje

razinu intuitivnosti koristenja, te je koncipiran na nacin da korisniku na prvi pogled

pruzi informaciju o nacinu interakcije i zeljenim podacima. Sljedece na sto je tre-

balo obratiti pozornost je funkcionalnost, cija je definicija u pogledu ovog zadatka

omoguciti unos, obradu i prikaz zeljenih podataka, a upravo je obrada podataka

okosnica logike koja kornisniku omogucava koristenje.

Takoder, jedan od ciljeva je da aplikacija bude javno dostupna, iako se moze

izvrsavati na lokalnom racunalu neovisno o povezanosti s nekim posluziteljem putem

interneta. Uzimajuci u obzir sve navedene, manje ciljeve, postignut je glavni, a to je

priblizavanje pojma modulacije korisnicima te na taj nacin pospjesiti razumijevanje

samog procesa.

45

Bibliografija

[1] Schiller, J. (2003). Frequencies for radio transmission. U Mobile communications,Second Edition

[2] Electromagnetic spectrum, s Interneta, https://en.wikipedia.org/wiki/

Electromagnetic_spectrum

[3] Radio wave, s Interneta, https://en.wikipedia.org/wiki/Radio_wave

[4] Microwave, s Interneta, https://en.wikipedia.org/wiki/Microwave

[5] Generation of Sinusoidal Waveforms, s Interneta,http://mathprojectgrade11aths.weebly.com/task-3/

-generation-of-sinusoidal-waveforms-inverse-trig-functions

[6] Vertical and horizontal antenna radiation patterns,s Interneta, http://blog.commscopetraining.com/

increase-antenna-signal-strength-with-design/

[7] Understanding Antenna Specifications and Operation, s Inter-neta, https://www.digikey.com/en/articles/techzone/2017/apr/

understanding-antenna-specifications-and-operation

[8] Smart antennas, s Interneta, http://www.eetimes.com/document.asp?doc_

id=1275711

[9] Reflection, diffraction and scattering, s Inter-neta, http://blog.taitradio.com/2015/09/23/

9-channel-concepts-every-system-designer-needs-to-understand/

[10] Multiplexing, s Interneta, https://en.wikipedia.org/wiki/Multiplexing

[11] Modulation, s Interneta, https://en.wikipedia.org/wiki/Modulation

46

Bibliografija

[12] Continuous phase modulation, s Interneta, https://en.wikipedia.org/wiki/Continuous_phase_modulation

[13] Phase shift keying, s Interneta, https://en.wikipedia.org/wiki/

Phase-shift_keying

[14] Client-server model, s Interneta, https://en.wikipedia.org/wiki/

Client-server_model

[15] Web Application Architecture from 10,000 Feet, Part 1 – Client-Sidevs. Server-Side, s Interneta, https://spin.atomicobject.com/2015/04/06/

web-app-client-side-server-side/

[16] Single page application, s Interneta, https://en.wikipedia.org/wiki/

Single-page_application

[17] Progressive Enhancement: Past, Present, and Fu-ture, s Interneta, http://blog.teamtreehouse.com/

progressive-enhancement-past-present-future

[18] HTML, s Interneta, https://en.wikipedia.org/wiki/HTML

[19] Cascading Style Sheets, s Interneta, https://en.wikipedia.org/wiki/

Cascading_Style_Sheets

[20] CSS basics, s Interneta, https://developer.mozilla.org/en-US/docs/

Learn/Getting_started_with_the_web/CSS_basics

[21] JavaScript, s Interneta, https://en.wikipedia.org/wiki/JavaScript

[22] Cloud Computing, s Interneta, https://en.wikipedia.org/wiki/Cloud_

computing

[23] History and evolution of cloud computing, s Interneta, https://www.linkedin.com/pulse/history-evolution-cloud-computing-kanika-khera

[24] Amazon Web Hosting Review, s Interneta, https://www.linkedin.com/pulse/amazon-web-hosting-review-mak-pul

[25] Bootstrap (front-end framework), s Interneta, https://en.wikipedia.org/

wiki/Bootstrap_(front-end_framework)

[26] Top 5 Reasons to use Bootstrap, s Interneta, https://bootstrapbay.com/

blog/reasons-to-use-bootstrap/

[27] Why JavaScript?, s Interneta, http://speakingjs.com/es5/ch02.html

47

Pojmovnik

API Aplication Programming Interface. 32

ASK Amplitude Shift Keying. 20

AWS Amazon Web Services. 2, 33, 34, 48

BFSK Binary Frequency Shift Keying. 22

CDM Code Division Multiplexing. 19

CPM Continuous Phase Modulation. 23

CSS Cascading style sheets. 2, 28, 29

EHF Extremely High Frequency. 6

FDM Frequency Division Multiplexing. 17

FSK Frequency Shift Keying. 20

gHz gigahertz. 4, 6

GPS Global Positioning System. 5

HF High Frequency. 5

HTML Hypertext Markup Language. 2, 28, 29

IoT Internet of Things. 33

IR Infra Red. 6

48

IrDA Infra red Data Association. 6

kHz kilohertz. 4, 5

LF Low Frequency. 5

LTE Long Term Evolution. 12

MF Medium Frequency. 5

mHz megahertz. 4–6

MSK Minimmum Shift Keying. 23, 24

PSK Phase Shift Keying. 20

QPSK Quadrature Phase Shift Keying. 25

SDM Space Division Multiplexing. 17

SHF Super High Frequency. 6

SPA Single Page Application. 29

TDM Time Division Multiplexing. 18

UHF Ultra High Frequency. 5

UMTS Universal Mobile Telecommunications System. 12

VHF Very High Frequency. 5

VLF Very Low Frequency. 5

W-CDMA Wide Code Division Multiple Access. 12

Wi-Fi Wireless Fidelity. 5

49

Sazetak

Zadatak ovog rada bio je izrada web aplikacije za modulaciju signala za kojeg su

princip i metodologija rada opisani u poglavlju 4. Programskim se rjesenjem posti-

gla softverska vizualizacija modulacije signala pomocu interaktivnih grafova, a sve

koristeci web tehnologije HTML, CSS i JavaScript. Dodatno, aplikacija sadrzi kratku

teorijsku pozadinu posvecenu svakoj od vrsta modulacije te na taj nacin pojednos-

tavljuje i olasava razumijevanje istih.

Kljucne rijeci — bezicni prijenos, modulacija, web tehnologije

Abstract

This paper’s purpose was to build a web aplication which would serve as a simulator

for signal modulation. Chapter 4 explains main principles and work methodology

on that matter. The end result provides a visualisation of signal modulation using

interactive graphs, along with other elements of the application which were built

using HTML, CSS and JavaScript. Additionally, the web applications includes a

brief theoretical background on each of the modulation types, thus providing a better

understanding of the process.

Keywords — wireless transmission, modulation, web technology

50