首页 > 其他分享 >第八章Trellis and Graph Based Codes第一部分

第八章Trellis and Graph Based Codes第一部分

时间:2024-09-23 16:19:04浏览次数:9  
标签:输出 Codes Based 卷积 Graph 序列 卷积码 节点 输入

卷积码的结构

通过传递要通过线性有限状态移位寄存器传输的信息序列来生成卷积码。一般来说,移位寄存器由K (K位)级和n个线性代数函数生成器组成。

编码器的输入数据(假定为二进制数据)每次在移位寄存器中移位k位。每个k位输入序列的输出位数为n位。因此,码率定义为Rc = k/n。

K 代表有几级(多少个移位),k代表一次输入多少比特(几个入口),n代表有一次输出多少比特(几个出口)

描述卷积代码的一种方法是给出它的生成器矩阵,就像我们对分组代码所做的那样。一般来说,卷积码的生成器矩阵是半无穷的,因为输入序列的长度是半无穷。

具体来说,让我们考虑约束长度为K = 3, k = 1n = 3的二进制卷积编码器

最初,假定移位寄存器处于全零状态。假设第一个输入位是1。则3位的输出序列为111。假设第二个位是0。然后输出序列将是001。如果第三位是1,输出将是100,依此类推。现在,假设我们将生成每个3位输出序列的函数生成器的输出从上到下依次编号为1、2和3,并同样为每个相应的函数生成器编号(按照序号来生成顺序为123123123)。然后,由于只有第一级连接到第一个函数生成器(不需要模-2加法器),因此生成器是

第二个函数生成器连接到阶段1和阶段3。因此

最后

那么,如果编码器的输入是信息序列\mathbf{u},则三个输出由

星号代表卷积。对应的代码序列c

卷积的运算可以利用多项式乘法(原理类似z变换)

三个脉冲响应对应为

每一次的输出响应为

最后输出的码字为(三次方代表K= 3)

例子1

对于序列

多项式表达式为

卷积编码器为

每一位输出对应的多项式为

最后输出的码字为

例子2

速率2/3卷积编码器。在这个编码器中,每次2位被移进它,并产生3个输出位。

也可以等价画成

上图系统有两个输入序列,三个输出响应(类似2×3的MIMO结构)可以写成6个输出响应

传递函数

每个输出可以通过下列计算

最终的输出表示为

通过多项式矩阵表示输入

和传递函数

输出多项式为

其中输出多项式的结构为

得到变换域生成矩阵

和之前的矩阵有

树图,Trellis图, 和状态图

树图

对于卷积编码器

有树图如下

假设编码器最初处于全零状态,从图中可以看出,如果第一个输入位为0,则输出序列为000,如果第一个输入位为1,则输出序列为111。现在,如果第一个输入位是1,第二个输入位是0,那么第二组3个输出位是001。继续浏览树,我们看到,如果第三位是0,那么输出是011,而如果第三位是1,那么输出是100。给定一个特定的序列将我们带到了树中的一个特定节点,分支规则是,如果下一个输入位是0,则遵循上面的分支,如果输入位是1,则遵循下面的分支。

因此,我们在树中跟踪由输入序列决定的特定路径。

Trellis图

如果我们将树中的每个节点标记为与移位寄存器中的四种可能状态相对应,我们发现在第三阶段有两个标记为a的节点,两个标记为b的节点,两个标记为c的节点和两个标记为d的节点。

现在我们观察到,从具有相同标签(相同状态)的两个节点发出的所有分支都是相同的,因为它们产生相同的输出序列。这意味着具有相同标签的两个节点可以合并。我们会得到另一个更紧凑的图,即网格。实线表示输入位0产生的输出,虚线表示输入位1产生的输出。

可以发现该结构在第三阶段之后重复自身(从第三个状态开始后面的图形都是一致的)。这种行为与约束长度K = 3的事实是一致的。也就是说,每级的3位输出序列由输入位和前2位输入位决定,即移位寄存器的前两级中包含的2位。移位寄存器最后一级的位在右侧移出,不影响输出。因此,我们可以说,每个输入位的3位输出序列是由输入位和移位寄存器的四种可能状态决定的,表示为a = 00, b = 01, c = 10, d = 11。

状态图

每次输入一比特可能得路径有

表示输入位为1时从状态α到状态β的跃迁。状态图中每个支路旁边的3位表示输出位。图中虚线表示输入位为1,实线表示输入位为0。

通过这这种路径关系可以得到状态图

对于有两个输入口的卷积编码器

每次的输入有四种可能00, 01, 10,或11,因此对于树图有四个分支

对于trellis图而言每个状态有四个分支

 状态图为

总结,速率为k/n,约束长度为K,卷积码的特征是从树形图的每个节点发出2^k个分支。格子和状态图各有2^{k(K-1)}种可能的状态。

卷积码的传递函数

传递函数定义

对于之前提到的码率为1/3,K = 3 的卷积码生成器有状态图

其中Z表示各之路对应的输出位序列位和全零之间的汉明距离(有几个1)。

状态方程为

传递函数定义为

可以得到

其中

在给定节点处,存在一条与全零路径合并的单路径,其汉明距离为d = 6。从之前状态图或图8.1-6所示的网格图中可以观察到,d = 6路径为acbe。从节点a到节点e不存在其他距离为d = 6的路径。式8.1-18中的第二项表示从节点a到节点e有两条路径,距离d = 8。同样,从状态图或格子图中,我们观察到这些路径是可接的和可接的。式8.1-18中的第三项表示有四条距离为d = 10的路径,以此类推。由此得到码的最小距离为6。

传递函数作用

传递函数可以用来提供比各种路径的距离更详细的信息

假设我们在由输入位1引起的所有分支转换中引入一个因子Y。因此,当遍历每个分支时,只有当该分支转换是由于输入位1引起时,Y上的累积指数才增加1。

此外,我们在状态图的每个分支中引入一个因子J,以便J的指数将作为计数变量,以指示从节点a到节点e的任何给定路径上的分支数量。对于我们示例中的速率1/3卷积代码,包含附加因子J和Y的状态图如图1所示

传递函数的这种形式给出了卷积代码中所有路径的性质。也就是说,T (Y, Z, J)展开的第一项表示距离d = 6的路径长度为3,三个信息位中有一个是1。T (Y, Z, J)展开的第二项和第三项表明,在两个d = 8的项中,一个长度为4,第二个长度为5。路径中长度为4的四个信息位中的两个和路径中长度为5的五个信息位中的两个为1。因此,因子J的指数表示第一次与全零路径合并的路径的长度,因子Y的指数表示该路径信息序列中1的个数,因子Z的指数表示该路径的编码位序列与全零序列的距离(码序列的权重)。

如果我们传输的是一个有限持续时间的序列,比如m比特,那么因子J就尤为重要。在这种情况下,卷积代码在m个节点或m个分支后被截断。这意味着截断码的传递函数是通过在J^m项处截断T (Y, Z, J)得到的.

另一方面,如果我们传输的是一个极长的序列,即本质上是一个无限长的序列,我们可能希望抑制T (Y, Z, J)对参数J的依赖.

系统卷积码,非递归卷积码,递归卷积码

系统码

其中信息序列直接作为码序列的一部分出现的卷积码称为系统码。

例如之前的有

这表明信息序列u作为代码序列c的一部分出现,从生成矩阵中有一列是1

如果生成矩阵满足,那么这个卷积码就是系统的

例如

是系统的卷积码。

如果两个卷积编码器生成的代码序列相同,则称为等效的。注意,在等效卷积编码器的定义中,编码序列相同是足够的;不要求相等的代码序列对应于相同的信息序列。

例子

对于如下的卷积码生成矩阵

输出序列为

其中

或者直接表示为

由此可以得到生成矩阵

是等效的。

显然

输入 的得到的输出都是

递归卷积码

生成矩阵

是具有反馈的卷积码生成器。这类属于递归卷积码(recursive convolutional codes, RCCs)。

这些码的变换域生成器矩阵包括多项式的分数形式,注意,在递归卷积代码中,反馈的存在导致代码具有无限长的脉冲响应。

上图的递归卷积码图示

卷积码的逆

卷积编码器的一个理想特性是,在没有噪声的情况下,可以从编码序列中恢复信息序列。换句话说,希望编码过程是可逆的。显然,任何系统卷积码都是可逆的

除了可逆性之外,希望编码器的逆可以使用前馈网络来实现。原因是,如果在c(D)的传输中出现了一个误差,而逆函数是一个具有无限脉冲响应的反馈电路,那么这个单一的误差,相当于一个脉冲,会导致在输出端出现无限数量的误差。

输出序列

生成矩阵的可逆条件

l≥0为整数,表示输入与输出之间的延时为l个时间单位。

一个卷积码

具有前馈

GCD表示最大公约数

对于一般的卷积码

等价与存在最小公因子(除1以外的)

不存在前馈逆的卷积码称为突变卷积码

列子

对于卷积码生成矩阵

状态图为x/xx,前面表示输入的一个比特,后面表示输出序列

当状态处于11的时候,这个时候输入1,状态为0,那么一直输入1,则输出一直是0。则在时间比较久之后,不知道到底发送的是全是1还是全是0,这可能会造成歧义(类似不可逆)。

标签:输出,Codes,Based,卷积,Graph,序列,卷积码,节点,输入
From: https://blog.csdn.net/weixin_48442204/article/details/142382861

相关文章

  • 代码实践!如何使用CAMEL Agents构建 GraphRAG ?
    关注公众号:青稞AI,第一时间学习最新AI技术......
  • 图(Graph)
    基本概念(x,y)代表节点x与节点y的一条边(无向边);<x,y>代表节点与节点y的一条弧(x指向y,有向边),x称为弧尾,y称为弧头x,y互为邻接点当且仅当,(x,y)∈E或<x,y>且<y,x>属于E(E为边集)度=入度+出度,TD(V)=ID(V)+OD(V),v的入度为以v作为弧头的边个数,v的出度为以v作为弧尾的边个数,对于......
  • 【论文阅读笔记】【Hand Pose Estimation-Interacting Hand】 ACR: Attention Collabo
    CVPR2023读论文思考的问题论文试图解决什么问题?写作背景是什么?问题:如何更好地在任意场景下实现双手的姿态估计和重构?背景:现有的方法将两只手当做一个整体去提取特征,同时回归出两只手的信息,这种特征对于双手识别来说并不是最优的,同时也带来了限制:输入必须是2只手;当......
  • GraphRAG 与 RAG 的比较分析
    检索增强生成(RAG)技术概述检索增强生成(Retrieval-AugmentedGeneration,简称RAG)是一种旨在提升大型语言模型(LargeLanguageModels,LLMs)性能的技术方法。其核心思想是通过整合外部可靠知识库的信息来增强模型的输出质量。RAG的工作原理可以概括如下:当LLM接收到查询时,它不仅依赖......
  • RAG+Agent人工智能平台:RAGflow实现GraphRAG知识库问答,打造极致多模态问答与AI编排流体
    RAG+Agent人工智能平台:RAGflow实现GraphRAG知识库问答,打造极致多模态问答与AI编排流体验1.RAGflow简介最近更新:2024-09-13增加知识库问答搜索模式。2024-09-09在Agent中加入医疗问诊模板。2024-08-22支持用RAG技术实现从自然语言到SQL语句的转换。2024-08-02......
  • 【论文阅读笔记】【Hand Pose Estimation-Interacting Hand】 Interacting Attention
    CVPR2022(Oral)读论文思考的问题论文试图解决什么问题?写作背景是什么?问题:如何将图卷积神经网络(GCN)结构应用到双手交互识别上,且能很好地解决双手的遮挡、相似和交互的问题?背景:双手识别的挑战:1.严重的相互遮挡,双手形状类似。2.难以有效地建模交互的上下文信息......
  • 大模型入门到进阶:什么是Graph RAG?
    自从ChatGPT的出现引爆了人工智能的炒作之后,检索增强生成(RAG)就主导了关于如何让GenAI应用程序变得有用的讨论。这个想法很简单。一旦我们将LLM连接到我们的私人数据,它就会变得特别有用。每个人都可以访问的基础模型与我们特定领域的数据相结合,作为秘密武器,产生......
  • RAG+Agent人工智能平台:RAGflow实现GraphRA知识库问答,打造极致多模态问答与AI编排流体
    RAG+Agent人工智能平台:RAGflow实现GraphRA知识库问答,打造极致多模态问答与AI编排流体验1.RAGflow简介最近更新:2024-09-13增加知识库问答搜索模式。2024-09-09在Agent中加入医疗问诊模板。2024-08-22支持用RAG技术实现从自然语言到SQL语句的转换。2024-08-02支持Gr......
  • R语言安装graph包报错:package graph is not available for this version of R
    我的R语言版本是4.0.2,安装graph包的时候出现如下报错尝试过换源都无法下载后来尝试在google想搜索graph包的官网,搜出来:https://cran.r-project.org/web/packages/graph/index.html 应该是graph包被CRAN更新了,现在已不在使用根据它的提示,进入链接:https://www.bioconductor.or......
  • P9705 「TFOI R1」Unknown Graph题解
    思路题目给出了每个点的初度和入度,由于图是无重边无自环的有向图。要求满足限制的图有多少条边与建图方案。我们可以考虑使用网络流中的最大流。我们知道这是一道网络流后,题目的难点就转移到网络流的建模以及输出方案的办法。网络流的建模:题目所给的条件没有源点汇点并指出......