转移状态关系
时间: 2023-10-28 21:12:56 浏览: 96
在LFSR中,每个时钟周期中,寄存器中的位向左移动一位,同时根据反馈多项式的定义,某些位进行异或运算。这个异或运算的结果就是新的寄存器状态。因此,LFSR中的状态转移关系可以用以下公式表示:
S(n+1) = (S(n) << 1) xor f(S(n))
其中,S(n)表示当前时刻的寄存器状态,S(n+1)表示下一个时刻的寄存器状态,<< 1表示左移一位,f(S(n))表示对当前寄存器状态进行异或运算得到的反馈值。
这个状态转移关系可以用一个状态转移图来表示。状态转移图中,每个状态表示寄存器中的位的取值情况,每个箭头表示状态转移关系。例如,一个3位LFSR的状态转移图如下所示:
```
+------+ 0 +------+
| 000 |<----------| 100 |
+------+ +------+
^ |
| |
| 0 | 0
| |
| v
+------+ +------+
| 001 |---------->| 110 |
+------+ 1 +------+
^ |
| |
| 1 | 1
| |
| v
+------+ +------+
| 010 |---------->| 111 |
+------+ 1 +------+
```
在这个状态转移图中,每个状态用三位二进制数表示,例如状态`000`表示寄存器中三个位都是0。箭头上的数字表示当前时刻的输入值,例如从状态`000`到状态`100`的箭头上的数字`0`表示在当前时刻输入0。箭头下面的数字表示当前时刻的反馈值,例如从状态`000`到状态`100`的箭头下面的数字`0`表示反馈值为0。通过这个状态转移图,可以清晰地展示LFSR中的状态转移关系。
阅读全文