es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i...

56
2 Elektronski fakultet u Nišu Katedra za Elektroniku PSEUDOSLUČAJNE BINARNE SEKVENCE(PRBS) MENTOR STUDENTI: Prof.dr Mile Stojčev Aleksandra Savić 11038 Predrag Mitić 10011

Transcript of es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i...

Page 1: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

Elektronski fakultet u Nišu Katedra za Elektroniku

PSEUDOSLUČAJNE BINARNE SEKVENCE(PRBS)

MENTOR STUDENTI:

Prof.dr Mile Stojčev Aleksandra Savić 11038 Predrag Mitić 10011

Page 2: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

Sadržaj

1. Uvod.................................................................................................................. 3

2. Primena u pomeračkim registrima linearne povratne petlje................................4 2.1. Karakteristični polinomi................................................................................4 2.2. Rad LSFR......................................................................................................5 2.3. Primitivni polinomi........................................................................................6 2.4. Neprimitivni polinomi...................................................................................7 3. Osobine PRBS......................................................................................................8 3.1. Pseudoslučajne osobine.................................................................................8 3.1.1. Gustina znakova i gustina prelaza..........................................................8 3.1.2. Raspodela uzastopnih bitova..................................................................9 3.1.3. Autokorelacija.......................................................................................10 3.1.4. Spektralni sadržaj frekvencija...............................................................11 3.2. Decimacija....................................................................................................11 3.3. Multipleksiranje............................................................................................12 4. Test sekvence zasnovane na PRBS.....................................................................13 4.1. PRBS 2 ......................................................................................................14 4.2. PRBS sa potiskivanjem i sa smenjivanjem nula..........................................14 4.3. Gustina markera kod PRBS.........................................................................15 5. Standardizovane PRBS za testiranje komunikacionih sistema...........................16 6. Način realizacije PRBS...................................................................................... 18 6.1. Fibonačijev metod....................................................................................... 18 6.2. Galois metod................................................................................................ 21 7. Primena................................................................................................................24

8. Laboratorijska vežba...........................................................................................26

9. Algoritam............................................................................................................35 10. Zaključak.............................................................................................................36 11. Kratak opis koda.................................................................................................37

Page 3: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

Prilikom testiranja digitalnog prenosnog sistema potrebno je poslati ili primiti digitalnu testnu sekvencu. Rezultati merenja, posebno u slučaju serijskih aplikacija velike brzine, u mnogome zavise od karakteristika ovih test podataka. Sekvence za obnavljanje signala takta su na primer osetljive na gustinu prenosa podataka u pomenutoj sekvenci, dok količina međusimbolske interferencije u kanalu sa ograničenim propusnim opsegom puno zavisi od raspodele u samoj sekvenci. Zbog toga je neophodno dobro definisati sekvencu podataka za svaki test ponaosob.

Izgled sekvence se može navesti u obliku čisto binarnih podataka, ili se može navesti kao skup parametara za algoritam koji generiše sekvencu. U nastavku ćemo navesti standarde za algoritamske testne sekvence, odnosno za pseudoslučajne binarne sekvence (PRBS – Pseudo-Random Binary Sequences). Objasnićemo kako se one mogu hardverski generisati, navešćemo njihove osobine i njihovu primenu.

1. Uvod

Idealno bi bilo testirati svaki od prenosnih sistema istim podacima koji se mogu sresti u svakodnevnim primenama, što u opštem slučaju znači testirati ih slučajnim skupovima podataka. U isto vreme je potrebno da merenja ponovimo onoliko puta koliko nam to testiranje zahteva, zbog čega nailazimo na poteškoće ako koristimo potpuno slučajne skupove podataka. Praktični razlozi takođe ograničavaju upotrebu slučajnih podataka, poput činjenice da niz podataka mora biti poznat pre samog merenja ako želimo da izvršimo merenja odnosa bita greške. Ostale tehnike za analizu signala zahtevaju da se isti signal ponavlja. Ograničena memorija u testnoj opremi uslovljavaju upotrebu nešto kraćih blokova slučajnih podataka.

Pristup kojim se rešava ovaj problem je upotreba algoritamski generisanih testnih skupova poput pseudoslučajnih binarnih sekvenci. Ove sekvence su pseudoslučajne jer su u potpunosti determinističke, sa poznatim karakteristikama, ali imaju izgled skupova slučajnih podataka. U suštini, PRBS sekvence mogu proći statističke testove za ispitivanje slučajnosti podataka. Dodatna prednost je što se generator PRBS može implementirati i u softver i u hardver uz jako male resurse, čak i kada su u pitanju veoma duge sekvence.

Page 4: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

2. Primena u pomeračkim registrima linearne povratne petlje

Najefikasnija primena generatora PRBS se sastoji od pomeračkog registra linearne povratne petlje (LFSR – Linear Feedback Shift Register), koji se sastoji od n D flip-flopova i od n+1 povratnih veza. Postoje dva načina za implementaciju LFSR. Fibonacci primena podrazumeva jednostavan pomerački registar gde se suma po modulu 2 (ili XOR operacija) svih povratnih petlji šalje na sam ulaz. Galois primena koristi XOR funkciju sa unutrašnjim pomeračkim registrima.

Slika 1 prikazuje konfiguraciju i terminologiju dve alternativne LFSR primene koje se sastoje od n flip-flopova. Stanje LFSR u bilo kom trenutku je određeno binarnim vrednostima u svim pojedinačnim flip-flopovima, od B0 do Bn-1. Ono se takođe može izraziti i uz pomoć celobrojne vrednosti. C0 do Cn predstavljaju n+1 članova povratne petlje; napomenimo da je označavanje u navedene dve primene međusobno suprotno, u zavisnosti od varijante.

Slika 1: LFSR stepena n. Gore: Fibonacci primena; dole Galois primena

2.1 Karakteristični polinomi

Odabir n+1 mogućih članova povratne petlje je opisan karakterističnim polinomom LFSR. Za ovaj polinom za LFSR sa n flip-flopova se kaže da je polinom stepena n, i on poseduje sledeći oblik:

(1)

Page 5: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

gde su koeficijenti cm binarni, i mogu biti jedinica ili nula (jedinica znači da je odgovarajuća povratna petlja uspostavljena). Ostale oznake koje se koriste pored polinomnih oznaka su binarni skupovi svih koeficijenata i skup svih nenula koeficijenata za aktivne veze. Razmotrimo sledeći primer. Odaberimo LFSR stepena 4 čiji je karakteristični polinom:

(2)

Ovaj polinom poseduje koeficijente c0=1, c1=0, c2=0, c3=1 i c4=1. Alternativna oznaka ovog polinoma bi bila (1,0,0,1,1) za skup binarnih koeficijenata, odnosno (0,3,4) za skup postojećih veza.

Vrednosti c0 i cn uvek moraju biti jednake jedinici. Posmatrajmo ih kao ulaz i izlaz pomeračkog registra, pa bi njihovo uklanjanje promenilo dužinu LFSR i samim tim i stepen PRBS.

2.2 Rad LSFR

Pomerački registar sa n flip-flopova ima 2n mogućih stanja. Naredno stanje prilikom taktovanja LFSR zavisi od prethodnog stanja i od položaja povratne petlje. Ako se nijedna od povratnih petlji ne promeni tokom rada, sekvenca je u potpunosti deterministička. Kako je broj mogućih stanja konačan, sekvenca je takođe i periodična. Ona u konačnom slučaju mora doći do početne vrednosti i nastaviti ciklus ponovo. Tačna sekvenca i period zavise od početnog stanja i od aktivnih povratnih petlji.

Posebno stanje LFSR je stanje sa svim nulama. Bez obzira na to koje su povratne petlje aktivne, pomerački registar prekida sa radom ako se u svim flip-flopovima nađe vrednost nula. Zbog toga je jako važno uneti u LFSR početnu vrednost koja neće dovesti do stanja svih nula. Pošto uvek postoje vrednosti c0 i cn, pomerački registar nikada neće doći u pomenuto stanje svih nula, izuzev ako mi namerno ne učinimo tako nešto.

Slika 2 prikazuje konfiguraciju nekoliko vremenskih koraka za navedene dve implementacije našeg polinoma navedenog jednačinom (2). U oba slučaja je početna vrednost svih flip-flopova jedinica. Fibonacci LFSRS varijanta ima sledeću sekvencu: 15, 7, 11, 5, 10, 13, 6, 3, 9, 4, 2, 1, 8, 12, 14, 15, ... dok je njen binarni izlaz jednak: 111101011001000. U Galois varijanti je sekvenca: 15, 14, 7, 10, 5, 11, 12, 6, 3, 8, 4, 2, 1, 9, 13, 15, ... a njen binarni izlaz je: 101011001000111.

Page 6: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

Slika 2: LFSR primer pomenute dve implementacije upotrebom karakterističnog polinoma navedenog jednačinom (2), počev od vrednosti svih jedinica. Oba LFSR, i levi i desni, se vraćaju u početno stanje

nakon 15 taktnih ciklusa

Napomenimo da je LFSR sekvenca za ove dve implementacije potpuno drugačija, a da je njihov binarni izlaz potpuno jednak, izuzev što postoji određeni fazni pomeraj. Zbog toga nije bitno koju implementaciju korisnik odabere. Fibonacci je konceptualno jednostavnijajer se u svakom taktnom ciklusu menja samo ulazni bit pomeračkog registra, dok je sadržaj pomeračkog registra narednih n bitova binarne sekvence. Ipak, Galois primena može raditi na višim frekvencijama kada postoji više od jednog XOR kola, jer se ova kola ne povezuju kaskadno.

2.3 Primitivni polinomi

U navedenom primeru LFSR ima 24=16 mogućih stanja, označenih od 0,...,15. Sekvence koje generiše bilo koja od navedenih implementacija prolaze kroz sva navedena stanja izuzev zabranjenog stanja svih nula, i vraćaju se u početno stanje svih jedinica nakon 15 koraka (T=15). Dakle, obe implementacije poseduju period ponavljanja jednak 15. Samo primitivni karakteristični polinomi (u matematičkom smislu) uzrokuju da LFSR prođe kroz sva moguća stanja i da poseduje period ponavljanja od 2n-1. Izlaz ovako konfigurisanog LFSR se naziva sekvenca maksimalne dužine, ili skraćeno m-sekvenca. Prilikom testiranja i merenja se ovakva sekvenca naziva pseudoslučajna binarna sekvenca stepena n, ili PRBS 2n-1.

Primitivni polinomi uvek dolaze u paru. Ako je polinom primitivan, njegova recipročna vrednost je takođe primitivna. Stvaranje recipročnih primitivnih polinoma se jednostavno izvodi okretanjem liste binarnih koeficijenata. Polinom iz primera za vrednost n=4 je posedovao koeficijente (1.0,0,1,1), pa je

Page 7: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

njemu recipročan polinom sa koeficijentima (1,1,0,0,1). Odatle znamo još jedan mogući primitivni polinom stepena 4:

(3)

gde je skup aktivnih veza (priključaka) sada (0,1,4). Interesantna stvar u vezi sa recipročnim LFSR je što oni daju sekvencu koja je vremenski obrnuta u odnosu na originalnu sekvencu. Inverzija aktivnih veza je jednaka radu LFSR unazad.

LFSR stepena n ima 2n-1 mogućih karakterističnih polinoma, ali je samo mali procenat njih primitivan. Najprostiji način pronalaženja primitivnih polinoma je sistematsko testiranje svih mogućih polinoma kreiranjem odgovarajućeg LFSR i proverom njegovog perioda. Idealno je da se pretraga započne polinomima koji poseduju samo jednu aktivnu povratnu petlju pored obaveznih c0 i cn, i njih nazivamo trinomi. Veoma često se desi da je bar jedan od trinoma primitivan. Dodatna prednost trinomnog LFSR je što se on može brže izvesti na postojećem hardveru od LFSR koji poseduje više povratnih petlji.

Ipak, ovakav pristup pronalaženja primitivnih polinoma je apsolutno nepraktičan za veći stepen LFSR, jer postoji previše mogućih polinoma u tom slučaju. Potreban napor za procenu perioda LFSR se sa povećanjem vrednosti n uvećava eksponencijalno. Postoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

Za naše potrebe testiranja i merenja se koriste niži stepeni, reda 40, i za takve slučajeve postoje gotove tablice sa potrebnim vrednostima aktivnih povratnih petlji (priključaka). Najčešće se u tabelama izostavljaju određeni polinomi (trivijalni tipa c0 i cn, ili neki simetrični polinomi).

2.4 Neprimitivni polinomi

LFSR sa neprimitivnim polinomima se ne koriste baš puno u svrhu testiranja i merenja, uz jedan izuzetak: LFSR koji poseduje samo trivijalne povratne petlje c0 i cn zauvek ponavlja početno stanje. Ovo se može iskoristiti za kreiranje generatora jednostavnih kratkih sekvenci, bez upotrebe bilo kakve sistemske memorije.

Page 8: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

3. Osobine PRBS sekvenci

3.1 Pseudoslučajne osobine

Izlaz LFSR sa primitivnim polinomom se naziva pseudoslučajan. To je deterministička sekvenca koja je u potpunosti slična realnim slučajnim podacima. U nastavku ćemo uporediti najvažnije osobine skupova podataka PRBS sa stvarnim slučajnim podacima.

3.1.1 Gustina znakova i gustina prelaza

PRBS stepena n sadrži tačno 2n-1 jedinica i 2n-1-1 nula (postoji manje nula od jedinica zbog nedozvoljenog stanja svih nula). Gustina znakova MD (Mark Density) za PRBS je stoga:

(4)

Broj prelaza kod PRBS je jednak 2n-1. Zbog te činjenice je gustina prelaza TD (Transition Density) jednaka gustini znakova MD:

(5)

Vrednosti MD i TD za naš primer PRBS stepena 4 su po 8/15, odnosno -0.533. Za veće vrednosti n (za duže sekvence) obe ove vrednosti se bliže cifri 0.5, što je vrednost koju očekujemo za potpuno slučajne podatke.

Page 9: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

3.1.2 Raspodela uzastopnih bitova

Za slučajne podatke je verovatnoća da će naredni bit biti jednak trenutnom bitu jednaka 1/2. Verovatnoća da će se jedan bit ponavljati je dakle 1/2, verovatnoća da će se dva bita ponavljati je 1/4, da će se tri bita ponavljati je 1/8,... Uzastopno pojavljivanje nula ima podjednaku verovatnoću pojavljivanja kao i jedinica.

Tabela 1 prikazuje raspodelu uzastopnih bitova za naš pomenuti primer PRBS od 24-1, i za dužu verziju PRBS 27-1. Kako PRBS stepena n ima 2n-1 prelaza, on ima i 2n-1 uzastopnih nizova. Kada podelimo broj pojavljivanja iz tabele 1 brojem prelaza za određeni PRBS dobijamo relativne vrednosti frekvencija za uzastopno pojavljivanje određenih grupa bitova. Za svaki PRBS je tačno polovina uzastopnih nizova dužine 1, četvrtina je dužine 2, osmina je dužine 3, itd., sve do samo jednog pojavljivanja uzastopnog niza od n-1 nula i jedinica.

Tabela 1: Raspodela uzastopnih bitova za različite slučajeve

Page 10: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

Raspodela uzastopnih bitova za PRBS 2n-1 se maksimalno približava vrednosti za slučajne podatke u sekvenci konačne dužine. Sve do vrednosti uzastopnih pojavljivanja n-2 bita je raspodela identična kao i kod potpuno slučajnih podataka. Na kraju treba reći da dužine veće od n bitova nisu deo PRBS.

3.1.3 Autokorelacija

Suma po modulu 2 za PRBS i isti PRBS pomeren za k bitova daju treću fazu iste sekvence. To je prikazano na slici 3 za navedeni primer LFSR i za četiri vrednosti k. Postoji mali problem jer faza rezultujuće sekvence nije linearna funkcija k. U primeru se pomeranje (ofset) kreće u vrednostima: četiri za k=1, osam za k=2, četrnaest za k=3 i jedan za k=4. Fazne pomeraje rezultujućih sekvenci je najlakše pronaći numerički.

Slika 3: Suma po modulu 2 PRBS i pomerene kopije PRBS za LFSR koji ima karakteristični polinom 1+x3+x4, i za četiri ofseta (od 1 do 4)

Kako su suma po modulu 2 i XOR operacija iste, znamo da je broj poklapanja između dva pomerena PRBS jednak broju nula u PRBS, 2n-1, i da je broj nepoklapanja jednak broju jedinica u sekvenci, 2n-1-1. Autokorelacija (AC) izvan faze za PRBS je stoga nezavisna od faznog pomeraja k i zadata je sa:

(6)

Za veće vrednosti n je autokorelacija bliska nuli. Gotovo da i ne postoji korelacija između PRBS i pomerene kopije PRBS, bez obzira na fazni pomeraj. To je upravo ono što se očekuje od potpuno slučajnih podataka.

Page 11: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

3.1.4 Spektralni sadržaj frekvencija

Frekventni spektar PRBS sadrži diskretne frekvencije koja prate sin2(x)/x oblik, pa što je veći stepen PRBS to je manje rastojanje između pojedinačnih komponenti frekvencija, i manja je najniža frekvencija u spektru. Najniža moguća komponenta frekvencije signala koji se ponavlja je inverzna vrednost vremena ponavljanja. To je prikazano na slici 4 za PRBS 24-1 i PRBS 25-1. I pored toga što su ove sekvence relativno kratke, sin2(x)/x oblik je očigledan. Veći stepen PRBS još bliže oslikava spektar slučajnih podataka. Ovo je poslednji glavni kriterijum za skup slučajnih podataka.

Slika 4: Frekventni spektar snage za PRBS 24-1 (levo) i 25-1 (desno), sa NRZ signalizacijom na 1 Gbit/s. Spektar prati sin2(x)/x oblik, sa nulama na mestima koja su celobrojni umnošci brzine prenosa podataka

3.2 Decimacija

Ako kreiramo binarnu sekvencu uzimajući svaki m-ti bit PRBS, rezultujuća sekvenca je takođe PRBS koja ima isti stepen kao i originalna sekvenca. Nova sekvenca možda neće imati isti karakteristični polinom kao i originalna, izuzev ako je m stepen broja 2. Postoji jedan jako bitan izuzetak u pravilu decimacije. Ako dužina sekvence i m imaju zajedničke faktore, rezultujuća sekvenca nije PRBS, već kraća sekvenca čiji je period 2n-1/m.

Dužina sekvence u našem primeru PRBS 24-1 je 15, a 15 ima faktore 3 i 5. Zbog toga decimacija sa 3, 6, 9, 12 i 15, kao i sa 5 i 10 neće dati PRBS. To znači da nam ostaje decimacija ostalim neiskorišćenim brojevima. Faktori decimacije koji su veći od dužine same sekvence su isti kao i moduo faktor dužine sekvence.

Slika 5 prikazuje tri decimacije za PRBS 24-1. Za m=2 je rezultujuća sekvenca ustvari originalna PRBS sa faznim pomerajem koji odgovara originalu pomerenom za 8. Decimacija sa tri (m=3) ne daje PRBS sekvencu, iako ima period 5, jer je 3*5=15. Za m=7 se dobija PRBS unazad, pa je njen karakteristični polinom jednak recipročnoj vrednosti originala.

Page 12: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

Slika 5: Decimacija PRBS 24-1 za m=2, 3 i 7

3.3 Multipleksiranje

Decimaciju PRBS u vrednosti stepena 2 možemo umetnuti nege, što podrazumeva da se može početi sa bilo koje pozicije bita u sekvenci. To je prikazano na slici 6 za m=4, kada počinjemo od bitova1, 2, 3 ili 4. Sve ove decimacije dovode do iste PRBS, ali sa relativnim faznim pomerajem od 12 bitova.

Slika 6: Umetnuta decimacija za vrednost 4 kod PRBS 24-1, sa početnim bitovima 1, 2, 3, 4.

Decimacija umetnuta na ovaj način jednaka je deserijalizaciji (razlaganju) sekvence u m nizova bitova: bitovi 1-4 su prvi od četiri niza, bitovi 5-8 su drugi niz,... Rezultujući paralelni nizovi podataka su pseudoslučajne sekvence reči (PRWS – Pseudo-Random Word Sequences), odnosno nizovi od m

vrednosti bitova sa periodom 2n-1. Ako je m jednako n, PRBS prolazi kroz sve moguće reči od m bitova, izuzev nedozvoljenog stanja svih nula, pre nego što dođe do ponavljanja sekvence.

Page 13: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

Ova osobina je korisna zbog dve stvari: 1) možemo paralelno generisati višestruke PRBS signale i multipleksirati izlaz kako bi dobili PRBS većom brzinom, 2) možemo koristiti paralelne PRBS za testiranje uređaja. PRWS generator koji radi na istoj brzini kao i PRBS se može dobiti uzimanjem izlaznih stanja svih flip-flopova unutar LFSR (slika 7).

Slika 7: Modifikacija LFSR strukture za kreiranje PRWS za n=m. Paralelni izlaz prolazi kroz sva moguća stanja n-tobitnih vrednosti izuzev zabranjenog stanja svih nula

4. Test sekvence zasnovane na PRBS

PRBS sekvence su jako slične slučajnim podacima pa su stoga idealne za testiranje linkova u skoro realnim uslovima korišćenja. U pojedinim slučajevima je potrebno testirati određene aspekte sistema u najgorem mogućem slučaju. Stoga se za ovakva testiranja izvode posebne klase testnih sekvenci iz PRBS.

4.1 PRBS 2n

Dužina standardne PRBS 2n-1 je uvek neparna pa poseduje malu neravnotežu u jednosmernom režimu (DC) koja nije poželjna u pojedinim testovima. Dodatni nula bit, koji se umeće nakon najdužeg uzasttopnog niza nula u PRBS daje savršeno uravnoteženu DC sekvencu koja ima dužinu jednaku celobrojnom stepenu broja 2. Ovakva sekvenca se skraćeno naziva PRBS 2n.

Page 14: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

PRBS 2n se ne može direktno generisati uz pomoć LFSR. Najveći broj metoda je zasnovan na određenoj memoriji, pa je maksimalna dužina sekvenci ograničena dužinom dostupne memorije. Ako generator sekvenci ima 8 MB memorije (uobičajena vrednost), on može generisati 2n PRBS sekvenci sve do stepena 23. Naredni uobičajeni stepen PRBS je 31, koji zahteva 2 GB memorije, što nije komercijalno dostupna vrednost.

Slika 8: PRBS 24-1 i PRBS 24 sa karakterističnim polinomom 1+x3+x4

4.2 PRBS sa potiskivanjem i sa smenjivanjem nula

PRBS sekvenca sa smenjivanjem nula se sastoji od standardnog PRBS dela kod koga se menja do 2n-1 nula. Ovo je korisno prilikom CDR testiranja jer postoji deo sa jako malim brojem promena stanja (malom gustinom prelaza), i zato što postoji veći broj komponenti niskih frekvencija u odnosu na originalnu PRBS. Inverzijom PRBS sa zamenjenim nulama dobijamo sekvencu sa istom gustinom prelaza ali sa manjom gustinom znakova.

Na osnovu PRBS 2n, PRBS sa smenjivanjem nula stepena (n,m) se dobijaju postavljanjem m bitova nakon najdužeg uzastopnog niza nula u originalnoj sekvenci na nulu. Pošto je naduži niz uzastopnih nula kod PRBS 2n jednak n bitova, prišireni niz uzastopnih nula u novoj sekvenci je n+m bitova dug. Bit koji se nalazi odmah nakon pomenutog niza nula se uvek postavlja na jedinicu kako bi se izbeglo da niz bude dužine n+m+1 bitova.

Slika 9 prikazuje ovaj proces za PRBS 24, koji poseduje najviše uzastopnih nula na bitovima 13-16. Primećujemo da je bit 5 postavljen na jedinicu u slučaju kada je m=4, zbog maločas pomenutog razloga.

Slika 9: Smenjivanje nula kod PRBS 24 za m=2, 4, 8

Page 15: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

PRBS sa potiskivanjem nula je takođe zasnovana na PRBS 2n. One se dobijaju postavljanjem svakog bita kog sledi m ili više nula na jedinicu, tako da je najveći uzastopni broj nula dužine m bitova. Rezultujuća sekvenca ima istu gustinu prelaza kao i originalna PRBS, ali ima veću gustinu znakova.

Slika 10 prikazuje originalnu PRBS 24 plus tri verzije sa potiskivanjem nula. Najduži niz uzastopnih nula u originalnoj sekvenci se nalazi na položajima 13-16 i dužine je 4, da bi ga kasnije skratili na tri nule za m=3, odnosno na dve nule za m=2. Za slučaj m=1 se niz bitova na pozicijama 10-11 skraćuje na samo jednu nulu.

Slika 10: Potiskivanje nula kod PRBS 24 za m=3, 2, 1

4.3 Gustina markera kod PRBS

Pojedini sistemi su osetljivi na neuravnotežene DC sekvence i mogu se testirati sekvencama koje poseduju gustinu markera bilo veću ili manju od navedene gustine 0.5, koja važi za slučajne nasumične podatke. PRBS sekvence sa određenom gustinom markera se dobijaju izvođenjem binarne AND funkcije za dve ili više pomerenih PRBS sekvenci, bit po bit. Pošto dve međusobno pomerene PRBS nisu korelisane, verovatnoća da su dva bita u pomerenim verzijama iste PRBS jednaka jedinici je 1/4, za tri bita u tri pomerene verzije PRBS je ta verovatnoća jednaka 1/8, ...

Slika 11 daje prikaz tri pomerene verzije našeg primera PRBS 24-1. S2 je ista PRBS kao i S1, pomerena za 4 bita. S3 je pomerena za naredna 4 bita. Odabrali smo k=4 zbog toga što je to stepen LFSR. To je čisto stvar dogovora, a moguće je uzeti bilo koji pomeraj i dobiti sekvencu sličnih osobina. Ipak, korisno je unapred znati testne sekvence kako bi svi instrumenti koristili iste sekvence. MD=1/4 šema je generisana binarnom operacijom AND nad S1 i S2, MD=1/8 je dobijeno binarnim AND nad S1, S2 i S3. Obrnute šeme MD=3/4 i MD=7/8 su samo inverzne vrednosti njihovih odgovarajućih parnjaka.

Page 16: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

Slika 11: Generisanje PRBS sekvenci sa određenom gustinom markera od pomerenih kopija originalne PRBS

5. Standardizovane PRBS za testiranje komunikacionih sistema

Za bilo koji stepen LFSR postoje bar dva primitivna polinoma. Kao posledicu imamo da postoje barem dve različite sekvence istog stepena, i da se obe mogu zvati PRBS. Sve moguće PRBS istog stepena imaju iste opšte osobine – gustinu prelaza, frekventni spektar,... Lokalne osobine se ipak malo razlikuju zbog različitih binarnih sekvenci. Kako rezultati testiranja zavise od tačne sekvence bitova, jako je važno uvek koristiti istu sekvencu.

Procedure testiranja za standardizacione testove obično navode tačnu testnu sekvencu, zajedno sa parametrima koje treba izmeriti. Za PRBS test podatke ovakvo navođenje sekvenci uvek uključuje stepen PRBS, a ponekad se i precizno navodi primitivni polinom. Postoji osam standardnih PRBS sekvenci koje prihvata najveći broj korisnika. Ove sekvence se koriste u gotovo svim opremama za testiranje. Tabela 2 prikazuje karakteristične polinome i listu aktivnih veza povratne petlje za PRBS koje se standardno koriste.

Tabela 2: Standardizovane PRBS sekvence

Page 17: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

Prilično često korisnik mora sam odabrati PRBS, bilo iz razloga što ne postoji navedena testna sekvenca za određeni uređaj, ili zbog želje da se izvrši posebna karakterizacija uređaja. Najvažniji aspekt odabira PRBS je dužina sekvence. Ona se bira na osnovu same primene: ako će uređaj raditi sa slučajnim podacima treba odabrati nadužu PRBS koja je dostupna u mernom instrumentu – u najvećem broju slučajeva je to PRBS 231-1. Ako uređaj radi sa kodiranim podacima u okruženju sa ograničenim propusnim opsegom treba odabrati PRBS sa odgovarajućom raspodelom uzastopnih bitova. Najduži uzastopni niz istovetnih bitova kod 8B10B kodiranja je na primer 5, pa treba odabrati PRBS 25-1. U bilo kom slučaju treba ponoviti PRBS sekvencu nekoliko puta tokom testiranja. Cilj ovog ponavljanja je izbegavanje lokalne promenljivosti koja može uticati na merenje. Ako se poštuje ovo pravilo nije bitno koji primitivni polinom se izabere.

Page 18: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

2

6. Način realizacije PRBS-a

to:U praksi postoje dve veoma jednostavne implementacije PRNG-a zasnovane na LFSR-u i

- Fibonacci-jev metod implementacije i- Galois metod mplementacije

Bilo koji od ova dva metoda je moguće implementirati i hardverski i softverski. Softverska implementacija, za praktične primene, nije mnogo popularna i ne koristi se sem u izuzetnim slučajevima. Za razliku od nje hardverska implementacija ova dva metoda se skoro isključivo koristi zato što je ona veoma jednostavna za sintezu na FPGA.

FIBONACCI-jev METOD IMPLEMENTACIJE

Fibonacci˜1175-1250

Slika 2. Fibonacci i Fibonacci-jev princip implementacije

Fibonacci-jeva implementacija PRNG-a se sastji iz linearnog pomeračkog registra sa povratnom spregom. Ovaj registar je sačinjen od n D flip-flopova i na njega se priključuje n+1 povratna sprega. Mehanizam povratne sprege je realizovan na taj način što se izlazi D flip-flopa (koeficijenti Ci na slici 2) sprovode na ulaze XOR kola a izlaz XOR kola vraća na ulaz jednog od flip-flpova (najčešće prvog/zadnjeg). Ovo važi u slučaju korišćenja XOR kola sa n ulaza. U slučaju korišćenja dvoulaznih XOR kola izlazi sa D flip-flopova se takođe vode na ulaze XOR kola a izlazi XOR kola se vode na drugi ulaz prethodog XOR kola. LFSR, samim tim i PRNG realizovan ovim metodom radi na taj način da kada se taktuje sistem on provodi signal kroz registre sa prvog bita na sledeći bit veće težine. Slika 2. prikazuje princip fibonacci-jevog metoda implementacije.

Prisustvo ili odsustvo povratne sprege opisano je tkz. generatorom polinoma odnosno polinomom što je opisano u prethodnom poglavlju. PRNG ima 2n mogućih stanja, međutim njegova primena je ograničena na maksimalnu dužinu od 2n -1 gde je n dužina PRNG-a odnosno broj flip- flopova. Stanje sa svim nulama je zabranjeno stanje ako se primenjuju XOR kola za povratnu spregu, a ako se primenjuji NXOR kola zabranjeno stanje je sa svim jedinicama. Tada se sistem zaključava u tom stanju i ne može doći do generisanja sekvence. Ipak stvarna dužina zavisi od izabranog polinoma a u slučaju kada nije implementiran primitivni polinom i od početnog stanja. Kada je primenjen primitivni polinom izbor različitog početnog stanja samo vremenski pomerasekvencu. Samo karakteristični polinomi koji su primitivni (u matematičkom smislu) omogućavaju da PRNG prođe kroz sva moguća stanja. Sekvenca dobijena primenom inverznog primitivnog polinoma je vremenski pomerena inače je ista u odnosu na sekvencu dobijenu primenom običnog primitivnog polinoma. Za bolje razumevanje kako se primitivnim polinomom implementira u hardver po Fibonacci-jevom principu razmotrimo primer polinoma petog stepena datog sa:1+x2+x5 ili

kao c0=1,c1=0,c2=1,c3=0,c4=0,c5=1, (1,0,1,0,0,1).

Page 19: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

ri ev je g s

Pošto implementiramo PRNG pomocu polinoma petog stepena n=5, onda je dužina generatora sekvenci m=5, što znači da nam je potreban pomerački registar od 5 D flip-flopova za njegovu realizaciju (slika 3).

Slika 3. P mer Fibonacci-j e implementaci polinoma peto tepena

Dužina binarne sekvence, za ovaj primer je mb=2n_ 1=25_ 1=31. Binarna sekvenca se čita sa flip-flopa najveceg stepena a to je u ovom slučaju na izlazu Q5. Kao što se sa slike 3 vidi, za implementaciju ovog polinoma ulazi XOR kola su vezani na izlaz flip-flopa 2 (Q2) i izlaz flip-flopa5 (Q5) a izlaz na ulaz prvog flip-flopa. Q5 je izlaz celog sistema a ulaz prvog flip-flopa je ulaz celog sistema. XOR kolo služi da promeni vrednost ulaznog bita (flip-flopa). Za generisanje povratne sprege koristili smo primitivni polinom petog stepena f(x)= 1+x2+x5 koji omogućava sekvencu najdužeg trajanja, bez ponavljanja.

Iz sledeća dva primera uočimo šta nam to u polinomu određuje koliko nam je potrebno flip-flopova i XOR kola za implementaciju nekog polinoma.

n pokazuje koliko je potrebno flip-flopova (pet)

f(x)=x5 +x2 +1

+ pokazuje koliko nam je potreno xor kola (jedno)

ili u drugom slučaju:

osam flip-flopova

f(X) =x8 +x6 +x5 +x4 + 1

tri povratne sprege pored dve stalno prisutne na ulazui izlazu (tri dvoulazna xor ili jedno četvoroulazno)

U tabeli 2 su date sekvence kroz koje prolazi PRNG za primer polinoma petog stepena. Kaoinicijalno stanje je uzeto stanje sa svim jedinicama. Koje stanje dolazi sledeće zavisi od predhodnog stanja i položaja povratne sprege. Ako se povratna sprega ne menja u toku rada, sekvenca je potpuno određena. Kada se izlistaju svih 31 vrednosti ciklus se ponavlja. Specijalno stanje PRNG-a je kada imamo sve nule u registru. Kada je prisutno stanje sa svim nulama, nije moguće iz njega izaći pa se ono još naziva i zaključano stanje. To se dešava zato što XOR kolo na izlazu daje

Page 20: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

logičku nulu kada su mu svi ulazi na istoj logičkoj vrednosti. U normalnom radu ovo stanje treba onemogućiti. Sekvence dobijamo na Q1-Q5 a binarnu sekvencu čitamo na izlazu flip-flopa najvećeg stepena što kada se primeni na naš primer znači da je to na Q5. U zadnjoj koloni tabele 2 je data i decimalni ekvivalent vrednosti sekvence Q1-Q5 za određeni trenutak.

Tabela 2. Sekvence kroz koje prolazi sistem realizovan Fibonacci-jevim metodom sa sledećim polinomom 1+x2+x5.

korak Q1Q2Q3Q4Q5 Q5 Decimalni ekvivalent1 11111 poč.st. 1 31 početno st.2 01111 1 153 00111 1 74 10011 1 195 11001 1 256 01100 0 127 10110 0 228 01011 1 119 00101 1 310 10010 0 1811 01001 1 912 00100 0 413 00010 0 214 00001 1 115 10000 0 1616 01000 0 817 10100 0 2018 01010 0 1019 10101 1 2120 11010 0 2621 11101 1 2922 01110 0 1423 10111 1 2324 11011 1 2725 01101 1 1326 00110 0 627 00011 1 328 10001 1 1729 11000 0 2430 11100 0 2831 11110 0 3032 11111 ponovo 1 31ponovo33 01111 1 15

Page 21: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

GALOIS METOD IMPLEMENTACIJE

Evariste Galois1811-1832

Slika 4. E. Galois i Galois princip implementacije

Galois implementacija PRNG-a, takođe, sadrži n D flip-flopova koji čine pomerački registari n+1 povratnu spregu. Razlika u odnosu na Fibonacci-jevu implementaciju je u tome sto se povratna sprega sa izlaza zadnjeg flip-flopa u nizu dovodi na XOR kola koja se nalaze između ulaza i izlaza pojedinih susednih flip-flopova što je prikazano na slici 4. Galois implementacija koristi xor-ovanje unutrašnjih povratnih sprega. XOR kola kod ove implementacije se vezuju između svaka dva susedna flip-flopa na taj način što im se na jedan ulaz dovede izlaz zadnjeg flip-flopa u nizu, saglasno generatoru povratne sprege a na drugi ulaz im se dovodi izlaz flip-flopa koji mu predhodi, dok mu se izlaz vezuje na ulaz flip-flopa koji sledi.

Prikaz ovog metoda dat je na slici 4. Prisustvo ili otsustvo povratne sprege je opisano generatorom polinoma na isti način kao u Fibonacci-jevom metodu. I ovde faktori Ci uzimaju vrednost CiЄ(0,1), kao kod Fibonacci-jevog metoda. Galois PRNG ima 2n mogućih stanja, međutim njegova primena je ograničena na maksimalnu dužinu od 2n -1 gde je n dužina PRNG-a odnosno broj flip-flopova. Stanje sa svim nulama je zabranjeno stanje ako se primenjuju XOR kola za povratnu spregu, a ako se primenjuji NXOR kola zabranjeno stanje je sa svim jedinicama. Tada se sistem zaključava u tom stanju i ne može doći do generisanja sekvence. Ipak stvarna dužinasekvence zavisi od izabranog polinoma a u slučaju kada nije implementiran primitivni polinom i od početnog stanja. Kada je primenjen primitivni polinom izbor različitog početnog stanja samo vremenski pomera sekvencu. Samo karakteristični polinomi koji su primitivni (u matematičkom smislu) omogućavaju da Galois PRNG prođe kroz sva moguća stanja. Sekvenca dobijena primenom inverznog primitivnog polinoma je vremenski pomerena inače je ista u odnosu na sekvencu dobijenu primenom običnog primitivnog polinoma.

Za bolje razumevanje kako se primitivnim polinomom implementira u hardver po Galoisprincipu razmotrimo primer polinoma petog stepena datog sa:1+x2+x5 ili

kao c0=1,c1=0,c2=1,c3=0,c4=0,c5=1, (1,0,1,0,0,1) ili kao (0,2,5).

Pošto implementiramo PRNG pomocu polinoma petog stepena n=5, onda je dužina generatora sekvenci m=5, što znači da nam je potreban pomerački registar od 5 D flip-flopova za njegovu realizaciju (slika 5). Dužina binarne sekvence, za ovaj primer je mb=2n_ 1=25_ 1=31. Binarna sekvenca se čita sa flip-flopa najveceg stepena a to je u ovom slučaju na izlazu Q5. Kao štose sa slike 5 vidi, za implementaciju ovog polinoma jedan ulaz XOR kola je vezan na izlaz flip- flopa 2 (Q2) a drugi ulaz na izlaz flip-flopa 5 (Q5) a izlaz XOR kola je vezan na ulaz trećeg flip- flopa. Izlaz zadnjeg flip-flopa Q5 je takođe odveden i na ulaz prvog flip-flopa (izlaz/ulaz). Q5 je izlaz celog sistema a ulaz prvog flip-flopa je ulaz celog sistema. XOR kolo služi da promeni

Page 22: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

vrednost ulaznog bita (flip-flopa). I kod Galois implementacije za generisanje povratne sprege koristili smo primitivni polinom petog stepena f(x)= 1+x2+x5 koji omogućava sekvencu najdužeg trajanja, bez ponavljanja.

Slika 5. Primer Galois implementacije polinoma petog stepena

I ovde kao i kod Fibonacci-jevog metoda isti parametri polinoma kazuju koliko nam jepotrebno flip-flopova i XOR kola, kao i gde se XOR kola vezuju pa ih nećemo ponovo razmatrati. Koje stanje dolazi sledeće zavisi od predhodnog stanja i položaja povratne sprege. Ako se povratna sprega ne menja u toku rada sekvenca je potpuno određena. Kada se izlistaju sve vrednosti, proces se ponavlja iz početka. Za naš primer to s dešava nakon 31 koraka. U tabeli 3 su date sekvence koje generiše Galois PRNG generisan sa polinomom iz gore navedenog primera. U tabeli je data i binarna generisana sekvenca koja se čita sa Q5 kao i decimalni ekvivalenti za vrednost svake sekvence. Početno stanje iz kojeg se kreće je stanje sa svim jedinicama.

Slično kao i kod Fibonacci-jevog metoda i ovde je stanje sa svim nulama zaključano stanje isistem ostaje u njemu sve dok se ne upišu druge početne vrednosti u registar (bilo koje ne nulto stanje).

Pre nego što damo par poređenja Fibonacci-jevog i Galois metoda implementacije, recimoda se svaka Fibonacci-jeva implementacija PRNG može jednostavno transformisati u Galois PRNG. To se izvodi tako što se prvo otkače svi XOR ulazi, zatim se izvrši inverzija eksponenata (flip-flopova) ali ne i smer u kom teku podaci. Sada vežemo XOR ulaze u prethodne XOR izlaze (povratne sprege) i dovedemo na jedan ulaz XOR kola izlaz odgovarajućeg flip-flopa a na drugi ulaz XOR kola izlaz celog sisema, i to je sve.

Koju implementaciju ćemo da koristimo je stvar ukusa. Fibonacci-jeva implementacija je koncepcijski lakša zato što se samo ulazni bit u pomeračkom registru menja pri promeni kloka. Međutim Galois implementacija se može koristiti pri većim frekvencijama. To je naročito izraženo gde imamo više XOR kola, zato što kod ove implementacije XOR kola nisu redno vezana, već se operacije izvršavaju paralelno.

Recimo još i to da je sekvenca generisana sa ova dva metoda korišćenjem istog primitivnog polinoma različita, dok je binarni izlaz isti stim što je vremenski pomeren.

Page 23: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

Tabela 3. Sekvence kroz koje prolazi sistem reakizovan Galois metodom sa sledećim polinomom1+x2+x5.

korak Q1Q2Q3Q4Q5 Q5 Decimalni ekvivalent1 11111 poč.st. 1 312 11011 1 273 11001 1 254 11000 0 245 01100 0 126 00110 0 67 00011 1 38 10101 1 219 11110 0 3010 01111 1 1511 10011 1 1912 11101 1 2913 11010 0 2614 01101 1 1315 10010 0 1816 01001 1 917 10000 0 1618 01000 0 819 00100 0 420 00010 0 221 00001 1 122 10100 0 2023 01010 0 1024 00101 1 525 10110 0 2226 01011 1 1127 10001 1 1728 11100 0 2829 01110 0 1430 00111 1 731 10111 1 2332 11111ponov. 1 31 ponovo

Page 24: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

7. Primena

Pseudoslučajne binarne sekvence su izuzetno korisne šeme za testiranje, i posebno su prilagođene testiranju serijskih uređaja koji rade na velikim brzinama, kao i testiranju multipleksera i demultipleksera. PRBS se danas najčešće koriste u najvećem broju primena upravo zbog svojih izuzetnih pseudoslučajnih osobina i velike podrške u testnim istrumentima. Pošto se PRBS mogu efikasno generisati, PRBS generatori i analizatori se često ugrađuju u integrisana kola, gde se mogu aktivirati posebnim testnim načinima rada.

Sa napretkom i razvojem interfejsa u fizičkom sloju, koji uključuju šeme kodiranja na niskom nivou poput 8B10B kodiranja, važnost PRBS je počela da opada. Pomenuti uređaji nisu više u stanju da rade sa potpuno slučajnim podacima, barem ne u normalnom načinu rada, pa se zbog toga ne mogu testirati pseudoslučajnim podacima bez odgovarajućeg kodiranja.

Pored primene u testiranju i prilikom merenja, PRBS se koriste i u mnogim drugim poljima poput zaštite podataka, kriptografiji,... Istraživanje u ovim poljima je doprinelo boljem razumevanju osobina. Primena PRBS-a zasnovanog na LFSR-u je velika i prostire se kroz razne oblasti elektronike, kao što su:

- kriptografija (sigurnosni sistemi,sigurnosno šifrovanje/dešifrovanje, šifrovanje/dešifrovanje podataka)

- kompijuterska grafika (skremblovanje/deskremblovanje podataka,digitalno procesiranje

podataka)- samotestiranje ugradjenih sistema-BIST (ček suma, testiranje veza u realnim uslovima,

testiranje sistema u uslovima najgoreg slučaja)

- detekcija greške i korekcija

- navigacioni sistemi- CDMA mobilni komunikacioni sistemi- kompresija podataka i dr.

Neke od navedenih primena su ilustrovane na slici 1.

Page 25: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

Slika 1. Oblasti primene PRBS-a

Page 26: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

8. Laboratorijska vežba

Svrha i poenta ove laboratorijske vežbe je da se studenti upoznaju sa načinom rada pseudoslučajnih binarnih sekvenci.U ovom poglavlju opisaćemo ukratko način izvođenja ove laboratorijske vežbe. Na desktop-u računara nalaze se dve ikonice kao na slici 1.

U zavisnosti od vežbe koja se izvodi student dvoklikom otvara jednu od dve ponuđene opcije,sa slike 1.

Slika 2. Startni prozor za Galois realizaciju

Slika 1.

Page 27: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

Slika 3. Startni prozor za Fibonacci realizaciju

Na slici 2. je prikazan početni prozor za Galois realizaciju.U ovom prozoru student vrši odabir moda za rad.Bira između demo programa i laboratorijske vežbe.Kada se odabere mod rada programa, vrši se postavljanje povratne sprege iza odgovarajućeg elementa za kasnjenje,u zavisnosti od zadatka lab.vežbe.Na slici 3. je prozor za Fibonacci realizaciju.Postupak je isti kao i kod Galios realizacije. Posle odabira moda i željene povratne veze iza odgovarajučeg elementa za kašnjenje,program se startuje klikom na “START”.

U demo modu,student se upoznaje sa osnovnim načinom rada PSBS,i stanjima i kojima se može nalaziti brojač,i zavisnosti od postavljenih uslova.Unosi se početno stanje,koje je uvek “11111”,perioda trajanja stanja (u sekundama),odabir ispravnog prenosenja stanja,ili sa greskom,pri cemu se izabere bit na kome je doslo do greske.Kad se startuje mod,brojač počinje da broji,tj da prikazuje svako naredno stanje brojača,vidi se i pojedinačno stanje svakog SHIFT registra.Takođe,u demo modu se prati i ispravnost prenesenog PSBS,neispravni niz PSBS,ako je došlo do greške ka i njena detekcija,sto se može videti na Slici 4.

Page 28: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

Slika 4. Fibonacci realizacija u opštem slučaju

Page 29: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

Slika 5. Prikazuje deo moda za detekciju greške

Sve ovo važi i primenjuje se na isti način i kod izrade laboratorijske vežbe GALOIS realizacijom.

Page 30: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

Slika 6. Detekcija greske

Kada se izabere bit koji će biti neispravno prenesen,program uporedjuje ispravno prenesen PSBS i neispravno prenesen niz PSBS,i u prostoru za detekciju greške umesto “0” pojaviće se “1“,na mestu greške, što se vidi na slici 6,u slučaju Galois realizacije.

Posle upoznavanja osnovnih principa rada PSBS,u demo modu,prelazi se na proveru znanja odabirom moda „Laboratorijska vežba“,kao na slici 7.

Page 31: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

a)

b)

Slika 7. Odabir moda za izradu lab.vežbe a)Galois realizacija b)Fibonacci realizacija

Kao i slučaju “Demo moda“,izabere se prvo povratna veza i program se startuje klikom na “START“. Na slici 8.,prikazan je izgled radnog prozora za laboratorijsku vežbu,u konkretnom slučaju,za Galois

Page 32: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

realizaciju (potpuno isti se radi i u slučaju Fibonacci realizacije). Početno stanje je “11111”,u gornjem desnom uglu nalazi se “blanko” polje,u koje student upisuje naredno stanje brojača.Ako je student uneo tačno naredno stanje,brojač nastavlja da broji dok god su naredna unesena stanja ispravna.U slučaju greske staje sa brojanjem,ne prelazi u naredno stanje dok se ne unese ispravno stanje.U donjem delu prozora,može se u isto vreme,pratiti i pojedinačno stanje svakog od registara.

Slika 8. Izgled radnog prozora za Galois realizaciju

U slučaju tačno unesenog stanja,mesto unosa vrednosti će pozeleneti i brojač nastavlja da broji,što se

Page 33: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

vidi na slici 9.

Slika9. Izgled prozora za tačan odabrano naredno stanje kod Galois realizacije

U slučaju netačnog odgovora,brojač prestaje da broji,mesto unosa će pocrveneti,sve dok se ne unese tačno naredno stanje,što se vidi na slici 10.

Page 34: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

Slika 10. Izgled prozora za netačno odabrano naredno stanje kod Fibonacci realizacije

Laboratorijska vežba se završava tačnim unosom svih stanja i iz vežbe se izlazi klikom na “Kraj”

9. Algoritam

Page 35: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.
Page 36: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

10. Zaključak

Ovaj seminarski rad pruža mogućnost studentima da se upoznaju sa načinom implementacije i načinom rada PRBS-a.

Zaključujemo da dobar PRNG treba da poseduje sledeće osobine:

-Uniformnost – generisani brojevi treba da imaju ujednačenu raspodelu 0 i 1.-Nezavisnost – generisani brojevi treba da budu nezavisni jedni od drugih.-Ponovljivost – generisani brojevi trebaju biti ponovljivi.-Dužina ciklusa – treba da prođe dosta vremena pre nego što dođe do ponavljanja brojeva.-Brzina – potrebno je da budu brzi.-Memorija – nije potrebna velika memorija.

Uočavamo i dve osobine koje u nekim primenama mogu izazvati probleme.

Prva: imaju odstupanje koje se ogleda u tome što zabranjeno stanje nikada u normalnom radu nije prisutno. Međutim za duge sekvence ovo odstupanje postaje zanemarljivo.

Druga: postoji mogućnost predviđanja sekvence. n+1 bit može se predvideti ako se zna prethodnih n. To znači da su poznate povratne sprege i stanje svakog flip-flopa.

Kod

Page 37: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

Ova laboratorijska vežba izrađena je u programskom jeziku „DELFI“

Kratak opis programa:

unit Unit1; {definisanje pocetne forme}

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type TForm1 = class(TForm) Odabir1: TRadioGroup; Odabir2: TRadioGroup; Start: TButton; Kraj: TButton; Label1: TLabel; procedure KrajClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure StartClick(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9; {koriscene forme}

{$R *.dfm}

procedure TForm1.KrajClick(Sender: TObject); { procedure koriscene u formi}beginClose;end;

procedure TForm1.FormCreate(Sender: TObject);begin Odabir1.ItemIndex:=0; Odabir2.ItemIndex:=0;end;

unit Unit2; {pocetak forme za prikaz 2}

Page 38: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;

type TForm2 = class(TForm) Label1: TLabel; Label2: TLabel; ScrollBar1: TScrollBar;… kraj: TButton; ComboBox: TComboBox; Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure stopClick(Sender: TObject); procedure resetClick(Sender: TObject); procedure ScrollBar1Change(Sender: TObject); procedure krajClick(Sender: TObject); procedure promena(Sender: TObject); procedure promena1(Sender: TObject); private { Private declarations } public { Public declarations } end;

var {koriscene promenjive} Form2: TForm2; i,k:integer;

implementation

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject); {kreiranje forme 2}beginTimer1.Enabled:=False; {definisanje Edit boxa i Shape}Edit6.Text:=IntToStr((ScrollBar1.Position));Edit1.Text:=IntToStr(1);Edit2.Text:=IntToStr(1);Edit3.Text:=IntToStr(1);Edit4.Text:=IntToStr(1);Edit5.Text:=IntToStr(1);Edit9.Text:='';prenos.Text:=Edit5.Text;Edit10.Text:=prenos.Text;i:=1;k:=1;

Shape1.Brush.Color:=clRed;

Page 39: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

Shape2.Brush.Color:=clWhite; …Edit7.Text:=Edit7.Text+prenos.Text;If i=(ComboBox.ItemIndex-1) then Edit8.Text:=Edit8.Text+(IntToStr(1 xor(StrToInt(prenos.Text))))else Edit8.Text:=Edit8.Text+prenos.Text;

if i=(ComboBox.ItemIndex-1) then Edit9.Text:=Edit9.Text+'1'else Edit9.Text:=Edit9.Text+'0';

brojac.Text:=IntToStr(i);end;

procedure TForm2.promena(Sender: TObject); {definisanje Edit boxa za bit prenosa}beginprenos.Text:=Edit5.Text;Edit10.Text:=prenos.Text;end;

procedure TForm2.Timer1Timer(Sender: TObject); {timer rutina i definisanje promene sadrzaja stanja registra}var pomocna:string;beginTimer1.Enabled:=True;Timer1.Interval:=(ScrollBar1.Position*1000);pomocna:=IntToStr((StrToInt(Edit1.Text)) xor (StrToInt(Edit5.Text)));Edit1.Text:=Edit2.Text;Edit2.Text:=Edit3.Text;Edit3.Text:=Edit4.Text;Edit4.Text:=Edit5.Text;Edit5.Text:=pomocna;prenos.Text:=Edit5.Text;Edit7.Text:=Edit7.Text+prenos.Text;Edit10.Text:=prenos.Text;If i=(ComboBox.ItemIndex-1) then Edit8.Text:=Edit8.Text+(IntToStr(1 xor(StrToInt(prenos.Text))))else Edit8.Text:=Edit8.Text+prenos.Text;

if i=(ComboBox.ItemIndex-1) then Edit9.Text:=Edit9.Text+'1'else Edit9.Text:=Edit9.Text+'0';

i:=i+1;k:=k+1;brojac.Text:=IntToStr(i);

Page 40: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

if k=1 then begin Shape1.Brush.Color:=clRed;… end; if k=2 then begin Shape1.Brush.Color:=clWhite;…end;if k=3 then begin Shape1.Brush.Color:=clWhite;…end; if k=4 then begin Shape1.Brush.Color:=clWhite;… end;if k=5 then begin Shape1.Brush.Color:=clWhite;…end;

if k=6 then begin Shape1.Brush.Color:=clWhite;…end;… if i=22 then Timer1.Enabled:=Falseend;procedure TForm2.stopClick(Sender: TObject);beginTimer1.Enabled:=False;end;

procedure TForm2.resetClick(Sender: TObject); {procedura koja resetuje stanje registra}beginEdit6.Text:=IntToStr((ScrollBar1.Position));Edit1.Text:=IntToStr(1);Edit2.Text:=IntToStr(1);Edit3.Text:=IntToStr(1);Edit4.Text:=IntToStr(1);Edit5.Text:=IntToStr(1);Edit9.Text:='';Edit7.Text:='';Edit8.Text:='';prenos.Text:=Edit5.Text;Edit10.Text:=prenos.Text;i:=1;k:=1;

Page 41: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

Shape1.Brush.Color:=clRed;…Edit7.Text:=Edit7.Text+prenos.Text;If i=ComboBox.ItemIndex then begin Edit8.Text:=Edit8.Text+(IntToStr(1 xor(StrToInt(prenos.Text)))); Edit9.Text:=Edit9.Text+'1'; endelse begin Edit8.Text:=Edit8.Text+prenos.Text; Edit9.Text:=Edit9.Text+'0'; end;

If ComboBox.ItemIndex=0 then begin Edit8.Text:=prenos.Text; Edit9.Text:='0'; end;

brojac.Text:=IntToStr(i);Timer1.Enabled:=False;

end;

procedure TForm2.ScrollBar1Change(Sender: TObject); {procedura za definisanje Scroll Bara}beginEdit6.Text:=IntToStr((ScrollBar1.Position));Timer1.Interval:=(ScrollBar1.Position*1000);end;

procedure TForm2.krajClick(Sender: TObject); {procedura koja zatvara formu i resetuje stanja registra i brojaca}beginClose;Timer1.Enabled:=False;Edit6.Text:=IntToStr((ScrollBar1.Position));Edit1.Text:=IntToStr(1);Edit2.Text:=IntToStr(1);Edit3.Text:=IntToStr(1);Edit4.Text:=IntToStr(1);Edit5.Text:=IntToStr(1);Edit9.Text:='';prenos.Text:=Edit5.Text;Edit10.Text:=prenos.Text;i:=1;k:=1;

Shape1.Brush.Color:=clRed;… Edit7.Text:=Edit7.Text+prenos.Text;If i=(ComboBox.ItemIndex-1) then

Page 42: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/A.Savic - PMitic - tehdoc.doc · Web viewPostoje i savršeniji algoritmi za analizu LFSR izuzetno velikog stepena, ali su oni previše složeni.

Edit8.Text:=Edit8.Text+(IntToStr(1 xor(StrToInt(prenos.Text))))else Edit8.Text:=Edit8.Text+prenos.Text;

if i=(ComboBox.ItemIndex-1) then Edit9.Text:=Edit9.Text+'1'else Edit9.Text:=Edit9.Text+'0'; brojac.Text:=IntToStr(i);end;

procedure TForm2.promena1(Sender: TObject); {procedura za kontrolu ComboBox-a}begin If ComboBox.ItemIndex=1 Then begin Edit8.Text:=IntToStr(1 xor(StrToInt(prenos.Text))); Edit9.Text:='1'; end; If ComboBox.ItemIndex=0 Then begin Edit8.Text:=prenos.Text; Edit9.Text:='0'; end;end;

end.