请给出一个8级的能输出m序列的线性反馈移位寄存器的设计 (1)将设计的框图简单的画至下方 (2)给出一个初始状态,编程把你的输出结果粘贴至下方,并标识号序列在一个周期的开始和结束位置(用红色标识开始状态和结束状态即可),并验证你的结果是否是理论上的周期长度
时间: 2024-09-24 19:05:42 浏览: 47
设计一个八级的线性反馈移位寄存器(LFSR,Linear Feedback Shift Register)来生成m序列需要考虑特定的生成多项式。M序列是一种特殊的二进制序列,具有良好的自相关性质和广泛的应用,如无线通信和密码学。
**框图设计**:
```plaintext
+--+
| 初始状态(MSB) |
| [7] [6] [5] [4] [3] [2] |
+------------------------+
|
v
[0] <- LFSR 输出 | XOR门 |
+------------------------+ |
| [7] -> 7位移位 | |
| [6] -> 6位移位 | |
| ... | |
| [0] -> 0位移位 | |
+----------+ |
| FFE (模2除法) |
+-----------------+
```
这里,输入部分是一个异或(XOR)门,用于计算新的移位值;FFE代表有限域滤波器(Finite Field Eraser),即模2除法,用于保持循环性。
**生成m序列的步骤**:
1. 初始化状态:通常选择一个特殊的状态作为起始点,比如对于m序列,常见的初始状态可能是01011010(对应于生成多项式x^8 + x^5 + x^3 + 1)。其他初始状态可能会导致不同的序列,但都是m序列的一部分。
2. 移位操作:每次将最右边的位移出,与LFSR的其它位按特定规则异或,然后添加到新位置。
3. 模2除法:新产生的数对生成多项式取余,如果等于0,则舍弃,否则用该余数替换移位后的最高位。
**示例输出**:
假设我们使用上述初始状态和生成多项式,输出可能如下:
- 红色开始状态:01011010
- 第1周期:01011010 -> 11011010
- 第2周期:11011010 -> 10110110
- 第3周期:10110110 -> 01101101
- ...
**验证**:
验证周期长度通常是基于m序列的周期性质,m序列的周期长度等于其指数次方减一。对于八级LFSR,周期长度是\(2^8 - 1 = 255\)。你可以检查输出是否每255位重复一次,这将是m序列的一个完整周期。
阅读全文