CN110278055A - 咬尾卷积编码处理方法、装置和通信设备 - Google Patents

咬尾卷积编码处理方法、装置和通信设备 Download PDF

Info

Publication number
CN110278055A
CN110278055A CN201910477226.3A CN201910477226A CN110278055A CN 110278055 A CN110278055 A CN 110278055A CN 201910477226 A CN201910477226 A CN 201910477226A CN 110278055 A CN110278055 A CN 110278055A
Authority
CN
China
Prior art keywords
encoded
bit
unit
tail biting
convolutional encoding
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.)
Granted
Application number
CN201910477226.3A
Other languages
English (en)
Other versions
CN110278055B (zh
Inventor
陈见飞
阮俊冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Comba Network Systems Co Ltd
Original Assignee
Comba Telecom Technology Guangzhou Ltd
Comba Telecom Systems China Ltd
Comba Telecom Systems Guangzhou Co Ltd
Tianjin Comba Telecom Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Comba Telecom Technology Guangzhou Ltd, Comba Telecom Systems China Ltd, Comba Telecom Systems Guangzhou Co Ltd, Tianjin Comba Telecom Systems Co Ltd filed Critical Comba Telecom Technology Guangzhou Ltd
Priority to CN201910477226.3A priority Critical patent/CN110278055B/zh
Publication of CN110278055A publication Critical patent/CN110278055A/zh
Application granted granted Critical
Publication of CN110278055B publication Critical patent/CN110278055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)

Abstract

本申请涉及一种咬尾卷积编码处理方法、装置和通信设备,其中,咬尾卷积编码处理方法包括:获取输入数据的待编码单元;待编码单元包括32个比特;根据寄存器初值变量和待编码单元进行编码初始化处理,得到输入字变量;分别根据各生成多项式系数映射的字变量以及输入字变量,对待编码单元的各比特进行咬尾卷积编码,得到待编码单元对应的编码数据;任一字变量均包括相应生成多项式系数映射的四个相同的字节变量。通过在咬尾卷积编码处理中,使用由各路生成多项式系数映射的字节变量,分别重复映射后展开形成的各字变量,使得输入数据由字节编码处理,转化为字编码处理。大幅提高了咬尾卷积编码处理速度。

Description

咬尾卷积编码处理方法、装置和通信设备
技术领域
本申请涉及通信技术领域,特别是涉及一种咬尾卷积编码处理方法、装置和通信设备。
背景技术
随着通信技术的发展,在无线接入领域,传输信道的数据均要经过信道编码处理。不同协议对应的编码方式或有差异之处,但均涉及卷积编码。卷积编码的校验元不仅与自身的信息元有关,而且还与当前时刻以前的各时刻输入至编码器的信息组有关。正由于在卷积编码过程中,充分利用了各信息组之间的相关性,且信息元和校验元较小,因此编码实现简便且性能稳定。
在卷积编码过程中,处理的方式多种,通用的处理方法是输入数据以比特流的形式,逐个比特输入,按照卷积编码器设定的处理规则输出。其中,咬尾卷积编码是一种特殊的卷积编码,通过将编码器的移位寄存器的初始值设置为输入数据流的尾比特值,使得移位寄存器的初始和最终状态相同。和普通的卷积编码相比,咬尾卷积编码克服了编码时的码率损失,并且适合迭代译码。然而,在实现过程中,发明人发现传统的咬尾卷积编码技术中,至少存在着编码处理速度较低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够大幅提高咬尾卷积编码处理速度的咬尾卷积编码处理方法、一种咬尾卷积编码处理装置、一种基站设备和一种计算机可读存储介质。
为实现上述目的,本发明实施例采用以下技术方案:
一方面,本发明实施例提供一种咬尾卷积编码处理方法,包括:
获取输入数据的待编码单元;待编码单元包括32个比特;
根据寄存器初值变量和待编码单元进行编码初始化处理,得到输入字变量;
分别根据各生成多项式系数映射的字变量以及输入字变量,对待编码单元的各比特进行咬尾卷积编码,得到待编码单元对应的编码数据;
任一字变量均包括相应生成多项式系数映射的四个相同的字节变量。
在其中一个实施例中,根据寄存器初值变量和待编码单元进行编码初始化处理,得到输入字变量的步骤,包括:
将待编码单元中最高位的M个比特进行移位缓存,并对左移M位后的待编码单元与寄存器初值变量进行位或运算,得到输入字变量。
在其中一个实施例中,上述方法还包括:
将最高位的M个比特更新至寄存器初值变量;更新后的寄存器初值变量用于下一个待编码单元的编码初始化处理。
在其中一个实施例中,任一根据生成多项式系数映射的字变量以及输入字变量,对待编码单元的各比特进行咬尾卷积编码的过程,包括:
根据生成多项式系数映射的字变量与输入字变量,进行位异或运算;
将运算得到的编码数据进行移位保存;
读取最高位的M个比特中的1位比特,并按比特顺序合并到输入字变量,返回执行根据生成多项式系数映射的字变量与输入字变量,进行位异或运算步骤,直至待编码单元的各比特均完成编码输出。
在其中一个实施例中,编码数据的比特位值通过以下步骤确定:
分别统计位异或运算后输出的每一字节中比特位值为1的比特数;
若比特数为奇数,则确定字节对应的编码数据的比特位值为1,否则为0。
在其中一个实施例中,上述方法还包括:
根据预设掩码常量,分别对每一字节对应的编码数据的比特位值进行奇偶校验。
在其中一个实施例中,分别根据各生成多项式系数映射的字变量以及输入字变量,对待编码单元的各比特进行咬尾卷积编码,得到待编码单元对应的编码数据的步骤之后,还包括:
根据输入数据的比特长度,确定待编码单元是否为最后一个字段;
若否,则返回执行获取输入数据的待编码单元的步骤,直至输入数据的最后一个待编码单元编码完毕。
在其中一个实施例中,获取输入数据的待编码单元的步骤前,还包括:
对输入数据的比特流进行补零处理,得到比特长度为32的正整数倍的输入数据。
在其中一个实施例中,上述方法还包括:
计算各待编码单元对应的编码数据的总比特长度,确定并丢弃补零处理时添加的比特所对应的编码输出比特。
在其中一个实施例中,获取输入数据的待编码单元的步骤前,还包括:
将每一生成多项式系数映射的字节变量进行重复映射,得到每一生成多项式系数映射的字变量。
另一方面,还提供一种咬尾卷积编码处理装置,包括:
单元获取模块,用于获取输入数据的待编码单元;待编码单元包括32个比特;
初始化模块,用于根据寄存器初值变量和待编码单元进行编码初始化处理,得到输入字变量;
编码处理模块,用于分别根据各生成多项式系数映射的字变量以及输入字变量,对待编码单元的各比特进行咬尾卷积编码,得到待编码单元对应的编码数据;
任一字变量均包括相应生成多项式系数映射的四个相同的字节变量。
又一方面,还提供一种通信设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述的咬尾卷积编码处理方法的步骤。
再一方面,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的咬尾卷积编码处理方法的步骤。
上述技术方案中的一个技术方案具有如下优点和有益效果:
上述咬尾卷积编码处理方法、装置和通信设备,通过在咬尾卷积编码处理中,使用由各路生成多项式系数映射的字节变量,分别重复映射后展开形成的各字变量,使得输入数据由字节编码处理,转化为字编码处理。如此,可以在对待编码单元的咬尾卷积编码处理过程中,基于每一路字变量所包含的四个字节变量,实现同时对输入字变量的四个字节进行并行编码处理。如此,相比于传统的咬尾卷积编码技术,大幅提高了咬尾卷积编码处理速度,能够满足通信系统更高的实时性要求。
附图说明
图1为一个实施例中传统咬尾卷积编码器的结构示意图;
图2为一个实施例中咬尾卷积编码处理方法的第一流程示意图;
图3为一个实施例中咬尾卷积编码处理方法的第二流程示意图;
图4为一个实施例中咬尾卷积编码处理方法的第三流程示意图;
图5为一个实施例中对输出的编码数据的处理流程示意图;
图6为一个实施例中咬尾卷积编码处理方法的第四流程示意图;
图7为一个实施例中咬尾卷积编码处理方法的第五流程示意图;
图8为一个实施例中咬尾卷积编码处理方法的第六流程示意图;
图9为一个实施例中生成多项式系数的字变量映射示意图;
图10为一个实施例中一种咬尾卷积编码处理方法的具体实现示意图;
图11为一个实施例中对一个待编码单元的编码处理的结果输出示意图;
图12为一个实施例中咬尾卷积编码处理装置的模块结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在信道编码中,不同协议可以有不一样的编码方式,本申请提供的咬尾卷积编码处理方法可以应用但不限于协议3GPP协议的通信系统,例如LTE(Long Term Evolution,长期演进)系统和NB-IOT(Narrow Band Internet of Things,窄带物联网)系统。如图1所示的是咬尾卷积编码器的结构,其中,ck表示输入数据,D表示咬尾卷积编码器的寄存器,分别表示编码后输出的三路编码数据,G0=0x5B、G1=0x79和G2=0x75分别表示三路编码输出的生成多项式系数,可以表征各路编码输出与输入数据之间的输入输出关系。在对咬尾卷积编码的应用研究中,发现传统的咬尾卷积编码方式中,咬尾卷积编码器的每一路咬尾卷积码电路在编码时,同一时刻只能处理一个比特,处理速度较慢,这在即将全面到来5G时代下,无法保障万物互联所需的高实时性要求。针对传统的咬尾卷积编码方式存在的问题,本申请提供了以下技术方案,下面以上述的图1所示的咬尾卷积编码器为例进行详细说明。
请参阅图2,在一个实施例中,本发明实施例提供了一种咬尾卷积编码处理方法,包括:
S12,获取输入数据的待编码单元;待编码单元包括32个比特。
其中,输入数据为需要经过咬尾卷积编码器进行编码的数据。待编码单元为输入数据中的一段比特流,包括32个比特,也可以是包含N倍于32个比特的比特流,N大于或等于2的整数。每32个比特用于单次输入到咬尾卷积编码器进行编码输出。可以理解,咬尾卷积编码器在对输入数据进行编码处理时,可以从输入数据中每次获取一个待编码单元,以便对输入数据按字段进行编码处理。
S14,根据寄存器初值变量和待编码单元进行编码初始化处理,得到输入字变量。
可以理解,寄存器初值变量为咬尾卷积编码器结构中的各寄存器对应的初值变量,为6个比特的寄存器变量。在首次编码处理时,可以预先进行赋值,例如寄存器初值变量的赋值为0。在首次以外的后续编码处理时,可以自动进行赋值更新。编码初始化处理为咬尾卷积编码器在进行编码前,所需进行的初始化处理,以便确定在进行编码时用于直接参与编码的输入字变量。输入字变量一个32位比特的比特流,通过利用寄存器初值变量对待编码单元进行位或运算、合并等的编码初始化处理后得到。
S16,分别根据各生成多项式系数映射的字变量以及输入字变量,对待编码单元的各比特进行咬尾卷积编码,得到待编码单元对应的编码数据;任一字变量均包括相应生成多项式系数映射的四个相同的字节变量。
其中,咬尾卷积编码器的每一路生成多项式系数,可以用一个8位的字节变量来表示,也即是说每一路生成多项式系数映射的字变量由四个相同的字节变量组成。每一路生成多项式系数映射的一个字节变量,在编码过程中一次可以处理一个比特的编码。编码数据为待编码单元中的所有比特经过编码后,得到的编码输出比特流。可以理解,一路待编码单元输入咬尾卷积编码器,经过编码后可以得到三路编码输出比特流,也即96位的编码输出比特流。
具体的,在确定输入字变量后,即可以按照咬尾卷积编码器的编码规则来对待编码单元进行咬尾卷积编码处理。由于在编码处理过程中,基于的是每一路生成多项式系数映射的字变量来进行编码处理,因此在对待编码单元进行单次的编码处理时,在任一路编码处理电路中,输入字变量与所在一路的生成多项式系数映射的字变量进行运算一次,可以同时完成四个比特的处理,而不再是一个比特。一个待编码单元中包含32个比特,在每一路编码处理电路中,8次编码处理即可处理完毕。相比于传统的咬尾卷积编码处理方式中单次逐个比特处理而言,编码处理速度得到成倍提升,对于较长的输入比特流,编码速度的提升也将更加明显。
上述咬尾卷积编码处理方法,通过在咬尾卷积编码处理中,使用由各路生成多项式系数映射的字节变量,分别重复映射后展开形成的各字变量,使得输入数据由字节编码处理,转化为字编码处理。如此,可以在对待编码单元的咬尾卷积编码处理过程中,基于每一路字变量所包含的四个字节变量,实现同时对输入字变量的四个字节进行并行编码处理。如此,相比于传统的咬尾卷积编码技术,大幅提高了咬尾卷积编码处理速度,能够满足通信系统更高的实时性要求。
请参阅图3,在一个实施例中,关于步骤S14,具体可以包括如下步骤S142:
S142,将待编码单元中最高位的M个比特进行移位缓存,并对左移M位后的待编码单元与寄存器初值变量进行位或运算,得到输入字变量;M为小于或等于6的正整数。
可以理解,在咬尾卷积编码器中进行编码输出的处理前,输入的比特流会被赋值到相应的寄存器中,以便与生成多项式系数映射的字变量所在的寄存器进行位异或运算。例如,获取待编码单元后,将待编码单元赋值给aSrc0寄存器。在异或运算处理时,待编码单元在aSrc0寄存器上转化为输入字变量后,即可用于与生成多项式系数映射的字变量所在的寄存器进行位异或运算,从而实现输入字变量与生成多项式系数映射的字变量之间的位异或运算。
具体的,待编码单元左移M位,例如左移6位,具体的位数可以根据咬尾卷积编码器中包含的延迟寄存器的个数确定。以M等于6为例,也即将待编码单元的最高6位移出所在寄存器。待编码单元剩下的26个比特进行左移6位后,与寄存器初值变量进行位或运算,得到的结果即为用于直接和生成多项式系数映射的字变量进行一次编码处理的输入字变量。按照咬尾卷积编码器的编码规则,在待编码单元后续7次的编码处理中,待编码单元的最高6位将会逐个比特地加入到输入字变量中,形成每一次用于直接和生成多项式系数映射的字变量进行编码处理的输入字变量,以便完成对待编码单元的各比特进行咬尾卷积编码。
通过上述的步骤S142,可以快速完成编码初始化处理,得到用于直接参与移位异或运算的输入字变量,不会增加咬尾卷积编码器的处理复杂度。
在一个实施例中,如图3所示,上述咬尾卷积编码处理方法,还可以包括以下步骤S15:
S15,将最高位的M个比特更新至寄存器初值变量;更新后的寄存器初值变量用于下一个待编码单元的编码初始化处理。
可以理解,在咬尾卷积编码器对每一个待编码单元的编码处理过程中,下一个编码字段的编码处理,参与的比特流是下一个待编码单元和前一个待编码单元的最高M位。因此,在进行编码初始化处理时,可以将当前一个待编码单元的最高位的M个比特赋值到寄存器初值变量,以便得到用于下一个待编码单元的新的寄存器初值变量。
通过上述的步骤S15,在对当前一个待编码单元进行编码初始化处理过程中,还可以对参与编码初始化处理后的寄存器初值变量进行赋值更新,形成用于下一个待编码单元的编码初始化处理时,所需使用的新的寄存器初值变量,确保对输入数据的咬尾卷积编码的快速实现。
请参阅图4,在一个实施例中,关于上述的步骤S16中,任一根据生成多项式系数映射的字变量以及输入字变量,对待编码单元的各比特进行咬尾卷积编码的过程,具体可以包括如此处理步骤S162至S166:
S162,根据生成多项式系数映射的字变量与输入字变量,进行位异或运算。
具体的,得到输入字变量后,即可以将输入字变量与所在一路生成多项式系数映射的字变量进行位异或运算,也即将输入字变量的每一个比特与生成多项式系数映射的字变量相应的各个比特进行异或运算。
S164,将运算得到的编码数据进行移位保存。
具体的,由于生成多项式系数映射的字变量在一次位异或运算中,得到的32位比特分为4个字节,每一个字节对应得到编码后输出的一个比特,因此可以得到输入字变量对应的编码数据中的4个比特,也即相当于一次处理待编码单元的4个比特。如此,在完成对当前的输入字变量的位异或运算后,需要将得到的编码数据进行移位保存,以便与下一次位异或运算后得到的编码数据进行合并。
S166,读取最高位的M个比特中的1位比特,并按比特顺序合并到输入字变量,返回执行上述的步骤S162,直至待编码单元的各比特均完成编码输出。
可以理解,需要完成待编码单元的32个比特的编码输出,共需要进行8次的移位异或运算处理。比特顺序为比特位高至低的顺序。具体的,在完成当前一个输入字变量的位异或运算处理后,需要从待编码单元最高位的M个比特中读取1位比特,例如最高位的6个比特中最低位的1位比特,并入到输入字变量中的最高位。也即将输入字变量右移1位后,将读取的1位比特赋给输入字变量空出的最高位,得到新的输入字变量,用于与生成多项式系数映射的字变量进行下一次的位异或运算处理,从而得到待编码单元的另4个编码输出比特,也即得到编码数据中的另4个比特。如此,循环处理8次,直到完成待编码单元的所有比特的编码输出。
通过上述的步骤S162至S166,可以快速实现对待编码单元的编码处理,得到待编码单元对应的编码数据,快速实现咬尾卷积编码的功能,且对咬尾卷积编码器的软硬件模块没有冲突,编码处理速度更快,可以有效降低信道传输效率。
请参阅图5,在一个实施例中,关于上述的步骤S164,编码数据的比特位值通过以下步骤S164a和S164b:
S164a,分别统计位异或运算后输出的每一字节中比特位值为1的比特数。
其中,编码数据的比特位值也即是指编码数据的每一个比特的位值,为0或者1。在传统的咬尾卷积编码处理中,可以通过对每一次运算得到的结果进行异或运算来确定其比特位值,运算所需的处理过程一定程度上也会拖慢编码处理速度。在本实施例中,可以通过统计的方式来直接确定运算得到的结果中,每一个字节对应输出的每一个比特的位值。具体的,在每完成一次对当前的输入字变量的位异或运算后,分别统计运算结果中每一个字节的比特位值为1的比特数,也即在各个字节中,比特位值为1的比特有多少个,以便分别确定每一个字节最终对应输出编码数据的一位比特的位值是1还是0。
S164b,若比特数为奇数,则确定字节对应的编码数据的比特位值为1,否则为0。
具体的,对于运算结果中任一个字节而言,若统计出该任一字节中比特位值为1的比特数为奇数,例如比特位值为1的比特共有1个、3个、5个或者7个,则可以确定该任一个字节所对应编码数据的一位比特,其位值为1。若统计出该任一字节中比特位值为1的比特数为偶数,例如比特位值为1的比特共有2个、4个、6个或者8个,则可以确定该任一个字节所对应编码数据的一位比特,其位值为0。
如此,通过上述步骤S164a和S164b,无需再对运算结果的各个字节中的比特进行逻辑运算,而通过统计的方式快速确定运算结果的各个字节所对应的编码数据的比特位值,从而进一步提升编码处理速度。
在一个实施例中,如图5所示,上述的咬尾卷积编码处理方法,还可以包括如下处理步骤S17:
S17,根据预设掩码常量,分别对每一字节对应的编码数据的比特位值进行奇偶校验。
其中,预设掩码常量为对咬尾卷积编码器进行初始化时,预先设置的掩码常量,用于对比特位值进行奇偶校验,以确认比特的位值是否为1或0。预设掩码常量可以设置为0x01010101。
具体的,在通过统计的方式确定运算结果中每一个字节对应的编码数据的比特的位值后,还可以通过预设掩码常量来对确定的各比特进行奇偶校验,例如分别将统计的每一个字节中比特位值为1的比特个数结果(也即1或0),与预设掩码常量进行位与运算,确认每一个字节对应输出的编码数据的一位比特的位值为1或者0,提升编码数据的准确性。
通过上述的步骤S17,可以进一步提高得到的编码数据的准确性,避免编码处理过程中出错时未能及时发现,而导致最终编码输出错误的问题,利于提升编码处理的可靠性。
请参阅图6,在一个实施例中,上述的步骤S16之后,还可以包括如下步骤S18:
S18,根据输入数据的比特长度,确定待编码单元是否为最后一个字段;
若否,则返回执行上述的步骤S12,直至输入数据的最后一个待编码单元编码完毕。
可以理解,在对输入数据按字段进行咬尾卷积编码处理的过程中,每完成一个待编码单元的编码输出,即可开始对下一个待编码单元的编码处理。每一个待编码单元的编码处理过程相同,按照输入数据的比特流中的比特顺序,逐个待编码单元进行处理,如此循环直至完成所有待编码单元的编码处理,也即完成输入数据的咬尾卷积编码处理。
可以通过对输入数据剩余未编码的待编码单元数量或者比特数量来确定,参与当前一轮咬尾卷积编码的待编码单元是否为输入数据的最后一个待编码单元。若否,也即是说还有剩余的待编码单元等待编码处理,因此可以返回执行步骤S12,以开始下一个待编码单元的编码处理,直至完成最后一个待编码单元的处理。若是,则在完成该最后一个待编码单元的编码处理后,即可结束对输入数据的编码处理流程。
需要说明的是,在对输入数据按字段进行咬尾卷积编码处理的过程中,若输入数据的最后一个字段之后,仍有剩余比特(比特的数量不足一个字段)等待编码处理时,则可以将剩余比特按照传统的咬尾卷积编码规则,对剩余比特逐个比特地进行编码输出,直至完成所有剩余比特的编码处理,即结束对输入数据的编码处理流程。
通过上述的步骤S18,可以自动循环且高速地完成对输入数据的咬尾卷积编码处理,更好地提升咬尾卷积编码的处理效率;随着输入数据包含的待编码比特数量的增多,编码处理效率相对于传统咬尾卷积编码方式将会更高。
请参阅图7,在一个实施例中,上述的步骤S12之前,还可以包括如下步骤S11:
S11,对输入数据的比特流进行补零处理,得到比特长度为32的正整数倍的输入数据。
其中,补零处理为将输入数据按照比特位高至低的顺序划分字段后,最后剩余的比特不足一个字段时,为其添加位值为0的若干比特,使得剩余的比特加上添加的若干比特后形成一个字段。比特长度是指输入数据的比特流的长度,也即输入数据中包含的比特总数量。
可以理解,在获取输入数据后,可以先统计输入数据的比特流的长度,若确定比特流的长度不为32的正整数倍时,也即将输入数据按字段进行咬尾卷积编码处理时,最后处理的比特流将不足一个字段的长度。因此,可以在输入数据的尾部,对输入数据进行补零处理,以使输入数据的比特长度为32的正整数倍。
通过上述的补零处理,可以确保对输入数据的进行咬尾卷积编码处理过程,每次均可以按字段进行编码处理,无需再对最后剩余不足一个字段的比特进行传统的咬尾卷积编码处理,进一步提高了咬尾卷积编码处理的速度。
在一个实施例中,如图7所示,上述的咬尾卷积编码处理方法,还可以包括如下处理步骤S19:
S19,计算各待编码单元对应的编码数据的总比特长度,确定并丢弃补零处理时添加的比特所对应的编码输出比特。
可以理解,经过补零处理的输入数据,在最后一个待编码单元中包含的补零比特(为使剩余比特的长度达到32比特而添加的位值为0的比特),经过编码处理后,也会对应产生编码输出比特。要得到对应于输入数据的完整的编码数据,则需要将补零处理时添加的比特所对应的编码输出比特进行丢弃。
具体的,可以通过计算输入数据的所有待编码单元经过咬尾卷积编码处理后得到的编码数据的总比特长度,也即编码数据的比特流的总长度。由于输入数据在未经过补零处理时,其编码数据的总比特长度是确定的,因此可以通过补零处理后的输入数据的编码数据的总比特长度,直接确定补零比特所对应的编码输出比特,进而将其丢弃即可得到输入数据对应的真实有效的编码数据。
通过上述的步骤S19,可以在输入数据包含补零比特时,快速实现编码数据中,补零处理时添加的比特所对应的编码输出比特的确定与丢弃处理,从而快速输出的所需的编码数据。
请参阅图8和图9,在一个实施例中,上述的步骤S11前,还可以包括如下步骤S10:
S10,将每一生成多项式系数映射的字节变量进行重复映射,得到每一生成多项式系数映射的字变量。
可以理解,在咬尾卷积编码器中,三路编码输出电路所对应的三个生成多项式系数,任一生成多项式系数可以用一个字节变量pB中的比特来表示,如图9所示,也即每一生成多项式系数映射为字节变量pB。其中,msg表示输入数据比特,Di表示第i个延迟寄存器D的值(i为1至6中的任意整数)。在本申请中,可以将每一生成多项式系数映射的字节变量pB进行重复映射4次,也即映射成一个32位的字变量pN。如此,在对输入数据进行咬尾卷积编码处理时,即可以将对输入数据的字节编码处理,转化为字编码处理,使得编码处理速度得到成倍的提升。
在一个实施例中,如图10所示,示出的是其中一种具体的咬尾卷积编码处理方法的示例,包含的如下各个处理步骤:
在接收到输入数据后,把咬尾卷积编码器的电路延迟寄存器初值顺序调整到输入数据的比特中,并使得电路延迟寄存器初值为0。
设置咬尾卷积编码器所需的预设掩码常量为0x01010101,并把寄存器初值变量清零。
每一路的生成多项式系数重复映射4次,分别合并成每一路的字变量。
将输入数据进行补零处理,确保输入数据的比特长度为32的正整数倍。
获取一个待编码单元,左移6位后与寄存器初值变量进行位或运算,合并得到相应的输入字变量;将左移出来的最高6位附给寄存器初值变量。
根据第i路生成多项式系数映射的字变量,与输入字变量进行位异或运算;其中,i为一,二或三。
在任一路编码输出中:根据统计每个字节中比特位值为1的个数确定每个字节对应的一位编码数据的比特。
对输出的编码数据进行移位保存。
从最高6位比特中读取1位比特,按比特顺序合并到输入字变量。
判断是否完成8次处理。
判断输入数据是否完成编码。
图11所示,为每一个待编码单元的编码处理过程,每一个待编码单元在三路编码输出过程中,任一路编码输出中,均需要与生成多项式系数映射的字变量进行8次移位异或运算处理(一个待编码单元包含32个比特,每一次的位异或运算可以并行处理4个比特,从而需要8次的运算),完成一个待编码单元在该任一路编码输出中的处理。其中,aSrc1表示缓存aSrc0寄存器(即输入字变量)与pN寄存器(即生成多项式系数映射的字变量)每一次位异或运算得到的运算结果的寄存器。例如,第一次位异或运算得到的4个编码输出比特分别为Bit0、Bit8、Bit16和Bit24;第二次位异或运算得到的4个编码输出比特分别为Bit1、Bit9、Bit17和Bit25,后续同理,直至完成待编码单元的所有比特的编码输出。需要说明的是,图10和图11仅为示意性的举例,以便使上述的咬尾卷积编码处理方法更易于理解,而不是对本申请中咬尾卷积编码处理方法的唯一限定。
应该理解的是,虽然图2至图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
请参阅图12,在一个实施例中,提供了一种咬尾卷积编码处理装置100,包括单元获取模块12、初始化模块14和编码处理模块16,其中:
资源分配模块12用于获取输入数据的待编码单元;待编码单元包括32个比特。初始化模块14用于根据寄存器初值变量和待编码单元进行编码初始化处理,得到输入字变量。编码处理模块16用于分别根据各生成多项式系数映射的字变量以及输入字变量,对待编码单元的各比特进行咬尾卷积编码,得到待编码单元对应的编码数据;任一字变量均包括相应生成多项式系数映射的四个相同的字节变量。
上述咬尾卷积编码处理装置100,通过在咬尾卷积编码处理中,使用由各路生成多项式系数映射的字节变量,分别重复映射后展开形成的各字变量,使得输入数据由字节编码处理,转化为字编码处理。如此,可以在对待编码单元的咬尾卷积编码处理过程中,基于每一路字变量所包含的四个字节变量,实现同时对输入字变量的四个字节进行并行编码处理。如此,相比于传统的咬尾卷积编码技术,大幅提高了咬尾卷积编码处理速度,能够满足通信系统更高的实时性要求。
在一个实施例中,初始化模块14可以包括移位运算模块。移位运算模块用于将待编码单元中最高位的6个比特进行移位缓存,并对左移六位后的待编码单元与寄存器初值变量进行位或运算,得到输入字变量。
通过上述的赋值模块和移位运算模块,可以快速完成编码初始化处理,得到用于直接参与移位异或运算的输入字变量,不会增加咬尾卷积编码器的处理复杂度。
在一个实施例中,上述咬尾卷积编码处理装置100还可以包括初值更新模块,用于将最高位的6个比特更新至寄存器初值变量;更新后的寄存器初值变量用于下一个待编码单元的编码初始化处理。
在一个实施例中,编码处理模块16具体可以包括位运算模块、保存处理模块和循环处理模块。位运算模块用于根据生成多项式系数映射的字变量与输入字变量,进行位异或运算。保存处理模块用于将运算得到的编码数据进行移位保存。循环处理模块用于读取最高位的6个比特中的1位比特,并按比特顺序合并到输入字变量,返回触发上述的位运算模块开始新一循环的处理,直至待编码单元的各比特均完成编码输出。
在一个实施例中,保存处理模块具体可以包括位值统计模块和位值确定模块。位值统计模块用于分别统计位异或运算后输出的每一字节中比特位值为1的比特数。位值确定模块用于在比特数为奇数时,确定字节对应的编码数据的比特位值为1,否则为0。
在一个实施例中,上述咬尾卷积编码处理装置100还可以包括检验处理模块,用于根据预设掩码常量,分别对每一字节对应的编码数据的比特位值进行奇偶校验。
在一个实施例中,上述咬尾卷积编码处理装置100还可以包括字段判断模块和获取触发模块。字段判断模块用于根据输入数据的比特长度,确定待编码单元是否为最后一个字段。获取触发模块用于在待编码单元不是最后一个字段时,触发上述的单元获取模块12开始获取下一个待编码单元,直至输入数据的最后一个待编码单元编码完毕。
在一个实施例中,上述咬尾卷积编码处理装置100还可以包括补零处理模块,用于对输入数据的比特流进行补零处理,得到比特长度为32的正整数倍的输入数据。
在一个实施例中,上述咬尾卷积编码处理装置100还可以包括丢弃处理模块,用于计算各待编码单元对应的编码数据的总比特长度,确定并丢弃补零处理时添加的比特所对应的编码输出比特。
在一个实施例中,上述咬尾卷积编码处理装置100还可以包括映射处理模块,用于将每一生成多项式系数映射的字节变量进行重复映射,得到每一生成多项式系数映射的字变量。
关于咬尾卷积编码处理装置100的具体限定可以参见上文中对于咬尾卷积编码处理方法的限定,在此不再赘述。上述咬尾卷积编码处理装置100中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于通信设备,例如基站或者移动终端的处理器中,也可以以软件形式存储于通信设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种通信设备,该通信设备可以是基站,也可以是移动终端。该通信设备至少包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取输入数据的待编码单元;待编码单元包括32个比特;根据寄存器初值变量和待编码单元进行编码初始化处理,得到输入字变量;分别根据各生成多项式系数映射的字变量以及输入字变量,对待编码单元的各比特进行咬尾卷积编码,得到待编码单元对应的编码数据;任一字变量均包括相应生成多项式系数映射的四个相同的字节变量。
在一个实施例中,处理器执行计算机程序时还实现上述咬尾卷积编码处理方法各实施例中的增加步骤或各子步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取输入数据的待编码单元;待编码单元包括32个比特;根据寄存器初值变量和待编码单元进行编码初始化处理,得到输入字变量;分别根据各生成多项式系数映射的字变量以及输入字变量,对待编码单元的各比特进行咬尾卷积编码,得到待编码单元对应的编码数据;任一字变量均包括相应生成多项式系数映射的四个相同的字节变量。
在一个实施例中,计算机程序被处理器执行时还实现上述咬尾卷积编码处理方法各实施例中的增加步骤或各子步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (13)

1.一种咬尾卷积编码处理方法,其特征在于,包括:
获取输入数据的待编码单元;所述待编码单元包括32个比特;
根据寄存器初值变量和所述待编码单元进行编码初始化处理,得到输入字变量;
分别根据各生成多项式系数映射的字变量以及所述输入字变量,对所述待编码单元的各比特进行咬尾卷积编码,得到所述待编码单元对应的编码数据;
任一所述字变量均包括相应所述生成多项式系数映射的四个相同的字节变量。
2.根据权利要求1所述的咬尾卷积编码处理方法,其特征在于,所述根据寄存器初值变量和所述待编码单元进行编码初始化处理,得到输入字变量的步骤,包括:
将所述待编码单元中最高位的M个比特进行移位缓存,并对左移M位后的所述待编码单元与所述寄存器初值变量进行位或运算,得到所述输入字变量;M为小于或等于6的正整数。
3.根据权利要求2所述的咬尾卷积编码处理方法,其特征在于,所述方法还包括:
将所述最高位的M个比特更新至所述寄存器初值变量;更新后的所述寄存器初值变量用于下一个所述待编码单元的编码初始化处理。
4.根据权利要求2或3所述的咬尾卷积编码处理方法,其特征在于,任一根据所述生成多项式系数映射的字变量以及所述输入字变量,对所述待编码单元的各比特进行咬尾卷积编码的过程,包括:
根据所述生成多项式系数映射的字变量与所述输入字变量,进行位异或运算;
将运算得到的编码数据进行移位保存;
读取所述最高位的M个比特中的1位比特,并按比特顺序合并到所述输入字变量,返回执行所述根据所述生成多项式系数映射的字变量与所述输入字变量,进行位异或运算步骤,直至所述待编码单元的各比特均完成编码输出。
5.根据权利要求4所述的咬尾卷积编码处理方法,其特征在于,所述编码数据的比特位值通过以下步骤确定:
分别统计位异或运算后输出的每一字节中比特位值为1的比特数;
若所述比特数为奇数,则确定所述字节对应的所述编码数据的比特位值为1,否则为0。
6.根据权利要求5所述的咬尾卷积编码处理方法,其特征在于,所述方法还包括:
根据预设掩码常量,分别对每一所述字节对应的所述编码数据的比特位值进行奇偶校验。
7.根据权利要求5或6所述的咬尾卷积编码处理方法,其特征在于,所述分别根据各生成多项式系数映射的字变量以及所述输入字变量,对所述待编码单元的各比特进行咬尾卷积编码,得到所述待编码单元对应的编码数据的步骤之后,还包括:
根据所述输入数据的比特长度,确定所述待编码单元是否为最后一个字段;
若否,则返回执行所述获取输入数据的待编码单元的步骤,直至所述输入数据的最后一个所述待编码单元编码完毕。
8.根据权利要求7所述的咬尾卷积编码处理方法,其特征在于,所述获取输入数据的待编码单元的步骤前,还包括:
对所述输入数据的比特流进行补零处理,得到比特长度为32的正整数倍的所述输入数据。
9.根据权利要求8所述的咬尾卷积编码处理方法,其特征在于,所述方法还包括:
计算各所述待编码单元对应的编码数据的总比特长度,确定并丢弃补零处理时添加的比特所对应的编码输出比特。
10.根据权利要求1所述的咬尾卷积编码处理方法,其特征在于,所述获取输入数据的待编码单元的步骤前,还包括:
将每一所述生成多项式系数映射的字节变量进行重复映射,得到每一所述生成多项式系数映射的所述字变量。
11.一种咬尾卷积编码处理装置,其特征在于,包括:
单元获取模块,用于获取输入数据的待编码单元;所述待编码单元包括32个比特;
初始化模块,用于根据寄存器初值变量和所述待编码单元进行编码初始化处理,得到输入字变量;
编码处理模块,用于分别根据各生成多项式系数映射的字变量以及所述输入字变量,对所述待编码单元的各比特进行咬尾卷积编码,得到所述待编码单元对应的编码数据;任一所述字变量均包括相应所述生成多项式系数映射的四个相同的字节变量。
12.一种通信设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的咬尾卷积编码处理方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的咬尾卷积编码处理方法的步骤。
CN201910477226.3A 2019-06-03 2019-06-03 咬尾卷积编码处理方法、装置和通信设备 Active CN110278055B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910477226.3A CN110278055B (zh) 2019-06-03 2019-06-03 咬尾卷积编码处理方法、装置和通信设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910477226.3A CN110278055B (zh) 2019-06-03 2019-06-03 咬尾卷积编码处理方法、装置和通信设备

Publications (2)

Publication Number Publication Date
CN110278055A true CN110278055A (zh) 2019-09-24
CN110278055B CN110278055B (zh) 2021-11-23

Family

ID=67961967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910477226.3A Active CN110278055B (zh) 2019-06-03 2019-06-03 咬尾卷积编码处理方法、装置和通信设备

Country Status (1)

Country Link
CN (1) CN110278055B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0820159A2 (en) * 1996-07-17 1998-01-21 General Electric Company Satellite communications system utilizing parallel concatenated coding
CN101047472A (zh) * 2006-03-31 2007-10-03 世意法(北京)半导体研发有限责任公司 使用搜索深度维特比算法对咬尾卷积码的解码方法
CN102684710A (zh) * 2012-05-11 2012-09-19 清华大学 基于SSE的咬尾卷积码Viterbi译码方法
CN104796160A (zh) * 2014-01-22 2015-07-22 华为技术有限公司 译码方法和装置
US20170180164A1 (en) * 2015-12-18 2017-06-22 Intel IP Corporation System information convolutional decoding
CN107911195A (zh) * 2017-10-19 2018-04-13 重庆邮电大学 一种基于cva的咬尾卷积码信道译码方法
CN108011640A (zh) * 2016-11-01 2018-05-08 中国科学院沈阳自动化研究所 一种用于(2,1,n)卷积编码的通用方法
CN108028667A (zh) * 2015-09-24 2018-05-11 华为技术有限公司 具有很短信息块的咬尾卷积码
CN109525365A (zh) * 2018-11-06 2019-03-26 哈尔滨工业大学(深圳) 一种应用于无人机图传的信道编码与调制系统与方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0820159A2 (en) * 1996-07-17 1998-01-21 General Electric Company Satellite communications system utilizing parallel concatenated coding
CN101047472A (zh) * 2006-03-31 2007-10-03 世意法(北京)半导体研发有限责任公司 使用搜索深度维特比算法对咬尾卷积码的解码方法
CN102684710A (zh) * 2012-05-11 2012-09-19 清华大学 基于SSE的咬尾卷积码Viterbi译码方法
CN104796160A (zh) * 2014-01-22 2015-07-22 华为技术有限公司 译码方法和装置
CN108028667A (zh) * 2015-09-24 2018-05-11 华为技术有限公司 具有很短信息块的咬尾卷积码
US20170180164A1 (en) * 2015-12-18 2017-06-22 Intel IP Corporation System information convolutional decoding
CN108011640A (zh) * 2016-11-01 2018-05-08 中国科学院沈阳自动化研究所 一种用于(2,1,n)卷积编码的通用方法
CN107911195A (zh) * 2017-10-19 2018-04-13 重庆邮电大学 一种基于cva的咬尾卷积码信道译码方法
CN109525365A (zh) * 2018-11-06 2019-03-26 哈尔滨工业大学(深圳) 一种应用于无人机图传的信道编码与调制系统与方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ERICSSON: ""R1-163231 channel coding"", 《3GPP》 *
HUAWEI, HISILICON: ""R1-167216 Channel coding for control channels"", 《3GPP》 *
SEBASTIAN CAMMERER,VAHID AREF,LAURENT SCHMALEN,STEPHAN TEN BRINK: "Triggering wave-like convergence of tail-biting spatially coupled LDPC codes", 《2016 ANNUAL CONFERENCE ON INFORMATION SCIENCE AND SYSTEMS》 *
平磊: "面向5G通信的咬尾卷积码和Turbo码技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Also Published As

Publication number Publication date
CN110278055B (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
CN108833050B (zh) 编码方法、译码方法、装置和设备
CN101777924B (zh) 一种Turbo码译码方法和装置
CN110113132A (zh) 一种编译码方法和终端
CN101540654B (zh) 一种交织速率匹配和解交织解速率匹配方法
EP2023493A1 (en) Method and application for producing interleavers/deinterleavers
CN109872161B (zh) 一种加速iota子链交易验证过程的芯片及系统
CN102122966A (zh) 基于信道极化的交错结构重复码的编码器及其编译码方法
CN101635611A (zh) 一种信道译码方法和装置
CN101547064A (zh) 一种交织速率匹配和解交织解速率匹配方法
CN103731239A (zh) 一种适用于向量处理器的通用crc并行计算部件及方法
CN109150383A (zh) 一种Polar码的编码方法及装置
WO2023202149A1 (zh) 有限状态熵编码的状态选择方法、系统、存储介质及设备
CN1679267A (zh) 接收移动无线信号时的译码及循环冗余校验的并行处理
CN110266320A (zh) Ldpc编码及译码方法、装置和编译码系统
CN104092470A (zh) 一种Turbo码译码装置及方法
CN100508405C (zh) 提高Turbo码译码速度的并行译码方法及译码装置
CN102111163B (zh) Turbo编码器及编码方法
CN110278055A (zh) 咬尾卷积编码处理方法、装置和通信设备
CN100438344C (zh) Turbo码编码中的交织方法及相关装置
CN101882933B (zh) 一种LTE中进行Turbo译码的方法及Turbo译码器
CN102571107A (zh) LTE系统中高速并行Turbo码的解码系统及方法
CN110096624B (zh) 一种编解码方法、装置、计算机设备及存储介质
CN109391365B (zh) 一种交织方法及装置
CN102594370B (zh) 一种高效低延时并行钱搜索方法和装置
CN102118219A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200108

Address after: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant after: Jingxin Communication System (China) Co., Ltd.

Address before: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Applicant before: Jingxin Communication System (China) Co., Ltd.

Applicant before: Jingxin Communication System (Guangzhou) Co., Ltd.

Applicant before: Jingxin Communication Technology (Guangzhou) Co., Ltd.

Applicant before: TIANJIN COMBA TELECOM SYSTEMS CO., LTD.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant after: Jingxin Network System Co.,Ltd.

Address before: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant before: Comba Telecom System (China) Ltd.

GR01 Patent grant
GR01 Patent grant