CN114553371B - 柔性低码率编译码系统、编译码方法、设备及介质 - Google Patents
柔性低码率编译码系统、编译码方法、设备及介质 Download PDFInfo
- Publication number
- CN114553371B CN114553371B CN202210062385.9A CN202210062385A CN114553371B CN 114553371 B CN114553371 B CN 114553371B CN 202210062385 A CN202210062385 A CN 202210062385A CN 114553371 B CN114553371 B CN 114553371B
- Authority
- CN
- China
- Prior art keywords
- coding
- bits
- serial
- code rate
- unit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004080 punching Methods 0.000 claims abstract description 34
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 description 15
- 238000005259 measurement Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000001351 cycling effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0059—Convolutional codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2939—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using convolutional codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/2996—Tail biting
-
- 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M9/00—Parallel/series conversion or vice versa
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供一种柔性低码率编译码系统、编译码方法、设备及介质。系统包括:咬尾卷积编码单元、并转串打孔单元、串转并接收单元和译码器单元;咬尾卷积编码单元用于对输入信息比特和交织信息比特进行咬尾卷积编码,得到多路校验比特;并转串打孔单元用于根据柔性码率控制系数对多路校验比特进行打孔,并将打孔后的多路校验比特进行并行转串行操作后输入至编码信道;串转并接收单元用于根据柔性码率控制系数接收编码信道输出的待译码信号。本发明根据柔性码率控制系数可以有选择的对编码器输出的多路校验比特进行打孔,从而得到不同码率的编码结果,使编码器在不增加复杂度的情况下可以匹配不同信息速率进行工作。
Description
技术领域
本发明涉及数字信号处理技术领域,尤其涉及一种柔性低码率编译码系统、编译码方法、设备及介质。
背景技术
1993年的国际商会会议ICC(The International Chamber of Commerce)上,提出了译码性能接近Shannon限的编码,将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个软入/软出译码器SISO(Soft-in Soft-out)之间进行多次迭代,实现了伪随机译码。从此以后,Turbo码得到了广泛的关注和发展,并对当今的编码理论和研究方法产生了深远的影响。
现有技术中,常规Turbo码编译码算法参数固定,当需要改变码长、码率和打孔位时,对整个算法和编译码装置改动较大,改变帧结构时需要改动编译码装置,而且其只能适应特定的一种帧结构。特别是在较恶劣的通信场景中,为保证通信可靠性,收发双方会调整帧结构以适应信道,但是常规Turbo码编译码器根据固定的打孔位仅能实现一种编码输出结果,且输出的Turbo码码率也是固定的,无法匹配特定的帧结构和信息速率,通用性较差。
发明内容
本发明提供一种柔性低码率编译码系统、编译码方法、设备及介质,用以解决现有技术中无法匹配特定的帧结构和信息速率的缺陷,使得编译码器在不增加复杂度的情况下,可以匹配不同的帧结构进行工作。
本发明提供一种柔性低码率编译码系统,该系统包括:咬尾卷积编码单元、并转串打孔单元、串转并接收单元和译码器单元;
其中,所述咬尾卷积编码单元输出端与所述并转串打孔单元输入端连接,所述并转串打孔单元输出端与所述串转并接收单元输入端连接,所述串转并接收单元输出端与所述译码器单元输入端连接;
所述咬尾卷积编码单元用于对输入信息比特和交织信息比特进行咬尾卷积编码,得到多路校验比特;
所述并转串打孔单元用于根据柔性码率控制系数对所述多路校验比特进行打孔,并将打孔后的多路校验比特进行并行转串行操作后输入至编码信道;
所述串转并接收单元用于根据柔性码率控制系数接收所述编码信道输出的待译码信号;
所述译码器单元用于对所述待译码信号进行译码操作,输出译码结果。
可选的,所述并转串打孔单元,还具体用于:
对于每一路所述校验比特,当所述校验比特对应的所述柔性码率控制系数为第一值时,输出所述校验比特,当所述校验比特对应的所述柔性码率控制系数为第二值时,去掉所述校验比特。
可选的,所述咬尾卷积编码单元在对输入信息比特和交织信息比特进行咬尾卷积编码前,还具体用于:
根据用户输入的信息比特长度编号,确定所述输入信息比特的实际长度。
可选的,该系统还包括:交织单元,所述交织单元输出端与所述咬尾卷积编码单元输入端连接,所述交织单元用于根据所述输入信息比特的实际长度,调用对应的交织表对所述输入信息比特进行交织,得到交织信息比特。
本发明还提供一种基于上述所述的柔性低码率编译码系统实现的编译码方法,包括:
对输入信息比特和交织信息比特进行咬尾卷积编码,得到多路校验比特;
根据柔性码率控制系数对所述多路校验比特进行打孔,并将打孔后的多路校验比特进行并行转串行操作后输入至编码信道;
根据柔性码率控制系数接收所述编码信道输出的待译码信号;
对所述待译码信号进行译码操作,输出译码结果。
可选的,所述根据柔性码率控制系数对所述多路校验比特进行打孔,包括:
对于每一路所述校验比特,当所述校验比特对应的所述柔性码率控制系数为第一值时,输出所述校验比特,当所述校验比特对应的所述柔性码率控制系数为第二值时,去掉所述校验比特。
可选的,在对输入信息比特和交织信息比特进行咬尾卷积编码前,还包括:
根据用户输入的信息比特长度编号,确定所述输入信息比特的实际长度。
可选的,在对输入信息比特和交织信息比特进行咬尾卷积编码前,还包括:
根据所述输入信息比特的实际长度,调用对应的交织表对所述输入信息比特进行交织,得到交织信息比特。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于柔性低码率编译码系统实现的编译码方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于柔性低码率编译码系统实现的编译码方法的步骤。
本发明提供的柔性低码率编译码系统、编译码方法、设备及介质,该系统包括:咬尾卷积编码单元、并转串打孔单元、串转并接收单元和译码器单元;其中,咬尾卷积编码单元输出端与并转串打孔单元输入端连接,并转串打孔单元输出端与串转并接收单元输入端连接,串转并接收单元输出端与所述译码器单元输入端连接;咬尾卷积编码单元用于对输入信息比特和交织信息比特进行咬尾卷积编码,得到多路校验比特;并转串打孔单元用于根据柔性码率控制系数对多路校验比特进行打孔,并将打孔后的多路校验比特进行并行转串行操作后输入至编码信道;串转并接收单元用于根据柔性码率控制系数接收编码信道输出的待译码信号;译码器单元用于对待译码信号进行译码操作,输出译码结果。由此可见,本发明可以通过柔性码率控制系数有选择的对编码器输出的多路校验比特进行打孔,从而得到不同码率的编码结果,使编码器在不增加复杂度的情况下可以匹配不同信息速率和帧结构进行工作,实现码率可变的柔性低码率编码和译码,本发明适用于需要调整帧结构的通信场景中。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的柔性低码率编译码系统的结构示意图之一;
图2是本发明提供的柔性低码率编译码系统的结构示意图之二;
图3是本发明提供的基于柔性低码率编译码系统实现的编译码方法的流程示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供的柔性低码率编译码系统包括:咬尾卷积编码单元1、并转串打孔单元2、串转并接收单元3和译码器单元4;
其中,所述咬尾卷积编码单元1输出端与所述并转串打孔单元2输入端连接,所述并转串打孔单元2输出端与所述串转并接收单元3输入端连接,所述串转并接收单元3输出端与所述译码器单元4输入端连接;
所述咬尾卷积编码单元1用于对输入信息比特和交织信息比特进行咬尾卷积编码,得到多路校验比特;
所述并转串打孔单元2用于根据柔性码率控制系数对所述多路校验比特进行打孔,并将打孔后的多路校验比特进行并行转串行操作后输入至编码信道;
所述串转并接收单元3用于根据柔性码率控制系数接收所述编码信道输出的待译码信号;
所述译码器单元4用于对所述待译码信号进行译码操作,输出译码结果。
在本实施例中,并转串打孔单元用于根据柔性码率控制系数对编码器输出的多路校验比特进行打孔,并对打孔后的多路校验比特进行并行转串行操作,将编码结果输入至编码信道。其中,柔性码率控制系数pch为m位的二进制数,当编码器有7路校验比特输出时,柔性码率控制系数为7比特的二进制数。例如,咬尾卷积编码单元1有7路输出,分别是x1,q11,q12,q13,q21,q22,q23。其中,x1为输入信息比特,q11,q12,q13是输入信息比特x1经过咬尾卷积编码得到的校验比特,输入信息比特x1经过交织得到交织信息比特x2;q21,q22,q23是x2经过咬尾卷积编码得到的校验比特。编码结果一般不会全部输出,所以要根据打孔位来判断,哪些位输出。本示例中编码器有7路输出,所以柔性码率控制系数pch为7比特的二进制数,从高位到低位依次对应q23,q22,q21,q13,q12,q11,x1,pch对应位为1表示传输该路编码结果,为0则不传。例如,pch=7'b0010011,则打孔后的多路校验比特为x1,q11和q21。由于码率的定义为:原始信息比特长度/编码输出结果的长度,因此本示例中pch=7'b0010011,对应码率是1/3,所以通过调整pch可以得到不同码率的编码结果。在本示例中,x1,q11,q21为三路并行输出,因此编码输出结果的长度为原始信息比特长度*3,码率为:原始信息比特长度*3。以a,b,c三路长为4096的并行数据为例,其中a={a_1,a_2,...,a_4096},b和c同理。并行转串行操作的具体方式为{a_1,b_1,c_1,a_2,b_2,c_2,...,a_4096,b_4096,c_4096}。因此本示例中最终输出的编码结果为:{x1_1,q11_1,q21_1;x1_2,q11_2,q21_2;...;x1_4096,q11_4096,q21_4096}。
本发明提供的柔性低码率编译码系统,包括:咬尾卷积编码单元、并转串打孔单元、串转并接收单元和译码器单元;其中,咬尾卷积编码单元输出端与并转串打孔单元输入端连接,并转串打孔单元输出端与串转并接收单元输入端连接,串转并接收单元输出端与所述译码器单元输入端连接;咬尾卷积编码单元用于对输入信息比特和交织信息比特进行咬尾卷积编码,得到多路校验比特;并转串打孔单元用于根据柔性码率控制系数对多路校验比特进行打孔,并将打孔后的多路校验比特进行并行转串行操作后输入至编码信道;串转并接收单元用于根据柔性码率控制系数接收所述编码信道输出的待译码信号;译码器单元用于对所述待译码信号进行译码操作,输出译码结果。由此可见,本发明可以通过柔性码率控制系数有选择的对编码器输出的多路校验比特进行打孔,从而得到不同码率的编码结果,使编码器在不增加复杂度的情况下可以匹配不同信息速率和帧结构进行工作,实现码率可变的柔性低码率编码和译码,本发明适用于需要调整帧结构的通信场景中。
基于上述实施例的内容,在本实施例中,所述并转串打孔单元,还具体用于:
对于每一路所述校验比特,当所述校验比特对应的所述柔性码率控制系数为第一值时,输出所述校验比特,当所述校验比特对应的所述柔性码率控制系数为第二值时,去掉所述校验比特。
在本实施例中,需要说明的是,柔性码率控制系数pch,其中pi∈{0,1},i=0,1,…,m-1。i=0时对应Turbo码输出信号中的输入信息比特x1;i=1,2,…,n时对应Turbo码输出信号中的分量编码器1中的校验比特q1j,j=1,2,...,n;i=n+1,n+2,…,m-1时对应Turbo码输出信号中的分量编码器2中的校验比特q2j,j=1,2,...,n。可选的,当pi=0时表示第i比特不传输;当pi=1时表示第i比特传输。通过调整pch可以灵活控制Turbo码码率,输出码率r的可取范围为rmin≤r≤1。
在本实施例中,柔性码率控制系数为pch共有m位,可选的,采用统计模块依次获取柔性码率控制系数pch的从第0位到第j位中1的个数numj,j=0,1,2,...,m-1。
则该编码器的码率为1/numm。采用一个计数装置step=1,2,...,numm循环计数。对柔性码率控制系数pch的每一位pi,i=0,1,...,m-1采取以下操作:
若pi=0,则不采取任何操作,即表示对应比特不输出。
若pi=1,则进一步判断step=numi是否成立。若成立则说明当前编码输出即pi对应的比特,若不成立,则不采取任何操作。当计数装置step进行了k轮之后,说明已经将打孔后的编码结果并转串输出完成。可以理解的是,pi=1只能说明输出中有该路数据,但是什么时候拼到串行里还需要进行控制,这是因为期望的输出是{a1,b1,c1,a2,b2,c2,...,a4096,b4096,c4096},如果不加step=num,就无法判断当前时刻应该是a还是b还是c,可能会出现例如{a1,c1,b1,b2,c2,a2,...}这种排序错误。
基于上述实施例的内容,在本实施例中,所述咬尾卷积编码单元在对输入信息比特和交织信息比特进行咬尾卷积编码前,还具体用于:
根据用户输入的信息比特长度编号,确定所述输入信息比特的实际长度。
在本实施例中,需要说明的是,在较恶劣的通信场景中,为保证通信可靠性,收发双方会调整帧结构以适应信道,然而常规的编译码器只能对一种参数一定的帧结构进行编译码。以信息比特长度为例:常用的信息比特长度有2048,4096等,在本发明中,考虑到信息比特长度需要用户给出,但是给实际信息比特长度需要输入的数比较大,也就是二进制数位数比较多,导致在用户输入和参数传递过程中容易出错,因此本发明通过编号的方式,预先对常用的信息比特长度进行编号,比如用户输入0,表示信息比特长度为4096;用户输入1,表示信息比特长度为2048。通过用户输入0或1得到对应的信息比特长度,然后再进行编码,由于编号数比较小,就可以用更少的二进制数表示,错误概率就相对小一点,使得编译码器在不增加复杂度的情况下,可以匹配不同的帧结构进行工作。
基于上述实施例的内容,在本实施例中,该系统还包括:交织单元5,所述交织单元5输出端与所述咬尾卷积编码单元1输入端连接,所述交织单元5用于根据所述输入信息比特的实际长度,调用对应的交织表对所述输入信息比特进行交织,得到交织信息比特。
在本实施例中,常规Turbo编码采用pi进行交织,需要在k个信息比特x1输入完后才能进行交织。本发明采用下述方式对pi变形,在仿真工具中由下式得到交织后的结果x2
x2=x1(pi)
再采用下述方式,得到pi变形结果pip
x2(pip)=x1
交织单元预先存储了经典信息比特长度对应的交织表,为了降低延迟,本交织表经过预处理后再存入存储单元中。
x2(pip)=x1
下面对本发明提供的基于柔性低码率编译码系统实现的编译码方法进行描述。
如图3所示,本发明提供的基于柔性低码率编译码系统实现的编译码方法,包括:
步骤101:对输入信息比特和交织信息比特进行咬尾卷积编码,得到多路校验比特;
在本步骤中,首先对输入信息比特和交织信息比特进行卷积预编码,得到循环状态,并将其作为编码器的初始状态再次编码。具体的,基于下面公式对输入信息比特x1和交织信息比特进行卷积预编码,得到循环状态,
其中,为以零状态作为初始状态,待编码序列经过编码器后,经过k步预编码得到的终止状态,Sc为编码器的循环状态。x1和x2作为待编码序列,分别输入分量编码器1和分量编码器2,分别得到校验比特q1j,j=1,2,...,n和q2j,j=1,2,...,n。其中n为编码器前向反馈系数个数。
步骤102:根据柔性码率控制系数对所述多路校验比特进行打孔,并将打孔后的多路校验比特进行并行转串行操作后输入至编码信道;
在本步骤中,根据柔性码率控制系数对编码器输出的多路校验比特进行打孔,并将打孔后的多路校验比特进行并行转串行操作后输入至编码信道,校验比特在编码信道中进行调制解调等操作。其中,柔性码率控制系数pch为m位的二进制数,当编码器有7路校验比特输出时,柔性码率控制系数为7比特的二进制数。例如,咬尾卷积编码单元1有7路输出,分别是x1,q11,q12,q13,q21,q22,q23。其中,x1为输入信息比特,q11,q12,q13是输入信息比特x1经过咬尾卷积编码得到的校验比特,输入信息比特x1经过交织得到交织信息比特x2,q21,q22,q23是x2经过咬尾卷积编码得到的校验比特。编码结果一般不会全部输出,所以要根据打孔位来判断,哪些位输出。本示例中编码器有7路输出,所以柔性码率控制系数pch为7比特的二进制数,从高位到低位依次对应q23,q22,q21,q13,q12,q11,x1,pch对应位为1表示传输该路编码结果,为0则不传。比如pch=7'b0010011,则打孔后的多路校验比特为x1,q11和q21。由于码率的定义为:原始信息比特长度/编码输出结果的长度,因此本示例中pch=7'b0010011,对应码率是1/3,所以通过调整pch可以得到不同码率的编码结果。在本示例中,x1,q11,q21为三路并行输出,因此编码输出结果的长度为原始信息比特长度*3,码率为:原始信息比特长度*3。以a,b,c三路长为4096的并行数据为例,其中a={a_1,a_2,...,a_4096},b和c同理。并行转串行操作的具体方式为{a_1,b_1,c_1,a_2,b_2,c_2,...,a_4096,b_4096,c_4096}。因此本示例中最终输出的编码结果为:{x1_1,q11_1,q21_1;x1_2,q11_2,q21_2;...;x1_4096,q11_4096,q21_4096}。
步骤103:根据柔性码率控制系数接收所述编码信道输出的待译码信号;
在本步骤中,根据柔性码率控制系数pch接收编码信道输出的待译码信号并进行串行转并行操作。具体的:柔性码率控制系数为pch,其中pi∈{0,1},i=0,1,…,m-1。i=0时对应Turbo码输出信号中的输入信息比特x1;i=1,2,…,n时对应Turbo码输出信号中的分量编码器1中的校验比特q1j,j=1,2,...,n;i=n+1,n+2,…,m-1时对应Turbo码输出信号中的分量编码器2中的校验比特q2j,j=1,2,...,n。当pi=0时表示第i比特不传输;当pi=1时表示第i比特传输。柔性码率控制系数为pch共有m位,采用统计模块依次获取柔性码率控制系数pch的从第0位到第j位中1的个数numj,j=0,1,2,...,m-1。
则该Turbo码的码率为1/numm。
采用一个计数装置step=1,2,...,numm循环计数。
用地址生成模块生成存储待译码比特的地址addr,addr=0,1,2,...,k-1。计数装置完成一轮计数后,即step从1计数到numm后,地址addr加1。对柔性码率控制系数pch的每一位pi,i=0,1,...,m-1采取以下操作:
若pi=0,则不采取任何操作。
若pi=1,则进一步判断step=numi是否成立。若成立则说明当前待译码比特即pi对应的比特。若不成立,则不采取任何操作。
当计数装置step进行了k轮之后,说明已经将待译码信号串转并接收并存储完成。
步骤104:对所述待译码信号进行译码操作,输出译码结果。
在本步骤中,译码操作过程具体为:通过后向递推计算存储后向度量值,再通过前向递推计算前向度量值、外信息和判决值,外信息经过交织器存为另一分量译码器所需先验信息。当达到最大迭代次数时,输出译码判决值。
本发明提供的基于柔性低码率编译码系统实现的编码方法,包括:对输入信息比特和交织信息比特进行咬尾卷积编码,得到多路校验比特;根据柔性码率控制系数对所述多路校验比特进行打孔,并将打孔后的多路校验比特进行并行转串行操作后输入至编码信道;根据柔性码率控制系数接收所述编码信道输出的待译码信号;对所述待译码信号进行译码操作,输出译码结果。由此可见,本发明可以通过柔性码率控制系数有选择的对编码器输出的多路校验比特进行打孔,从而得到不同码率的编码结果,使编码器在不增加复杂度的情况下可以匹配不同信息速率和帧结构进行工作,实现码率可变的柔性低码率编码和译码,本发明适用于需要调整帧结构的通信场景中。
基于上述实施例的内容,在本实施例中,所述根据柔性码率控制系数对所述多路校验比特进行打孔,包括:
对于每一路所述校验比特,当所述校验比特对应的所述柔性码率控制系数为1时,输出所述校验比特,当所述校验比特对应的所述柔性码率控制系数为0时,去掉所述校验比特。
在本实施例中,柔性码率控制系数pch,其中pi∈{0,1},i=0,1,…,m-1。i=0时对应Turbo码输出信号中的输入信息比特x1;i=1,2,…,n时对应Turbo码输出信号中的分量编码器1中的校验比特q1j,j=1,2,...,n;i=n+1,n+2,…,m-1时对应Turbo码输出信号中的分量编码器2中的校验比特q2j,j=1,2,...,n。当pi=0时表示第i比特不传输;当pi=1时表示第i比特传输。通过调整pch可以灵活控制Turbo码码率,输出码率r的可取范围为rmin≤r≤1。
在本实施例中,柔性码率控制系数为pch共有m位,可选的,采用统计模块依次获取柔性码率控制系数pch的从第0位到第j位中1的个数numj,j=0,1,2,...,m-1。
则该编码器的码率为1/numm。采用一个计数装置step=1,2,...,numm循环计数。对柔性码率控制系数pch的每一位pi,i=0,1,...,m-1采取以下操作:
若pi=0,则不采取任何操作,即表示对应比特不输出。
若pi=1,则进一步判断step=numi是否成立。若成立则说明当前编码输出即pi对应的比特,若不成立,则不采取任何操作。当计数装置step进行了k轮之后,说明已经将打孔后的编码结果并转串输出完成。可以理解的是,pi=1只能说明输出中有该路数据,但是什么时候拼到串行里还需要进行控制,这是因为期望的输出是{a1,b1,c1,a2,b2,c2,...,a4096,b4096,c4096},如果不加step=num,就无法判断当前时刻应该是a还是b还是c,可能会出现例如{a1,c1,b1,b2,c2,a2,...}这种排序错误。
基于上述实施例的内容,在本实施例中,在对输入信息比特和交织信息比特进行咬尾卷积编码前,还包括:
根据用户输入的信息比特长度编号,确定所述输入信息比特的实际长度。
在本实施例中,需要说明的是,在较恶劣的通信场景中,为保证通信可靠性,收发双方会调整帧结构以适应信道,然而常规的编译码器只能对一种参数一定的帧结构进行编译码。以信息比特长度为例:常用的信息比特长度有2048,4096等,在本发明中,考虑到信息比特长度需要用户给出,但是给实际信息比特长度需要输入的数比较大,也就是二进制数位数比较多,导致在用户输入和参数传递过程中容易出错,因此本发明通过编号的方式,预先对常用的信息比特长度进行编号,比如用户输入0,表示信息比特长度为4096;用户输入1,表示信息比特长度为2048。通过用户输入0或1得到对应的信息比特长度,然后再进行编码,由于编号数比较小,就可以用更少的二进制数表示,错误概率就相对小一点,使得编译码器在不增加复杂度的情况下,可以匹配不同的帧结构进行工作。
基于上述实施例的内容,在本实施例中,在对输入信息比特和交织信息比特进行咬尾卷积编码前,还包括:
根据所述输入信息比特的实际长度,调用对应的交织表对所述输入信息比特进行交织,得到交织信息比特。
在本实施例中,常规Turbo编码采用pi进行交织,需要在k个信息比特x1输入完后才能进行交织。本发明采用下述方式对pi变形,在仿真工具中由下式得到交织后的结果x2
x2=x1(pi)
再采用下述方式,得到pi变形结果pip
x2(pip)=x1
交织单元预先存储了经典信息比特长度对应的交织表,为了降低延迟,本交织表经过预处理后再存入存储单元中。
x2(pip)=x1
下面通过具体实施例进行说明:
实施例一:
在本实施例中,如图2所示,本发明提供的柔性低码率编译码系统,包括:信息比特存储单元6、交织单元5、咬尾卷积编码单元1、编码结果存储单元7、并转串打孔单元2、串转并接收单元3和译码器单元4;
其中,信息比特存储单元6用于存储和读取信息比特;
交织单元5用于对输入信息比特进行交织,并存入信息比特存储单元;
咬尾卷积编码单元1用于对输入信息比特和交织信息比特进行咬尾卷积编码,得到多路校验比特;
并转串打孔单元2用于根据柔性码率控制系数对所述多路校验比特进行打孔,并对打孔后的多路校验比特进行并行转串行操作,输出编码结果;
编码结果存储单元7,用于存储并行的多路编码结果;
串转并接收单元3用于接收所述编码结果,并根据柔性码率控制系数对所述编码结果进行串行转并行操作,得到所述多路校验比特;
译码器单元4用于对所述多路校验比特进行译码操作,输出译码结果。
实施例二:
在本实施例中,基于上述柔性低码率编译码系统,本发明还提供一种Turbo码编码方法,包括:
步骤一:预处理输入参数,获取实际信息比特长度、码长、码率、打孔位。
在本步骤中,为降低输入参数错误的概率,应尽量减少输入参数的位宽。因此本发明预先将常用的信息比特长度k编号为len(len=0表示k=4096;len=1表示k=2048;…)。对于给定卷积码结构,前向反馈系数个数为n,则无重复编码时该Turbo码编码器的最低码率一般为其中m=2n+1。
在本步骤中,设柔性码率控制系数为pch,pch的每一位pi∈{0,1},i=0,1,…,m-1。通过调整pch可以灵活控制Turbo码码率,输出码率r的可取范围为rmin≤r≤1。
步骤二:交织输入的信息比特x1并存储待编码的信息比特x1和交织后的结果x2。
在本步骤中,常规Turbo编码采用pi进行交织,需要在k个信息比特x1输入完后才能进行交织。因此采用下述公式对pi变形,在仿真工具中由下式得到交织后的结果x2
x2=x1(pi)
再用下式,得到pi变形结果pip
x2(pip)=x1
在本步骤中,编码器中预先存储了经典信息比特长度对应的交织表,为了降低延迟,本交织表经过预处理后再存入存储单元中。
x2(pip)=x1
在信息比特输入过程中,可以同时将x1和交织后的x2存入信息比特存储单元。
步骤三:对x1和x2进行编码,并存储编码结果。
在本步骤中,对上述x1和x2进行卷积预编码,得到循环状态,并将其作为编码器的初始状态再次编码。具体的,采用下述公式对x1和x2进行卷积预编码,得到循环状态,
其中,为以零状态作为初始状态,待编码序列经过编码器后,经过k步预编码得到的终止状态,Sc为编码器的循环状态。将x1和x2作为待编码序列,分别输入分量编码器1和分量编码器2,分别得到校验比特q1j,j=1,2,...,n和q2j,j=1,2,...,n。其中n为编码器前向反馈系数个数。将并行输出的q1j,j=1,2,...,n和q2j,j=1,2,...,n,分别存入编码结果存储单元。存储原始信息比特x1、校验位q1j,j=1,2,...,n和q2j,j=1,2,...,n。
步骤四:并行转串行单元对原始信息比特和多路输出的编码器编码符号进行并行转串行操作。
在本步骤中,柔性码率控制系数为pch,其中pi∈{0,1},i=0,1,…,m-1。i=0时对应Turbo码输出信号中的原始信息比特x1;i=1,2,…,n时对应Turbo码输出信号中的分量编码器1中的校验比特q1j,j=1,2,...,n;i=n+1,n+2,…,m-1时对应Turbo码输出信号中的分量编码器2中的校验比特q2j,j=1,2,...,n。当pi=0时表示第i比特不传输;当pi=1时表示第i比特传输。通过调整pch可以灵活控制Turbo码码率,输出码率r的可取范围为rmin≤r≤1。柔性码率控制系数为pch共有m位,采用统计模块依次获取柔性码率控制系数pch的从第0位到第j位中1的个数numj,j=0,1,2,...,m-1。
则该编码器的码率为1/numm。采用一个计数装置step=1,2,...,numm循环计数。对柔性码率控制系数pch的每一位pi,i=0,1,...,m-1采取以下操作:
若pi=0,则不采取任何操作,即表示对应比特不输出。
若pi=1,则进一步判断stepTnumi是否成立。若成立则说明当前编码输出即pi对应的比特,若不成立,则不采取任何操作。
当计数装置step进行了k轮之后,说明已经将打孔后的编码结果并转串输出完成。
可以理解的是,现有技术中,常规Turbo码编译码算法参数固定,需要改变码长、码率和打孔位时,实现时对整个算法和编译码装置改动较大,改变帧结构时需要改动编译码装置,而且其只能适应特定的一种帧结构。特别是在较恶劣的通信场景中,为保证通信可靠性,收发双方会调整帧结构以适应信道,采用常规Turbo码编译码器,不能根据信道情况随时调整帧结构。本发明公开的柔性低码率Turbo码编译码方法,通过对输入信息比特长度、打孔位、译码迭代次数等参数进行处理,使得编译码器在不增加复杂度的情况下,通过调整柔性码率控制系数pch,可以在限定码率范围内,选择多种码率,同码率时也能通过调整柔性码率控制系数pch,获得同码率不同校验比特的编码输出,从而匹配不同的帧结构进行工作。该方法适用于需要调整帧结构的通信场景中,在条件苛刻的战场环境通信中有着广阔的应用空间。
实施例三:
在本实施例中,译码器单元,还包括:
待译码信息存储子单元、先验信息存储子单元、后向度量计算子单元、后向度量存储子单元、前向度量及外信息计算子单元;
其中,所述待译码信息存储子单元,用于存储并行的多路待译码信息;
所述先验信息存储子单元,用于存储和读取先验信息;
所述后向度量计算子单元,用于计算后向度量值;
所述后向度量存储子单元,用于存储和读取后向度量值;
所述前向度量及外信息计算子单元,用于计算前向度量值和外信息,在达到迭代次数时输出译码结果。
在本实施例中,译码操作过程具体为:通过后向递推计算存储后向度量值,再通过前向递推计算前向度量值、外信息和判决值,外信息经过交织器存为另一分量译码器所需先验信息。当达到最大迭代次数时,输出译码判决值。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行基于柔性低码率编译码系统实现的编译码方法,所述方法包括:对输入信息比特和交织信息比特进行咬尾卷积编码,得到多路校验比特;根据柔性码率控制系数对所述多路校验比特进行打孔,并将打孔后的多路校验比特进行并行转串行操作后输入至编码信道;根据柔性码率控制系数接收所述编码信道输出的待译码信号;对所述待译码信号进行译码操作,输出译码结果。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于柔性低码率编译码系统实现的编译码方法,所述方法包括:对输入信息比特和交织信息比特进行咬尾卷积编码,得到多路校验比特;根据柔性码率控制系数对所述多路校验比特进行打孔,并将打孔后的多路校验比特进行并行转串行操作后输入至编码信道;根据柔性码率控制系数接收所述编码信道输出的待译码信号;对所述待译码信号进行译码操作,输出译码结果。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于柔性低码率编译码系统实现的编译码方法,所述方法包括:对输入信息比特和交织信息比特进行咬尾卷积编码,得到多路校验比特;根据柔性码率控制系数对所述多路校验比特进行打孔,并将打孔后的多路校验比特进行并行转串行操作后输入至编码信道;根据柔性码率控制系数接收所述编码信道输出的待译码信号;对所述待译码信号进行译码操作,输出译码结果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种柔性低码率编译码系统,其特征在于,该系统包括:咬尾卷积编码单元、并转串打孔单元、串转并接收单元和译码器单元;
其中,所述咬尾卷积编码单元输出端与所述并转串打孔单元输入端连接,所述并转串打孔单元输出端与所述串转并接收单元输入端连接,所述串转并接收单元输出端与所述译码器单元输入端连接;
所述咬尾卷积编码单元用于对输入信息比特和交织信息比特进行咬尾卷积编码,得到多路校验比特;
所述并转串打孔单元用于根据柔性码率控制系数对所述多路校验比特进行打孔,并将打孔后的多路校验比特进行并行转串行操作后输入至编码信道;所述柔性码率控制系数为m位的二进制数;
所述串转并接收单元用于根据柔性码率控制系数接收所述编码信道输出的待译码信号;
所述译码器单元用于对所述待译码信号进行译码操作,输出译码结果;
其中,所述并转串打孔单元,还具体用于:
对于每一路所述校验比特,当所述校验比特对应的所述柔性码率控制系数为第一值时,输出所述校验比特,当所述校验比特对应的所述柔性码率控制系数为第二值时,去掉所述校验比特。
2.根据权利要求1所述的柔性低码率编译码系统,其特征在于,所述咬尾卷积编码单元在对输入信息比特和交织信息比特进行咬尾卷积编码前,还具体用于:
根据用户输入的信息比特长度编号,确定所述输入信息比特的实际长度。
3.根据权利要求1或2所述的柔性低码率编译码系统,其特征在于,该系统还包括:交织单元,所述交织单元输出端与所述咬尾卷积编码单元输入端连接,所述交织单元用于根据所述输入信息比特的实际长度,调用对应的交织表对所述输入信息比特进行交织,得到交织信息比特。
4.一种基于权利要求1-3任一项所述的柔性低码率编译码系统实现的编译码方法,其特征在于,包括:
对输入信息比特和交织信息比特进行咬尾卷积编码,得到多路校验比特;
根据柔性码率控制系数对所述多路校验比特进行打孔,并将打孔后的多路校验比特进行并行转串行操作后输入至编码信道;
根据柔性码率控制系数接收所述编码信道输出的待译码信号;所述柔性码率控制系数为m位的二进制数;
对所述待译码信号进行译码操作,输出译码结果;
其中,所述根据柔性码率控制系数对所述多路校验比特进行打孔,包括:
对于每一路所述校验比特,当所述校验比特对应的所述柔性码率控制系数为第一值时,输出所述校验比特,当所述校验比特对应的所述柔性码率控制系数为第二值时,去掉所述校验比特。
5.根据权利要求4所述的编译码方法,其特征在于,在对输入信息比特和交织信息比特进行咬尾卷积编码前,还包括:
根据用户输入的信息比特长度编号,确定所述输入信息比特的实际长度。
6.根据权利要求4或5所述的编译码方法,其特征在于,在对输入信息比特和交织信息比特进行咬尾卷积编码前,还包括:
根据所述输入信息比特的实际长度,调用对应的交织表对所述输入信息比特进行交织,得到交织信息比特。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求4至6任一项所述的编译码方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求4至6任一项所述的编译码方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210062385.9A CN114553371B (zh) | 2022-01-19 | 2022-01-19 | 柔性低码率编译码系统、编译码方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210062385.9A CN114553371B (zh) | 2022-01-19 | 2022-01-19 | 柔性低码率编译码系统、编译码方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114553371A CN114553371A (zh) | 2022-05-27 |
CN114553371B true CN114553371B (zh) | 2024-02-13 |
Family
ID=81671664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210062385.9A Active CN114553371B (zh) | 2022-01-19 | 2022-01-19 | 柔性低码率编译码系统、编译码方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553371B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020000614A (ko) * | 2000-06-26 | 2002-01-05 | 서평원 | 적응 레이트 펑쳐링 방법 |
WO2007073678A1 (fr) * | 2005-12-26 | 2007-07-05 | Zte Corporation | Dispositif de demande de répétition automatique hybride pour système wimax |
JP2010056845A (ja) * | 2008-08-28 | 2010-03-11 | Nec Corp | tail−biting畳み込み符号方式を用いた送信装置、受信装置および通信制御方法 |
CN111130572A (zh) * | 2020-01-06 | 2020-05-08 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | Turbo码快速实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8726137B2 (en) * | 2009-02-02 | 2014-05-13 | Telefonaktiebolaget L M Ericsson (Publ) | Encoding and decoding methods for expurgated convolutional codes and convolutional turbo codes |
-
2022
- 2022-01-19 CN CN202210062385.9A patent/CN114553371B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020000614A (ko) * | 2000-06-26 | 2002-01-05 | 서평원 | 적응 레이트 펑쳐링 방법 |
WO2007073678A1 (fr) * | 2005-12-26 | 2007-07-05 | Zte Corporation | Dispositif de demande de répétition automatique hybride pour système wimax |
JP2010056845A (ja) * | 2008-08-28 | 2010-03-11 | Nec Corp | tail−biting畳み込み符号方式を用いた送信装置、受信装置および通信制御方法 |
CN111130572A (zh) * | 2020-01-06 | 2020-05-08 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | Turbo码快速实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114553371A (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3730238B2 (ja) | 適用形チャネル符号化方法及び装置 | |
US6298463B1 (en) | Parallel concatenated convolutional coding | |
JP4553330B2 (ja) | 符号化装置及び方法、復号装置及び方法、情報処理装置及び方法、並びに記憶媒体 | |
CZ407397A3 (cs) | Paralelní zřetězené konvoluční kódy s koncovými bity a jejich dekodéry | |
US20010010089A1 (en) | Digital transmission method of the error-correcting coding type | |
CN107231158B (zh) | 一种极化码迭代接收机、系统和极化码迭代译码方法 | |
Berkmann | On turbo decoding of nonbinary codes | |
KR20040034566A (ko) | 정보송신장치와 정보송신방법 및 정보수신장치와정보수신방법 | |
Elagooz et al. | Efficient low-complexity decoding of CCSDS Reed–Solomon codes based on Justesen’s concatenation | |
US6976203B2 (en) | Turbo decoder architecture with mini-trellis SISO | |
Adde et al. | Design of an efficient maximum likelihood soft decoder for systematic short block codes | |
CN109194336B (zh) | 级联Spinal码的编码和译码方法、系统及装置 | |
CN109660265B (zh) | 一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法 | |
KR20070110407A (ko) | 트렐리스의 버터플라이 구조를 이용한 맵 디코딩을 위한메트릭 계산 | |
CN114553371B (zh) | 柔性低码率编译码系统、编译码方法、设备及介质 | |
CN115225202B (zh) | 一种级联译码方法 | |
CN113904755B (zh) | 一种截短rs码解码方法 | |
CN108880569B (zh) | 一种基于反馈分组马尔科夫叠加编码的速率兼容编码方法 | |
RU2301492C2 (ru) | Способ передачи голосовых данных в цифровой системе радиосвязи и устройство для его осуществления | |
Boiko et al. | Features of code redundancy formation in information transmission channels | |
CN114095041B (zh) | 用于短帧突发的低码率编码方法、装置及存储介质 | |
CN110830052A (zh) | 一种超低码率内部交织卷积编码译码方法 | |
CN111600613B (zh) | 一种校验方法、装置、译码器、接收机及计算机存储介质 | |
CN116961841B (zh) | 用于高速数据中心的译码方法、装置和存储介质 | |
CN115622660B (zh) | 一种基于极化码的多信源分布式信源信道联合编码方法 |
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 |