PRBS: Pseudo Random Binary Sequences Chiara Masiero http://automatica.dei.unipd.it/people/chiara-masiero DEI - UniPD 3 Novembre 2 C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 / 8
Motivazione Contesto Nel processo di identificazione il segnale di ingresso gioca un ruolo determinante. Pseudo Random Binary Sequences: perchè utilizzarle? Sono segnali facili da generare (anche con un circuito digitale) 2 Hanno molte affinità statistiche con il rumore bianco 3 Sono persistentemente eccitanti di ordine grande C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 2 / 8
PRBS: di cosa si tratta? Le PRBS sono segnali periodici a tempo discreto che possono assumere solo due valori. Plot of a PRBS of period 7 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 2 2 Figura: PRBS di periodo 7 Solitamente si usano i valori e. C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 3 / 8
Generazione di una PRBS Per generare PRBS di periodo massimo 2 n si può utilizzare uno shift register ad n stati Algoritmo Si inizializzano i valori a,..., a n, con a i {, } i {,..., n}; 2 Si inizializzano gli n stati dello shift register con valori binari in {, }. 3 Aggiornamento dello stato x k+ (t + ) = x k (t), x (t + ) = n i= a ix i (t). 4 Ad ogni istante: u(t) = x n (t). C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 4 / 8
Generazione di una PRBS (2) Per ogni i =,..., n, a i {, }. L aggiornamento di x richiede il calcolo di somme modulo-2 (xor): u u 2 u u 2 C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 5 / 8
Generazione di una PRBS (3) In spazio di stato, a patto di interpretare tutte le somme che intervengono nell aggiornamento di x (t) come somme modulo-2 (xor): a a 2 a 3... a n... x(t + ) =.... x(t)........... [ u(t) =... ] x(t) In questo modo si ottiene una sequenza u(t) a valori in {, }. Per avere una sequenza a valori in {a, b} basta considerare u ab = a + (b a)u(t). C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 6 / 8
PRBS di periodo massimo: ml PBRS Un registro a n stati permette 2 n possibili combinazioni del vettore di stato x(t) Lo stato x(t) = implica x(t + k) = per ogni k, e quindi u(t) = per ogni t, quindi non è accettabile. ml PRBS Segue che periodo massimo della PRBS è M = 2 n. Si può mostrare che, con un opportuna scelta dei coefficienti a i è possibile ottenere una PRBS di periodo massimo (o massima lunghezza, da cui l acronimo ml-prbs) C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 7 / 8
PRBS di periodo massimo (2) Con n = 3, a =, a 2 = e a 3 =, si ottiene la sequenza di stato che ha periodo 4. Con a =, a 2 = e a 3 = la sequenza di stato ha periodo 7: C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 8 / 8
PRBS di periodo massimo (3) Motivazione L autocorrelazione di una ml-prbs approssima bene quella di un rumore bianco ( = delta di Kronecker) Come noto, un segnale di periodo T è al più persistentemente eccitante di ordine T. Introduciamo il polinomio: A(z ) = a z a 2 z 2... a n z n Se u(t) è la PRBS generata con tali coefficienti, allora A(z )u(t) =. C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 9 / 8
PRBS di periodo massimo (4) Lemma Come scegliere i coefficienti di modo che la sequenza sia di periodo massimo M = 2 n? L equazione A(z )u(t) = ha soluzione a periodo 2 n se e solo se sono soddisfatte le seguenti condizioni: il polinomio A(z ) è irriducibile (i.e. non è divisibile per polinomi a coefficienti binari); 2 A(z ) è un fattore di ( z M ) ma non di ( z p ), con p < M = 2 n. C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 / 8
PRBS di periodo massimo (5) Grazie al precedente risultato si ottengono i polinomi che seguono: n A (z ) A 2 (z ) 3 z z 3 z 2 z 3 4 z 2 z 4 z 3 z 4 5 z 2 z 5 z 3 z 5 6 z z 6 z 5 z 6 7 z z 7 z 3 z 7 8 z z 2 z 7 z 8 z z 6 z 7 z 8 9 z 4 z 9 z 5 z 9 z 3 z z 7 z C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 / 8
Descrizione statistica di una ml-pbrs Proprietà di una ml-prbs u(t) = per 2 n campioni, u(t) = per 2 n campioni (per periodo) 2 u(t) u(t k) = u(t l), per qualche l [, M ] 3 Se x, y {, } allora xy = 2 [x + y (x y)] Con queste proprietà si possono calcolare media e autocorrelazione campionarie della sequenza: m = M M t= u(t) = 2 + 2M, r(τ) = M r() = M M [u(t) m] 2 = M2 4M 2 t= M [u(t + τ) m][u(t) m] = M + 4M 2 t= C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 2 / 8
Descrizione statistica di una ml-pbrs (2) Se consideriamo la sequenza u, (t) = 2u(t) otteniamo: m = M, r() = M 2 r(τ) = M M 2 M τ =, 2,..., M.2.8.6.4.2 Autocorrelation of a PRBS, order.2 5 5 5 5 C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 3 / 8
Descrizione statistica di una ml-pbrs (3) Una PRBS di periodo massimo è persistentemente eccitante (p.e.) di ordine M = 2 n, ma non M +. Infatti la matrice di Toeplitz si ordine k k M... M R k =... M..... M M... M ha rango pieno se e solo se k M. C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 4 / 8
Descrizione statistica di una ml-pbrs (4) L analogia statistica tra ml-prbs e WN emerge dall analisi statistica dei segnali filtrati: u(t) z.9 u f (t) All aumentare di n la correlazione del segnale d uscita tende a quella ottenuta alimentando il filtro con WN. C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 5 / 8
In Matlab Nel system identification toolbox è implementata la funzione idinput:» u = idinput(n, prbs ); Costruisce una PRBS di periodo massimo, utilizzando n stati in modo tale che 2 n > N. C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 6 / 8
Esercitazione Scrivere una funzione che acquisisce in ingresso un intero n [3, ] e genera una PRBS di periodo massimo M = 2 n. Suggerimento: dare un occhiata al comando circshift ed al costrutto cases. Testare questa funzione per diversi valori di n, confrontando la correlazione dei segnali ottenuti con quella di un rumore bianco. Suggerimento: per il calcolo della correlazione della sequenza u usare il comando xcorr(u, biased ). Visualizzare la correlazione di una PRBS filtrata attraverso un filtro IIR del primo ordine, mettendola ancora in confronto con quella di un rumore bianco. C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 7 / 8
Riferimenti bibliografici Torsten Soderstrom, Petre Stoica System Identification, Cap. 5 Prentice Hall, 989 W.D.T. Davies System Identification for Self-Adaptive Control Ed. Wiley-Interscience, London, 97 C. Masiero (DEI - UniPD) PRBS tutorial 3 Novembre 2 8 / 8