想知道PRBS訊號如何產生請照過來~

By | 25 10 月, 2018
PRBS(Psuedo Random Binary Sequence)訊號在SI領域裡被廣泛應用當作一個訊號源,這個訊號源包含了隨機產生的01,這些不同的01的編排將會給通道帶來不一樣的激勵,產生各式各樣的響應,工程師可以藉由這些不同的響應來組合出眼圖進而判別通道的好與壞。今天我們就從SI角度切入來簡單介紹PRBS這個常見的訊號源!
PRBS,其中文名稱叫做偽亂數二進位數列,也就是說它是一個的隨機的數列,它並沒有辦法產生一個真正隨機的訊號,而是有規律的隨機訊號。
要知道PRBS怎麼產生訊號首先我們要先知道什麼是LFSR(Linear Feedback Shift Register)。下圖是一個常見的LFSR架構(X7+X6+1=0),中間的每一個方框各代表一個暫存器,只儲存01的資料。
有兩個很重要的參數需要被設定:
1.Seed:是暫存器的初始值(Initial Value),為一個二進位值,以下圖來看暫存器資料由左至右為0000001,則此時Seed1

2.tapLFSR會輸出最後一個暫存器的值,並且將有設定tap的暫存器做XOR運算並反饋回第一個暫存器,以下圖來看即為67

現在我們得到此LFSR將輸出1並且將01進行XOR運算得到1反饋回第一個暫存器。
此時暫存器有1000000數列,並輸出0

在下個時間點,暫存器將有0100000數列,並輸出0

在第2n-1(nLFSR的暫存器數量,此為7)的資料輸出後,暫存器的資料將回到初始值的0000001,此時波形開始重覆!
因為波形會有重覆,所以這就是為什麼我們會說PRBS隨機的用意,它並不是真正的隨機碼型,而是有條件的隨機,這個條件就在於LFSR暫存器的多寡,越多的暫存器將產生越多不同種的碼型。
第二個說它是隨機的原因是他無法產生與暫存器同數量的0,以上述例子來說,此LFSR暫存器無法產生連續70,但卻可以產生連續71,這代表著平均來說0永遠比1還少,想當然爾也不是隨機的!
 
維基百科中有寫出暫存器數量與tap的設定,有興趣可以前往查閱。

 

下圖是我用HSPICE以上述例子跑一個PRBS訊號出來的結果,UI200ps,各位可以算看看囉!