(x)=x*+x +1,以其连接多项式组成线性移位寄存器,画出逻辑图。给出状态变迁及输出序列。
时间: 2024-11-04 11:14:10 浏览: 60
您提到的是一个简单的线性反馈移位寄存器(Linear Feedback Shift Register, LFSR),通常用于生成伪随机数序列。给定的连接多项式 `x^2 + x + 1` 表示了移位寄存器的工作原理:
1. 连接多项式的系数决定了移位方向和输出函数。在这个例子中,`x^2` 指向下一个位置,`x` 表示当前位置的数据参与反馈,`1` 表示常数项,即无论移位如何,最右边总是输出。
2. 状态变迁是指每次移位操作时,当前寄存器的内容根据连接多项式进行更新。如果寄存器的当前状态是 `s = s_n s_{n-1} ... s_0`,其中 `s_n` 是最低有效位,那么下一次移位后的状态就是 `s' = s_n s_{n-1}`,并且输出 `o = s_n`。
3. 输出序列会随着每次移位而产生,初始状态可以选择任意一个二进制数,比如 `s_0 = 1`。然后按照上述规则迭代,例如第一次移位输出 `1`,第二次移位 `s' = 1 1` 输出 `1`,第三次 `s'' = 1 0` 输出 `0`,以此类推。
以下是简化的逻辑图表示:
```
________
/ \
v XOR (x) v
\________/
|
v
+1 Output
```
这里 `XOR (x)` 表示按位异或运算,结合常数项 `1`。
对于具体的输出序列和状态变迁,需要手动计算多次。下面是几个初始状态下的输出序列示例:
- 初始状态 `s_0 = 1`:输出序列可能是 `1, 0, 1, 1, 0, 1, 1, ...`
- 初始状态 `s_0 = 0`:输出序列可能是 `0, 1, 1, 0, 1, 0, 1, ...`
如果你需要详细的输出序列以及状态表,请告诉我初始状态,我可以帮你计算出来。
阅读全文