CN103746711B - 基于译码端状态转移图的量子Viterbi译码算法 - Google Patents
基于译码端状态转移图的量子Viterbi译码算法 Download PDFInfo
- Publication number
- CN103746711B CN103746711B CN201310660777.6A CN201310660777A CN103746711B CN 103746711 B CN103746711 B CN 103746711B CN 201310660777 A CN201310660777 A CN 201310660777A CN 103746711 B CN103746711 B CN 103746711B
- Authority
- CN
- China
- Prior art keywords
- decoding
- state transition
- transition diagram
- operator
- quantum
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明属于量子纠错编译码领域,具体公开了一种针对量子卷积码的Viterbi译码算法,该算法是基于译码端的状态转移图之上的。实现该算法所需的关键技术可以概括为:在译码端,在每个译码时间单元内,首先测量得到指错子,然后根据指错子构造译码端的状态转移图,具体可以分成无错的状态转移图和有错的状态转移图两种情况,由译码端状态转移图画出对应的网格图,在网格图的每一段中,比较进入节点的所有边的分支度量及部分度量,将具有最小部分度量的分支保留,并存储该度量值,删除其余多余的边,如此循环迭代,每个译码时间单元内都要经过计算-比较-存储的步骤,直到最后一段,找到具有最小部分度量的节点及其到初始节点的所有幸存路径,该路径上的输入算子即为最有可能发生的错误算子。该算法是一种最优的译码算法,具有线性复杂度。
Description
技术领域
本发明一般应用于量子纠错编译码理论中,具体应用到量子卷积码的译码中。
背景技术
在经典信道编码技术中,卷积码由于比特之间具有相干性,每个信息组的信息元个数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。
本发明描述了一种构造译码端状态转移图的方法。在每个译码时间单元内,已知指错子作用于每个比特上的算子有如下转移过程: 式中其他定义与编码端状态转移图相同。具体来说,可以分为两种情况:
情况一:无错的状态转移图:当指错子为全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,即为最有可能发生的错误,将这两个算子分别作用在上,得到的结果都是,与我们发端的信息一致,译码结束。
Claims (2)
1.一种构造量子卷积码译码端状态转移图的方法,其特征是:
A)码参数为[[n,k,m]]的量子卷积码,k位信息通过编码操作被编码成n位长的码字,m指编码存储,若一共进行N+t次编码,其中前N次用于输入信息,后t次用于编码电路归零;
B)在接收端,译码时问单元与编码时间单元相同,在每个译码时间单元内,已知指错子Hi j,其中1≤j≤N+t,1≤i≤n-k,作用于每个比特上的算子的转移过程为:其中V表示编码矩阵,Mj-1和Mj分别表示第j-1和j个时间单元内m位卷积位上算子的状态,Lj表示第j个时间单元内k位信息位上算子的状态,表示第j个时间单元内n-k位校验位上算子的状态,X表示Pauli群等价类中的比特翻转算子,Z表示Pauli群等价类中的相位翻转算子,Pj表示第j个时间单元内n位输出算子的状态;通过译码端状态转移图绘制译码端的网格图,然后在译码端的网格图上实现量子Viterbi译码算法;
其中,所述状态转移图分成无错的状态转移图和有错的状态转移图两种情况:当指错子为全0时, 其状态转移图即为编码端的状态转移图,称为无错的状态转移图;当指错子非全0时,称为有错的状态转移图,I表示Pauli群等价类中的恒等算子,Y表示Pauli群等价类中的比特相位翻转算子。
2.基于权利要求1所述的方法,其特征是,所述通过译码端状态转移图绘制译码端的网格图,然后在译码端的网格图上实现量子Viterbi译码算法,具体包括:第一步,测量计算每个译码时间单元内的指错子,若指错子为全0,则无错发生,译码结束,若指错子非全0,则有错发生,进入第二步;第二步,在第j个译码时间单元内,根据指错子的值画出当前时刻的状态转移图,具体可以分为无错的状态转移图和有错的状态转移图;第三步,根据每个译码时间单元内的状态转移图画出译码端的网格图;第四步,在第j个译码时间单元内,对进入图中第j段每个节点的所有边,计算每条边的分支度量及其进入该节点的部分度量,将进入该节点的所有边对应的部分度量加以比较,保留具有最小部分度量的边,若有多条最小部分度量的边,则任意挑选一条,删除其余所有边,该保留边为进入该节点的幸存路径,同时存储该幸存路径所对应的部分度量;第五步,若1≤j≤N+t,重复第四步,若j>N+t,从最后一段节点中挑选具有最小部分度量的节点及其到初始节点的所有幸存路径,该路径所对应的输入算子即为最有可能发生的错误算子,将该算子作用于译码端信息位的状态上,得到纠错后的信息位,译码结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310660777.6A CN103746711B (zh) | 2013-11-28 | 2013-11-28 | 基于译码端状态转移图的量子Viterbi译码算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310660777.6A CN103746711B (zh) | 2013-11-28 | 2013-11-28 | 基于译码端状态转移图的量子Viterbi译码算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103746711A CN103746711A (zh) | 2014-04-23 |
CN103746711B true CN103746711B (zh) | 2015-03-04 |
Family
ID=50503710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310660777.6A Expired - Fee Related CN103746711B (zh) | 2013-11-28 | 2013-11-28 | 基于译码端状态转移图的量子Viterbi译码算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103746711B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11803441B2 (en) | 2021-09-30 | 2023-10-31 | International Business Machines Corporation | Calibrated decoders for implementations of quantum codes |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2634201C1 (ru) * | 2016-07-26 | 2017-10-24 | федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации | Устройство имитостойкого кодирования и декодирования информации избыточными систематическими кодами |
CN110011724B (zh) * | 2019-04-18 | 2021-08-10 | 上海航天测控通信研究所 | 一种船舶自动识别系统的接收方法、接收机及通信卫星 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1422460A (zh) * | 2000-03-31 | 2003-06-04 | 高通股份有限公司 | 时隙模式译码器状态的量度初始化 |
US8694878B2 (en) * | 2011-06-15 | 2014-04-08 | Texas Instruments Incorporated | Processor instructions to accelerate Viterbi decoding |
-
2013
- 2013-11-28 CN CN201310660777.6A patent/CN103746711B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1422460A (zh) * | 2000-03-31 | 2003-06-04 | 高通股份有限公司 | 时隙模式译码器状态的量度初始化 |
US8694878B2 (en) * | 2011-06-15 | 2014-04-08 | Texas Instruments Incorporated | Processor instructions to accelerate Viterbi decoding |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11803441B2 (en) | 2021-09-30 | 2023-10-31 | International Business Machines Corporation | Calibrated decoders for implementations of quantum codes |
Also Published As
Publication number | Publication date |
---|---|
CN103746711A (zh) | 2014-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105720992B (zh) | 一种极化码的简化译码方法 | |
CN102694625B (zh) | 一种循环冗余校验辅助的极化码译码方法 | |
JP4521318B2 (ja) | 量子回路、量子誤り訂正装置および量子誤り訂正方法 | |
JP4185167B2 (ja) | 積符号の反復復号化 | |
CN103746708A (zh) | 一种Polar-LDPC级联码的构造方法 | |
US8103945B2 (en) | Decoding method and decoding apparatus as well as program | |
CN101288232B (zh) | 对数据进行编码和解码的方法以及设备 | |
US11177834B2 (en) | Communication method and apparatus using polar codes | |
CN103746711B (zh) | 基于译码端状态转移图的量子Viterbi译码算法 | |
CN109768802B (zh) | 基于rmqc码的容错逻辑h门的实现方法 | |
CN103414477B (zh) | 一种构造量子卷积码状态转移图和网格图的方法 | |
CN1822530B (zh) | 一种检测和纠正数据误码的方法及系统 | |
RU2438252C1 (ru) | Декодер с повышенной корректирующей способностью | |
Zrelli et al. | Focus on theoretical properties of blind convolutional codes identification methods based on rank criterion | |
KR101768066B1 (ko) | 그래프 상태를 이용한 양자 오류 정정 부호의 생성 방법 및 장치 | |
Brun et al. | Teleportation-based fault-tolerant quantum computation in multi-qubit large block codes | |
KR20190134608A (ko) | 일반화된 폴라 코드 | |
CN109660317B (zh) | 基于自对偶量子低密度奇偶校验纠错的量子网络传输方法 | |
CN103873074B (zh) | 基于译码端网格图的量子Viterbi译码算法 | |
Xie et al. | A method for blind identification of rate 1/2 convolutional code based on improved Euclidean algorithm | |
Kung et al. | On belief propagation decoding of quantum codes with quaternary reliability statistics | |
CN102916707B (zh) | 兼容卷积码生成多项式确定方法、编码方法及编码器 | |
Kuo et al. | Correcting phenomenological quantum noise via belief propagation | |
KR101268061B1 (ko) | 다상-누산 코드를 이용한 부호화 방법 및 복호화 방법 | |
Vijayakumaran | Identifying block codes using Groebner bases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150304 Termination date: 20201128 |
|
CF01 | Termination of patent right due to non-payment of annual fee |