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