prbs

prbs

PRBS 是 Pseudo Random Binary Sequence 的縮寫,即“偽隨機二進位序列”的意思。

定義


PRBS: Pseudo-Random Binary Sequence 偽隨機二進位序列
產生(0,1)之間的偽隨機二進位序列:
function[bits] = (numbits)
%%%%%%%%%%%%%%numbits是要產生的比特數;bits是二進位序列
bits=randn(1,numbits)<0.5;
PRBS碼的用途 在高速設計中為了測試高速串列通道傳輸的誤碼率,通常通過發送PRBS碼來進行測試。
PRBS的驗證就是PRBS的產生的反過程,具體方法是Transceiver接收端首先將收到的數據寄存一拍(并行數據),將寄存的數據進行PRBS編碼,編碼后的數據與最新接收到的數據進行比較,如果一致則表示PRBS校驗正確。

編碼原則


PRBS編碼的原則就是當前碼字是上拍碼字進行PRBS編碼得到了,所以校驗利用這個原則來進行驗證。
PRBS 碼具有“隨機”特性,是因為在 PRBS 碼流中,二進位數“ 0 ”和“ 1 ”是隨機出現的,但是它又和真正意義上的隨機碼不同,這種“隨機”特性只是局部的,即在周期內部,“0”和“1”是隨機出現的(碼流生成函數與初始碼確定后,碼流的順序也是固定的),但各個周期中的碼流卻是完全相同的,所以我們稱其為“”偽隨機碼
PRBS 碼的周期長度與其階數有關,常用的階數有 7 、 9 、 11 、 15 、 20 、 23 、 31 ,也就是我們常說的 PRBS7 、 PRBS9 、 PRBS11 、 PRBS15 、 PRBS20 、 PRBS23 、 PRBS31 。
對於 n 階 PRBS 碼,每個周期的序列長度為 2^n-1 ,在每個周期內,“ 0 ”和“ 1 ”是隨機分佈的,並且“ 1”的個數較“ 0 ”的個數多一個,連“ 1 ”的最大數目為 n ,連“ 0 ”的最大數目為 n-1( 反轉后就是 n-1 個連“ 1 ”和 n 個連“ 0 ” ) 。
在對高速信號鏈路進行誤碼測試時,基本上都是利用 PRBS 碼流來模擬真實的線網碼流環境,因為在線網中,所有的數據都是隨機出現的,沒有任何規律可言,而 PRBS 碼流在一定程度上具有這種“隨機數據”特性,二進位“ 0 ”和“ 1 ”隨機出現,其頻譜特徵與白雜訊非常接近。 PRBS 碼流的階數越高,其包含的碼型就越豐富,就越接近真實的線網環境,測試的結果就越準確。
一個 PRBS 序列可以串 / 並轉換成多路( 2 、 4 、 8 、 16 …路),每路輸出的速率降低,但仍然保持原序列的一切特徵;反之,同一時鐘源低速率多路( 2 、 4 、 8 、 16 …路)同一 n 數的 PRBS 可以經並 / 串轉換成高速率的 n 階 PRBS 。
PRBS 碼型發生器由移位寄存器和異或門 (XOR) 組成.
標準的 PRBS 碼流中,二進位數“ 0 ”和“ 1 ”的比例是相等的,但是在某些特定測試場合下,要求加大碼流中“ 0 ”或“ 1 ”的比重,這就有了 Variable Mark Ratio Quasi-PRBS ,此碼也是以 PRBS 碼為基礎的,常見的 Mark Ratio 有 1/8,1/4,3/4 和 7/8( 標準 PRBS 碼的 Mark Ratio 為 1/2)
將 1/4 、 3/4 Mark RatioPRBS 碼流進行反轉便可得到 3/4 、 7/8 Mark Ratio PRBS 碼流。
1).1/4 Mark Ratio PRBS 碼流中,二進位數“ 1 ”的比例占 1/4 ,“ 0 ”的比例占 3/4 ;
2). 3/4 Mark Ratio PRBS 碼流中,二進位數“ 1 ”的比例占 3/4 ,“ 0 ”的比例占 1/4 ;
3). 1/8 Mark Ratio PRBS 碼流中,二進位數“ 1 ”的比例占 1/8 ,“ 0 ”的比例占 7/8 ;
4). 7/8 Mark Ratio PRBS 碼流中,二進位數“ 1 ”的比例占 7/8 ,“ 0 ”的比例占 1/8