欢迎光临散文网 会员登陆 & 注册

卷积码编码和译码(七)

2022-09-08 00:25 作者:乐吧的数学  | 我要投稿

编码器的设计

  

前面章节中的两个方法,用数学公式来看了一下编码是如何进行的. 实际的编码硬件就更简单了,不涉及到数学计算. 卷积码的编码器一般用查表的方式来做编码. “查找表” 有四项:

1)     输入比特

2)     编码器的状态,例如(2,1,4)编码器,是8种状态之一

3)     输出比特. 例如 (2,1,4) 编码器, 有两个输出比特,则输出的比特可能为 00, 01, 10 和 11.

4)     输出后的状态,即给下一个输入比特用的编码器状态.

 

图7 中给出的(2,1,4)生成多项式 . 可以产生如下表所示的”查找表”.

 

表 2  (2,1,4) 编码器用的 “查找表”


 

这个查找表确定了唯一的一个(2,1,4) 编码器. 不同参数和生成多项式的编码器都有不同的“查找表”.

 

如果用图来表示编码器,我们有三种图表示方法来加深我们对编码过程的理解:

1)     状态图 State Diagram

2)     树状图 Tree Diagram

3)     栅格图 Trellis Diagram

 

状态图


图8是(2,1,4)编码器对应的状态图。每个圆圈代表一个状态。在任何一个时刻,编码器都是停在某个确定的状态上。到达和离开圆圈的线表示在输入一个比特后可能的状态转移。在每一时刻,只有两种可能的状态转移,输入比特1或者输入比特0,并分别跳到不同的状态。状态图没有时间维度的信息,因此不是特别直观。

 

图8  (2,1,4) 编码器的状态图


可以对比上面的状态图与编码器的“查找表”,可以看出,状态图与“查找表”含有相同的信息,只是状态图是一种图形表达。图中实线表示输入比特0,虚线表示输入比特1. 每种情况的输出比特写在线上,箭头表示状态转移的方向。

 

我们把编码器的状态做一个想象。想象你在一个岛上。有多少种方法可以离开这个岛?你可以乘船或者游泳。假设你只有这两种方法离开这个岛。你乘船去陆地上。你可以有多少种路径?你可以乘船,但是你去了另外一个目的地. 你在哪里(你的状态)决定了你有多少种路径(你的输出)。

 

一些编码器的状态下可以输出11和00,一些编码器的状态下可以输出01和10.但是,没有哪个状态可以有四种可能的输出。

 

那么,使用状态图,我们如何对1011序列进行编码?

(1)   我们从状态000开始。输入比特为1,则输出为11,状态转移到100.

(2)   下一个输入比特是0,输出比特为11,状态转移到 010.

(3)   下一个输入比特是1,输出比特为01,状态转移到101.

(4)   最后一个输入比特是1,输出比特为11,状态转移到110.现在我们有 11 11 01 11这8个比特的输出。但是,还没有结束。我们需要把编码器的状态转移到全0状态。

(5)   从状态110,转移到状态011,输出比特为01.

(6)   从状态011,转移到状态001,输出比特为01.

(7)   从状态001,转移到状态000,输出比特为11.

 

最后得到的输出比特为 11 11 01 11 01 01 11.

这与我们把每个比特的冲激响应叠加后得到的结果是一样的。


卷积码编码和译码(七)的评论 (共 条)

分享到微博请遵守国家法律