CN111934692B - 基于bibd可变码率的量子ldpc码构造方法 - Google Patents
基于bibd可变码率的量子ldpc码构造方法 Download PDFInfo
- Publication number
- CN111934692B CN111934692B CN202010840446.0A CN202010840446A CN111934692B CN 111934692 B CN111934692 B CN 111934692B CN 202010840446 A CN202010840446 A CN 202010840446A CN 111934692 B CN111934692 B CN 111934692B
- Authority
- CN
- China
- Prior art keywords
- matrix
- quantum
- ldpc code
- code
- bibd
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提出了一种基于BIBD可变码率的量子LDPC码构造方法,其实现步骤为:选取特定类型的BIBD构造一个准循环LDPC码校验矩阵;从准循环LDPC码校验矩阵H中选取前m块,组成基础矩阵H';对基础矩阵H'进行扩展构造准循环LDPC码矩阵;分析此种构造方法的码率以及译码性能。本发明利用简单直观的BIBD构造量子码矩阵,使用扩展因子对量子码矩阵进行扩展,使得量子码的码率得到了扩展,能够取到更多的值,同时能达到原有量子码的译码性能,可根据对应的信道选择适应的码率进行匹配,适应于低信噪比下传输。
Description
技术领域
本发明属于量子通信技术领域,更进一步涉及量子LDPC编码技术领域中的一种基于非平衡不完全区组BIBD(balanced incomplete block design)可变码率的量子低密度奇偶校验码LDPC(low-density parity-code)码构造方法。本发明提出了一种可变码率的量子LDPC码构造方法,该方法可应用于量子通信,加密通信等场景下的编码。
背景技术
量子通信和量子计算为高效、安全的通信提供了保障。但由于量子态的不稳定性,很容易遭到量子噪声的破坏,这成为量子通信需要克服的一个难题。为解决量子噪声带来的影响,量子纠错编码技术应运而生。而稳定子码就是一种性能良好的量子纠错码,其中(Calderbank-Shor-Steane codes)CSS码可以利用经典准循环LDPC码的校验矩阵以及稳定子码的对易特性构造出两个结构不同的稀疏矩阵,并以此为基础构造出准循环量子LDPC码,该类码解决了量子码存在大量短环的问题,利用置信度传播BP(Belief Propagation)算法进行译码时纠错性能得到显著提升。
Zunaira Babar和Panagiotis Botsinis等人在其发表的论文“Construction ofQuantum LDPC Codes From Classical Row-Circulant QC-LDPCs”(IEEE COMMUNICATIONLETTERS,VOL.20,NO.1JANUARY 2016)中,公开了一种基于BIBD的非自对偶CSS型量子LDPC码的构造方法。该方法的设计步骤为:第一,选取TYPE1类型的BIBD构造经典LDPC码校验矩阵,构造出一个经典准循环LDPC码校验矩阵,该矩阵一共有t块,其中的每一块都是基于BIBD构造出来的行循环方阵;第二,给定正偶数m,从经典LDPC码构造出的校验矩阵中选取前m块构造出准循环矩阵HZ;第三,根据辛积正交准则构造出同样包含m块的准循环矩阵Hx;第四,依据构造出的HZ和Hx,得到非自对偶CSS型量子码的校验矩阵。该方法的不足之处在于:由于稳定子码要求稳定子组中任意两个稳定子必须两两对易,映射到校验矩阵中就需要满足矩阵中任意两行都两两对易,即满足辛积正交准则,因此,构造出的包含m块的两个准循环矩阵HZ和Hx中,m就必须是偶数。m只能取偶数的局限性使得此种构造方法构造出来的量子码的码率选择受限,无法根据对应的信道选择适应的码率进行匹配,所以该方法构造出的量子码不能很好地适应于不同场景下传输。
发明内容
本发明的目的在于针对上述现有技术的不足,提出一种基于BIBD可变码率的量子LDPC码构造方法,用于解决现有技术存在的量子LDPC码码率受限的缺陷,以达到扩展码率,提升整体性能的目的;
为实现上述目的,本发明的技术思路是:首先,利用BIBD构造出经典准循环LDPC码校验矩阵,其次,对构造出的准循环LDPC码矩阵进行扩展得到量子LDPC码校验矩阵,最后,通过迭代译码算法验证基于BIBD可变码率的量子LDPC构造方法的译码性能。
实现本发明目的的步骤包括如下:
步骤1,生成对应的BIBD类型:
从L的三个类型中选取其一,生成对应的GF(L)域,得到与L对应的BIBD类型,其中,L=6t+1对应TYPE1型BIBD、L=12t+1对应TYPE2型BIBD、L=20t+1对应TYPE3型BIBD,t是整数,使L是一个素数或素数幂;
步骤2,构造准循环LDPC码校验矩阵:
从BIBD对应的GF(L)域中构造s个初始集,将每个初始集映射成GF(2)域上的向量,将映射后的向量循环右移,得到每个向量对应的大小为L×L的行循环方阵,将所有的行循环方阵组成准循环LDPC码校验矩阵H,其中,s与t的取值对应相等;
步骤3,生成基础矩阵H':
从准循环LDPC码校验矩阵H中选取前m块,组成基础矩阵H',其中,m取偶数,且m<s;
步骤4,对基础矩阵H'进行扩展:
构造与基础矩阵H'大小相同的α个矩阵,对基础矩阵H'进行扩展;其中,α表示取值大于1的扩展因子;
步骤5,构造准循环LDPC码矩阵:
步骤7,计算量子LDPC码的码率:
步骤8,获得表示可变码率的量子LDPC码的矩阵:
本发明与现有技术相比,具有如下优点:
第一,由于本发明采用了生成对应的BIBD类型构造准循环LDPC码校验矩阵,克服了现有技术中欧式几何等步骤复杂且不直观的代数构造方法构造的不足,使得本发明可以利用更简单的方法构造量子LDPC码。
第二,由于本发明在构造量子LDPC码矩阵时,对基础矩阵进行扩展,增加了码率的取值,克服了现有技术中码率受限使得量子LDPC码无法根据对应的信道选择适应的码率进行匹配,不能很好地适应于不同场景下传输的不足,使得本发明可以通过矩阵扩展的方法构造出可变码率的量子LDPC码。
附图说明
图1为本发明的流程图;
图2为本发明的仿真实验1的码率对比图;
图3为本发明仿真实验2的误帧率曲线图;
图4为本发明仿真实验3的误帧率曲线图。
具体实施方式
以下结合附图对本发明的实施例及效果做进一步详细描述。
参照图1,对本发明的实现步骤做进一步详细描述。
步骤1,生成对应的BIBD类型。
从L的三个类型中选取其一,生成对应的GF(L)域,得到与L对应的BIBD类型,其中,L=6t+1对应TYPE1型BIBD、L=12t+1对应TYPE2型BIBD、L=20t+1对应TYPE3型BIBD,t是整数,使L是一个素数或素数幂。
步骤2,构造准循环LDPC码校验矩阵。
从BIBD对应的GF(L)域中构造s个初始集,将每个初始集映射成GF(2)域上的向量,将映射后的向量循环右移,得到每个向量对应的大小为L×L的行循环方阵,将所有的行循环方阵组成准循环LDPC码校验矩阵H,其中,s与t的取值对应相等。
步骤3,生成基础矩阵H'。
从准循环LDPC码校验矩阵H中选取前m块,组成基础矩阵H',其中,m取偶数,且m<s。
步骤4,对基础矩阵H'进行扩展。
按照下述步骤,构造与基础矩阵H'大小相同的α个矩阵,对基础矩阵H'进行扩展;其中,α表示取值大于1的扩展因子。
第三步,对分界线左侧的待确定子循环矩阵每一行每一列的元素赋值,当(j-1)%α=i时,将基础矩阵H'=[h1,h2,…hk,…hm]中第j列的元素赋值给矩阵的第i行,第j列的元素,否则,将矩阵的hi,j值设置为零。对分界线右侧的待确定的子循环矩阵赋值,当i=0时,将基础矩阵H'=[h1,h2,…hk,…hm]中第j列的元素赋值给矩阵的第0行,第j列元素,当i≠0时,将矩阵的hi,j值设置为零,得到用于纠正比特错误的矩阵如下;
步骤5,构造准循环LDPC码矩阵。
对用于纠正比特错误的准循环矩阵保持准循环矩阵每一行中零元素的位置不变,以中间点m/2为基准,依据辛积正交准则,将矩阵每一行中非零元素进行镜像两两交换,将交换后矩阵中所有非零元素做转置操作,得到能纠正相位错误的矩阵
步骤7,计算量子LDPC码的码率。
步骤8,获得表示可变码率的量子LDPC码的矩阵。
下面基于仿真实验对本发明的效果做进一步说明:
1.仿真实验条件:
本发明的仿真实验的软件平台为:Windows10操作系统和Microsoft VisualStudio 2013。
2.仿真内容及结果分析
本发明的实验仿真有三个。
仿真实验1是选取两个不同的扩展因子α,α=2、α=3,分别计算本发明和现有技术在不同码参数m取值下的码率值,将所有的码率取值绘制成曲线得到本发明的码率结果对比图,如图2所示。
在仿真试验1中所采用的现有方法是指:Zunaira Babar和Panagiotis Botsinis等人发表的论文“Construction of Quantum LDPC Codes From Classical Row-Circulant QC-LDPCs”(IEEE COMMUNICATION LETTERS,VOL.20,NO.1JANUARY 2016)中提出的量子LDPC码构造方法。
图2中的横坐标是m的取值,纵坐标是码率取值,其中,以圆形标记的曲线表示α=2的时采用本发明方法仿真得到的码率曲线,以三角形标记的曲线是α=3时采用本发明方法得到的码率曲线,在两根曲线中以圆圈圈出来的点是相同码长下现有技术构造出的量子码中取不到的码率。
由图2可见,当α=2,采用本发明的方法构造出来的量子码码率的选择间距缩小,在现有技术得到的两个码率之间会有1个新的码率被构造出来;当的α=3,采用本发明构造出来的量子码码率的选择间距缩小,在现有技术得到的两个码率之间会有2个新的码率被构造出来。
本发明的仿真实验2和3是用本发明中的构造方法和现有技术构造方法分别构造Type1型,Type2型的BIBD,构造多组码长相同的准循环量子LDPC矩阵,选择退极化信道,用迭代译码算法,进行译码性能仿真,结果如图3,图4所示。
图3是生成TYPE1型BIBD后分别采用本发明的构造方法与仿真实验1相同的现有技术的构造方法构造出的三组码长相同的量子LDPC码,进行迭代译码后得到的误帧率曲线图。图3中的横坐标是信道错误概率,纵坐标是误帧率。图3中以圆形虚点线标识的曲线表示采用本发明构造方法构造的码长为6094的量子码曲线,以星型虚点线标识的曲线表示采用现有技术构造方法构造的码长为6094的量子码曲线;以圆形虚点线标识的曲线表示采用本发明构造方法构造的码长为4122的量子码曲线,以星型虚点线标识的曲线表示采用现有技术构造方法构造的码长为4122的量子码曲线;以圆形虚点线标识的曲线表示采用本发明构造方法构造的码长为2534的量子码曲线,以星型虚点线标识的曲线表示采用现有技术构造方法构造的码长为2534的量子码曲线;采用本发明的构造方法里扩展因子选取α=2,图例中以α=2做标注;
从图3可以看出,本发明的构造方法能得到与现有技术中的构造方法相似的译码性能,验证了本发明构造方法的可行性;
图4是生成TYPE2型BIBD,分别采用本发明的构造方法与仿真实验1相同的现有技术的构造方法构造方法构造出的三组码长相同的量子LDPC码,进行迭代译码后得到的误帧率曲线图,横坐标是信道错误概率的取值,纵坐标是误帧率取值。图4中以圆形虚点线标识的曲线表示采用本发明构造方法构造的码长为7578的量子码曲线,以星型虚点线标识的曲线表示采用现有技术构造方法构造的码长为7578的量子码曲线;以圆形虚点线标识的曲线表示采用本发明构造方法构造的码长为5894的量子码曲线,以星型虚点线标识的曲线表示采用现有技术构造方法构造的码长为5894的量子码曲线;以圆形虚点线标识的曲线表示采用本发明构造方法构造的码长为2410的量子码曲线,以星型虚点线标识的曲线表示采用现有技术构造方法构造的码长为2410的量子码曲线;采用本发明的构造方法中扩展因子选取α=2,图例中以α=2做标注。
从图4中可以看出,本发明的构造方法能得到与现有技术中的构造方法相似的译码性能,验证了本发明构造方法的可行性。
Claims (2)
1.一种基于BIBD可变码率的量子LDPC码构造方法,其特征在于,利用BIBD构造准循环LDPC码校验矩阵,添加扩展因子对矩阵进行扩展得到量子LDPC码矩阵,该方法的步骤包括如下:
步骤1,生成对应的BIBD类型:
从L的三个类型中选取其一,生成对应的GF(L)域,得到与L对应的BIBD类型,其中,L=6t+1对应TYPE1型BIBD、L=12t+1对应TYPE2型BIBD、L=20t+1对应TYPE3型BIBD,t是整数,使L是一个素数或素数幂;
步骤2,构造准循环LDPC码校验矩阵:
从BIBD对应的GF(L)域中构造s个初始集,将每个初始集映射成GF(2)域上的向量,将映射后的向量循环右移,得到每个向量对应的大小为L×L的行循环方阵,将所有的行循环方阵组成准循环LDPC码校验矩阵H,其中,s与t的取值对应相等;
步骤3,生成基础矩阵H':
从准循环LDPC码校验矩阵H中选取前m块,组成基础矩阵H',其中,m取偶数,且m<s;
步骤4,对基础矩阵H'进行扩展:
构造与基础矩阵H'大小相同的α个矩阵,对基础矩阵H'进行扩展;其中,α表示取值大于1的扩展因子;
所述的基础矩阵H'进行扩展的具体步骤如下:
第三步,对分界线左侧的待确定子循环矩阵每一行每一列的元素赋值,当(j-1)%α=i时,将基础矩阵H'=[h1,h2,…hk,…hm]中第j列的元素赋值给矩阵的第i行,第j列的元素,否则,将矩阵的hi,j值设置为零;对分界线右侧的待确定的子循环矩阵赋值,当i=0时,将基础矩阵H'=[h1,h2,…hk,…hm]中第j列的元素赋值给矩阵的第0行,第j列元素,当i≠0时,将矩阵的hi,j值设置为零,得到用于纠正比特错误的矩阵
步骤5,构造准循环LDPC码矩阵:
步骤7,计算量子LDPC码的码率:
步骤8,获得表示可变码率的量子LDPC码的矩阵:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010840446.0A CN111934692B (zh) | 2020-08-20 | 2020-08-20 | 基于bibd可变码率的量子ldpc码构造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010840446.0A CN111934692B (zh) | 2020-08-20 | 2020-08-20 | 基于bibd可变码率的量子ldpc码构造方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111934692A CN111934692A (zh) | 2020-11-13 |
CN111934692B true CN111934692B (zh) | 2023-03-10 |
Family
ID=73305617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010840446.0A Active CN111934692B (zh) | 2020-08-20 | 2020-08-20 | 基于bibd可变码率的量子ldpc码构造方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111934692B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112865811B (zh) * | 2021-01-11 | 2022-10-18 | 清华大学 | 基于渐进扩展和环分类排序评估准则的ldpc码构造方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409564A (zh) * | 2008-11-25 | 2009-04-15 | 南京邮电大学 | 一种基于稳定子码的量子低密度奇偶校验码的构造方法 |
CN102394659A (zh) * | 2011-08-04 | 2012-03-28 | 中国科学院上海微系统与信息技术研究所 | Ldpc码校验矩阵构造方法及对应矩阵乘法运算装置 |
WO2017193614A1 (zh) * | 2016-05-13 | 2017-11-16 | 中兴通讯股份有限公司 | 结构化ldpc的编码、译码方法及装置 |
CN108134610A (zh) * | 2017-12-12 | 2018-06-08 | 重庆邮电大学 | 基于杨辉三角的特殊结构原模图qc-ldpc码的构造方法 |
CN108199722A (zh) * | 2018-01-10 | 2018-06-22 | 桂林电子科技大学 | 一种基于矩阵格的bibd-ldpc码构造方法 |
CN108270451A (zh) * | 2018-01-22 | 2018-07-10 | 西安电子科技大学 | 一种应用于量子通信系统的准循环量子ldpc码的增强方法 |
CN110336566A (zh) * | 2019-06-21 | 2019-10-15 | 华中科技大学 | 消除6/8/10围线且列重量为3的通信用ldpc码构建方法及其产品 |
CN110739976A (zh) * | 2019-11-06 | 2020-01-31 | 中国电子科技集团公司第三十研究所 | 一种无短环qc-ldpc码的快速生成方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1279699C (zh) * | 2001-06-06 | 2006-10-11 | 西加特技术有限责任公司 | 使用数据存储或数据传输的低密度奇偶校验码的方法和编码装置 |
JP4563454B2 (ja) * | 2005-08-10 | 2010-10-13 | 三菱電機株式会社 | 検査行列生成方法、符号化方法、復号方法、通信装置、通信システム、符号化器および復号器 |
WO2007088870A1 (ja) * | 2006-02-02 | 2007-08-09 | Mitsubishi Electric Corporation | 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器 |
CN115801191B (zh) * | 2017-06-26 | 2024-09-13 | 中兴通讯股份有限公司 | 准循环低密度奇偶校验编码设计方法及装置 |
-
2020
- 2020-08-20 CN CN202010840446.0A patent/CN111934692B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409564A (zh) * | 2008-11-25 | 2009-04-15 | 南京邮电大学 | 一种基于稳定子码的量子低密度奇偶校验码的构造方法 |
CN102394659A (zh) * | 2011-08-04 | 2012-03-28 | 中国科学院上海微系统与信息技术研究所 | Ldpc码校验矩阵构造方法及对应矩阵乘法运算装置 |
WO2017193614A1 (zh) * | 2016-05-13 | 2017-11-16 | 中兴通讯股份有限公司 | 结构化ldpc的编码、译码方法及装置 |
CN108134610A (zh) * | 2017-12-12 | 2018-06-08 | 重庆邮电大学 | 基于杨辉三角的特殊结构原模图qc-ldpc码的构造方法 |
CN108199722A (zh) * | 2018-01-10 | 2018-06-22 | 桂林电子科技大学 | 一种基于矩阵格的bibd-ldpc码构造方法 |
CN108270451A (zh) * | 2018-01-22 | 2018-07-10 | 西安电子科技大学 | 一种应用于量子通信系统的准循环量子ldpc码的增强方法 |
CN110336566A (zh) * | 2019-06-21 | 2019-10-15 | 华中科技大学 | 消除6/8/10围线且列重量为3的通信用ldpc码构建方法及其产品 |
CN110739976A (zh) * | 2019-11-06 | 2020-01-31 | 中国电子科技集团公司第三十研究所 | 一种无短环qc-ldpc码的快速生成方法 |
Non-Patent Citations (3)
Title |
---|
"Construction of Replacement Set in the GC-LDPC Codes Based on BIBDs";Wei Zhou等;《2019 IEEE 89th Vehicular Technology Conference (VTC2019-Spring)》;20190627;第1-5页 * |
"一种基于BIBD的量子LDPC码构造新方法";赵生妹等;《电子与信息学报》;20110131;第33卷(第1期);第222-226页 * |
"低密度奇偶校验码构造及编译码研究进展";张用宇等;《电讯技术》;20120831;第52卷(第8期);第1395-1403页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111934692A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11323134B2 (en) | Encoding method and device and decoding method and device for structured LDPC | |
CN1866751B (zh) | 一种低密度奇偶校验码的构造方法及装置 | |
EP2091156B1 (en) | Apparatus and method for channel encoding and decoding in a communication system using low-density parity-check codes | |
CN106685586B (zh) | 生成用于在信道中传输的低密度奇偶校验码的方法及设备 | |
RU2450442C2 (ru) | Способ и устройство для кодирования и декодирования канала в системе связи с использованием кодов с низкой плотностью проверок на четность | |
EP1850484A1 (en) | Basic matrix based on irregular ldcp, codec and generation method thereof | |
WO2015135298A1 (zh) | 一种支持低码率编码的方法及装置、计算机存储介质 | |
WO2007088870A1 (ja) | 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器 | |
KR20080033381A (ko) | 검사 행렬 생성 방법, 부호화 방법, 복호 방법, 통신 장치,통신 시스템, 부호화기 및 복호기 | |
CN101567697B (zh) | 一种速率兼容的低密度奇偶校验码编码方法和编码器 | |
EP3648379B1 (en) | Design method and apparatus for quasi-cyclic low-density parity-check | |
CN108964669A (zh) | 基于度分解和交替乘子法的ldpc码二次规划译码方法 | |
CN101373976A (zh) | 生成ldpc校验矩阵的方法和设备 | |
Uchôa et al. | LDPC codes based on progressive edge growth techniques for block fading channels | |
CN111934692B (zh) | 基于bibd可变码率的量子ldpc码构造方法 | |
CN110830048B (zh) | 基于奇偶校验矩阵分解构造全分集ldpc码的纠错方法 | |
CN108270451A (zh) | 一种应用于量子通信系统的准循环量子ldpc码的增强方法 | |
CN106685432A (zh) | 一种基于完备循环差集的大围长Type‑II QC‑LDPC码构造方法 | |
CN111464191A (zh) | 一种基于矩阵扩展和斐波那契数列的rc-ldpc码构造方法 | |
CN102420616A (zh) | 基于拉丁方阵的准循环ldpc码纠错方法 | |
CN110073618B (zh) | 产生用于增量冗余harq通信装置的低密度奇偶校验码的设备和方法 | |
Kwak et al. | Design of irregular SC-LDPC codes with non-uniform degree distributions by linear programming | |
CN103368585A (zh) | 一种ldpc码校验矩阵的构造方法 | |
CN102412845A (zh) | 基于欧氏几何的准循环低密度校验码的构造方法 | |
Khebbou et al. | Finding Good Binary Linear Block Codes based on Hadamard Matrix and Existing Popular Codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |