GENERATOR DE SECVENŢE BINARE PSEUDOALEATOARE 1. Consideraţii teoretice Zgomotul alb este un proces aleator cu densitate spectrală de putere constantă într-o bandă infinită de frecvenţe. Zgomotul cvasialb este un proces aleator cu densitatea spectrală de putere constantă într-o bandă limitată de frecvenţe. Zgomotul cvasialb poate fi generat prin diverse metode, între care una, destul de simplă, se bazează pe utilizarea secvenţelor pseudoaleatoare periodice. O secvenţă pseudoaleatoare periodică are următoarele proprietăţi: a) Semnalul se prezintă ca o succesiune de impulsuri de durată Δ având valoarea +U sau -U; b) Numărul total de intervale Δ în cadrul unei perioade este N = 2 p - 1, unde p este un număr întreg; c) În cadrul unei perioade, numărul intervalelor cu valoare +U este mai mare cu o unitate faţă de numărul intervalelor cu valoare -U; d) Dacă se defineşte ca stare o succesiune de intervale Δ succesive în care semnalul este egal numai cu +U sau numai cu -U, atunci numărul total de stări este egal cu (N+1)/2 = 2 p-1 ; e) În cadrul unei perioade, jumătate din numărul stărilor au durata egală cu Δ, un sfert au durata 2Δ, o optime durata 3Δ ş.a.m.d., cu excepţia unei stări de durată pδ şi valoare +U şi o stare de valoare -U şi durata (p-1)δ; f) Efectuând o permutare ciclică a unei secvenţe pseudoaleatoare, se obţine o nouă secvenţă, care, comparată cu cea originală, prezintă un număr de coincidenţe care este mai mic cu o unitate faţă de numărul de necoincidenţe. O reprezentare intuitivă a unei secvenţe pseudoaleatoare este dată în fig. 1. +U -U STARE STARE STARE STARE STARE STARE 2Δ Δ 3Δ 2Δ Δ 3Δ Figura 1 O secvenţă pseudoaleatoare periodică se obţine dintr-o secvenţă binară pseudoaleatoare periodică efectuând corespondenţa:"1" + U şi "0" - U. Secvenţele binare pseudoaleatoare periodice se pot obţine cu registre de deplasare cu reacţie (RDR). Aceste RDR, ca şi circuitele de multiplicare şi divizare din lucrarea precedentă, pot fi realizate cu CBB de tip D (numite simplu celule) şi sumatoare modulo 2. Exemplu: Fie registrul din fig. 2, realizat cu trei celule. Ieşirile celulelor 3 şi 1 sunt aplicate unui sumator modulo doi; ieşirea sumatorului este legată la intrarea serie a 11
registrului (se realizează deci "reacţia 3:1"). Presupunând starea iniţială a registrului 1 0 0 (celula C1 în 1 şi celulele C2 şi C3 în 0), ţinând cont de funcţionarea unui CBB de tip D, rezultă că la aplicarea tactului registrul va trece succesiv prin stările indicate în tabelul 1. Pe baza acestui exemplu se vor putea face unele observaţii după cum urmează: - Secvenţele binare obţinute de la ieşirea unei celule respectă proprietăţile unei secvenţe pseudoaleatoare periodice; - La ieşirile celulelor se obţin aceleaşi secvenţe decalate însă în timp; Figura 2 Tabel 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 1 1 0 0 Considerând cazul general al unui registru cu p celule binare, se pot face următoarele consideraţii: - nu orice reacţie asigură realizarea ciclului maxim de lungime 2 p -1; pentru a realiza ciclul de lungime maximă, reacţiile trebuie alese convenabil (tabelul 2) Tabelul 2 Nr. celule p 2 3 4 5 6 Reacţie 2:1 3:1 3:2 4:1 4:3 5:2 5:3 6:1 6:5 Dacă se stabileşte o astfel de reacţie rezultă că la ieşirea unei celule va apărea 1 logic de 2 p-1 ori şi 0 logic de 2 p-1-1 ori (mai puţin cu o unitate, deoarece nu este parcursă starea 000...0). Rezultă pentru 1 si 0 probabilităţile de apariţie: P(1)=Nr. cazuri favorabile/nr. total=2 p-1 /2 p -1 P(0)=[2 p-1-1]/2 p -1 lim P 1 = lim P 0 = 1/ 2. Se observă că p p Secvenţa binară obţinută la ieşirea unei celule (identică de fapt cu ieşirea celorlalte 12
celule, doar decalate în timp) îndeplineşte proprietăţile unei secvenţe pseudoaleatoare periodice dacă reacţia s-a ales convenabil. Intervalul Δ coincide cu perioada tactului aplicat celulelor binare. 2. Funcţia de autocorelaţie Fie o secvenţă binară X de lungime N: x 1 x 2... x N. Funcţia de autocorelaţie a acestei secvenţe se defineşte cu relaţia: N 1 R k x x, k 0,1,2,, N 1 h h k N h 1 unde x h este simbolul de pe poziţia h, iar xh keste simbolul de pe poziţia h+k. Dacă h+k > N se va considera xh k= x h k. N Exemplu: Fie X de forma x 1 x 2 x 3 x 4 x 5 (deci N=5) pentru k = 0, 2 2 2 2 2 R 0 1 5 x1 x2 x3 x4 x5 pentru k = 1, R 1 1 5... 1 2 2 3 3 4 4 5 5 1 pentru k = 4, R 4 1 5 1 5 2 1 3 2 4 3 5 4 Se poate demonstra că funcţia de autocorelaţie a unei secvenţe pseudoaleatoare periodice se apropie cu atât mai mult de funcţia de aucorelaţie a zgomotului alb cu cît Δ este mai mic şi N (deci implicit p) este mai mare. Funcţia prezintă o valoare maximă U 2 pentru k = 0, N, 2N, 3N etc. şi valori de -U 2 /N în rest. 3. Dispozitivul de laborator Dispozitivul de laborator, care permite vizualizarea pe osciloscop a unui număr de puncte egal cu lungimea secvenţei pseudoaleatoare periodice, constă într-un registru de deplasare cu 6 circuite basculante bistabile de tip D şi o poartă de tip XOR, având schema în fig. 3. Registrul de deplasare cu reacţie se realizează conectând două din ieşirile Q 1, Q 2,, Q 6 la intrările R1, R 2 ale porţii XOR. Punctele Y 1 şi Y 2 sunt conectate prin intermediul a trei rezistenţe de valori R, 2R, respectv 4R, la ieşirile Q ale primelor trei, respectiv a ultimelor trei bistabile. Prin aplicarea tensiunilor corespunzătoare lui Y 1 şi Y 2 pe cele două perechi de plăci de deflexie ale osciloscopului (pe orizontală, respectiv pe verticală) se obţine un punct pe ecranul acestuia. În ritmul tactului tensiunile se schimbă periodic, pe ecranul osciloscopului apărând un număr de puncte corespunzător lungimii secvenţei pseudoaleatoare generate. 13
Figura 3 4. Desfăşurarea lucrării 4.1. Se întocmesc tabele cu stările unui registru de patru celule şi reacţii 4:1 şi 4:2 pornindu-se de la starea iniţială 1000. Se notează pe caiete concluziile deduse. 4.2. Se notează pe caiete secvenţele corespunzătoare reacţiilor 3:1, 4:1 şi 4:2, făcânduse corespondenţa + U 1 şi - U 0. Se verifică proprietăţile unei secvenţe pseudoaleatoare periodice pentru reacţiile 3:1 şi 4:1. 4.3. Se calculează funcţia de autocorelaţie în toate cele trei cazuri de la punctul 4.2 luându-se k = 0, 1, 2,... până la k = de două ori perioada secvenţei. Se notează pe caiete graficul rezultat notând pe abscisă valorile lui k (discrete) şi pe ordonată valoarea funcţiei de autocorelaţie. Se notează concluziile deduse. 4.4. Se calculează coordonatele punctelor pe orizontală şi pe verticală, conform circuitului din figura 3, pentru reacţia 3:1 luându-se în calcule:1 logic 5 V si 0 logic 0 V. Exemplu: dacă bistabilele 1, 2 şi 3 sunt în starea 1 0 1, ieşirile Q ale bistabilelor vor fi 0 1 0, iar schema echivalentă pentru calculul tensiunii în Y 1 este în fig. 4. Figura 4 4.5. Aplicaţia MATLAB -> Simulink: Se lansează programul Matlab şi din meniul 'File->Open' se selectează şi se deschide modelul lucrării de laborator. Se verifică rezultatele obţinute la punctul 4.1. astfel: - Se identifică blocurile de pe schemă; - Se modifică legăturile pentru a obţine reacţiile dorite; - Din meniul 'Simulation->Start' se porneşte simularea; - Observând formele de undă de pe osciloscoape ("Scope") se deduc secvenţele binare 14
rezultate, precizând dacă sunt pseudoaleatoare sau nu; - Prin modificarea reacţiilor din registrul de deplasare format din 6 celule binare de tip D, se observă totalitatea stărilor circuitului; - Pentru reacţia 4:3 se calulează coordonatele punctelor pe orizontală şi pe verticală din figura ce apare după simulare XY Graph, completând tabelul cu 6 coloane corespunzător evoluţiei stărilor circuitului şi ţinând cont că valoarea binară a primei celule se înmulţeşte cu 1, a celei de a doua celule cu 0.5, iar a celei de-a treia celule cu 0.25, iar pentru ultimele trei celule se repetă operaţiile ca şi pentru primele trei celule. 15