LFSR 和 m序列
生活随笔
收集整理的這篇文章主要介紹了
LFSR 和 m序列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
翻譯自:sharetechnote: LFSR
LFSR
Linear Feedback Shift Register - 線性反饋移位寄存器
LFSR 是一種移位寄存器電路,其中兩個或多個中間步驟的輸出線性組合并反饋到輸入值,這就是為什么它被稱為線性反饋移位寄存器的原因。
該電路具有以下特點:
- 如果初始狀態相同,則最終會得到相同的輸出序列(即輸出序列是確定的);
- 輸出序列趨向于隨機序列(偽隨機);
- 經過一定次數的迭代后,你將得到與初始狀態相同的狀態值;(最大重復間隔可由(2n2^n2n - 1)計算,其中n為移位寄存器的數目)
由于上述特性,LFSR主要用于生成PN序列(偽噪聲序列)。
本電路中每次迭代的狀態轉換如下表所示,在這個表中,你會發現到上面列出的所有屬性。
在許多出版物中,你會看到這個電路被表示為一個多項式,但是你會發現很難把真實的電路和生成的多項式聯系起來,下面的插圖將幫助你理解生成的多項式的含義。
//上圖中,原作者可能存在一個錯誤,應該是1X1X^1X1, 而不是0X1X^1X1.
<LFSR與Matlab通信工具箱>
可以使用Matlab通信工具箱實現LFSR,如下所示,這個例子是針對上述電路的。
g = [1 0 0 1 1];
init = [1 1 1 1];
curr = [1 1 1 1];
mask = [0 0 0 1];
NoOfOutBits = 15;
h = commsrc.pn('GenPoly', g, ...'InitialStates', init, ...'CurrentStates', curr, ...'Mask', mask, ...'NumBitsOut', NoOfOutBits)
如果使用下列函數生成輸出序列:
h.generate ()
您將得到以下輸出:
1 1 1 1 0 0 0 1 0 0 1 1 0 1 0
將此結果與上表中的x(i-4)列進行比較。
m 序列
m Sequence (MLS : Maximum Length Sequence)
m序列是一類特殊的LFSR序列,為了更好的理解m序列,首先你需要理解LFSR序列的概念。
與典型的LFSR相比,m序列有什么特別之處?
如果使用LFSR生成一個序列,輸出最終會重復它自己,但是在大多數應用程序中,其目的是使用給定數目的移位寄存器(后續用taps表示這些寄存器)生成盡可能長的非重復序列。m-Squence 是一種特殊類型的LFSR,它為每個給定的taps提供了最長的非重復序列。
下表顯示了各種taps的已知m序列:
總結
以上是生活随笔為你收集整理的LFSR 和 m序列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 奇异博士是谁画的啊?
- 下一篇: Gold Code,Gold Seque