线性反馈移位寄存器(LFSR)是一种用于生成伪随机数序列的简单结构。在这里,我们有一个四项原根多项式 p ( x ) = 1 + x + 0 x 2 + x 3 = 110 1 2 p(x) = 1 + x + 0x^2 + x^3 = 1101_2 p(x)=1+x+0x2+x3=11012 和初始值 S 0 = 0100 S_0 = 0100 S0=0100。我们将使用 LFSR 动作过程来生成一个伪随机序列。

LFSR 的动作过程如下:

将初始值加载到寄存器中。
对于每次时钟周期:
a. 将寄存器中的当前值与原根多项式的非零项进行异或(XOR)操作。
b. 将结果右移一位,然后将异或(XOR)操作的结果放入最高位。
现在,我们将详细描述 LFSR 的动作过程:

加载初始值: S 0 = 0100 S_0 = 0100 S0=0100
时钟周期 1:
a. 异或操作: 0 ⊕ 1 ⊕ 0 = 1 0 \oplus 1 \oplus 0 = 1 010=1
b. 右移并更新最高位: S 1 = 1010 S_1 = 1010 S1=1010
时钟周期 2:
a. 异或操作: 1 ⊕ 0 ⊕ 0 = 1 1 \oplus 0 \oplus 0 = 1 100=1
b. 右移并更新最高位: S 2 = 1110 S_2 = 1110 S2=1110
时钟周期 3:
a. 异或操作: 1 ⊕ 1 ⊕ 1 = 0 1 \oplus 1 \oplus 1 = 0 111=0
b. 右移并更新最高位: S 3 = 0111 S_3 = 0111 S3=0111
时钟周期 4:
a. 异或操作: 0 ⊕ 1 ⊕ 1 = 0 0 \oplus 1 \oplus 1 = 0 011=0
b. 右移并更新最高位: S 4 = 0011 S_4 = 0011 S4=0011
时钟周期 5:
a. 异或操作: 0 ⊕ 0 ⊕ 1 = 1 0 \oplus 0 \oplus 1 = 1 001=1
b. 右移并更新最高位: S 5 = 1001 S_5 = 1001 S5=1001
时钟周期 6:
a. 异或操作: 1 ⊕ 0 ⊕ 1 = 0 1 \oplus 0 \oplus 1 = 0 101=0
b. 右移并更新最高位: S 6 = 0100 S_6 = 0100 S6=0100
在时钟周期 ,6后,寄存器的值回到了初始值 S 0 = 0100 S_0 = 0100 S0=0100,因此序列将开始重复。所以,LFSR 生成的伪随机序列为:
0100, 1010, 1110, 0111, 0011, 1001。周期为6,小于最大周期15。

04-14 17:01