卷积码编码器的结构与表示

简介: 卷积码编码器的结构与表示

本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:https://github.com/timerring/information-theory 】或者公众号【AIShareLab】回复 信息论 获取。

卷积码基础

分组码—无记忆编码

卷积码—记忆编码

  • 能够识记卷积码的基本概念;
  • 能够根据连接矢量画出卷积码的编码器,并进行编码;
  • 能够根据编码器画出该卷积码状态转移图和网格图;
  • 能够运用维特比译码算法对卷积码进行译码;
  • 了解交织的概念。

卷积码的概念

卷积码由三个整数描述, (n, k, L), 其中k/n也表示编码效率,L称为约束长度; 表示在编码移位寄存器中k元组的级数,k表示编码时一次输入编码器的码元数。

卷积码不同于分组码的一个重要特征就是编码器的记忆性,即卷积编码过程产生的n元组,不仅是当前输入k元组的函数,而且还是前面L-1个输入k元组的函数。通常,n和k取较小的值,通过L的变化来控制编码的能力和复杂度。

卷积码编码器的结构

(n, k, L) 卷积码: 下图为卷积码的编码器, 其中有 kL 级 移位寄存器, $\boldsymbol{L}$ 称为卷积码的约束长度。

卷积码的编码器是一种有限状态机,它的状态数目为 $2^{(L-1) k}$ 。状态和当前输入的 $\boldsymbol{k}$ 元组决定了当前输出的 n 元组。

卷积编码器表示

这是一个 (2,1,3)卷积码,即n=2, k=1,L=3。

为什么叫卷积码?

编码过程:

设输入信息序列100101.

输出信息序列为11 01 11 11 01 00 01 11

卷积码编码器初始状态为0,编码之后需保证状态清零

1、连接矢量(生成矢量)

描述编码器的一种方法是指定n个连接矢量,每个矢量对应于一个模2加法器。每个矢量都是L维的,表示该模2加法器和编码移位寄存器之间的连接。矢量中第i位上的1表示移位寄存器相应级与模2加法器连接若是0,则表示相应级与模2加法器之间无连接

2、状态描述和状态图

卷积码编码器属于一类称为有限状态机的器件。

“有限”表明状态机制只有有限个不同的状态。“状态”可以用设备的当前输入和最少的信息数量,来预测设备的输出。状态提供了有关过去序列过程及一组将来可能输出序列的限制,下一状态总是受到前一状态的限制。

以编码效率为1/n的卷积码编码器为例,状态就用最右端(L-1)级寄存器内容来表示(注意这里的最右端是指当前信息码元输入后移位寄存器最右端的寄存器)。

了解当前状态以及下一个输入,是确定下一输出的充要条件。

表示简单编码器的一种方法是状态图。

状态图方框内的状态表示寄存器最右端(L-1)级的可能内容,状态间的路径表示由此状态转移是的输出分支字。寄存器的状态表示为a=00,b=01,c=10,d=11.对应于两种可能的输入比特,从每一个状态出发只有两种转移,状态转移时的输出分支字标注在相应的转移路径旁。图中实线表示输入比特为0的路径,虚线表示输入比特为1的路径。

注意:状态转移不是任意的。由于每次移入1个信息比特,故寄存器在每个比特时间上只有两种可能的状态转移。

3、树图

虽然状态图完全的描述了编码器的特性,但由于没有表示时间的过程,采用状态图跟踪编码器的状态转移很不方便。如果要展示出编码器输入、输出的所有可能情况,则可用树图描述。它是将编码器的状态图按时间展开而成的。

4、网格图(The trellis Diagram)

网格图将树图上处于同一状态的同一级节点合并。

下图为 (2,1,3) 卷积码的网格图。网格图的节点代表了编码器的状态; 在每个时间单元内, 网格图用 $2^{L-1}$ 个节点表示 $2^{L-1}$ 个可能的编码器状态。可见,会有重复。

某 (2,1,3) 卷积码的连接矢量为:

$$ g_{1}=\left[\begin{array}{lll} 1 & 1 & 0 \end{array}\right], \quad g_{2}=\left[\begin{array}{lll} 0 & 1 & 1 \end{array}\right] $$

(1) 请画出该卷积码的编码器、状态图和网格图。

(2) 当输入序列为 100011101001 时,求编码输出。

参考文献:

  1. Proakis, John G., et al. Communication systems engineering. Vol. 2. New Jersey: Prentice Hall, 1994.
  2. Proakis, John G., et al. SOLUTIONS MANUAL Communication Systems Engineering. Vol. 2. New Jersey: Prentice Hall, 1994.
  3. 周炯槃. 通信原理(第3版)[M]. 北京:北京邮电大学出版社, 2008.
  4. 樊昌信, 曹丽娜. 通信原理(第7版) [M]. 北京:国防工业出版社, 2012.
目录
相关文章
|
Linux Python Windows
为Python打包创建一个世外桃源,解决打包太大且启动慢的问题
首先是我用的是Anaconda的集成环境,由于Anaconda或者自己搭建的环境里内置了很多库,而且在日常的开发中又安装很多开发所需要的其他库,打包的时候就把很多不必要的模块打包进去,导致打包出来的文件过于臃肿.打开慢由于运行需要加载这些环境,由于加载的库过多导致耗时过长,而且Python是一门解释型语言,本身运行效率上也稍慢,所以能够明显体会到启动时的漫长等待 我们写代码就是为了高效,怎么能受得了打开慢且占资源的东西呢,那如何能解决这个问题呢?
2534 1
|
Windows 安全
远程桌面和云主机,可以听到云主机内部的声音
有些云主机用户,在使用云主机的时候想借助云主机的高带宽听音乐或者看视频的,那么如何设置远程桌面和云主机,可以听到云主机内部的声音?下面小编就来个图文教程,希望能帮助到这些客户使用云主机。   本地计算机需要进行的设置: 1、打开本地机器的远程登录功能,这里介绍一种快捷的方式。
2876 0
|
消息中间件 存储 NoSQL
Flink(十二)【容错机制】(4)
Flink(十二)【容错机制】
|
网络协议 安全
QT多线程
本文详细介绍了在Qt中如何正确使用QThread以及信号槽跨线程的使用方式,包括线程的正确退出方法和QObject在不同线程中创建子对象时可能遇到的问题。同时,文章还提供了相关博客和资料的链接,用于进一步学习和参考。
441 3
|
项目管理
NPDP|产品经理的沟通协调能力:塑造产品成功的核心力量
产品经理的沟通协调能力对于产品的成功和团队的高效运作至关重要。只有具备了强大的沟通和协调能力,产品经理才能更好地履行职责,推动产品的发展和公司的业务创新。
|
消息中间件 负载均衡 搜索推荐
交易系统架构
交易系统的业务域是什么?即交易系统应该负责那些内容。 面对多样性的业务场景,交易系统如何承接他们?即交易系统的业务扩展性如何保证。 交易系统的复杂性问题,以及如何处理,特别是业务、系统解耦问题。 事件驱动流程。 简述高并发与高可用技术。
11700 1
|
SQL 数据采集 分布式计算
DataWorks产品使用合集之如何合并小文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
人工智能 自然语言处理 运维
AI中台助力企业智能化转型
本文主要和大家分享 “AI中台如何助力企业数字化以及智能化转型”,以及我在构建 AI中台方面的一些心得和经验。
AI中台助力企业智能化转型
|
存储 安全 Cloud Native
阿里云企业扶持计划最低3500元、最高100万元申请流程及常见问题解答
阿里云创业者计划是专为初创企业设计的一项扶持计划,旨在帮助初创企业快速构建智能时代的核心竞争力,同时聚合多方资源,为初创企业提供全方位的赋能与服务。成功加入该计划后,阿里云将提供最低3500元、最高100万元的上云抵扣金,让初创企业以零成本享受云资源和技术服务,开启智能时代创业新范式。
阿里云企业扶持计划最低3500元、最高100万元申请流程及常见问题解答
百度搜索:蓝易云【uniapp中uni-popup的用法】
通过按照以上步骤,你可以在UniApp中使用uni-popup组件来实现弹出层的功能。请根据你的具体需求,使用uni-popup提供的属性和方法来定制和控制弹出层的样式和行为。更详细的用法和配置可以参考UniApp官方文档中uni-popup的相关部分。
452 0