首页> 中国专利> 基于译码端状态转移图的量子Viterbi译码算法

基于译码端状态转移图的量子Viterbi译码算法

摘要

本发明属于量子纠错编译码领域,具体公开了一种针对量子卷积码的Viterbi译码算法,该算法是基于译码端的状态转移图之上的。实现该算法所需的关键技术可以概括为:在译码端,在每个译码时间单元内,首先测量得到指错子,然后根据指错子构造译码端的状态转移图,具体可以分成无错的状态转移图和有错的状态转移图两种情况,由译码端状态转移图画出对应的网格图,在网格图的每一段中,比较进入节点的所有边的分支度量及部分度量,将具有最小部分度量的分支保留,并存储该度量值,删除其余多余的边,如此循环迭代,每个译码时间单元内都要经过计算-比较-存储的步骤,直到最后一段,找到具有最小部分度量的节点及其到初始节点的所有幸存路径,该路径上的输入算子即为最有可能发生的错误算子。该算法是一种最优的译码算法,具有线性复杂度。

著录项

  • 公开/公告号CN103746711A

    专利类型发明专利

  • 公开/公告日2014-04-23

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201310660777.6

  • 发明设计人 李卓;邢莉娟;侯军奎;金香文;

    申请日2013-11-28

  • 分类号H03M13/41(20060101);

  • 代理机构

  • 代理人

  • 地址 710071 陕西省西安市太白路2号

  • 入库时间 2024-02-19 23:32:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-03-04

    授权

    授权

  • 2014-05-28

    实质审查的生效 IPC(主分类):H03M13/41 申请日:20131128

    实质审查的生效

  • 2014-04-23

    公开

    公开

说明书

技术领域

本发明一般应用于量子纠错编译码理论中,具体应用到量子卷积码的译码中。

背景技术

在经典信道编码技术中,卷积码由于比特之间具有相干性,每个信息组的信息元个数k 和其对应子码的码长n通常比分组码要小,但在同样的码率和设备复杂性情况下,卷积码的 性能要优于分组码。Viterbi译码算法是1967年由Viterbi提出的一种最大似然译码算法。当 卷积码的约束度不太大或者误码率要求不太高时,Viterbi译码算法的译码速度较快,译码器 也较简单,因而是一种很有效的译码方法,自从这种译码算法被提出以来,无论从理论上还 是实际上都得到了极其迅速的发展,被广泛应用于深空通信、卫星通信和移动通信中。而经 典状态转移图和网格图是分析Viterbi算法最得力的工具。

在量子编码领域,目前对量子译码算法的研究还是少之又少。然而,寻找高速有效的量 子译码算法是量子计算机和量子传输变为现实必须要解决的问题。带着这样的期待,我们希 望能够找到针对量子卷积码的一种快速有效的译码算法。下面介绍一些本发明所需的基本概 念。

定义1:pauli矩阵

定义2:单量子比特系统组成Pauli群ξ1,群中元素包括

以此类推,n个量子比特系统组成pauli群ξn,群中元素包括

定义3:pauli群的等价类:若忽略群中元素相位的影响,定义

[A]={βA|β∈{±1,±i},A∈ξ1},

方便起见,将等价类中元素分别标记为:

则{I,X,Y,Z}组成pauli群ξ1的等价类G1,组成pauli群的等价类Gn

一个码参数为[[n,k]]的量子纠错码是2n维Hilbert空间中的一个2k维子空间,该 子空间表示为Cn,其编码过程可以描述为k比特信 息、进行编码操作U后被编码为n比特的码字编码操作U满足么正变换。

一个码参数为[[n,k,m]]的量子卷积码,k位信息通过编码操作被编码成n位长的码字,m 指编码存储。假设我们需要传输N段待编码的信息,一共需要进行N+t次编码,其中前N次 用于输入信息,后t次用于编码电路归零:

当1≤j≤N时,编码过程如图1所示(初始状态|PO>为m位的全|0>态),其中,称为 逻辑位,用于输入当前时间单元内的k位信息,经过编码操作U后变为n位长的码字同 时剩余的m位|Pj>用于下一时刻编码。

当N+1≤j≤N+t时,编码过程表示为如图2所示,我们在逻辑位上输入全|0>比特,其 余部分不变。其作用是为了使编码电路的输出回到全|0>比特。在每段编码时间单元中,编码 操作U不变。

针对每个量子卷积码,若其编码电路确定,则其编码操作U也唯一确定。通过公式 ,其中指pauli群中的算子,可计算得到该量子卷积码所对应的 2(n+m)×2(n+m)阶编码矩阵V。现在我们来考虑编码矩阵如何对卷积码的编码算子进行操 作,由此得到编码端所需的状态转移图。

码参数为[[n,k,m]]的量子卷积码,在N+t个编码时间单元内,通过编码矩阵V,作用于 每个编码比特上的编码算子有如下转移过程:,具体 到每个编码时间单元,可用图3表示,其中Mj-1,Mj分别表示第j-1,j个时问单元内m位 卷积位上编码算子的状态,定义初始状态表示第j个时间单元 内k位信息位上编码算子的状态,,表示第j个时间单元内n-k位校验位上编 码算子的状态,Pj表示第j个时间单元内n位输出上编码算子的状态。

量子卷积码编码端的状态转移图:已知码参数为[[n,k,m]]的量子卷积码,其编码操作为 U,其对应的编码矩阵为V,我们称作用于m位卷积位上编码算子发生的状态转移过程 (Mj-1→Mj)为该编码操作U所对应的状态转移图,并满足:

1 该状态转移图能够遍历卷积位上编码算子的所有可能,每一种可能在图中被表示为一 个状态节点,这样的节点共有4m个;

2 每两个节点用一条有向边连接,代表相邻编码时间单元内卷积位上编码算子的转移过 程,每条边上有一组标注,标注中左边数据代表当前时刻输入的k位编码算子,右边 数据代表当前时刻输出的n位编码算子,从Y状态到I状态的边上标注(Z,XY)代表 (Y:Z:I)V=XY:I;

3 每个节点伸出4k×2(n-k)条边进入其他节点,同时进入每个节点的边有4k×2(n-k)条。

虽然状态转移图能表示在不同输入的信息序列下,m位卷积位上编码算子发生的状态转 移过程,但并不能表示出该状态转移图与时间的关系,为了表示每个状态与时间的关系,我 们可以用网格图来表示。

量子卷积码编码端的网格图:已知码参数为[[n,k,m]]的量子卷积码,共有N+t个编码时 间单元,根据其状态转移图,可以得到对应的网格图,该网格图是满足如下条件的一个有向 图:

1 节点集可分为N+t+1个子集Dj,其中|DO|=1,|Dj|=2m,1≤j≤N+t;

2 每两个节点用一条有向边连接,所有从节点Dj-1出发到达节点Dj的有向边集合称为 Ej,Ej称为网格图的第j节,每条边上有一组标注,标注中左边数据代表当前时刻 输入的k位编码算子,右边数据代表当前时刻输出的n位编码算子;

3 在每个编码时刻内,每个节点伸出4k×2(n-k)条边进入其他节点,同时进入每个节点 的边有4k×2(n-k)条。

在编码端我们得到了量子卷积码编码后的码字码字在传输过程 中,不可避免的会受到信道噪声的干扰而产生错误,若我们在接收端接收到状态则需要 找到一种有效的译码方法来检测并纠正这些错误。

发明内容

本发明的主要目的是提供一种量子卷积码的最优译码算法——Viterbi译码算法。

本发明解决其问题所采用的技术方案是首先提供一种构造量子卷积码译码端的状态转移 图和网格图的方法,然后以此为基础,提出量子Viterbi译码算法。

由背景技术可知,编码操作U是一幺正变换,因此是可逆的,我们将接收到的状态如 图4所示全部逆向送入编码电路,定义在每个译码时间单元内,对后n-k位|Hj>上进行{|0>, |1>}侧量得到的n-k维矢量为量子卷积码的指错子,用表示,其中1≤j≤N+t,1≤i≤n-k。

本发明描述了一种构造译码端状态转移图的方法。在每个译码时间单元内,已知指错子 作用于每个比特上的算子有如下转移过程:(Mj-1:Lj:SjZ+SjX)=Pj:Mj,1jN+t,式中其他定义与编码端状态转移图相同。具体来说,可以分为两种情况:

情况一:无错的状态转移图:当指错子为全0时,其状态转移 图即为编码端的状态转移图。

情况二:有错的状态转移图:当指错子非全0时,我们可以画 出新的状态转移图。

本发明描述了一种构造译码端网格图的方法。在每个译码时间单元内,由根据指错子得 到不同的状态转移图画出对应的网格图,并将每个译码时间单元的网格图加以连接得到整个 译码端的网格图。传统网格图在每个时间单元内都是相同的,与其不同的是,本发明中,译 码端的网格图在每个时间单元内都是不同的,具体内容根据指错子的值进行改变。

本发明描述了一种量子卷积码的最优译码算法——量子Viterbi译码算法,首先定义算法 中用到的几个概念:

算子重量:算子中非I算子的个数定义为该算子的重量。

边Ej的分支度量:在译码端的网格图中,对进入节点Dj的所有边Ej,其边上对应的输 出算子的重量称为该条边的分支度量。

节点Dj的部分度量:在译码端网格图的第j段,Ej连接节点Dj-1与节点Dj,节点Dj的 部分度量定义为Ej的分支度量加上Dj-1的部分度量。在本文中,初始节点DO的部分度量为0。

算法包括以下步骤:

步骤1:测量计算所有译码时间单元内的指错子若H=(0,0,…,0), 则无错发生,译码结束;若H≠(0,0,…,0),则有错发生,进入下一步。

步骤2:在第j(1≤j≤N+t)个译码时间单元内,根据的值画出当前时刻的状态转移 图,具体可以分为无错的状态转移图和有错的状态转移图。

步骤3:根据步骤2画出译码端的网格图。

步骤4:在第j个译码时间单元内,对进入Dj的所有边计算每条边的分支度量及其进入 节点Dj的部分度量,将进入Dj的所有边对应的部分度量加以比较,保留具有最小部分度量 的边(若有多条最小部分度量的边,则任意挑选一条),删除其余所有边,我们称该条边为进 入Dj的幸存路径,同时存储该幸存路径所对应的部分度量。

步骤5:若1≤j≤N+t,重复步骤4;若j>N+t,在节点DN+t中挑选具有最小部分度量 的节点及其到初始节点DO的所有幸存路径,该路径所对应的输入算子即为最有可能发生的错 误算子,将该算子作用于上,得到纠错后的信息位,译码结束。

与经典Viterbi译码算法不同的是,由于量子差错存在简并错误,因此幸存路径可能不是 唯一的一条。

附图说明

图1前N步卷积码编码电路。

图2后t步卷积码编码电路。

图3编码算子转移图。

图4译码端状态检错电路。

图5[[2,1,1]]量子卷积码编码电路。

图6[[2,1,1]]量子卷积码译码端检错电路。

图7[[2,1,1]]量子卷积码有错的状态转移图。

图8[[2,1,1]]量子卷积码无错的状态转移图。

图9[[2,1,1]]量子卷积码译码端的网格图。

图10[[2,1,1]]量子卷积码译码端的网格图中存储的幸存路径。

图11[[2,1,1]]量子卷积码译码端的网格图中最有可能发生的错误算子。

具体实施方式

下面结合实例及附图,详细描述本发明的技术方案。

图4中,编码操作U是一幺正变换,因此是可逆的,我们将状态全部逆向送入编码 电路,若传输过程中没有错误算子作用于码字上,则经过逆操作后,每个编码时刻中的k 位即为正确的信息,后面n-k位|Hj>上的输出为为全|0>态;若传输过程中有错误算子作 用于码字上,则经过逆操作后,每个编码时刻中,为信息位上发生错误后的状态,|Hj> 为非全|0>态。因此我们可以测量n-k位|Hj>上的状态是否为全|0>态来判断是否有错误发生, 然后通过量子Viterbi译码算法找到信息位上最有可能发生的错误算子,并通过逆操作加以纠 正,得到正确的信息。

图5中,对于一个n=2,k=1,m=1量子卷积码,根据编码电路得到编码操作U为 |a>初始状态为|0>,|b>输入信息位,|c>每次输入|0>态 a,b,c∈{0,1}。假设输入的信息为编码后的码字为

图6中,经过传输信道后的码字出错变成了我们将出错的码字 逆向送入编码电路,计算得到|H>=|1,1,0,0,0>,信息位上输出变为第二位 发生了比特翻转错误,现在我们来讨论如何使用Viterbi译码算法来纠正第二位信息位上发生 的错误。

步骤1:测量得到指错子H=(1,1,0,0,0),有错发生。

步骤2:每个译码时间单元内,根据指错子画出译码端的状态转移图,在这里,前两个 译码时间单元内,其状态转移图是有错的状态转移图,如图7所示,后三个译码时间单元内 是无错的状态转移图,如图8所示

步骤3:画出译码端的网格图如图9所示。图9中,前两个译码时间单元内,其网格图 是由有错的状态转移图得到,后三个译码时间单元内,其网格图是由无错的状态转移图得到, 加以连接得到整个译码端的网格图。

步骤4:根据算法得到的所有幸存路径如图10所示。图10中,节点上方的值代表存储 在该节点中的部分度量,D5中具有最小部分度量的分别是节点I和节点Z。

步骤5:D5中具有最小度量的节点I和节点Z,分别对应的幸存路径如图11所示。图11 中,这两条路径对应的输入算子分别为LXIII和LXIIZ,即为最有可能发生的错误,将这两个 算子分别作用在上,得到的结果都是,与我们发端的信息一致, 译码结束。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号