164
       

Modeliranje i Simulacija u Telekomunikacijama

Embed Size (px)

Citation preview

  • UDBENIK ELEKTROTEHNIKOG FAKULTETA U BEOGRADU

    Milan Bjelica

    MODELIRANJE I SIMULACIJA

    U TELEKOMUNIKACIJAMA

    Beograd, 2013.

  • dr Milan Bjelica,

    Elektrotehniki fakultet Univerziteta u Beogradu

    email: [email protected]

    MODELIRANJE I SIMULACIJA U TELEKOMUNIKACIJAMA

    elektronski udbenik

    Recenzenti:

    prof. dr Predrag Pejovi,

    prof. dr Aleksandra Smiljani

    Nastavno-nauno vee Elektrotehnikog fakulteta odobrilo je objavljivanje ovoga

    udbenika odlukom broj 26 od 30.1.2013. godine.

    Izdava:

    Elektrotehniki fakultet

    Univerziteta u Beogradu

    ISBN: 978-86-7225-053-4

    Neka prava zadrana. Ovo delo je licencirano pod uslovima licence Creative Commons

    Autorstvo-Nekomercijalno-Bez prerade 3.0.

    Tekst ove knjige sloen je u programskom paketu L

    A

    T

    E

    X2.

  • Sadraj

    1 Uvod u modeliranje i simulaciju 1

    2 Modeliranje procesa u telekomunikacionim sistemima 5

    3 Metodologija simulacije 29

    4 Diskretizacija modela 45

    5 Monte Carlo simulacija 57

    6 Obrada rezultata simulacije 67

    7 Uslovi za zavretak simulacije 89

    8 Tehnike za smanjenje varijanse izlaza 93

    9 Simulacija retkih dogaaja 99

    10 Simulaciona optimizacija 105

    11 Simulacija telekomunikacionih mrea 113

    12 Primeri simulacije u telekomunikacijama 129

    Literatura 157

  • Poglavlje 1

    Uvod u modeliranje i simulaciju

    Kada bi trebalo saeti ovaj kurs u nekoliko reenica, kazali bismo da se u njemu izuava

    korienje raunara za oponaanje pojava i procesa iz stvarnog sveta. Prvi korak ka

    tome cilju je usvajanje pretpostavki koje e nam omoguiti matematiki opis posma-

    trane pojave. U najveem broju sluajeva, verodostojni opisi e rezultirati matemati-

    kim relacijama koje se mogu reiti jedino numeriki, pa emo ovako dobijene rezultate

    koristiti za procenu stvarnih karakteristika pojave koju posmatramo.

    Sada emo detaljnije objasniti najvanije pojmove na kojima se zasnivaju teorijske

    postavke simulacije.

    Sistem je skup entiteta koji deluju zasebno i uzajamno ka postizanju nekog logikog

    cilja. Ono to je sa stanovita jednog cilja kompletan sistem, sa stanovita nekog

    drugog moe biti samo entitet u sistemu viega reda. Ako se, na primer, posmatra

    opsluivanje paketa na ulaznom portu jednog rutera, pridrueni red ekanja se moe

    smatrati sistemom; s druge strane, ako se posmatra rad rutera kao celine, ovaj red

    ekanja predstavlja jedan njegov gradivni elemenat, tj. entitet.

    Skup promenljivih koje su potrebne da bi se sistem opisao u datom trenutku vremena,

    a prema usvojenom cilju posmatranja, naziva se stanjem toga sistema. U primeru

    ulaznog reda ekanja, promenljive stanja bile bi broj, veliine i trenuci prispea paketa

    u njegovom baferu.

    Sistem ije promenljive stanja menjaju svoje vrednosti skokovito, u diskretnim trenu-

    cima vremena je diskretan. Nasuprot tome, sistem ije se promenljive stanja menjaju

    kontinualno u vremenu je kontinualan. Primetimo da su u stvarnosti malobrojni sistemi

    koji su potpuno diskretni ili kontinualni; pripadnost sistema jednoj od ovih dveju kate-

    gorija stoga se odreuje prema dominantnom nainu promene vrednosti promenljivih

    stanja.

    Razmotrimo sada mogue naine za analizu sistema, koji su ilustrovani na slici 1.1.

    1

  • 2 Modeliranje i simulacija u telekomunikacijama

    Sistem

    Eksperiment nad stvarnim sistemom

    Eksperiment nad modelom sistema

    Fiziki model Matematiki model

    Analitiko reenje Simulacija

    Slika 1.1: Metode za analizu sistema.

    Idealno bi bilo kada bismo eksperiment mogli izvriti nad stvarnim sistemom, jer bismo

    tada dobili najverodostojnije podatke o njegovom ponaanju. U stvarnosti ovakav

    pristup esto nije primenljiv; zadrimo li se na primeru rutera, neki od moguih razloga

    za to bili bi:

    ne moemo priutiti ruter nad kojim bismo eksperimentisali zbog njegove visokecene,

    ne moemo menjati konguraciju rutera u ivoj mrei zbog opasnosti da bi setime naruio njen regularan reim rada,

    ne postoji ziki ruter nad kojim bismo mogli izvriti eksperiment, jer npr. ra-zvijamo novi protokol, koji jo uvek nije implementiran.

    Ukoliko se za trenutak prebacimo iz domena telekomunikacija u npr. elektroenergetske

    sisteme i, saglasno tome, umesto rutera posmatramo npr. nuklearnu elektranu, razlozi

    protiv ovoga pristupa bie jo upeatljiviji.

    Kada nam nije dostupan stvarni sistem, alternativa koja nam preostaje je eksperiment

    nad njegovim surogatom u vidu modela.

    Model moe biti ziki i matematiki. Fiziki model predstavlja umanjenu varijantu

    stvarnog sistema; studenti elektrotehnike susreu se sa ovakvim modelima u vidu ma-

    keta za laboratorijske vebe. Dobra strana zikih modela je njihova oiglednost, zbog

    ega se prvenstveno i koriste u obrazovne svrhe; mane su im cena i ograniene mogu-

    nosti primene. Nasuprot njima, matematiki modeli predstavljaju skup kvantitativnih

    i logikih zavisnosti ijim se reavanjem moe doi do odziva sistema pod datim okolno-

    stima. Zbog svoje skalabilnosti, matematiki modeli su daleko znaajniji za praktine

  • 1. Uvod u modeliranje i simulaciju 3

    primene, ali im je mana to to po pravilu u opis sistema uvode pojednostavljenja u vidu

    aproksimacija i zanemarivanja. Pitanjem kvalitetnog modeliranja telekomunikacionih

    sistema detaljnije emo se baviti u poglavlju 2.

    Matematiki modeli mogu biti diskretni i kontinualni, u zavisnosti od toga da li se

    odnose na diskretne ili na kontinualne sisteme, respektivno. Ukoliko u matematikom

    modelu eksplicitno ne gurie vreme kao promenljiva bilo zbog toga to se model

    odnosi na opis sistema u datom trenutku vremena, ili zato to je sistem vremenski in-

    varijantan on je statiki ; nasuprot tome, dinamiki model pokazuje evoluciju sistema

    u vremenu. Konano, ako u modelu ne guriu sluajne (probabilistike) veliine, on

    je deterministiki, dok se u suprotnom radi o stohastikom modelu.

    Nezavisno od njegovog konkretnog tipa, ako je matematiki model jednostavan, rei-

    emo ga analitiki. Po nepisanom pravilu, iole detaljniji matematiki modeli ili nemaju

    analitiko reenje, ili je ono toliko komplikovano ili nezgrapno da nije pogodno za pra-

    ktian rad. U ovakvim situacijama, metod izbora za analizu sistema je raunarska

    simulacija, tj. numeriko reavanje njegovog matematikog modela, da bi se ocenio

    1

    odziv originalnog zikog sistema. Matematiki model koji se reava simulacijom

    naziva se i simulacionim modelom.

    injenica da se rezultat simulacije moe tumaiti samo kao ocena parametara sistema,

    pogotovo onda kada njegov model ima stohastiku komponentu, tj. kada u njemu -

    guriu sluajni procesi, predstavlja i najvei metodoloki nedostatak simulacije. Njene

    prednosti su, s druge strane, viestruke. Ve smo kazali da simulacija omoguava

    reavanje problema koji nemaju analitiko reenje. Dalje, simulacija omoguava nein-

    vazivnu analizu postojeih sistema, kao i analizu jo uvek nepostojeih sistema, koji

    se nalaze u fazi projektovanja i razvoja; u potonjem sluaju, simulacija se esto koristi

    za optimizaciju, u smislu poreenja alternativnih konguracija sistema. Simulacioni

    eksperiment prua veu slobodu u izboru parametara, a takoe se ima i vea kontrola

    nad samim eksperimentom. Na kraju, simulacija omoguava razvlaenje skale vre-

    mena pri posmatranju sistema; spori procesi tako se mogu posmatrati ubrzano, dok se

    brzi mogu usporiti.

    Izlino je napominjati da simulacija nije vezana iskljuivo za telekomunikacije. Ona

    se primenjuje u svim tehnikim i prirodnim naukama, kao i u ekonomiji. U popu-

    larnoj kulturi se simulacija pogreno vezuje za svaku primenu raunara za reavanje

    nekog problema. Iako podrazumeva izvoenje numerikog eksperimenta nad matema-

    tikim modelom sistema pomou raunara, simulacija nije primena raunara za puko

    ilustrovanje analitikih zavisnosti, bilo kroz crtanje njihovih graka, ili kroz animaciju.

    Simulacija nije ni puko programiranje u smislu izvravanja algoritama, jer pored ve-

    tine programiranja podrazumeva i dobro poznavanje sistema koji se analizira, kao i

    matematike, naroito numerikih metoda i statistike.

    Nakon to smo razjasnili osnovne pojmove, spremni smo da se upustimo u detaljnije

    izuavanje modeliranja i simulacije u telekomunikacijama.

    1

    Ocena parametara je uobiajen izraz u matematici, pa emo ga i mi koristiti umesto lingvistiki

    podesnijeg izraza procena.

  • 4 Modeliranje i simulacija u telekomunikacijama

  • Poglavlje 2

    Modeliranje procesa u

    telekomunikacionim sistemima

    U ovome poglavlju emo razmotriti formiranje matematikih modela procesa u teleko-

    munikacionim sistemima. Cilj nam je da dobijemo model koji e to vernije odraavati

    ziku realnost, ali i istovremeno biti pogodan za raunarsku implementaciju.

    Od italaca se oekuje da su upoznati s osnovama telekomunikacija i digitalne obrade

    signala; stoga emo nakon uvoda odmah prei na neke konkretne probleme.

    2.1 Metodologija modeliranja

    Neka je ponaanje nekog sistema opisano ulazno-izlaznom relacijom

    Y = f(X). (2.1)

    X je vektor ulaznih signala, Y vektor izlaznih signala, dok funkcija f predstavlja modelsistema.

    Podsetimo se: Ako model ne zavisi od trenutka posmatranja, kae se da je statiki

    ili vremenski invarijantan; u suprotnom, model je dinamiki. Model je deterministiki

    ukoliko ne sadri sluajne promenljive, dok je u suprotnom stohastiki. Konano, u

    zavisnosti od toga koju vrstu procesa opisuje, model moe biti kontinualan ili diskretan.

    Zadatak modeliranja je da se odredi analitiki oblik zavisnosti f . Kao to smo videli, tonije uvek mogue, pa u takvim sluajevima pribegavamo pojednostavljenju originalnog

    problema. Jedan nain za to je da umesto analitiki sloene ili nepoznate zavisnosti

    f posmatramo njenu aproksimaciju f ; na taj nain se originalni sistem aproksimirapojednostavljenim,

    Y = f(X). (2.2)

    5

  • 6 Modeliranje i simulacija u telekomunikacijama

    Drugi pristup podrazumeva da se ne posmatraju svi ulazni signali, ve da se neki

    od njih zamene konstantama; tako se sistem umesto vektorom X = [x1, x2, . . . , xn]pobuuje novim vektorom X = [x1, x2, . . . , xk, c1, c2, . . . , cnk]. Ukoliko su konstanteci, i = 1, . . . , n k jednake nulama, ovim se zanemaruju uticaji pridruenih ulaznihsignala.

    Mogue je i kombinovati ova dva pristupa, to znai da se posmatra sistem

    Y = f(X). (2.3)

    Pri formiranju modela ne treba voditi rauna samo o preciznosti kojom se opisuje

    posmatrani sistem (ili pojava), ve i o raunskoj sloenosti njegove implementacije.

    Kvalitet modela se ogleda u postizanju kompromisa izmeu ovih dvaju oprenih za-

    hteva. Ilustrovaemo to na primeru koji je prikazan na slici 2.1.

    Telekomunikacioni sistem

    Izvor poruke Predajnik Kanal Prijemnik

    Primalac poruke

    +

    Slika 2.1: Hijerarhija modela telekomunikacionog sistema.

    Posmatrajmo jedan telekomunikacioni sistem. Na prvom nivou modeliranja, taj sistem

    moemo predstaviti blok-dijagramom koji se sastoji od izvora poruke, predajnika, ka-

    nala, prijemnika i primaoca poruke. Na ovome nivou ne ulazimo u strukturu pojedinih

    blokova, ve ih opisujemo fenomenoloki, kao crne kutije.

  • 2. Modeliranje procesa u telekomunikacionim sistemima 7

    Na drugom nivou detaljnije razraujemo strukturu pojedinih gradivnih blokova, ali i

    dalje zadravamo fenomenoloki pristup. Na primer, pretpostavljamo da je prijemnik

    superheterodinskog tipa, izgraen od standardnih sklopova koji su opisani ulazno-izla-

    znim relacijama, impulsnim odzivom ili funkcijom prenosa.

    Na treem nivou se posmatraju realizacije pojedinih sklopova prijemnika na nivou

    elektrine eme; na slici je tako nacrtana ema meufrekvencijskog ltra u kome su

    primenjene jedinke kristala kvarca. Pretpostavljamo da su sve komponente idealnih

    karakteristika.

    Ekvivalente eme pojedinih komponenti se posmatraju na etvrtom nivou. Na slici je

    tako data ekvivalentna ema kvarcne jedinke, na kojoj su ucrtane i parazitne kapaci-

    tivnosti izvoda prema masi.

    Na jo viim nivoima modeliranja bi se posmatrala implementacija pojedinih kompo-

    nenti (npr. rezovi kristala) i ziki procesi u njima (kretanje nosilaca naelektrisanja,

    struktura elektromagnetskog polja i sl).

    Iz ovoga primera je oigledno da se s poveavanjem nivoa modela sistem vernije opisuje,

    ali i da taj opis postaje matematiki sve sloeniji. U telekomunikacijama se najee

    primenjuje modeliranje do drugog nivoa. Trei i etvrti nivoi modeliranja su uobiajeni

    u elektronici, dok se modeli vieg nivoa koriste pri projektovanju komponenti.

    2.2 Niskofrekvencijski ekvivalenti telekomunikacionih

    signala

    Posmatrajmo modulisani signal dat izrazom

    x(t) = r(t) cos [2pifct+ (t)] , (2.4)

    u kome je sa r(t) oznaena promenljiva amplituda, sa fc frekvencija nosioca, a sa (t)devijacija faze. Ovaj izraz moemo napisati u obliku

    x(t) = Re{r(t)ej(t)ej2pifct

    }. (2.5)

    Kompleksna anvelopa ili kompleksni niskofrekvencijski ekvivalent signala x(t) deniese kao

    x(t) = r(t)ej(t). (2.6)

    Ukoliko opseg koji zauzima spektar signala x(t), B, zadovoljava uslov B fc, tadase obrada modulisanog signala na frekvenciji fc moe ekvivalentirati obradom njegovekompleksne anvelope na niskim frekvencijama.

    Formirajmo tzv. analitiki signal signala x(t),

    zx(t) = x(t) + jxH(t), (2.7)

  • 8 Modeliranje i simulacija u telekomunikacijama

    gde je sa xH(t) oznaena Hilbertova transformacija signala x(t):

    xH(t) = H{x(t)} = 1pi

    +

    x()

    t d. (2.8)

    Nije teko videti da vai

    xH(t) = F1{jX(f) sgn(f)} = x(t) 1pit, (2.9)

    gde je simbolom oznaena operacija konvolucije. Izraunavanje Hilbertove transfor-macije stoga moemo shvatiti kao proces ltriranja signala kroz tzv. Hilbertov trans-

    formator, kvadraturni ltar svepropusnik frekvencija, koji samo unosi fazni pomeraj

    od pi/2. Njegov impulsni odziv je

    h(t) =1

    pit, (2.10)

    a funkcija prenosa

    H(f) = j sgn(f). (2.11)Veza analitikog signala i kompleksne anvelope je

    zx(t) = x(t) ej2pifct. (2.12)

    Iz denicije Hilbertove transformacije sledi njena vana osobina:

    H{xH(t)} = x(t), (2.13)

    a takoe je

    F{xH(t)} = XH(f) = jX(f) sgn(f), (2.14)kao i

    H{cos (2pifct)} = sin (2pifct) , (2.15)H{sin (2pifct)} = cos (2pifct) . (2.16)

    Ako signal a(t) ima ogranien spektar, |A(f)| = 0, |f | > B, tada e vaiti

    H{a(t) cos (2pifct)} = a(t) sin (2pifct) , (2.17)

    H{a(t) sin (2pifct)} = a(t) cos (2pifct) , (2.18)pa Hilbertova transformacija u ovome slulaju ne deluje na moduliui signal, ve samo

    na nosilac. Slabiji uslov da bi ovo vailo je fc > B.

    Razmotrimo sada neke praktine aspekte rada s niskofrekvencijskim ekvivalentom si-

    gnala. Modulisani signal x(t), dat izrazom (2.4), moemo napisati u ekvivalentnomobliku

    x(t) = p(t) cos (2pifct) q(t) sin (2pifct) , (2.19)

  • 2. Modeliranje procesa u telekomunikacionim sistemima 9

    gde su p(t) i q(t) redom komponenta u fazi i komponenta u kvadraturi, ogranienogspektra. Hilbertova transformacija signala x(t) sada e biti

    xH(t) = p(t) sin (2pifct) + q(t) cos (2pifct) , (2.20)

    pa je njegov analitiki signal

    zx(t) = [p(t) + jq(t)] ej2pifct. (2.21)

    Prema (2.12), kompleksna anvelopa signala x(t) odavde se moe napisati u obliku

    x(t) = p(t) + jq(t). (2.22)

    Vidimo da se komponenta u fazi direktno preslikava u realni, a komponenta u kvadraturi

    u imaginarni deo kompleksne anvelope. Spektar kompleksne anvelope sada je

    X(f) = P (f) + jQ(f), (2.23)

    dok su komponente u fazi i kvadraturi povezane s promenljivom amplitudom i devija-

    cijom faze izrazima

    r(t) =p2(t) + q2(t), (2.24)

    (t) = arctgq(t)

    p(t). (2.25)

    Po cenu neto due pripreme, posmatranjem niskofrekvencijskog ekvivalenta mogue je

    smanjiti potrebnu frekvenciju odabiranja, pa e za obradu signala trebati manje odbi-

    raka; ovo e za posledicu imati manje zauzee memorije i manje optereenje procesora

    raunara, pa e se simulacija izvravati bre.

    Da bi model preko niskofrekvencijskog ekvivalenta verno odraavao stvarni sistem, ne

    treba zaboraviti pod kojim smo ga pretpostavkama izveli moduliui signal je ogra-

    nienog spektra, ija je irina manja od frekvencije nosioca. Primeri sistema u kojima

    ove pretpostavke nisu ispunjene su sistemi s frekvencijskom modulacijom i telefonski

    (voice-band) modemi.

    2.3 Niskofrekvencijski ekvivalenti ltara

    Uobiajeno je da se ltri projektuju kao normalizovani niskoferkvencijski prototipi i

    potom transformiu u eljenu konguraciju.

    Posmatrajmo ltar propusnik opsega frekvencija, ije su granine krune uestanosti

    propusnog opsega redom L i H . irina njegovog propusnog opsega je b = H L,dok je centralna kruna uestanost propusnog opsega

    0 =L + H

    2. (2.26)

  • 10 Modeliranje i simulacija u telekomunikacijama

    Deniimo dalje geometrijsku centralnu uestanost propusnog opsega,

    g =LH . (2.27)

    Za ltre propusnike ili nepropusnike opsega, tipino je g b.

    Imajui u vidu denicione izraze parametara, sada moemo pisati

    L = 0 b2, (2.28)

    H = 0 +b2(2.29)

    i

    g =

    20

    (b2

    )2 0. (2.30)Odavde zakljuujemo da e, ako je prenosna funkcija ltra simetrina oko centralne

    frekvencije propusnog ili, u zavisnosti od tipa ltra, nepropusnog opsega, njegov nisko-

    frekvencijski ekvivalent odgovarati niskofrekvencijskom prototipu, koji je centriran oko

    nulte uestanosti i ija je irina propusnog opsega b/2.

    Transformacije ltara u niskofrekvencijske prototipe date su u tabeli 2.1.

    Tabela 2.1: Transformacije ltara u NF prototip.

    Tip ltra Smena

    Propusnik niskih frekvencija

    sb sPropusnik visokih frekvencija

    bs sPropusnik opsega

    s2+2gbs sNepropusnik opsega

    bss2+2g

    s

    Ako nije poznat niskofrekvencijski prototip ltra, njegov niskofrekvencijski ekvivalent

    emo priblino odrediti na sledei nain:

    1. funkciju prenosa emo predstaviti u vidu zbira parcijalnih razlomaka,

    2. odbaciemo nule i polove koji odgovaraju negativnim vrednostima krune ue-

    stanosti i

    3. preostale nule i polove emo translirati du ordinate, za vrednost centralne krune

    uestanosti propusnog/nepropusnog opsega.

    Na primer, neka je zadat ltar funkcije prenosa

    H(s) =2 (s2 + 5s 2494)

    (s2 + 4s+ 2504) (s2 + 6s+ 2509),

    ija je centralna kruna uestanost propusnog opsega 0 = 2pif0 = 50 rad/s. Razvojfunkcije prenosa u parcijalne razlomke je

    H(s) =1

    s+ 2 + j50+

    1

    s+ 2 j50 1

    s+ 3 + j50 1s+ 3 j50 .

  • 2. Modeliranje procesa u telekomunikacionim sistemima 11

    Odbacujemo prvi i trei razlomak, pa e biti

    Hp(s) =1

    s+ 2 j50 1

    s+ 3 j50 .Smenom s s j50 dobijamo traenu funkciju prenosa niskofrekvencijskog ekviva-lenta:

    HL(s) =1

    s+ 2 1s+ 3

    =1

    s2 + 5s+ 6.

    2.4 Neke vane raspodele

    U ovome odeljku emo se podsetiti nekih raspodela koje imaju primenu u modeliranju

    telekomunikacionih sistema.

    2.4.1 Diskretne raspodele

    Bernoullijeva raspodela

    Prva raspodela koju emo obraditi je Bernoullijeva. Ovde sluajna promenljiva ima

    dve mogue vrednosti, koje redom uzima s verovatnoama p i q = 1 p.

    Bernoullijeva sluajna promenljiva predstavlja model statistikih eksperimenata koji

    imaju dva ishoda (tzv. Bernoullijevih eksperimenata). U telekomunikacijama se koristi

    kao indikator dogaaja, kao to su, na primer, greka bita, uspean prijem paketa,

    zauzee linka i sl.

    Uniformna raspodela

    U diskretnoj uniformnoj raspodeli postoji n moguih ishoda statistikog eksperimenta,koje sluajna promenljiva X uzima s jednakim verovatoama:

    P (X = k) =1

    n, k = 1, 2, . . . , n. (2.31)

    Ovakvom raspodelom se na primer opisuje generisanje sluajnih binarnih (za n = 2) iliM -arnih (za n = M) sekvenci. Uobiajena oznaka da sluajna promenljiva X pripadadiskretnoj uniformnoj raspodeli je X Unif (n).

    Binomna raspodela

    Ako sluajna promenljiva X odgovara broju uspeha u n nezavisnih Bernoullijeviheksperimenata (npr. slanja paketa), pri emu je verovatnoa pozitivnog ishoda jednog

  • 12 Modeliranje i simulacija u telekomunikacijama

    eksperimenta (verovatnoa uspeha u jednom pokuaju) p, njena raspodela e biti bi-nomna:

    P (X = k) =

    (n

    k

    )pk(1 p)nk , k = 0, 1, 2, . . . , n. (2.32)Oznaka za binomnu raspodelu je Bin(n, p). Za n = 1, binomna raspodela se svodi naBernoullijevu.

    Negativna binomna raspodela

    Ukoliko se nezavisni Bernoullijevi eksperimenti budu ponavljali sve dok se ne bude

    ostvario r-ti uspeh (npr. dok se ne bude uspeno prenelo r paketa), broj pokuaja eimati negativnu binomnu ili Pascalovu raspodelu:

    P (X = k) =

    (k 1r 1

    )pr(1 p)kr , k = r, r + 1, . . . (2.33)

    Raspodela koja se dobije za r = 1 (broj pokuaja do prvog uspeha) naziva se geome-trijskom.

    Poissonova raspodela

    Poissonova raspodela opisuje tzv. retke dogaaje, kao to su, pod odreenim okolno-

    stima, generisanje poruka ili telefonskih poziva. Sluajna promenljiva X ovde odgovarabroju dogaaja u jedininom intervalu vremena, pod sledeim pretpostavkama:

    u datom trenutku se javlja najvie jedan dogaaj, svaki interval konanog trajanja sadri konaan broj dogaaja, a svaki intervalbeskonanog trajanja sadri beskonaan broj dogaaja,

    dogaaji se javljaju u sluajnim trenucima vremena i brojevi dogaaja u nepreklapajuim intervalima vremena su nezavisni.Tada je

    P (X = k) =k

    k!e , k = 0, 1, . . . (2.34)

    Oznaka da sluajna promenljiva X ima Poissonovu raspodelu je X Poiss().

    2.4.2 Kontinualne raspodele

    Uniformna raspodela

    Kontinualna uniformna raspodela je opisana funkcijom gustine verovatnoe

    fX(x) =1

    b a , a < x < b. (2.35)

  • 2. Modeliranje procesa u telekomunikacionim sistemima 13

    Videemo da ova raspodela ima znaajnu primenu u generisanju sluajnih brojeva.

    Simbolika oznaka za nju je Unif(a, b).

    Gaussova raspodela

    Funkcija gustine verovatnoe Gaussove ili normalne raspodele je

    fX(x) =12pi

    exp

    [(x )

    2

    22

    ], < x < +. (2.36)

    Oznaka za ovu raspodelu je N (, 2). Raspodela N (0, 1) se naziva standardnom nor-malnom raspodelom.

    Gaussovom raspodelom se npr. opisuje termiki um.

    Eksponencijalna raspodela

    Eksponencijalna raspodela je data funkcijom gustine verovatnoe

    fX(x) = ex , x > 0. (2.37)

    Simbolika oznaka za eksponencijalnu raspodelu je Exp().

    Meu eksponencijalnom i Poissonovom raspodelom postoji zanimljiva veza: vremena

    izmeu sukcesivnih Poissonovih dogaaja (tzv. vremena meudolazaka) imaju ekspo-

    nencijalnu raspodelu.

    Gama raspodela

    Funkcija gustine verovatnoe gama raspodele je

    fX(x) =1

    ()x1ex/ , 0 < x 0. (2.38)

    U gornjem izrazu, () je gama funkcija:

    () =

    0

    y1ey dy. (2.39)

    Poto je () = ( 1)( 1), kae se da gama funkcija predstavlja generalizacijufaktorijela.

    Oznaka za gama raspodelu je (, ).

  • 14 Modeliranje i simulacija u telekomunikacijama

    Ako sluajna promenljiva X predstavlja vremenski interval potreban za realizacijaPoissonovog procesa parametra , imae raspodelu (, 1/). Za = 1, gama raspo-dela se svodi na eksponencijalnu, Exp(1/). Ako je = k N, dobijena raspodela senaziva Erlangovom:

    fX(x) =k

    (k 1)! xk1ex , 0 < x 0. (2.40)

    Rayleighjeva raspodela

    Ako su X1 i X2 nezavisne sluajne promenljive iz raspodele N (, 2), sluajna pro-menljiva

    X =X21 +X

    22 (2.41)

    imae Rayleighjevu raspodelu:

    fX(x) =x

    2exp

    ( x

    2

    22

    ), x > 0. (2.42)

    Rayleighjevom raspodelom se opisuju amplituda uskopojasnog uma i jedna klasa fe-

    dinga.

    2.5 Transformacije sluajnih promenljivih

    Neka je zadata kontinualna sluajna promenljiva X s poznatom funkcijom gustineverovatnoe fX(x). Konstruiimo novu sluajnu promenljivu Y = g(X), tako da postojik > 1 inverzija x(i) = g1i (y). Funkcija gustine raspodele sluajne promenljive Y tadaje data izrazom

    fY (y) =ki=1

    fX(x(i))

    |g (x(i))| . (2.43)

    Ako se radi o sluajnom vektoru koji je funkcija drugog sluajnog vektora, tj. ako je

    Yi = gi (X1, X2, . . . , Xn), i = 1, 2, . . . , n, funkcija gustine verovatnoe e biti

    fY(y) =ki=1

    fX(x(i))

    |J(x(i))| , (2.44)

    gde je sa J(x(i)) oznaen Jacobijan transformacije:

    J(x(i)) =

    g1x1

    g1x2

    g1xn.

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    gnx1

    gnx2

    gnxn

    x=x(i)

    . (2.45)

    Ilustrujmo ove izraze na primerima.

  • 2. Modeliranje procesa u telekomunikacionim sistemima 15

    Primer 1

    Neka je, za poetak, X Unif [0, 3] i Y = X2 4X + 3. Funkcija gustine verovatnoeX je

    fX(x) =

    1

    3, x [0, 3]

    0, inae.

    Grak funkcije Y = g(X) je prikazan na slici.

    0.0 0.5 1.0 1.5 2.0 2.5 3.0

    X

    1.0

    0.5

    0.0

    0.5

    1.0

    1.5

    2.0

    2.5

    3.0

    Y

    Slika 2.2: Grak preslikavanja.

    Na intervalu Y [1, 0) postoje dve inverzije X = 2 (1 + Y ), dok na intervaluY [0, 3] postoji samo jedna inverzija, X = 2 (1 + Y ). Izvod preslikavanja jeY = 2X 4. Stoga e biti

    fY (y) =

    1

    3

    1 + Y, y [1, 0)

    1

    6

    1 + Y, y [0, 3]

    0, inae

    .

    Proverom dobijamo da je zaista

    31

    fY (y) dy = 1.

  • 16 Modeliranje i simulacija u telekomunikacijama

    Primer 2

    Kao drugi primer, neka je Y = sinX i X Unif [0, 2pi]. Inverzija X = arcsinYdenisana je na intervalu Y [pi/2, pi/2]. Na intervalu X [0, 2pi] bie

    X =

    arcsinY ili pi arcsinY, Y [0, 1]2pi + arcsinY ili pi arcsinY, Y [1, 0) .Izvod transformacije je Y = cosX =

    1 sin2X i za sve inverzije iznosi 1 Y 2.Stoga je

    fY (y) =1

    pi

    1 y2 , 1 < y < 1.

    Proverimo i ovaj rezultat:

    11

    fY (y) dy =1

    piarcsin y

    11

    = 1.

    Primer 3

    Neka je, u treem primeru, Y funkcija sluajnog vektora:

    Y = X1 +X2,

    gde su X1 i X2 nezavisne identino raspodeljene1

    sluajne promenljive. Njihova zdru-

    ena funkcija gustine verovatnoe stoga je

    fX1,X2(x1, x2) = fX1(x1)fX2(x2).

    Da bismo mogli da primenimo izraz (2.44), neophodno je da se podudaraju dimenzije

    sluajnih vektora X i Y. Stoga emo formalno denisati

    Y1 = X1 +X2

    i

    Y2 = X2.

    Inverzije ovoga sistema su

    X1 = Y1 Y2,X2 = Y2,

    pa je Jacobijan transformacije

    J =

    1 10 1 = 1.1

    U literaturi se koristi oznaka iid, to potie od engleskog izraza independent identically distributed.

  • 2. Modeliranje procesa u telekomunikacionim sistemima 17

    Zdruena funkcija gustine verovatnoe stoga je

    fY1,Y2(y1, y2) =fX1(y1 y2)fX2(y2)

    1.

    Marginalnu funkciju gustine verovatnoe za Y1 dobijamo njenim integriranjem:

    fY1(y1) =

    +

    fY1,Y2(y1, y2) dy2 =

    +

    fX1(y1 y2)fX2(y2) dy2,

    pa je funkcija gustine verovatnoe zbira iid sluajnih promenljivih jednaka konvoluciji

    njihovih funkcija gustine verovatnoa.

    2.6 Centralna granina teorema

    Neka su X1, X2, . . . , Xn iid sluajne promenljive, ije je matematiko oekivanje ivarijansa 2. Formirajmo novu sluajnu promenljivu

    Zn =1n

    ni=1

    Xi

    , n = 1, 2, . . . (2.46)

    Tada e vaiti

    (z) limnP (Zn 6 z) =

    z

    12pi

    ey2/2dy, (2.47)

    pa e Zn konvergirati u verovatnoi ka standardnoj normalnoj sluajnoj promenlji-voj. Ova relacija se naziva centralnom graninom teoremom (CGT) i, za sluaj Xi Unif [0, 1], ilustrovana je na slici 2.3.

    2.7 Sluajni procesi

    Sluajni proces predstavlja preslikavanje ishoda statistikog eksperimenta u funkciju

    vremena.

    Sluajni proces je stacionaran u uem smislu ako njegova raspodela ne zavisi od tre-

    nutka posmatranja. Sluajan proces je stacionaran u irem smislu ako je EX(t) =const. i ako EX(t1)X(t2) ne zavisi eksplicitno od t1 i t2, ve samo od njihove razlike.

    Sluajni proces je ergodian (ili ergodski) po srednjoj vrednosti ako su mu srednje

    vrednosti po vremenu jednake srednjim vrednostima po realizacijama. Proces moe

    biti ergodian i po momentima vieg reda, kao i po drugim numerikim karakteristi-

    kama; zajedniko za sve varijante ergodinosti je da se numerike karakteristike mogu

    izraunavati na osnovu samo jedne vremenske realizacije procesa.

  • 18 Modeliranje i simulacija u telekomunikacijama

    -3 -2 -1 0 1 2

    1

    0.5

    30

    normalna raspodela

    n = 2

    n = 5

    n = 1

    n = 3

    Slika 2.3: Konvergencija funkcije gustine verovatnoe sume nezavisnih uniformno ra-

    spodeljenih sluajnih promenljivih ka normalnoj raspodeli.

    2.7.1 Primeri sluajnih procesa u telekomunikacijama

    U simulaciji, sluajni procesi slue kao matematiki modeli stohastikih pojava. Ter-

    miki um se tako modelira Gaussovim sluajnim procesom. Impulsni umovi, kao to

    je to npr. um same, modeliraju se procesom oblika

    X(t) =+

    k=h(t k), (2.48)

    gde je h(t) vremenski oblik jednog impulsa i Poissonova sluajna promenljiva.

    Beli um se modelira nezavisnom sekvencom X(n), za koju vai: (k) i (j 6= 0), X(k)i X(k + j) su nezavisne sluajne promenljive, takve da je:

    EX(n) = , (2.49)

    EX(n)X(n+ j) =

    {2, j = 0

    0, j 6= 0 . (2.50)

    Sa 2 pri tome je oznaena jednostrana spektralna gustina snage procesa, za opsegfrekvencija |f | < fs/2, gde je fs frekvencija odabiranja.

    Odbirci signala govora i videa, sukcesivna slova u knjievnom jeziku, generisanje blo-

    kovskih greaka i sl. modeliraju se markovskim procesima k-tog reda, za koje vai

    P [X(n)|X(n 1), X(n 2), . . . , X(nm)] == P [X(n)|X(n 1), X(n 2), . . . , X(n k)] , k < m. (2.51)

  • 2. Modeliranje procesa u telekomunikacionim sistemima 19

    ARMA (autoregressive moving average) procesi imaju znaaj u modeliranju telekomu-

    nikacionog saobraaja. Oni su denisani izrazom

    X(n) =

    pi=1

    p,iX(n i) +q

    k=1

    q,ke(n k) + e(n). (2.52)

    Pri tome je e(n) stacionarna Gaussova sekvenca, nultog oekivanja i varijanse 2. Al-ternativni zapis ARMA procesa je(

    1pi=1

    p,iLi

    )X(n) =

    (1 +

    qk=1

    q,kLk

    )e(n), (2.53)

    gde je sa L oznaen operator kanjenja.

    Generalizacijom ARMA modela, dobijaju se ARIMA (autoregressive integrated moving

    average) procesi,(1

    pi=1

    p,iLi

    )(1 L)dX(n) =

    (1 +

    qk=1

    q,kLk

    )e(n). (2.54)

    Broj telefonskih poziva tokom zadatog intervala vremena se modelira Poissonovim pro-

    cesom:

    P (X(t) = k) =(t)k

    k!et , k = 0, 1, 2, . . . (2.55)

    Zadrimo se na nekim osobinama Poissonovog procesa. Lako se pokazuje da su njegovo

    oekivanje i varijansa dobijeni usrednjavanjem po vremenu

    EX(t) = VarX(t) = t, (2.56)

    dok je autokorelaciona funkcija

    RXX(t1, t2) = 2t1t2 + min(t1, t2), (2.57)

    pa je ovo primer nestacionarnog procesa, jer mu numerike karakteristike zavise od

    trenutka posmatranja.

    Vreme izmeu dvaju sukcesivnih Poissonovih dogaaja ima eksponencijalnu raspodelu,

    fW (w) = ew , w > 0. (2.58)

    Poto nije stacionaran, Poissonov proces se po pravilu simulira indirektno, tako to

    se simuliraju vremena meudolazaka uzimanjem odbiraka nezavisnih eksponencijalno

    raspodeljenih sluajnih promenljivih.

  • 20 Modeliranje i simulacija u telekomunikacijama

    2.7.2 Transformacija sluajnog procesa

    Neka proces X(t) dolazi na ulaz linearnog vremenski invarijantnog sistema funkcijeprenosa H(f). Oznaimo sluajni proces koji se dobija na izlazu sistema sa Y (t).

    Ako je ulazni proces stacionaran, i izlazni proces e biti stacionaran. Ako je ulazni

    proces Gaussov, takav e biti i izlazni proces.

    Matematiko oekivanje, autokorelaciona funkcija i funkcija spektralne gustine snage

    izlaznog procesa redom su dati izrazima

    EY (t) = EX(t)H(0), (2.59)

    RY Y () = RXX() h() h(), (2.60)SY Y (f) = SXX(f) |H(f)|2 , (2.61)gde je h() impulsni odziv posmatranoga linearnog sistema.

    2.8 Generisanje sluajnih brojeva

    Nakon to smo videli u emu je znaaj sluajnih procesa u simulaciji i koji su mate-

    matiki modeli nekih vanih procesa, pogledajmo i kako se u praksi generiu sluajni

    brojevi koji im odgovaraju.

    2.8.1 Generisanje uniformno raspodeljene sluajne promenljive

    Jednostavna i popularna metoda za generisanje uniformno raspodeljenih sluajnih bro-

    jeva je tzv. linearna kongruentna metoda, koja je opisana izrazom

    X(k) [aX(k 1) + c] (mod M). (2.62)

    Sekvenca X dobijena na ovaj nain uzima celobrojne vrednosti iz opsega [0,M 1].U prethodnom izrazu, M > 0 je veliki broj koji se naziva modulom i koji predstavljamaksimalan mogui period generisane sekvence. Vrednost parametra a je u opsegu(0,M), c je tzv. inkrement (0 ili 1), dok se poetna vrednost X(0) (0,M) nazivaseed.

    Uobiajene vrednosti parametara na tridesetdvobitnim procesorima su

    a = 16 807, c = 0, M = 231 1, to daje sekvencu perioda T = 231 2 ili a = 69 069, c = 1, M = 232, to daje sekvencu perioda T = 232.

  • 2. Modeliranje procesa u telekomunikacionim sistemima 21

    Dobijena celobrojna sekvenca X(k) moe se transformisati na interval relnih brojeva[0, 1) na sledei nain:

    U(k) =X(k)

    M. (2.63)

    Poznati primer loeg kongruentnog generatora je nekada iroko korieni RANDU, s

    parametrima a = 65 539, c = 0 i M = 231.

    2.8.2 Generisanje sluajnih brojeva iz proizvoljne raspodele

    Opisaemo transformacionu metodu za generisanje sluajnih brojeva.

    Neka je Z kontinualna sluajna promenljiva s funkcijom gustine verovatnoe fZ(z) kojutreba generisati. Moe se pokazati da je sluajna promenljiva U = FZ(z), gde je FZ(z)funkcija raspodele (CDF) za Z, uniformno raspodeljena na intervalu [0, 1]. To znaida traenu sluajnu promenljivu Z moemo generisati tako to emo prvo generisatiU Unif [0, 1] i potom primeniti transformaciju

    Z = F1Z (U), (2.64)

    u sluaju kad inverzija postoji.

    Neka sada treba generisati diskretnu sluajnu promenljivu Z, za koju vai P(Z = zi) =pi i Fi =

    ij=1 pj. Pretpostaviemo da postoji konano mnogo ishoda zi, to je najeisluaj u primenama. Generisaemo kontinualnu sluajnu promenljivu U , uniformnoraspodeljenu na intervalu [0, 1) (ili [0, 1]). Prema slici 2.4, ako je Fi1 6 U < Fi,generisani sluajni broj bie zi.

    z1

    z2

    zn

    F0

    = 0 F1

    F2

    Fn1

    Fn

    = 1 Up1

    p2

    pn

    Slika 2.4: Genersanje diskretnih sluajnih brojeva transformacionom metodom.

    Pogledajmo sada kako emo ove ideje primeniti za generisanje nekih konkretnih raspo-

    dela.

    Generisanje eksponencijalno raspodeljene sluajne promenljive

    Za eksponencijalnu raspodelu je fZ(z) = ezi FZ(z) = 1 ez. Stavimo li U =

    FZ(z), imaemo

    Z = 1

    ln(1 U). (2.65)

  • 22 Modeliranje i simulacija u telekomunikacijama

    Ako je U Unif [0, 1], onda je i 1U Unif [0, 1], pa e gornji rezultat statistiki bitiekvivalentan sa

    Z = 1

    lnU. (2.66)

    Generisanje geometrijski raspodeljene sluajne promenljive

    Funkcija raspodele verovatnoe sluajne promenljive koja ima geometrijsku raspodelu

    je

    P(X = k) = p(1 p)k1 , k = 1, 2, . . . (2.67)Neka je Z eksponencijalno raspodeljena sluajna promenljiva. Za nju vai

    P(n < Z 6 n+ 1) = 1 e(n+1) (1 en) == en

    (1 e) . (2.68)Ako formalno uvedemo da je p = 1 e verovatnoa uspeha u pojedinanom Bernou-llijevom eksperimentu, odavde emo imati

    P(n < Z 6 n+ 1) = (1 p)np,to odgovara verovatnoi P(X = n + 1), gde je X geometrijski raspodeljena sluajnapromenljiva.

    U operativnom smislu, prvo emo generisati U Unif [0, 1]. Potom emo primenititransformaciju

    Z =lnU

    ln(1 p) , (2.69)

    ime se dobija Z Exp ( ln(1 p)). Da bismo dobili traenu geometrijski raspode-ljenu sluajnu promenljivu, izvriemo jo jednu transformaciju:

    X = [1 + Z]. (2.70)

    Generisanje Erlangove raspodele

    Sluajni broj iz raspodele (, ) u kojoj je N, generie se po sledeem algoritmu:

    1. X := 0

    2. Generie se V Exp(1).3. X := X + V

    4. Ako je = 1:X := Xizlaz algoritma je Xu suprotnom:

    := 1vrati se na korak 2.

  • 2. Modeliranje procesa u telekomunikacionim sistemima 23

    Generisanje Poissonove sluajne promenljive

    Sledei algoritam slui za generisanje sluajnih brojeva iz raspodele Poiss():

    1. A := 1, k := 0

    2. Generie se U Unif [0, 1].3. A := AU

    4. Ako je A < e:X := Xizlaz algoritma je X = ku suprotnom:

    k := k + 1vrati se na korak 2.

    Generisanje Gaussove sluajne promenljive

    Ne postoji analitiki oblik inverzne funkcije Gaussove raspodele, pa se stoga ovde ne

    moe primeniti transformaciona metoda. U nastavku emo opisati polarnu metodu i

    metodu sume 12, koje se najee koriste.

    Polarnom metodom se generie par nezavisnih Gaussovih sluajnih brojeva. Neka su U1i U2 nezavisne sluajne promenljive iz raspodele Unif [0, 1]. Formirajmo nove sluajnepromenljive

    R =

    ln

    1

    U21, (2.71)

    = 2piU2, (2.72)

    koje su oigledno nezavisne. Moe se pokazati da sluajne promenljive

    Z1 = R cos (2.73)

    i

    Z2 = R sin (2.74)

    predstavljaju par nezavisnih sluajnih promenljivih iz standardne normalne raspodele.

    U literaturi su opisane implementacije polarnog metoda koje su raunski ekasnije od

    ove osnovne ideje. Prema jednoj od njih, izbor U1 i U2 se ponavlja sve dok se njihovevrednosti ne nau unutar kruga jedininog poluprenika, tj. dok ne bude vailo

    = U21 + U22 < 1, (2.75)

    a potom se primeni transformacija

    Z1 = U1

    2 ln

    , (2.76)

  • 24 Modeliranje i simulacija u telekomunikacijama

    Z2 = U2

    2 ln

    . (2.77)

    Metoda sume 12 se zasniva na centralnoj graninoj teoremi. Po ovoj metodi, prvo se

    generie 12 nezavisnih sluajnih promenljivih Ui, koje su uniformno raspodeljene naintervalu [0, 1]. Potom se formira nova sluajna promenljiva

    Y =12i=1

    Ui 6, (2.78)

    koja veoma priblino predstavlja uzorak standardne normalne raspodele na intervalu

    [6, 6].

    Osvrnimo se na razloge za izbor parametara u ovoj metodi. Prema CGT, zbir iid slu-

    ajnih promenljivih iz bilo koje raspodele konvergira ka Gaussovoj. U primenama bi

    bilo poeljno da polazna raspodela bude jednostavna za generisanje, kao i da potreban

    broj sabiraka ne bude prevelik. Raspodela Unif [0, 1] je izabrana zato to predstavljaosnovu za izvoenje drugih raspodela, pa su razvijeni ekasni algoritmi za njenu ra-

    unarsku implementaciju. Matematiko oekivanje ove raspodele je 1/2, a varijansa1/12. Uzmemo li dvanaest sabiraka, dobie se zbir jedinine varijanse, pa otpada po-treba za operacijom deljenja u (2.46). Matematiko oekivanje ovakvog zbira bie 6, pa

    oduzimanjem ove vrednosti dobijamo EY = 0. U odeljku 6.6.3, videemo da se ovakodobijeni sluajni brojevi zaista dobro slau s normalnom raspodelom.

    Uskopojasni Gaussov um jednostrane spektralne gustine srednje snage N0/2, koji zau-zima opseg frekvencija |f | < fs/2 generie se tako to se generie sluajan broj izstandardne normalne raspodele i pomnoi faktorom N0fs/2.

    Generisanje Gaussovog sluajnog vektora

    Neka su Z1 i Z2 nezavisne sluajne promenljive iz standardne normalne raspodele ineka je a jedno reenje jednaine

    2

    4a2+ a2 = 1. (2.79)

    Sluajne promenljive

    X1 = a1Z1 +12a

    Z2 (2.80)

    i

    X2 =22a

    Z1 + a2Z2 (2.81)

    odgovaraju normalnom dvodimenzionom sluajnom vektoru s koecijentom korelacije

    i vektorom varijanse (1, 2).

  • 2. Modeliranje procesa u telekomunikacionim sistemima 25

    U vie od dve dimenzije, mormalni vektor sa zadatom kovarijacionom matricom Cgenerie se iz vektora nezavisnih standardnih normalnih sluajnih promenljivih Z poobrascu

    X = C1/2 Z. (2.82)

    Generisanje sluajnih digitalnih sekvenci

    Princip sa slike 2.4 moemo direktno primeniti za generisanje sluajnih digitalnih se-

    kvenci.

    Binarnu sekvencu X u kojoj je verovatnoa pojavljivanja bita 1 p generiemo tako togeneriemo sluajni broj U , uniformno raspodeljen na [0, 1] i potom primenimo praviloodluivanja:

    X =

    {1, 0 6 U < p0, u suprotnom

    . (2.83)

    Ekvivalentno postupamo i pri generisanjuM -arnih sekvenci, s tim to tada postavljamoM 1 prag odluivanja.

    2.8.3 Testiranje generatora sluajnih brojeva

    Tri su vana aspekta generatora sluajnih brojeva koji se primenjuju u telekomunikaci-

    jama: algebarske (vremenske) odlike, statistike odlike i raunska sloenost algoritma.

    Algebarske odlike se odnose na strukturu i period generisane sekvence, a statistike

    na raspodelu njenih vrednosti. Imperativ je da se na to jednostavniji nain generie

    sluajna sekvenca koja e biti stacionarna, nekorelisana i maksimalnog perioda, dueg

    od trajanja simulacije.

    Stacionarnost sekvence skuajnih brojeva se proverava tako to se dugaka sekvenca

    izdeli na nepreklapajue segmente, za koje se izraunaju momenti; za stacionarne se-

    kvence ne bi trebalo dobiti znaajnije razlike u njihovim vrednostima.

    Kao test korelisanosti moe posluiti Durbin-Watsonov test:

    D =

    Nn=2

    [X(n)X(n 1)]2

    Nn=1

    X2(n)

    . (2.84)

    Ako suX(n) iX(n1) nekorelisani, dobie se vrednostD = 2. RezultatD 2 ukazujena jaku pozitivnu korelisanost izmeu elemenata sekvence, dok rezultat D 4 ukazujena jaku negativnu korelisanost. Slini testovi postoje i za ispitivanje korelisanosti vie

  • 26 Modeliranje i simulacija u telekomunikacijama

    od dva sukcesivna elementa sekvence. Pomenuti kongruentni generator RANDU se

    masovno koristio sve dok se nije ustanovilo da ne prolazi test korelisanosti.

    Pripadnost generisanih brojeva pretpostavljenoj raspodeli se testira nekim od stati-

    stikih testova s kojima emo se upoznati neto kasnije, u odeljku 6.6. Sada emo

    razmotriti tzv. test serija, koji pomae da se utvrdi koliko je zadati binarni niz zaista

    sluajan, to e ujedno biti i dobra prilika da se podsetimo kombinatorike.

    Odredimo verovatnou da se u sluajnom nizu od m nula i n jedinica javi r serijajedinica, pri emu se pod serijom podrazumeva uzastopno pojavljivanje istog znaka, 0

    ili 1.

    Ako niz ima r serija jednica, izmeu njih e sigurno biti r1 serija nula. Na poetku ina kraju niza se mogu javiti jo do dve serije nula. Oznaimo li sa yj broj nula u j-tojseriji, moemo pisati

    y1 + y2 + + yr+1 = m, (2.85)gde je y1, yr+1 > 0 i yi > 0, i = 1, 2, . . . , r. Dodamo li obema stranama jednaine 2,dobiemo

    (y1 + 1) + y2 + + (yr+1 + 1) = m+ 2. (2.86)Prethodnu jednainu moemo napisati kao

    y1 + y2 + + yr+1 = m+ 2 , yi > 0. (2.87)Interesuje nas broj reenja ove jednaine u skupu prirodnih brojeva. Do odgovora na

    to pitanje moemo doi rezonovanjem koje je ilustrovano na slici.

    y1

    | y2

    | | yr+1

    Slika 2.5: Kombinatorna interpretacija jednaine (2.87).

    Neka postoje m+ 2 kruia koje treba rastaviti crticama. Od m+ 1 mesta, r mesta zacrtice se moe izabrati na

    (m+1r

    )naina, to odgovara broju mogunosti za formiranje

    serije nula.

    Rasporedili smo nule, sada treba da rasporedimo jedinice i to njih n u r serija. Trebada odredimo broj reenja jednaine

    x1 + x2 + + xr = n (2.88)u skupu N. Primenom istog rezona kao za nule, dobijamo da se jedinice mogu raspo-rediti na

    (n1r1)naina. Ukupan broj mogunosti za formiranje binarnog niza s m nula

    i n jedinica, koji ima r serija jedinica stoga je(m+1r

    )(n1r1).

    S druge strane, ukupan broj nizova s m nula i n jedinica je(m+nm

    )=(m+nn

    ). Traena

    verovatnoa stoga je

    P =

    (m+ 1

    r

    )(n 1r 1

    )(m+ n

    n

    ) . (2.89)

  • 2. Modeliranje procesa u telekomunikacionim sistemima 27

    Test se sprovodi tako to se u zadatoj sekvenci odrede vrednosti m, n i r. Potom seizrauna vrednost izraza (2.89) i uporedi sa zadatim pragom (tipino 5%). Ako je Pmanje od praga, smatra se da je sekvenca prola test.

    Kao primer, izraunali smo vrednosti verovatnoe P za nekoliko binarnih sekvenci zakoje je m = n = 4 i rezultate prikazali u tabeli 2.2.

    Tabela 2.2: Primeri testa serija.

    Sekvenca r P

    11110000 1 0,0714

    11001100 2 0,4286

    11001010 3 0,4286

    10101010 4 0,0714

    2.8.4 Generisanje sluajnih brojeva pomou raunara

    Pregled naredbi za generisanje sluajnih brojeva iz nekih raspodela u programima GNU

    Octave i Python 2.7 (moduo random) dat je u tabeli 2.3.

    Tabela 2.3: Naredbe za generisanje sluajnih brojeva.

    Raspodela GNU Octave Python

    from random import *

    Diskretna uniformna unidrnd randint

    Binomna binornd

    Negativna binomna nbinrnd

    Geometrijska geornd

    Poissonova poissrnd

    Kontinualna uniformna unifrnd uniform

    Normalna normrnd gauss ili normalvariate

    Eksponencijalna exprnd expovariate

    Gama gamrnd gammavariate

    Daleko vei broj raspodela, preko 90, dostupan je u Pythonovom SciPy modulu stats,

    korienjem metoda rvs (random variates). Evo kako se na ovaj nain mogu generisati

    neki sluajni brojevi:

    from scipy import stats

    stats.bernoulli.rvs # Bernoullijeva raspodela

    stats.binom.rvs # binomna raspodela

  • 28 Modeliranje i simulacija u telekomunikacijama

    stats.nbinom.rvs # negativna binomna raspodela

    stats.geom.rvs # geometrijska raspodela

    stats.poisson.rvs # poissonova raspodela

    stats.norm.rvs # normalna raspodela

    stats.erlang.rvs # Erlangova raspodela

    stats.expon.rvs # eksponencijalna raspodela

    stats.rayleigh.rvs # Rayleighjeva raspodela

  • Poglavlje 3

    Metodologija simulacije

    U ovome poglavlju emo razmotriti metodoloke postavke simulacije. Upoznaemo se s

    razliitim vrstama simulacije, videemo koje su odlike simulacionog softvera i daemo

    savete za pisanje simulacionih programa.

    3.1 Simulacija diskretnih dogaaja

    Dogaaj predstavlja svaku pojavu koja izaziva promenu stanja sistema. Prema mestu

    nastanka, dogaaji mogu biti eksterni i interni. Eksterni dogaaji ne zavise od modela

    i rezultat su uticaja okoline na sistem; primer eksternih dogaaja su dolasci korisnikih

    paketa u vor mree. S druge strane, interni dogaaji, kao to je npr. opsluivanje

    paketa, zavise od modela i generiu se u njemu.

    U najveem broju sluajeva, telekomunikacioni sistem se modelira tako da se dogaaji

    deavaju u prebrojivo mnogo trenutaka vremena; ovakav vid simulacije naziva se si-

    mulacijom diskretnih dogaaja ili, krae, diskretnom simulacijom. U nastavku ovoga

    odeljka, razmotriemo njene najznaajnije odlike.

    3.1.1 Mehanizmi pomaka vremena

    Bitan element simulacije diskretnih dogaaja je simulacioni sat. To je promenljiva

    koja sadri trenutnu vrednost simulacionog vremena, u kome je potpuno poznato stanje

    sistema u simulacionom okruenju. Simulacioni sat se inicijalizuje proizvoljno, najee

    na nultu vrednost i raste tokom progresije stanja sistema

    1

    .

    1

    Izuzetak su tzv. rollback procedure u paralelnoj simulaciji, koje dovode do vraanja simulacionog

    vremena i koje emo objasniti na strani 35.

    29

  • 30 Modeliranje i simulacija u telekomunikacijama

    Postoje dva naina za pomak simulacionog vremena i to pomak za konstantni prirataj

    i pomak na naredni dogaaj.

    Mehanizam pomaka vremena za konstantni prirataj ilustrovan je na slici 3.1. Simula-

    cioni sat ovde neprekidno napreduje za konstantni interval t.

    t 2 t 3 t 4 t 5 tt

    0 e1

    e2

    e3

    e4

    Slika 3.1: Pomak vremena za konstantni prirataj.

    Nakon auriranja sata, proverava se da li je tokom prethodnog intervala bilo dogaaja,

    koji su na slici oznaeni slovom e. Ako je odgovor potvrdan, smatra se da su se dogaaji

    desili na kraju prethodnog intervala, pa se u skladu s tim auriraju stanje sistema i

    statistiki brojai.

    Dobra strana ovoga pristupa je jednostavnost implementacije; mane su pojava praznog

    hoda, koji odgovara obradi intervala bez dogaaja (drugi i peti interval na slici), kao

    i to to se unosi greka zbog pomeranja dogaaja na kraj intervala. Ovaj problem je

    naroito izraen u sluaju kada se tokom trajanja jednog intervala desi vie dogaaja

    (trei interval na slici), jer se postavlja pitanje kojim redom ih treba obraditi. Mo-

    gue reenje ovih problema je u skraivanju intervala t, ali tada se poveava koliinapodataka za obradu i usporava se simulacija.

    Mehanizam pomaka vremena na naredni dogaaj podrazumeva da se simulacioni sat

    inicijalizuje na poetnu vrednost (npr. 0), da se odrede vremena nastupanja buduih

    dogaaja i da se potom sat pomera na vreme kada e nastupiti prvi od njih. Nakon

    pomaka simulacionog sata, obrauje se dogaaj, to znai da se auriraju stanje si-

    stema, statistiki brojai i vremena nastupanja buduih dogaaja. Na ovaj nain se

    preskau periodi neaktivnosti, u kojima nema dogaaja, pa se ovaj pristup po pravilu

    primenjuje u praksi.

    Pomak vremena na naredni dogaaj ilustrovan je na slici 3.2 za primer servisnog si-

    stema. Sa ti oznaen je trenutak dolaska i-tog korisnika u sistem; Ai = titi1 je vremeizmeu dolazaka korisnika i 1 i i; Si je trajanje obrade i-tog korisnika, ci trenutaknjegovog izlaska iz sistema, dok je ej j-ti dogaaj, bilo koje prirode.

    c2

    t0 t1

    t2

    c1

    t3

    e0

    e1

    e2

    e3

    e4

    e5

    A1

    A2

    A3

    S1

    S2

    Slika 3.2: Pomak vremena na naredni dogaaj.

  • 3. Metodologija simulacije 31

    3.1.2 Organizacija simulacije diskretnih dogaaja

    Simulacija diskretnih dogaaja bi se, u principu, mogla izvesti i runo, korak po korak,

    ali je takav pristup besmislen u praksi, zbog velike koliine podataka koju treba obra-

    diti. Organizacija kolski napisanog raunarskog programa za simulaciju diskretnih

    dogaaja prikazana je na slici.

    Start

    1. Postavi tsim

    = 02. Inicijalizuj stanje i brojae3. Inicijalizuj listu dogaaja

    0. Pozovi rutinu za inicijalizaciju1. Pozovi rutinu za rasporeivanje2. Pozovi rutinu za opsluivanje 1. Odredi naredni dogaaj2. Pomeri sat

    Kraj

    1. Auriraj stanje sistema2. Auriraj statistike brojae3. Generii budue dogaaje i dodaj ih na listu

    Generii sluajne promenljive

    1. Izraunaj ocene parametara2. Napravi izvetaj

    Kraj?

    Rutina za inicijalizaciju

    Glavni program

    Rutina za rasporeivanje

    Biblioteke rutine

    Ne

    Rutine za

    opsluivanje

    Generator

    izvetaja

    Da

    Slika 3.3: Organizacija simulacije diskretnih dogaaja.

    Tokom trajanja simulacije, odravaju se podaci o simulacionom satu, stanju sistema i

    listi buduih dogaaja, koja sadri vremena njihovog nastupanja. Program je modu-

    larno organizovan, pa glavni program komunicira s nizom potprograma (rutina).

    Rutina za inicijalizaciju inicijalizuje simulacioni model u poetnom trenutku postavlja

    vrednosti simulacionog vremena, stanja sistema, statistikih brojaa i liste dogaaja.

    Rutina za rasporeivanje dogaaja odreuje koji e se dogaaj sa liste prvi desiti i

    potom pomera simulacioni sat ka tome trenutku.

    Rutine za opsluivanje dogaaja su potprogrami koji obrauju dogaaje, u smislu da

  • 32 Modeliranje i simulacija u telekomunikacijama

    auriraju stanje sistema, statistikih brojaa i liste dogaaja svaki put kada se desi

    odreeni dogaaj. Za svaku vrstu dogaaja, u optem sluaju postoji posebna rutina.

    Biblioteke rutine su matematiki potprogrami koji generiu sluajne promenljive sa

    zadatom raspodelom.

    Generator izvetaja je programski modul koji po zavretku simulacije rauna ocene

    parmetara performansi sistema na osnovu vrednosti statistikih brojaa, pravi izvetaj

    i prezentuje ga korisniku.

    Glavni program prilikom pokretanja pozove rutinu za inicijalizaciju, a potom ciklino

    poziva rutinu za rasporeivanje dogaaja i rutinu za njihovo opsluivanje. Glavni

    program potom proverava ispunjenost uslova za zavretak simulacije, u kome sluaju

    poziva generator izvetaja i okonava simulaciju.

    3.2 Kontinualna simulacija

    Kontinualna simulacija podrazumeva da se promenljive stanja kontinualno menjaju u

    vremenu. Veliki broj realnih sistema je (dominantno) kontinualne prirode, to znai

    da su opisani integrodiferencijalnim jednainama. Za analizu ovakvih sistema, na ra-

    spolaganju su sledee mogunosti:

    sistem moemo analitiki reiti, sistem moemo emulirati na analognom raunaru, ili sistem moemo simulirati na digitalnom raunaru.

    Analitiko reenje je jedino koje tano odgovara usvojenom modelu, ali do njega esto

    nije lako doi, ili ne postoji u zatvorenoj formi. Analogni raunari su postali stvar

    istorije, pa tako preostaje simulacija sistema na digitalnom raunaru, to podrazumeva

    diskretizaciju modela. Probleme koji se pri tome mogu javiti razmotriemo u narednom

    poglavlju.

    U praksi se sree i kombinovana diskretno-kontinualna simulacija. Ona se primenjuje

    u sledeim situacijama:

    kada diskretni dogaaj izaziva diskretnu promenu vrednosti kontinualne promen-ljive stanja,

    kada diskretan dogaaj menja funkcionalnu vezu kontinualnih promenljivih sta-nja, ili

    kada kontinualna promenljiva stanja dostigne prag vrednosti koji potom izazivaneki diskretan dogaaj.

    Ako diskretan dogaaj zamislimo kao otvaranje ili zatvaranje prekidaa, lako emo

    zakljuiti da su ove situacije iroko zastupljene u elektrinim kolima.

  • 3. Metodologija simulacije 33

    3.3 Tabelarna simulacija

    Za simuliranje jednostavnijih modela mogu biti dovoljni i programi za tabelarna izra-

    unavanja, kao to je LibreOce Calc ili, ranije, OpenOce Calc, koji nude funkcional-

    nosti generisanja sluajnih brojeva, osnovnih matematikih proraunavanja, statistike

    obrade i grakog predstavljanja rezultata. Ovakav vid simulacije se naziva tabelarnom

    ili spreadsheet simulacijom.

    3.4 Hibridna simulacija

    Hibridna simulacija, koja se zove i hardware in the loop, podrazumeva korienje

    hardverskih sklopova kao elemenata simulacionog okruenja. Ovi sklopovi mogu da

    predstavljaju bilo stvarne komponente zikog sistema, poput npr. senzora ili aktuatora

    nekog postrojenja, bilo njihove hardverske emulacije.

    Ukljuivanje hardvera u simulaciono okruenje je motivisano eljom za to veom verno-

    u simulacionog modela. Najvei problem u praktinim implementacijama lei upravo

    u sprezanju hardverskih modula sa softverom, to otvara pitanja poput A/D i D/A kon-

    verzije, usklaivanja brzina rada i sl. Stoga se po pravilu ovakvom pristupu pribegava

    onda kada je matematiko modeliranje nekih blokova isuvie komplikovano ili iz drugih

    razloga neprimenljivo.

    3.5 Paralelna simulacija

    Do sada smo razmatrali sekvencijalni pristup simulaciji, po kome je simulacioni model

    jedinstvena celina koja se izvrava na jednom procesoru. Da bi se ubrzalo izvravanje

    simulacije, ili da bi se omoguilo simuliranje sloenijih modela, esto se pribegava pa-

    ralelnoj simulaciji, gde se razliiti segmenti jednog simulacionog modela izvravaju na

    procesorima koji rade paralelno. Zanimljivo je primetiti da su vieprocesorski sistemi

    nekada bili superraunari, a danas su to standardni PC.

    Paralelna simulacija ima dve varijante, vremensku i prostornu.

    3.5.1 Vremenski paralelna simulacija

    Algoritmi vremenski paralelne simulacije jo uvek nisu dovoljno opti, ve se odnose na

    reavanje pojedinih klasa problema. Zajedniko za njih je da se osa simulacionog vre-

    mena deli na nepreklapajue intervale, koji se dodeljuju razliitim procesorima. Svaki

    procesor pretpostavlja poetne uslove za interval ije mu je simuliranje dodeljeno i

  • 34 Modeliranje i simulacija u telekomunikacijama

    potom obavlja simulaciju; po njenom zavretku, zapoinje usklaivanje pretpostavlje-

    nih poetnih uslova s dobijenim izlazima drugih procesora. Ovaj tzv. x-up proces u

    optem sluaju moe biti netrivijalan, pa e se simulacije na nekim intervalima, a u

    najgorem sluaju na svim sem na prvom, morati ponoviti.

    Vremenski paralelna simulacija daje dobre rezultate npr. kod analize statistikih mul-

    tipleksera.

    3.5.2 Prostorno paralelna simulacija

    U ovom pristupu, simulacioni model se dekomponuje na logike procese, koji se izvra-

    vaju na zasebnim procesorima. Svaki logiki proces je diskretan simulacioni model za

    sebe, pa procesori na ovaj nain obrauju jedan segment velikog modela. Na primer,

    u simulaciji telekomunikacionih mrea, velika mrea bi se mogla izdeliti na podmree,

    od kojih bi svaka predstavljala jedan logiki proces; iskustvo pokazuje da je podelu

    na podmree poeljno izvriti tako da se preseku linkovi malog kapaciteta i velikog

    propagacionog kanjenja, kao i da se procesori to ravnomernije opterete.

    Logiki procesi uzajamno komuniciraju preko poruka s vremenskim oznakama. Da

    bi prostorno paralelna simulacija dala isti rezultat kao i sekvencijalna, neophodno je

    ostvariti sinhronizaciju logikih procesa. U operativnom smislu, to znai da logike

    procese treba obraivati po rastuem vremenskom redosledu, to je poznato kao uslov

    lokalne kauzalnosti. U literaturi su opisane dve grupe algoritama za sinhronizaciju

    logikih procesa, konzervativni i optimistini.

    Konzervativni algoritmi

    Konzervativni algoritmi ne dozvoljavaju naruavanje uslova lokalne kauzalnosti tako to

    logiki procesi ekaju da i drugi napreduju do njihovog simulacionog vremena, odnosno

    da obrade dogaaj s najmanjom vremenskom oznakom.

    Konzervativni algoritmi prve generacije koriste tzv. null poruke. Pretpostavlja se da se

    ne menjaju veze izmeu logikih procesa, tj. da je poznato koji logiki procesi uzajamno

    razmenjuju poruke. Na svakom dolaznom linku u logiki proces postoji FIFO red za

    poruke i sat koji pokazuje vremensku oznaku prve poruke u redu ukoliko red nije

    prazan, ili poslednje primljene poruke u suprotnom. Identian red sa satom postoji i u

    samom logikom procesu i u njega se smetaju poruke koje logiki proces generie za

    samog sebe. Ovo je ilustrovano na slici 3.4.

    Logiki proces bira red iji sat pokazuje najmanje vreme. Ukoliko ovaj red nije prazan,

    logiki proces uzima poruku iz njega i obrauje je; u suprotnom, ako je red prazan,

    logiki proces se blokira i eka ili da u prazan red stigne nova poruka, ili da simulaciono

    vreme napreduje ka vremenu sata u nekom od redova s porukama. Ne treba posebno

  • 3. Metodologija simulacije 35

    Slika 3.4: Konzervativna sinhronizacija logikih procesa.

    naglaavati da ovo ekanje degradira prednosti paralelizma; ono to nije vidljivo na

    prvi pogled je da se logiki proces nikada nee blokirati zbog reda u kome su poruke

    koje je namenio samom sebi.

    Ciklus praznih redova ekanja iji satovi pokazuju mala vremena naziva se deadlock i

    moe znaajno usporiti izvravanje simulacije. Jedno reenje za izbegavanje deadlocka

    su tzv. null poruke, koje ne donose posao logikom procesu, ve ga svojom vremenskom

    oznakom Tnull obavetavaju da proces koji ih je poslao nee kasnije poslati poruku soznakom manjom od Tnull. Iako null poruke skrauju periode ekanja, nije dobro dase esto alju (to je npr. sluaj kada su logiki procesi uzajamno dobro povezani), jer

    mogu zaguiti logike procese.

    Konzervativni algoritmi druge generacije izbegavaju null poruke tako to ili detektuju

    deadlock i razbijaju ga, ili procenjuju donju granicu buduih vremenskih oznaka.

    Optimistini algoritmi

    Optimistini algoritmi sinhronizacije dozvoljavaju naruavanje uslova lokalne kauzalno-

    sti, ali ih otkrivaju i potom pokreu proceduru oporavka od njih. Optimistini algoritmi

    omoguavaju vei stepen paralelizma i transparentniji su za aplikacije, pa je progra-

    miranje jednostavnije; mana im je to to zbog velikog broja ponovljenih izraunavanja

    mogu imati loije performanse nego konzervativni algoritmi.

    Najpoznatiji optimistini algoritam je time warp. Kada detektuje naruavanje uslova

    lokalne kauzalnosti, ovaj algoritam pokree proceduru koja je poznata kao rollback:

    simulacioni sat se premotava unazad, a drugim logikim procesima, kojima su u meu-

    vremenu poslate poruke, sada se alju antiporuke. Ako se u redu ekanja nau poruka

    i njena antiporuka, uzajamno e se ponititi i nee biti drugih posledica po odredini

    logiki proces. U suprotnom, ako je odredini logiki proces ve obradio poruku, prijem

  • 36 Modeliranje i simulacija u telekomunikacijama

    antiporuke e i u njemu inicirati rollback.

    Primetimo da neke operacije, kao to su npr. ulaz i izlaz, nije mogie ponititi. Veliki

    broj oporavaka znai i ponovljena izraunavanja, ime se gubi vreme. Zbog rollbacka

    je, u principu, potrebno i vie memorije, jer treba uvati istoriju stanja logikih procesa.

    Zbog svega ovoga, u implementacijama ne treba dozvoliti da neki logiki proces previe

    odmakne ispred ostalih, jer bi njegov rollback najverovatnije izazvao krupne poremeaje

    u izvravanju simulacije.

    3.6 Distribuirana simulacija

    Distribuirana simulacija podrazumeva da je veliki simulacioni model kompozicija ma-

    njih, koji se izvravaju na umreenim raunarima. Standardom IEEE 1516 opisana je

    arhitektura distribuirane simulacije poznata kao HLA (High Level Architecture), koju

    je razvila Kancelarija za modeliranje i simulaciju pri Ministarstvu odbrane SAD.

    est pristup u inenjerskoj praksi je da se distribuirana simulacija implementira tako

    to se jednaki simulacioni modeli istovremeno izvravaju na nekoliko raunara, da bi

    se u istom zikom vremenu ostvarilo to vie replikacija.

    3.7 Simulacioni softver

    Simulacija se moe programirati u programskim jezicima opte namene, ili u specija-

    lizovanom simulacionom softveru, koji moe biti optenamenski ili aplikaciono orijen-

    tisan. est izbor za pisanje simulacionih programa su programski jezik C i objektno-

    -orijentisan jezik Python, koji ima i poseban modul za podrku simulacije, SimPy.

    Najvei broj primera u ovoj knjizi napisan je u matematikom programskom paketu

    opte namene GNU Octave 3.0.3 i programskom jeziku Python 2.7.2; oba spadaju u

    kategoriju slobodnog softvera. Poznati optenamenski simulacioni softver je GPSS/H,

    dok je primer aplikaciono orijentisanog softvera ns-3, koji se koristi za simulaciju tele-

    komunikacionih mrea.

    Odlike simulacionog softvera moemo svrstati u nekoliko kategorija. Opte odlike su

    eksibilnost u formiranju modela, graki korisniki interfejs, funkcionalnost debago-

    vanja, brzina izvravanja, mogunost sprezanja s drugim programima, uslovi korie-

    nja i distribuiranja i cena. Narednu kategoriju ine hardverski i softverski zahtevi za

    platformu na kojoj se taj softver izvrava. U svim primenama su bitne statistike

    funkcionalnosti koje softver nudi, vrsta izlaznog izvetaja i podrka grakom prikazu

    rezultata, dok je ponegde bitna i mogunost animacije. Na kraju, treba voditi rauna

    i o podrci korisnicima, u vidu adekvatne dokumentacije, postojanja udbenika, demo

    verzije programa itd.

  • 3. Metodologija simulacije 37

    Na kraju ovoga odeljka, daemo nekoliko kolskih saveta za pisanje dobrih simulacio-

    nih programa.

    Pre svega, svaki sloeniji program treba pisati u vidu modula, tj. potprograma. Na

    taj nain, programski kod e biti pregledniji, lake e se uoiti eventualne greke i

    nedostaci, a olakae se i modikovanje programa u budunosti.

    Neophodno je dokumentovati sve korake u razvoju modela i pisanju programa. Po

    zavretku ove faze rada, programski kod i dokumentaciju treba dati nekome ko nije bio

    ukljuen u njihovo pisanje, da ih verikuje.

    Sloenu simulaciju prvo treba izvriti pod pojednostavljenim pretpostavkama, za koje

    su rezultati unapred poznati, a potom i za razliite kombinacije ulaznih parametara

    i proveriti da li se dobijaju smisleni rezultati. U sluaju problema, posle svakog do-

    gaaja treba proveravati tzv. trace stanje sistema, brojae i listu dogaaja. est

    uzrok nesaglasnosti dobijenih rezultata s oekivanim lei u neadekvatnom generisanju

    sluajnih brojeva, pa treba proveriti parametre njihovih raspodela.

    Kada je to mogue, treba posmatrati animaciju procesa u sistemu.

    3.8 Primer

    Postavke simulacije diskretnih dogaaja emo ilustrovati na primeru simulacije servi-

    snog sistema M/M/1.

    Servisni sistem je matematiki model procesa u kome korisnici donose neku koliinu

    posla na obradu. Servisni sistemM/M/1 se sastoji od ekaonice beskonanog kapaciteta

    i radionice s jednim serviserom (ili serverom); njegova simbolika oznaka je prikazana

    na slici 3.5.

    Slika 3.5: Servisni sistem M/M/1.

    Dolasci korisnika u sistem predstavljaju Poissonov sluajni proces, s prosenim proto-

    kom . Koliina posla koju korisnici donose je eksponencijalno raspodeljena sluajnapromenljiva, s matematikim oekivanjem = 1/, gde je protok obrade. Smatrase da je populacija korisnika beskonana i da je disciplina opsluivanja FCFS (First-

    Come-First-Served).

    Ukoliko novopridoli korisnik zatie prazan sistem, on ide pravo do servisera, dok u

    protivnom u ekaonici eka da doe na red.

    Zadatak simulacije je da odredi empirijsku zavisnost prosenog broja korisnika u e-

  • 38 Modeliranje i simulacija u telekomunikacijama

    kaonici, NQ, prosenog zadravanja korisnika u ekaonici (tj. trajanja ekanja), TQ iprosenog zadravanja korisnika u sistemu, T , od iskorienosti (optereenosti) servera,. Analitiki poznate zavisnosti su

    NQ =2

    1 , (3.1)

    TQ =

    (3.2)i

    T =1

    , (3.3)pri emu je = /.

    Simulacija je organizovana u vidu simulacije diskretnih dogaaja, koji odgovaraju do-

    lascima i odlascima korisnika. Zbog jednostavnosti problema i preglednosti reenja, u

    nekim delovima je odstupljeno od kolske organizacije programa sa slike 3.3. Simula-

    cija se izvrava sve dok se ne bude opsluilo k korisnika, tj. uslov za zavretak je izlazakk-tog korisnika iz sistema. Radi jednostavnije realizacije programa, pretpostavljeno jeda korisnici dolaze i posle k-tog, ali se ne obrauju. Ukupan broj korisnika koji moguui u sistem tokom izvravanja simulacije stoga je n > k.

    U simulaciji je iskoriena osobina Poissonovog procesa da je vreme izmeu dvaju su-

    kcesivnih dolazaka eksponencijalno raspodeljena sluajna promenljiva, s matematikim

    oekivanjem 1/. Stoga je prvo generisan eksponencijalno raspodeljen niz s vreme-nima meudolazaka, IA, pa je njihovim sabiranjem dobijen niz s trenucima dolazakakorisnika, A. Niz s koliinom posla koji korisnici sobom donose, W , generisan je izeksponencijalne raspodele. Trenuci odlazaka korisnika iz sistema se smetaju u niz D.

    U programskom kodu se ne vidi eksplicitno simulacioni sat. Njegovu ulogu preuzimaju

    brojai koji ukazuju na naredni dolazak (i) i naredni odlazak (j). Prema slici 3.6,vrednost simulacionog vremena je min(A(i), D(j)).

    i

    1 2 3 4

    A 0,1 0,5 0,7 1,1 W 0,2 0,8 0,6 0,7 D 0,3 1,3

    1 2 3 4 j

    Slika 3.6: Nizovi vremena i brojai dogaaja.

    Objasnimo kako se raunaju trenuci odlazaka korisnika iz sistema. Nakon odlaska

    korisnika iz sistema, ispituje se da li je server slobodan. Ako jeste (i = j), to znai

  • 3. Metodologija simulacije 39

    da se naredni korisnik (npr. m-ti) nee zadravati u ekaonici, ve e odmah ii naobradu, koju e zavriti u trenutku D(m) = A(m) + W (m). Ako server nije slobodan(i 6= j), novi korisnik e u ekaonici ekati da doe na red. U trenutku D(m 1)server se oslobaa i posmatrani korisnik ulazi u radionicu, iz koje e izai u trenutku

    D(m) = D(m 1) +W (m).

    Obrada dolaska obuhvata samo inkrementiranje brojaa obraenih dolazaka. Nasuprot

    tome, obrada odlaska obuhvata auriranje statistikih brojaa, inkrementiranje brojaa

    odlazaka i raunanje vremena narednog odlaska.

    Za svakog obraenog korisnika se evidentiraju vremena koja je proveo u ekaonici i

    u sistemu i smetaju u nizove t_Q i t, respektivno. Na osnovu ovih podataka, nakraju simulacije, to se deava u trenutku t_stop = D(k), raunaju se prosean projkorisnika u ekaonici (N_Q), proseno zadravanje korisnika u sistemu (T ) i prosenozadravanje korisnika u ekaonici (T_Q), na sledei nain:

    N_Q =1

    t_stop

    km=1

    t_Q(m), (3.4)

    T =1

    k

    km=1

    t(m), (3.5)

    T_Q =1

    k

    km=1

    t_Q(m). (3.6)

    Iskorienost servera tokom trajanja simulacije se procenjuje kao

    rho =1

    t_stop

    km=1

    W (m). (3.7)

    Programski kodovi u GNU Octave i Pythonu dati su u nastavku. Naglasimo da je pre

    njihovog izvravanja potrebno ukloniti dijakritike simbole iz napomena.

    function [rho, N_Q, T, T_Q] = mm1(lambda, mu, k)

    % simulacija servisnog sistema M/M/1 u GNU Octave

    % oznake:

    % k - broj obraenih korisnika koji se posmatraju u simulaciji

    % n - broj korisnika koji mogu ui u sistem

    % i - broja dolazaka

    % j - broja odlazaka

    % IA - niz s vremenima meudolazaka

    % A - niz s vremenima dolazaka

    % W - niz s koliinom posla

    % D - niz s vremenima odlazaka

    % t_Q - niz s vremenima ekanja

    % t - niz s vremenima zadravanja u sistemu

  • 40 Modeliranje i simulacija u telekomunikacijama

    % t_stop - trenutak zavretka simulacije

    % rho - prosena iskorienost servera

    % N_Q - prosean broj korisnika u ekaonici

    % T - proseno zadravanje korisnika u sistemu

    % T_Q - proseno zadravanje korisnika u ekaonici

    % inicijalizacija i generisanje sluajnih promenljivih

    n = 1.2*k;

    i = 1;

    j = 1;

    IA = exprnd(1/lambda, n, 1);

    W = exprnd(1/mu, n, 1);

    A(1) = IA(1);

    for m = 2:n

    A(m) = A(m-1)+IA(m);

    endfor

    D(1) = A(1)+W(1);

    i = i+1;

    % obrade dogaaja

    while (j

  • 3. Metodologija simulacije 41

    # mm1.py

    # simulacija servisnog sistema M/M/1 u Pythonu

    # poziv funkcije: python mm1.py lambd mu k

    # "lambda" je rezervisana re u Pythonu!

    import random, sys, numpy as np

    # oznake:

    # k - broj obraenih korisnika koji se posmatraju u simulaciji

    # n - broj korisnika koji mogu ui u sistem

    # i - broja dolazaka

    # j - broja odlazaka

    # IA - niz s vremenima meudolazaka

    # A - niz s vremenima dolazaka

    # W - niz s koliinom posla

    # D - niz s vremenima odlazaka

    # t_Q - niz s vremenima ekanja

    # t - niz s vremenima zadravanja u sistemu

    # t_stop - trenutak zavretka simulacije

    # rho - prosena iskorienost servera

    # N_Q - prosean broj korisnika u ekaonici

    # T - proseno zadravanje korisnika u sistemu

    # T_Q - proseno zadravanje korisnika u ekaonici

    # ulazni parametri

    lambd = float(sys.argv[1])

    mu = float(sys.argv[2])

    k = int(sys.argv[3])

    # inicijalizacija i generisanje sluajnih promenljivih

    n = int(1.2*k)

    i = 0

    j = 0

    IA = []

    W = []

    A = []

    D = []

    t_Q = []

    t = []

    for m in range(int(n)):

    IA.append(random.expovariate(lambd))

    W.append(random.expovariate(mu))

    A.append(sum(IA[0:m+1]))

    D.append(A[0]+W[0])

    i += 1

  • 42 Modeliranje i simulacija u telekomunikacijama

    # obrada dogaaja

    while (j < k):

    if (A[i] < D[j]):

    # obrada dolaska

    i += 1

    else:

    # obrada odlaska

    t_Q.append(D[j]-A[j]-W[j])

    t.append(D[j]-A[j])

    j += 1

    if (j != i):

    # sistem nije prazan

    D.append(D[j-1]+W[j])

    else:

    #sistem je prazan

    D.append(A[j]+W[j])

    # obrada i ispis rezultata

    t_stop = D[k-1]

    rho = sum(W[0:k])/t_stop

    N_Q = sum(t_Q)/t_stop

    T = sum(t)/k

    T_Q = sum(t_Q)/k

    np.disp([rho, N_Q, T, T_Q])

    Simulacija je izvravana za = 1 s1, dok je vrednost menjana u opsegu od 0,05do 0,95. Uslov za zavretak je bio k = 10 000. Rezultati su prikazani na narednimslikama, u vidu kruia. Radi poreenja, punim linijama su nacrtane teorijski dobijene

    vrednosti.

    20

    15

    10

    5

    01

    N

    Q

    0.80.60.40.20

    Slika 3.7: Prosean broj korisnika u ekaonici.

  • 3. Metodologija simulacije 43

    20

    15

    10

    5

    01

    T Q

    [s]

    0.80.60.40.20

    Slika 3.8: Proseno trajanje ekanja.

    20

    15

    10

    5

    01

    T

    [s]

    0.80.60.40.20

    Slika 3.9: Proseno zadravanje korisnika u sistemu.

    Vidimo da se za male vrednosti iskorienosti servera rezuktati simulacije izuzetno

    dobro poklapaju s teorijskim, dok su za njene ekstremne vrednosti ( 1) vidljivaodstupanja. Da bi se i u ovim uslovima ostvarila dobra tanost, potrebno je produiti

    trajanje simulacije, tj. broj obraenih korisnika koji se posmatraju (k).

  • 44 Modeliranje i simulacija u telekomunikacijama

  • Poglavlje 4

    Diskretizacija modela

    U prethodnom poglavlju smo videli da je simulacija na digitalnom raunaru metod

    izbora za analizu kontinualnih sistema u sluaju kada nije mogue uopte ili lako

    doi do analitikog reenja. Poto su kontinualni sistemi opisani diferencijalnim

    jednainama, ovakav pristup implicitno podrazumeva diskretizaciju modela sistema

    i aproksimaciju diferencijalnih jednaina diferencnim. U nastavku ovoga poglavlja

    emo pokazati koje opasnosti vrebaju pri diskretnoj simulaciji kontinualnih sistema.

    Pored pitanja izbora koraka diferenciranja/integriranja, koje je povezano s teoremom

    o odabiranju, videemo da se ovde javlja i problem stabilnosti numerikog reenja.

    4.1 Numeriko diferenciranje

    Neka je vrednost funkcije f(x) poznata u ekvidistantnim takama1 x1, x2, . . . Najje-dnostavnije formule za diferenciranje se mogu dobiti iz denicije izvoda funkcije f(x)u taki x = xi,

    f (xi) = limx0

    f(xi + x) f(xi)x

    . (4.1)

    Usvojimo li da je xi+x = xi+1, odavde emo dobiti formulu za diferenciranje unapred,ili aproksimaciju izvoda prednjom razlikom:

    f (xi) f(xi+1) f(xi)x

    . (4.2)

    Geometrijska interpretacija diferenciranja unapred prikazana je na slici 4.1. Stvarnom

    izvodu funkcije f(x) u taki xi odgovara nagib linije t, dok nagib linije t+ odgovaraformuli za diferenciranje unapred.

    Ako umesto x u (4.2) stavimo x, dobiemo formulu za diferenciranje unazad, ili1

    Kae se i da je funkcija f(x) tabelirana u datim takama.

    45

  • 46 Modeliranje i simulacija u telekomunikacijama

    xi

    xi+1

    x

    f(x)t

    t+

    Slika 4.1: Diferenciranje unapred.

    aproksimaciju izvoda zadnjom razlikom:

    f (xi) f(xi) f(xi1)x

    . (4.3)

    Geometrijska interpretacija diferenciranja unazad prikazana je na slici 4.2, gde ovakvom

    rezultatu odgovara nagib linije t.

    xi

    xi1

    x

    f(x)tt

    Slika 4.2: Diferenciranje unazad.

    Sabiranjem formula za diferenciranje unapred i unazad i sreivanjem rezultata, dobi-

    jamo formulu za centralno diferenciranje, ili aproksimaciju izvoda centralnom razlikom:

    f (xi) f(xi+1) f(xi1)2x

    . (4.4)

    Geometrijska interpretacija centralnog diferenciranja prikazana je na slici 4.3, gde ova-

    kvom rezultatu odgovara nagib linije tc. Sa slike vidimo, a to se moe i formalnopokazati, da ovaj pristup daje rezultat koji je najblii tanom; neto kasnije emo na

    numerikom primeru videti i da je stabilnost reenja dobijenog centralnim diferencira-

    njem (u smislu BIBO) najbolja.

    Formule za izvode vieg reda moemo izvesti na slian nain. Najjednostavnije apro-

  • 4. Diskretizacija modela 47

    xi

    xi1

    x

    f(x)t tc

    xi+1

    Slika 4.3: Centralno diferenciranje.

    ksimacije drugog izvoda tako su, redom:

    f (xi) f(xi+2) 2f(xi+1) + f(xi)(x)2

    , (4.5)

    f (xi) f(xi) 2f(xi1) + f(xi2)(x)2

    , (4.6)

    f (xi) f(xi+2) 2f(xi) + f(xi1)(x)2

    . (4.7)

    4.2 Numeriko integriranje

    Razmotriemo najjednostavnije korane formule za numeriko integriranje, koje se di-

    rektno izvode iz formula za numeriko diferenciranje

    2

    .

    Neka je ponovo funkcija f(x) tabelirana u ekvidistantnim takama x1, x2, . . . Potrebnoje izraunati integral

    I =

    xi+1x1

    f(x) dx. (4.8)

    Ovaj integral moemo napisati u sledeem obliku:

    I = Ii+1 =

    xix1

    f(x) dx+

    xi+1xi

    f(x) dx =

    = Ii +

    xi+1xi

    f(x) dx. (4.9)

    2

    Daleko bolji rezultati u praksi se postiu primenom tzv. kvadraturnih formula, npr. Gauss-

    -Legendreovih.

  • 48 Modeliranje i simulacija u telekomunikacijama

    Formulu za integriranje unapred dobijamo ako usvojimo da je f(x) = f(xi+1):

    Ii+1 = Ii + f(xi+1)x. (4.10)

    Geometrijska interpretacija integriranja unapred data je na slici 4.4.

    xi

    x

    f(x)

    xi+1

    Slika 4.4: Integriranje unapred.

    Nije teko pokazati da je integriranje unapred ekvivalentno diferenciranju unazad: iz

    (4.10) je

    Ii+1 Iix

    = f(xi+1), (4.11)

    pa je i

    Ii Ii1x

    = f(xi), (4.12)

    to odgovara izrazu (4.3).

    Formulu za integriranje unazad dobijamo ako u (4.9) usvojimo da je f(x) = f(xi):

    Ii+1 = Ii + f(xi)x. (4.13)

    Geometrijska interpretacija integriranja unazad data je na slici 4.5.

    xi

    x

    f(x)

    xi+1

    Slika 4.5: Integriranje unazad.

  • 4. Diskretizacija modela 49

    Integriranje unazad je ekvivalentno diferenciranju unapred. Iz (4.13) je

    Ii+1 Iix

    = f(xi), (4.14)

    to odgovara izrazu (4.2).

    Formulu za centralno integriranje, poznatu i kao trapezno pravilo, dobiemo sabiranjem

    formula za integriranje unapred i unazad i sreivanjem rezultata:

    Ii+1 = Ii +f(xi) + f(xi+1)

    2x. (4.15)

    Geometrijska interpretacija centralnog integriranja data je na slici 4.6. Ponovo intui-

    tivno vidimo da ovaj pristup daje najtaniji rezultat.

    xi

    x

    f(x)

    xi+1

    Slika 4.6: Centralno integriranje.

    4.3 Primer

    Kvalitet navedenih formula emo ispitati na primeru koji je samo na prvi pogled

    trivijalan. Posmatraemo paralelno LC kolo, prikazano na slici 4.7.

    i

    u LC

    +

    Slika 4.7: Paralelno LC kolo.

    Poznat je poetni uslov i(t = 0) = i0, u(t = 0) = 0. Znamo da je kolo opisanointegralnim

    u(t) = 1C

    t0

    i() d, (4.16)

  • 50 Modeliranje i simulacija u telekomunikacijama

    i(t) =1

    L

    t0

    u() d, (4.17)

    ili diferencijalnim jednainama,

    u(t) = Ldi(t)

    dt, (4.18)

    i(t) = C du(t)dt

    . (4.19)

    Takoe znamo kako izgleda reenje ovih jednaina: poto u kolu nema niti izvora, niti

    potroaa (komponente su bez gubitaka), oekujemo prostoperiodini reim. Ovo je

    redak sluaj sistema ije nam je analitiko reenje poznato, pa e nam ono sluiti kao

    reper za poreenje numerikih metoda.

    Navedene jednaine emo reiti numerikim metodama koje smo razmatrali u pretho-

    dnim odeljcima. Iako bismo to mogli, neemo kombinovati po dve jednaine da bismo

    dobili jednu drugog reda, ve emo reavati sistem integralnih/diferencijalnih jednaina

    prvog reda.

    Kao i u prethodnim formulama, korak integracije emo oznaiti sa t. Izraunavanjaemo vriti u programu GNU Octave. Usvojiemo sledee vrednosti parametara: L =1/(2pi) H, C = 1/(2pi) F, t = T/50, gde je T = 2pi

    LC = 1 s period oscilacija.Poto indeksiranje nizova kree od cifre 1, u formulama u nastavku su usvojene oznake

    u(n) = u((n 1)t) i i(n) = i((n 1)t). Iz istog razloga, poetni uslovi su i(1) = 1(i0 = 1 A) i u(1) = 0 (u0 = 0 V).

    4.3.1 Integriranje unapred

    Primenom formule za integriranje unapred, (4.10), na (4.16) i (4.17), dobijamo

    u(n) = u(n 1) 1Ci(n)t, (4.20)

    i(n) = i(n 1) + 1Lu(n)t. (4.21)

    Uvrtavanjem (4.21) u (4.20), nakon sreivanja dobijamo

    u(n) =u(n 1) 1

    Ci(n 1)t

    1 +(t)2

    LC

    . (4.22)

    Formule (4.22) i (4.21) predstavljaju reenje posmatranog kola metodom integriranja

    unapred.

  • 4. Diskretizacija modela 51

    4.3.2 Integriranje unazad

    Neposrednom primenom formule za integriranje unazad (4.13) na (4.16) i (4.17), dobi-

    jamo

    u(n) = u(n 1) 1Ci(n 1)t, (4.23)

    i(n) = i(n 1) + 1Lu(n 1)t. (4.24)

    4.3.3 Centralno integriranje

    Primenom formule za centralno integriranje, (4.15), na (4.16) i (4.17), dobijamo

    u(n) = u(n 1) 1C

    i(n 1) + i(n)2

    t, (4.25)

    i(n) = i(n 1) + 1L

    u(n 1) + u(n)2

    t. (4.26)

    Uvrstimo li (4.26) u (4.25) i sredimo li izraz, dobiemo

    u(n) =

    [1 (t)

    2

    4LC

    ]u(n 1) t

    Ci(n 1)

    1 +(t)2

    4LC

    . (4.27)

    Formule (4.27) i (4.26) predstavljaju reenje LC kola metodom centralnog integriranja.

    4.3.4 Diferenciranje unapred

    Primenimo li formulu za diferenciranje unapred (4.2) na jednaine (4.18) i (4.19), do-

    biemo

    u(n) = Li(n+ 1) i(n)

    t, (4.28)

    i(n) = C u(n+ 1) u(n)t

    . (4.29)

    Umanjimo li indekse za 1, imaemo

    u(n 1) = L i(n) i(n 1)t

    , (4.30)

    i(n 1) = C u(n) u(n 1)t

    . (4.31)

    Odavde je reenje LC kola metodom diferenciranja unapred:

    u(n) = u(n 1) tC

    i(n 1), (4.32)

  • 52 Modeliranje i simulacija u telekomunikacijama

    i(n) = i(n 1) + tLu(n 1), (4.33)

    to odgovara formulama koje su dobijene integracijom unazad, (4.23) i (4.24).

    Octave programski kod koji reava kolo na ovaj nain za prvih 7 perioda je

    L = 1/(2*pi);

    C = 1/(2*pi);

    T = 2*pi*sqrt(L*C);

    dt = T/50;

    i(1) = 1;

    u(1) = 0;

    for n = 2:(7/dt+1)

    u(n) = u(n-1) - (dt/C)*i(n-1);

    i(n) = i(n-1) + (dt/L)*u(n-1);

    end

    t = 0:dt:7;

    plot(t, u), xlabel("{\itt} [s]"), ylabel("{\itu} [V]"), axis([0 7 -15 15])

    Grak ovako proraunatog napona je prikazan na slici 4.8. Ve na prvi pogled uoavamo

    da njegova amplituda nije tana i da je reenje nestabilno, a paljivijim posmatranjem

    graka moemo zakljuiti i da je period ovih oscilacija vei od stvarnog.

    10

    0

    -10

    642

    u [V

    ]

    t [s]0

    Slika 4.8: Napon u kolu, dobijen integriranjem unazad/diferenciranjem unapred.

  • 4. Diskretizacija modela 53

    4.3.5 Diferenciranje unazad

    Primenom formule za diferenciranje unapred na diferencijalne jednaine kola, dobijamo

    u(n) = Li(n) i(n 1)

    t, (4.34)

    i(n) = C u(n) u(n 1)t

    . (4.35)

    Uvrtavanjem (4.35) u (4.34), nakon sreivanja dobijamo

    u(n) =

    u(n 1) 1Ci(n 1)t

    1 +(t)2

    LC

    . (4.36)

    Izrazi (4.36) i (4.35) redom odgovaraju formulana dobijenim integracijom unapred,

    (4.22) i (4.21).

    Octave programski kod koji reava kolo na ovaj nain je

    L = 1/(2*pi);

    C = 1/(2*pi);

    T = 2*pi*sqrt(L*C);

    dt = T/50;

    i(1) = 1;

    u(1) = 0;

    for n = 2:(7/dt + 1)

    u(n) = (u(n-1) - (dt/C)*i(n-1))/(1+(dt)^2/(L*C));

    i(n) = i(n-1) + (dt/L)*u(n);

    end

    t = 0:dt:7;

    plot(t, u), xlabel("{\itt} [s]"), ylabel("{\itu} [V]"), axis([0 7 -1 1])

    Grak napona je prikazan na slici 4.9. Ni ovo reenje nije dobro, jer smo sada dobili

    opadajue oscilacije; ono to se tee uoava je da one i ovaj put imaju neto vei period

    od tanog.

    4.3.6 Centralno diferenciranje

    Sistem diferencijalnih jednaina (4.18) i (4.19) reiemo centralnim diferenciranjem

    tako to emo sabrati reenja koja smo dobili za diferenciranje unapred i unazad i

  • 54 Modeliranje i simulacija u telekomunikacijama

    1

    0.5

    0

    -0.5

    -16

    u [V

    ]

    t [s]420

    Slika 4.9: Napon u kolu, dobijen integriranjem unapred/diferenciranjem unazad.

    potom srediti izraze. Na taj nain, dobijamo

    u(n) =

    [1 (t)

    2

    4LC

    ]u(n 1) t

    Ci(n 1)

    1 +(t)2

    4LC

    , (4.37)

    i(n) = i(n 1) + 1L

    u(n 1) + u(n)2

    t. (4.38)

    Ovi izrazi su identini izrazima (4.27) i (4.26), koje smo u odeljku 4.3.3 dobili metodom

    centralnog integriranja.

    Octave programski kod koji reava kolo na ovaj nain je

    L = 1/(2*pi);

    C = 1/(2*pi);

    T = 2*pi*sqrt(L*C);

    dt = T/50;

    i(1) = 1;

    u(1) = 0;

    for n = 2:(7/dt+1)

    u(n) = ((1-(dt^2)/(4*L*C))*u(n-1)-dt/C*i(n-1))/(1+(dt^2)/(4*L*C));

    i(n) = i(n-1)+dt/(2*L)*u(n-1)+dt/(2*L)*u(n);

    end

    t = 0:dt:7;

    plot(t, u), xlabel("{\itt} [s]"), ylabel("{\itu} [V]"), axis([0 7 -1 1])

  • 4. Diskretizacija modela 55

    Grak napona je dat na slici 4.10. Konano smo dobili reenje koje odgovara analiti-

    kom, a to je prostoperiodini reim amplitude 1 V i perioda (veoma priblino) 1 s.

    1

    0.5

    0

    -0.5

    -16

    u [V

    ]

    t [s]420

    Slika 4.10: Napon u kolu, dobijen centralnim integriranjem/diferenciranjem.

  • 56 Modeliranje i simulacija u telekomunikacijama

  • Poglavlje 5

    Monte Carlo simulacija

    U ovome poglavlju emo se upoznati s tehnikom simulacije koja se najee primenjuje

    u telekomunikacijama. Ona koristi sluajne brojeve, pa je nazvana Monte Carlo, to je

    jasna asocijacija na igre na sreu. U dananjem obliku prvi put je primenjena tokom

    II svetskog rata, prilikom razvoja atomske bombe.

    5.1 Princip Monte Carlo simulacije

    Monte Carlo (MC) simulacija se zasniva na ponavljanju simuliranih sluajnih eksperi-

    menata. Najee se implementira tako to se analizirani sistem pobuuje povorkama

    sluajnih brojeva koje emuliraju zike ulazne procese.

    Model sistema izlazsluajni procesi

    Slika 5.1: Princip Monte Carlo simulacije.

    Ako su ulazi sistema sluajni procesi, tada e to biti i njegov izlaz. Rezultat simulacije

    se ocenjuje iz izlaznog sluajnog procesa nekom od statistikih metoda.

    MC simulacija se moe primeniti za analizu kako deterministikih, tako i stohastikih

    modela sistema.

    Kao primer primene MC simulacije u telekomunikacijama, posmatrajno sistem za pre-

    nos M -arnih digitalnih signala u osnovnom opsegu uestanosti. Potrebno je odreditiverovatnou greke po simbolu, u uslovima nelinearnog kanala u kome deluje aditivni

    um. Blok-ema simulacionog modela prikazana je na slici 5.2.

    57

  • 58 Modeliranje i simulacija u telekomunikacijama

    Izvor M-arne sekvence

    NelinearnostYc

    = g(X)Integrator s

    rastereenjem Odluiva

    Broja greaka

    +

    nkanal

    X Y

    yd

    yYc

    x

    Slika 5.2: Simulacioni model sistema za prenos signala u osnovnom opsegu uestanosti.

    U nastavku emo razmotriti korake koje bi obuhvatala Monte Carlo simulacija ovakvog

    sistema i uporedo emo pokazati kako bi se oni realizovali u GNU Octave i Pythonu.

    Na poetku se generie N simbola npr. kvaternarnog ulaznog signala i mN odbirakaGaussovog uma. Primetimo da se po svakom simbolu generie m odbiraka uma, paemo i za svaki simbol uzeti po m odbiraka.

    GNU Octave:

    x = randint(1, N, [0, 3])*2 - 3;

    X = [];

    for i = 1:N

    X = [X, x(i)*ones(1, m)];

    endfor

    n = sigma*randn(1, N*m);

    Python:

    from pylab import *

    x = randint(0, 4, N)*2 - 3

    X = repeat (x, m)

    n = s