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

news2025/1/16 21:48:42

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

文章目录

  • 卷积码基础
    • 卷积码的概念
    • 卷积码编码器的结构
    • 卷积编码器表示
      • 1、连接矢量(生成矢量)
      • 2、状态描述和状态图
      • 3、树图
      • 4、网格图(The trellis Diagram)

卷积码基础

分组码—无记忆编码

卷积码—记忆编码

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

卷积码的概念

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

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

卷积码编码器的结构

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

卷积码的编码器是一种有限状态机,它的状态数目为 2 ( L − 1 ) k 2^{(L-1) k} 2(L1)k 。状态和当前输入的 k \boldsymbol{k} 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} 2L1 个节点表示 2 L − 1 2^{L-1} 2L1 个可能的编码器状态。可见,会有重复。

某 (2,1,3) 卷积码的连接矢量为:
g 1 = [ 1 1 0 ] , g 2 = [ 0 1 1 ] 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] g1=[110],g2=[011]
(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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/666647.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Oracle数据库startup mount时的报错处理(ORA-01078LRM-00109)

安装监听 Disconnected [oraclerac1 ~]$ netcaOracle Net Services Configuration:[oraclerac1 ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 20 22:50:36 2023Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to an idle …

学习adaboost(三,第二次迭代,c#实现)

我们改进了第一次迭代:第二次迭代如下:因为三个弱分类器都是犯了3次错误,我们故意选了y>6.5,标签1,else,标签-1;第一个弱分类器已经选了,再选一次没意义,不会有任何进展&#xff…

搞钱!如何拿下奖金534万的全国人工智能大赛?

嗨咯,大家好,我是K同学啊! 介于最近训练营中经常有同学问我,有哪些比较好的知识变现渠道,这几天整理出了一个个人认为还不错的关于深度学习方面的大赛(就奖金比较多而已)分享给大家。 攻略 | …

prisma 结合 mongodb 查询地理空间坐标,实现 “附近的人”功能

前言:我们创建一个集合,添加测试数据,并执行 mongodb 的地理空间查询,返回需要的数据。 1、通过schema.prisma, 创建 store 集合 2、通过 prisma/client ,插入 几条测试数据 // 构造测试数据createList: async () >…

CMIP6数据处理方法与典型案例分析

气候变化关系到农业、生态系统、社会经济和人类生存与发展,是当今世界关注的重点问题之一。IPCC(Intergovernmental Panel on Climate Change)第6次评估报告指出,自 20 世纪 50 年代以来,从全球平均气温和海温升高、大…

Seata TCC 模式下解决幂等、悬挂、空回滚问题 | Spring Cloud56

一、前言 通过以下系列章节: docker-compose 实现Seata Server高可用部署 | Spring Cloud 51 Seata AT 模式理论学习、事务隔离及部分源码解析 | Spring Cloud 52 Spring Boot集成Seata利用AT模式分布式事务示例 | Spring Cloud 53 Seata XA 模式理论学习、使用…

antd-vue - - - - - date-picker组件在非本地不好使?无法切换日期?

date-picker组件在非本地不好使?无法切换日期? 1.问题描述2.问题原因 & 解决办法 离离原上谱,真的是离了大谱 记录一个深深的踩坑记录!!! 选择日期,肯定要选择ui组件的date-picker&#xf…

tensorflow基础知识

计算图的理解 ref: https://zhuanlan.zhihu.com/p/344846077 计算图模型由节点(nodes)和线(edges)组成,节点表示操作符/算子Operator,线表示计算间的依赖。实线表示有数据传递的依赖,传递的数…

【LeetCode】HOT 100(17)

题单介绍: 精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。 目录 题单介绍&#…

three.js中通过gsap动画库实现物体的动画

一、什么是gsap GSAP(GreenSock Animation Platform)是一个JavaScript动画库,由GreenSock公司开发,用于在Web应用程序中创建高性能动画。 使用GSAP可以通过一些简单的动画操作来实现复杂的动画效果,例如TweenLite、T…

临期商品app小程序软件开发

临期商品APP小程序是一种专门销售或推广临近保质期商品的应用程序,以下是可能有助于临期商品APP小程序软件开发的功能: 商品展示:允许用户查看和浏览不同种类的临期商品,包括产品图片、描述、价格等信息。 用户登录和注册…

笔记:WebRTC 网络技术理论与实战(二)

WebRTC技术笔记 笔记:WebRTC 网络技术理论与实战(一) 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.n…

【Flutter——复选框实例代码超详细讲解!】

Flutter——复选框实例代码超详细讲解! 文章目录 Flutter——复选框实例代码超详细讲解!代码实现效果代码实例代码结构总结 代码实现效果 代码实例 import package:flutter/material.dart; // 导入 Flutter 的核心库void main() {runApp(const MyApp())…

linux-2.6.22.6内核poll总结

1.为什么需要poll,其原因是当进行某些操作时,该操作会一直消耗cpu,浪费资源,所以引入poll可以让该进程在指定时间内如果没有结果产生(可以是某个操作或者获取数据)则进行休眠,这样就会释放cpu。…

【MySQL】数据库基础 ②

✍LIKE 子句 说明: 使用 SELECT 来查询数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。 WHERE 子句中可以使用等号 来设定获取数据的条件,如 "字段(text_title) 值()"。 但是有时候我们需要获取 text_…

Android 神奇的 SpannableStringBuilder

文章目录 前言一、SpannableStringBuilder 是什么?二、使用步骤1.示例代码2.参数对应start:样式生效的开始位置,包括该位置end: 样式结束的位置,不包括该位置flags:取值有如下四个Spannable.SPAN_EXCLUSIVE…

wandb快速上手、使用心得(超好用的Tensorboard高替品)

这里写目录标题 1 wandb介绍2 快速上手3 使用心得3.1 一张图展示两条线3.2 想要科学上网和wandb一起使用(离线使用)3.3 未完待续 1 wandb介绍 wandb地址:wandb Wandb(Weights & Biases)是一个用于机器学习实验跟踪…

智慧城市建设电气火灾智慧消防措施 安科瑞 许敏

1、引言 “经检测,发现管辖单位南通王子造纸企业二氧化氯装置发生二级警报,可能引发火灾,请立即出警。”日前,南通消防救援支队大数据平台DCS化工火源预警系统发出警报,大屏幕显示辖区企业南通王子造纸企业出现险情。D…

B站618“杀”疯了?UP主直播带货GMV连年破亿!

众多主流平台已经早早构建出较为完整的直播带货体系,而B站则是从去年双十一才宣布正式加入全平台直播带货,同时上线购物直播专区,到今年618年中购物大促,B站已经在大步向前摸索属于本平台的直播带货阵营。 一直以来B站带着二次元…

TC8:SOMEIPSRV_FORMAT_15-18

SOMEIPSRV_FORMAT_15: Instance ID field of the Type 1 Entry 目的 检查Type 1 Entry(Offer Service)的“Instance ID”字段 测试步骤 DUT CONFIGURE:启动具有下列信息的服务Service ID:SERVICE-ID-1Instance数量:1Tester:客户端-1发送SOME/IP Notification消息Entry T…