约束长度、状态数以及清零过程背后的原理

1. 约束长度和编码器状态的关系

首先,约束长度(Constraint Length,通常用 K K K 表示)是指卷积编码器在生成输出比特时,所需要参考的比特数。这包括当前的输入比特和之前存储的 K − 1 K-1 K1 个比特。因此,约束长度为 K K K 表示编码器需要用到 K K K 个比特的信息来决定输出。

在这个例子中,约束长度 K = 3 K = 3 K=3,表示编码器需要用到当前输入比特和之前两个比特的信息。这三个比特是用来计算输出的。

1.1 编码器的状态数

虽然约束长度为3,但编码器的状态是由前 K − 1 = 2 K-1 = 2 K1=2 个比特决定的。原因如下:

  • 约束长度为3,这表示编码器需要用到3个比特的信息:当前输入比特(称为 x [ n ] x[n] x[n])和前两个输入比特(分别是 x [ n − 1 ] x[n-1] x[n1] x [ n − 2 ] x[n-2] x[n2])。
  • 但是,在编码过程中,编码器的状态实际上不需要知道当前比特 x [ n ] x[n] x[n],它只需要知道之前的两个比特( x [ n − 1 ] x[n-1] x[n1] x [ n − 2 ] x[n-2] x[n2]),因为当前比特会作为输入进入编码器。因此,编码器的状态仅由之前的两个比特决定,这两个比特可以有 2 2 = 4 2^2 = 4 22=4 种组合(00、01、10、11),用两个比特来表示编码器的状态是足够的。

因此,当约束长度为3时,编码器的状态数是 2 K − 1 = 2 2 = 4 2^{K-1} = 2^2 = 4 2K1=22=4,这些状态是用两个比特来表示的。

2. 为什么输入两个零可以清零?

为了让编码器回到全零状态,我们需要逐渐把之前的状态“清空”,这就需要向编码器输入足够的零比特。

2.1 清零过程的原理
  • 编码器的状态由两个比特( x [ n − 1 ] x[n-1] x[n1] x [ n − 2 ] x[n-2] x[n2])决定。当我们输入一个新比特时,编码器的状态就会向前移动,比如原来的 x [ n − 1 ] x[n-1] x[n1] 变成新的 x [ n − 2 ] x[n-2] x[n2],而新的 x [ n ] x[n] x[n] 变成新的 x [ n − 1 ] x[n-1] x[n1]
  • 因此,每当我们输入一个零,比特序列就会向前移动一个位置。如果我们连续输入两个零,比特序列中的两个位置都会被零填满,这就使得之前存储的比特被完全替换为零。
  • 在这个例子中,编码器的状态由两个比特表示(因为约束长度为3),所以只需要输入两个零比特,就可以确保这两个比特的位置全部变为零,从而将编码器完全清零。
2.2 输入的零比特数与约束长度的关系

为了确保编码器回到全零状态,我们需要输入的零比特数是 K − 1 K - 1 K1,即约束长度减1:

  • 对于约束长度为3的情况,我们需要输入 K − 1 = 3 − 1 = 2 K - 1 = 3 - 1 = 2 K1=31=2 个零。这是因为编码器的状态由 K − 1 K - 1 K1 个比特决定,当我们输入两个零时,就可以确保所有状态比特都变为零。

总结

  • 约束长度为3时,编码器的状态由两个比特(前两个输入比特)决定。
  • 为了完全清零,需要输入与状态比特数相同数量的零,即 K − 1 K - 1 K1 个零,这样编码器的历史状态就会被零填满,回到全零状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值