CN116388926B - 速率匹配方法、装置及芯片 - Google Patents

速率匹配方法、装置及芯片 Download PDF

Info

Publication number
CN116388926B
CN116388926B CN202310288395.9A CN202310288395A CN116388926B CN 116388926 B CN116388926 B CN 116388926B CN 202310288395 A CN202310288395 A CN 202310288395A CN 116388926 B CN116388926 B CN 116388926B
Authority
CN
China
Prior art keywords
bit
invalid
bits
index value
check
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
Application number
CN202310288395.9A
Other languages
English (en)
Other versions
CN116388926A (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.)
Guixin Technology Shenzhen Co ltd
Original Assignee
Guixin Technology Shenzhen 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 Guixin Technology Shenzhen Co ltd filed Critical Guixin Technology Shenzhen Co ltd
Priority to CN202311215248.5A priority Critical patent/CN117955594A/zh
Priority to CN202310288395.9A priority patent/CN116388926B/zh
Publication of CN116388926A publication Critical patent/CN116388926A/zh
Application granted granted Critical
Publication of CN116388926B publication Critical patent/CN116388926B/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/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/0013Rate matching, e.g. puncturing or repetition of code symbols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明提供一种速率匹配方法、装置及芯片,包括:在数据输入编码器前,依据无效比特数量构建无效比特位图;将无效比特位图依变换规则变换,以得到信息比特、第一校验比特对应的第一无效比特变换位图和第二校验比特对应的第二无效比特变换位图;编码器输出数据时,依信息比特、第一校验比特和第二校验比特每个比特位的行索引值和列索引值,计算每一个比特位以前的无效比特个数;依据无效比特个数、行索引以及列索引值,计算每一个比特位在缓存中的地址;依据地址,将信息比特、第一校验比特和第二校验比特的每一个比特位输出至缓存中。本发明能够在编码器输出数据时,实时计算在缓存中的地址,提高了计算效率,降低了硬件资源需求。

Description

速率匹配方法、装置及芯片
技术领域
本发明涉及通信技术领域,尤其涉及一种速率匹配方法。
背景技术
对于共享信道的速率匹配来说,一般的处理流程如下:对Turbo编码器输出的信息比特流,第一校验比特流,第二校验比特流分别进行子块交织。将比特收集到循环缓存区中,先收集交织后的信息比特流,再将交织后的第一校验比特收集于后续偶数位置,将交织后的第二校验比特收集于奇数位置。从收集比特的缓存中某个起始位置开始,按先后顺序循环读出有效比特并输出。上述子块交织过程中,需要先将Turbo编码后的3路数据分别逐行写入交织器(通常为ram或者寄存器)中,并在数据起始位置插入无效比特使数据总长等于交织器列数的整数倍,交织器固定为32列。特别的,对于第二校验比特流,还需要将输入数据整体向前循环移位1比特,随后,需要对交织器中的列数据进行列交换,最后从交织器中逐列读出数据比特。在上述过程中,需要等所有输入数据写入交织器后,才能开始产生输出数据,从而该过程需要至少2倍流水的时间来进行处理。
发明内容
本发明提供的速率匹配方法,能够在编码器输出数据时,实时计算在缓存中的地址,不需要数据收集和交织过程,提高了计算效率,降低了硬件资源需求。
本发明提供一种速率匹配方法,所述方法包括:
在将数据输入到编码器以前,计算所述数据需要添加的无效比特数量,并依据所述无效比特数量构建无效比特位图;
将所述无效比特位图依据变换规则进行变换,以得到信息比特、第一校验比特对应的第一无效比特变换位图和第二校验比特对应的第二无效比特变换位图;
在所述编码器输出数据时,依据信息比特、第一校验比特和第二校验比特每个比特位在对应的目标矩阵中的行索引值和列索引值,计算信息比特、第一校验比特和第二校验比特中每一个比特位以前的无效比特个数;
依据所述无效比特个数、行索引以及列索引,计算信息比特、第一校验比特和第二校验比特中每一个比特位在缓存中的地址;
依据所述地址,将所述信息比特、第一校验比特和第二校验比特的每一个比特位输出至所述缓存中。
可选地,计算所述数据需要添加的无效比特数量,并依据所述无效比特数量构建无效比特位图包括:
将所述数据的比特位数与目标矩阵单行元素个数的比值向上取整,以获取目标行数;
将所述目标行数的元素个数与所述数据的比特位数做差,以获取无效比特数量;
以第一元素表示无效的比特,以第二元素表示数据的比特,在所述目标矩阵中逐行顺序填充第一元素和第二元素,以获得填充后的目标矩阵;其中,在填充时,在第一元素填充完毕后再填充第二元素;
取填充后的目标矩阵的第一行作为无效比特位图。
可选地,将所述无效比特位图依据变换规则进行变换,以得到信息比特、第一校验比特对应的第一无效比特变换位图包括:
将所述无效比特位图依据交织变换规则进行变换,以得到第一无效比特变换位图。
可选地,将所述无效比特位图依据变换规则进行变换,以得到第二校验比特对应的第二无效比特变换位图包括:
将所述无效比特位图依据交织变换规则进行变换,再向前循环移动一位,以得到第二无效比特变换位图。
可选地,依据信息比特、第一校验比特和第二校验比特每个比特位在目标矩阵中的行索引值和列索引值,计算信息比特中每一个比特位以前的无效比特个数包括:
获取所述信息比特的每一个比特位在对应的目标矩阵中的列索引值;
在所述第一无效比特变换位图中,获取所述列索引值以前的第一无效比特个数;
将所述第一无效比特个数作为所述信息比特对应比特位以前的无效比特个数。
可选地,依据信息比特、第一校验比特和第二校验比特每个比特位在目标矩阵中的行索引值和列索引值,计算第一校验比特中每一个比特位以前的无效比特个数包括:
获取所述第一校验比特的每一个比特位在对应的目标矩阵中的列索引值;
在所述第一无效比特变换位图中,获取所述列索引值以前的第一无效比特个数;
在所述第二无效比特变换位图中,当所述比特的行索引值为0时,获取所述列索引值前一列以前的第二无效比特个数;当所述比特的行索引值不为0时,获取所述列索引值以前的第二无效比特个数;
将所述第一无效比特个数、第二无效比特个数求和,以获得第一校验比特中每一个比特位以前的无效比特个数。
可选地,依据信息比特、第一校验比特和第二校验比特每个比特位在目标矩阵中的行索引值和列索引值,计算第二校验比特中每一个比特位以前的无效比特个数包括:
获取所述第二校验比特的每一个比特位在对应的目标矩阵中的列索引值;
在所述第二无效比特变换位图中,获取所述列索引值以前的第三无效比特个数;其中,当所述列索引值与对应的目标矩阵列数相等时,将所述第三无效比特个数减1,当所述列索引值与对应的目标矩阵列数不相等时,保持所述第三无效比特个数不变;
在所述第一无效比特变换位图中,获取所述列索引值以前的第四无效比特个数;
将所述第三无效比特个数、第四无效比特个数求和,以获得第二校验比特中每一个比特位以前的无效比特个数。
可选地,依据所述无效比特个数,计算信息比特、第一校验比特和第二校验比特中每一个比特位在缓存中的地址包括:
将所述信息比特、第一校验比特和第二校验比特中每一个比特位的列索引与对应的目标阵列行数相乘,得到第一中间值;
对于所述信息比特、第一校验比特和第二校验比特,采用第一中间值与对应的行索引值相加,得到第二中间值;
对于第一校验比特,采用第二中间值的两倍与信息比特总长度相加,得到第三中间值;
对于第二校验比特,采用第二中间值的两倍与信息比特总长度相加后再加1,得到第四中间值
采用第二中间值、第三中间值和第四中间值分别与对应的无效比特个数相减,得到每一个比特位的排列顺序索引,并依据所述排列顺序索引得到每一个比特位在缓存中的地址。。
可选地,所述信息比特总长度采用在将数据输入到编码器以前获取的信息比特总长度;或者,
所述信息比特总长度采用无效比特位图中的总比特个数与无效比特位图中的无效比特个数之差作为信息比特总长度。
可选地,依据信息比特、第一校验比特和第二校验比特每个比特位在对应的目标矩阵中的行索引值和列索引值,计算信息比特、第一校验比特和第二校验比特中每一个比特位以前的无效比特个数之前,还包括:
以无效比特数量的列索引为起始,对所述信息比特或第一校验比特进行行索引中间值和列索引中间值的计算,并将计算得到的列索引值依据变换规则进行变换,以获取所述信息比特和第一校验比特的行索引值和列索引值。
可选地,依据信息比特、第一校验比特和第二校验比特每个比特位在对应的目标矩阵中的行索引值和列索引值,计算信息比特、第一校验比特和第二校验比特中每一个比特位以前的无效比特个数之前,还包括:
以无效比特数量的列索引为起始,对所述第二校验比特进行行索引值和列索引值的计算,以获取所述第二校验比特的中间行索引值和中间列索引值;
当所述中间列索引值减1小于0,且所述中间行索引值减1小于0时,将列索引最大值作为列索引值,将行索引最大值作为行索引值;
当所述中间列索引值减1小于0,且所述中间行索引值减1不小于0时,将列索引最大值作为列索引值,将中间行索引值减1作为行索引值;
当所述中间列索引值减1不小于0时,将所述中间列索引值减1作为当前比特的列索引值;将所述中间行索引值作为行索引值。
第二方面,本发明提供一种速率匹配装置,所述装置包括:
第一计算模块,用于在将数据输入到编码器以前,计算所述数据需要添加的无效比特数量,并依据所述无效比特数量构建无效比特位图;
变换模块,用于将所述无效比特位图依据变换规则进行变换,以得到信息比特、第一校验比特对应的第一无效比特变换位图和第二校验比特对应的第二无效比特变换位图;
第二计算模块,用于在所述编码器输出数据时,依据信息比特、第一校验比特和第二校验比特每个比特位在对应的目标矩阵中的行索引值和列索引值,计算信息比特、第一校验比特和第二校验比特中每一个比特位以前的无效比特个数;
第三计算模块,用于依据所述无效比特个数、行索引以及列索引,计算信息比特、第一校验比特和第二校验比特中每一个比特位在缓存中的地址;
输出模块,用于依据所述地址,将所述信息比特、第一校验比特和第二校验比特的每一个比特位输出至所述缓存中。
第三方面,本发明提供一种芯片,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的匹配电路;其中,
所述至少一个处理器能调用所述匹配电路,所述匹配电路能响应所述至少一个处理器的调用执行上述任一项所述的方法。
在本发明提供的技术方案中,缓存中的数据会按照比特收集之后的顺序存放,并且已经去掉无效比特,数据比特之间紧凑分布,简化了后续信道交织读取缓存时的地址计算,不用再考虑无效比特的位置。本发明提供的技术方案中,能够随着编码器的3路数据流水输出的同时计算得到交织、比特收集、去除无效数据后的数据地址,即一步到位的完成上述多个步骤,整个处理过程耗时只在输入数据流水的基础上延迟几个时钟周期,相比于一般方法的2倍流水处理时间有明显的缩短,能有效提高计算效率,降低处理功耗。同时,由于本专利随流水得到速率匹配的结果,因此不需要将数据写入交织器中进行交织,因此也节省了交织器所需的存储空间,减小了芯片面积。
附图说明
图1为本发明一实施例速率匹配方法的流程图;
图2为本发明另一实施例速率匹配方法计算无效比特位图的流程图;
图3为本发明另一实施例速率匹配方法计算无效比特个数的流程图;
图4为本发明另一实施例速率匹配方法计算无效比特个数的流程图;
图5为本发明另一实施例速率匹配方法计算无效比特个数的流程图;
图6为本发明另一实施例速率匹配方法计算缓存地址的流程图;
图7为本发明另一实施例速率匹配装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种速率匹配方法,如图1所示,所述方法包括:
步骤100,在将数据输入到编码器以前,计算所述数据需要添加的无效比特数量,并依据所述无效比特数量构建无效比特位图;
在一些实施例中,计算无效比特的数量时,以无效比特与数据的比特总数量等于对应的目标矩阵的整数行对应的元素个数。无效比特的个数通常不应超过目标矩阵单行对应的元素个数。目标矩阵例如可以与现有技术中的交织器的列数相同,目标矩阵的行数由数据的比特数量决定。无效比特位图是指以第一元素表示无效比特,以第二元素表示数据的比特,将第一元素和第二元素填充到目标矩阵中后表征目标矩阵中每个位置对应的比特是否为无效比特的位图。
步骤200,将所述无效比特位图依据变换规则进行变换,以得到信息比特、第一校验比特对应的第一无效比特变换位图和第二校验比特对应的第二无效比特变换位图;
在一些实施例中,变换规则例如可以与现有技术中的交织器中的数据进行列变换的规则相同。在一些优选的实施方式中,信息比特和第一校验比特的变换规则通常是相同的,第二校验比特的变换规则通常与信息比特和第一校验比特的变换规则不同。例如,信息比特和第一校验比特通常仅进行列变换,而第二校验比特的变换规则通常是先进行列变换,再将每个比特位向前循环。
步骤300,在所述编码器输出数据时,依据信息比特、第一校验比特和第二校验比特每个比特位在对应的目标矩阵中的行索引值和列索引值,计算信息比特、第一校验比特和第二校验比特中每一个比特位以前的无效比特个数;
在一些实施例中,将信息比特、第一校验比特和第二校验比特分别搭配对应的无效比特填充目标矩阵后,再以对应交织器的变换规则变换后得到对应的目标矩阵。在一些实施例中,信息比特和第一校验比特对应的目标矩阵相同。而第二校验比特对应的目标矩阵与信息比特和第一校验比特对应的目标矩阵不同。计算无效比特个数时,依据信息比特、第一校验比特和第二校验比特每个比特位之前表征无效比特的第一元素的个数,即可确定对应的无效比特个数。
步骤400,依据所述无效比特个数、行索引以及列索引,计算信息比特、第一校验比特和第二校验比特中每一个比特位在缓存中的地址;
在一些实施例中,在速率匹配过程中,缓存中存储的数据是首先存储信息比特,再依次交替存储第一校验比特和第二校验比特的每个比特位。依据该规则和步骤300中计算的无效比特个数以及各自对应的行索引和列索引,即可确定每个比特位在缓存中的地址。
步骤500,依据所述地址,将所述信息比特、第一校验比特和第二校验比特的每一个比特位输出至所述缓存中。
在一些实施例中,在对每个比特位对应的缓存地址获取后,可以直接将对应比特位的数据直接存储到对应的缓存地址中。
在本发明实施例提供的技术方案中,缓存中的数据会按照比特收集之后的顺序存放,并且已经去掉无效比特,数据比特之间紧凑分布,简化了后续信道交织读取缓存时的地址计算,不用再考虑无效比特的位置。本发明实施例提供的技术方案中,能够随着编码器的3路数据流水输出的同时计算得到交织、比特收集、去除无效数据后的数据地址,即一步到位的完成上述多个步骤,整个处理过程耗时只在输入数据流水的基础上延迟几个时钟周期,相比于一般方法的2倍流水处理时间有明显的缩短,能有效提高计算效率,降低处理功耗。同时,由于本专利随流水得到速率匹配的结果,因此不需要将数据写入交织器中进行交织,因此也节省了交织器所需的存储空间,减小了芯片面积。
作为一种可选的实施方式,如图2所示,计算所述数据需要添加的无效比特数量,并依据所述无效比特数量构建无效比特位图包括:
步骤110,将所述数据的比特位数与目标矩阵单行元素个数的比值向上取整,以获取目标行数;
在一些实施例中,计算无效比特个数时,需要使得无效比特数加上单路输入数据长度等于目标矩阵列数的整数倍,无效比特数应小于目标矩阵列数。例如,为了兼容现有技术,例如可以将目标矩阵的列数设置为与交织器列数相同,即32列。
步骤120,将所述目标行数的元素个数与所述数据的比特位数做差,以获取无效比特数量;
在一些实施例中,目标行数的元素个数是指将目标行数填满时所需要的元素个数。将目标行数的元素个数与数据的比特位数做差,得到无效比特的数量,从而使无效比特和数据的比特能刚好填满目标行数。
步骤130,以第一元素表示无效的比特,以第二元素表示数据的比特,在所述目标矩阵中逐行顺序填充第一元素和第二元素,以获得填充后的目标矩阵;其中,在填充时,在第一元素填充完毕后再填充第二元素;
在一些实施中,在填充时,首先从第一行第一列的位置开始填充,填充过程按行填充,在填充时,先填充无效比特对应的第一元素,再填充数据的比特对应的第二元素。例如,第一元素可以为1,第二元素可以为0。
步骤140,取填充后的目标矩阵的第一行作为无效比特位图。
在一些实施例中,由于无效比特的数量小于目标矩阵列数,又首先填充无效比特对应的第一元素,因此,仅在第一行中具有无效比特。即,第一行的填充状态即表明了所有的无效比特分布,从而,仅保留第一行作为无效比特位图。
作为一种可选的实施方式,将所述无效比特位图依据变换规则进行变换,以得到信息比特、第一校验比特对应的第一无效比特变换位图包括:
将所述无效比特位图依据交织变换规则进行变换,以得到第一无效比特变换位图。
在一些实施例中,计算信息比特和第一校验比特对应的无效比特位图之后,随后对位图中每个比特索引进行变换,最后将对应位置的数据放到变换之后的比特位置,得到第一无效比特变换位图。变换过程中,例如可以按照如下的规则(0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23,15,31);其中,每个元素的值为无效比特位图的列索引,每个元素的位置为第一无效比特变换位图的列索引。
作为一种可选的实施方式,将所述无效比特位图依据变换规则进行变换,以得到第二校验比特对应的第二无效比特变换位图包括:
将所述无效比特位图依据交织变换规则进行变换,再向前循环移动一位,以得到第二无效比特变换位图。
在一些实施方式中,计算第二校验比特对应的无效比特位图之后,对位图中每个比特索引进行变换,将变换后的位图向前循环移位1比特,最后将对应位置的数据放到变换之后的比特位置,得到第二无效比特变换位图。在循环移位1比特的过程中,将首位移动到末位,并将其他的比特位向前移动。
作为一种可选的实施方式,如图3所示,依据信息比特、第一校验比特和第二校验比特每个比特位在目标矩阵中的行索引值和列索引值,计算信息比特中每一个比特位以前的无效比特个数包括:
步骤211,获取所述信息比特的每一个比特位在对应的目标矩阵中的列索引值;
在一些实施例中,列索引值的获取是通过计算的方式获取的,获取方式例如可以在空余了无效比特数量对应的元素之后,将信息比特逐行填充到目标矩阵中后,再对列索引值进行变换获取的列索引值。
步骤212,在所述第一无效比特变换位图中,获取所述列索引值以前的第一无效比特个数;
在一些实施例中,在获取了每个比特为对应的列索引值之后,在第一无效比特变换位图中,获取列索引值以前表征无效比特的元素个数,即为第一无效比特个数。
步骤213,将所述第一无效比特个数作为所述信息比特对应比特位以前的无效比特个数。
在一些实施例中,由于在缓存中,首先存入的信息比特,并且信息比特不与任何数据进行交叉,因此,可以直接将第一无效比特个数作为对应比特位以前的无效比特个数。
作为一种可选的实施方式,如图4所示,依据信息比特、第一校验比特和第二校验比特每个比特位在目标矩阵中的行索引值和列索引值,计算第一校验比特中每一个比特位以前的无效比特个数包括:
步骤221,获取所述第一校验比特的每一个比特位在对应的目标矩阵中的列索引值;
在一些实施例中,列索引值的获取是通过计算的方式获取的,获取方式例如可以在空余了无效比特数量对应的元素之后,将信息比特逐行填充到目标矩阵中后,再对列索引值进行变换获取的列索引值。
步骤222,在所述第一无效比特变换位图中,获取所述列索引值以前的第一无效比特个数;
在一些实施例中,对于第一校验比特流,通过计算第一无效比特变换位图从第一列对应的比特到列索引对应的比特之间的所有表征无效比特的元素数量,得到当前位置之前的第一校验比特的无效比特个数。
步骤223,在所述第二无效比特变换位图中,当所述比特的行索引值为0时,获取所述列索引值前一列以前的第二无效比特个数;当所述比特的行索引值不为0时,获取所述列索引值以前的第二无效比特个数;
在一些实施例中,对于第一校验比特,如果行索引为0,将列索引减1,否则使用当前列索引,得到当前比特按照比特收集后顺序的前一个第二校验比特的列索引。使用该列索引,计算当前位置之前的第二校验比特的无效比特个数。如果校验比特流1的行索引和列索引均为0,则当前位置之前的校验比特流2的无效比特个数等于0。
步骤224,将所述第一无效比特个数、第二无效比特个数求和,以获得第一校验比特中每一个比特位以前的无效比特个数。
在一些实施例中,在缓存中,第一校验比特和第二校验比特的比特位交叉存储,并且在信息比特之后,因此,采用求和的方式获取第一校验比特的每个比特位之前的无效比特个数。
作为一种可选的实施方式,如图5所示,依据信息比特、第一校验比特和第二校验比特每个比特位在目标矩阵中的行索引值和列索引值,计算第二校验比特中每一个比特位以前的无效比特个数包括:
步骤231,获取所述第二校验比特的每一个比特位在对应的目标矩阵中的列索引值;
在一些实施例中,列索引值的获取是通过计算的方式获取的,获取方式例如可以在空余了无效比特数量对应的元素之后,将信息比特逐行填充到目标矩阵中后,再对列索引值进行变换获取的列索引值。
步骤232,在所述第二无效比特变换位图中,获取所述列索引值以前的第三无效比特个数;其中,当所述列索引值与对应的目标矩阵列数相等时,将所述第三无效比特个数减1,当所述列索引值与对应的目标矩阵列数相等时,保持所述第三无效比特个数不变;
在一些实施例中,对于第二校验比特,通过计算第二无效比特变换位图从第一列对应的比特到列索引对应的比特之间的所有表征无效比特的元素数量,得到当前位置之前的第二校验比特的无效比特个数。如果结果大于0且列索引等于目标矩阵的列数量,将结果减1。
步骤233,在所述第一无效比特变换位图中,获取所述列索引值以前的第四无效比特个数;
在一些实施例中,对于第二校验比特,使用第二校验比特的列索引,在第一无效比特变换位图中计算当前位置之前的校验比特流1的无效比特个数。
步骤234,将所述第三无效比特个数、第四无效比特个数求和,以获得第二校验比特中每一个比特位以前的无效比特个数。
在一些实施例中,在缓存中,第一校验比特和第二校验比特的比特位交叉存储,并且在信息比特之后,因此,采用求和的方式获取第一校验比特的每个比特位之前的无效比特个数。
作为一种可选的实施方式,如图6所示,依据所述无效比特个数,计算信息比特、第一校验比特和第二校验比特中每一个比特位在缓存中的地址包括:
步骤410,将所述信息比特、第一校验比特和第二校验比特中每一个比特位的列索引与对应的目标阵列行数相乘,得到第一中间值;
步骤420,对于所述信息比特、第一校验比特和第二校验比特,采用第一中间值与对应的行索引值相加,得到第二中间值;
步骤430,对于第一校验比特,采用第二中间值的两倍与信息比特总长度相加,得到第三中间值;
步骤440,对于第二校验比特,采用第二中间值的两倍与信息比特总长度相加后再加1,得到第四中间值
步骤450,采用第二中间值、第三中间值和第四中间值分别与对应的无效比特个数相减,得到每一个比特位的排列顺序索引,并依据所述排列顺序索引得到每一个比特位在缓存中的地址。
在一些实施例中,对于信息比特,第一校验比特和第二校验比特,用列索引乘以交织器行数,即的第一中间值,再加上行索引值,得到每个数据流比特收集之后的偏移地址,即第二中间值。对于信息比特流,采用信息比特偏移值减去对应的无效比特个数,得到信息比特的地址,将当前数据比特写入缓存中该地址。对于第一校验比特流,将第一校验比特流偏移值乘以2,加上信息比特总长度,再减去当前比特位对应的第一校验比特的无效比特个数与当前比特位对应的第二校验比特的无效比特个数,得到第一校验比特的地址,将当前数据比特写入缓存中该地址。对于第二校验比特,用第二校验比特2偏移值乘以2,加上信息比特总长度,再减去当前比特位对应的第二校验比特的无效比特个数与第一校验比特流的无效比特个数,再加1得到第二校验比特的地址,将当前数据比特写入缓存中该地址。在一些实施例中,缓存可以采用一个或多个,当采用一个缓存时,将每个比特位按照其排列顺序索引依次输出至缓存中对应的偏移地址中即可,当采用多个缓存时,将所有比特位按照其排列顺序分为多个组,每个组按照顺序依次输出至缓存中对应的偏移地址即可。在采用多个缓存时,通常将每个组中排列顺序索引值最小的比特输出至对应缓存的第一个偏移地址,并将其他的比特按照顺序依次对应缓存的偏移地址。
作为一种可选的实施方方式,所述信息比特总长度采用在将数据输入到编码器以前获取的信息比特总长度;或者,所述信息比特总长度采用无效比特位图中的总比特个数与无效比特位图中的无效比特个数之差作为信息比特总长度。
作为一种可选的实施方式,依据信息比特、第一校验比特和第二校验比特每个比特位在对应的目标矩阵中的行索引值和列索引值,计算信息比特、第一校验比特和第二校验比特中每一个比特位以前的无效比特个数之前,还包括:
以无效比特数量的列索引为起始,对所述信息比特或第一校验比特进行行索引中间值和列索引中间值的计算,并将计算得到的列索引值依据变换规则进行变换,以获取所述信息比特和第一校验比特的行索引值和列索引值。
在一些实施例中,随着编码器输出的3路比特流水的输入,对于每路流水数据,分别计算每个比特应按行存入目标矩阵中的行索引值和列索引值,第一个数据比特的列索引值应等于无效比特个数。再对当前数据的列索引进行列变换,变换前的列号(0~31)经过变换,与变换后的值(0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23,15,31)一一对应。
作为一种可选的实施方式,依据信息比特、第一校验比特和第二校验比特每个比特位在对应的目标矩阵中的行索引值和列索引值,计算信息比特、第一校验比特和第二校验比特中每一个比特位以前的无效比特个数之前,还包括:
以无效比特数量的列索引为起始,对所述第二校验比特进行行索引值和列索引值的计算,以获取所述第二校验比特的中间行索引值和中间列索引值;
当所述中间列索引值减1小于0,且所述中间行索引值减1小于0时,将列索引最大值作为列索引中间值,将行索引最大值作为行索引中间值;
当所述中间列索引值减1小于0,且所述中间行索引值减1不小于0时,将列索引最大值作为列索引中间值,将中间行索引值减1作为行索引中间值;
当所述中间列索引值减1不小于0时,将所述中间列索引值减1作为当前比特的列索引中间值;将所述中间行索引值作为行索引中间值;
对所述列索引中间值依据变换规则进行变换,以得到第二校验比特的行索引值和列索引值。
在一些实施例中,随着编码器输出的3路比特流水的输入,对于每路流水数据,分别计算每个比特应按行存入目标矩阵中的行索引值和列索引值,第一个数据比特的列索引值应等于无效比特个数。对于第二校验比特流,将每个数据比特对应的列索引值减1,若结果小于0则列索引值等于目标矩阵总列数减1并将行索引值减1,若行索引值减1小于0则行索引值等于目标矩阵总行数减1,列索引为目标矩阵的总列数减1。
本发明实施方式还提供了一种速率匹配装置,如图7所示,所述装置包括:
第一计算模块,用于在将数据输入到编码器以前,计算所述数据需要添加的无效比特数量,并依据所述无效比特数量构建无效比特位图;
在一些实施例中,计算无效比特的数量时,以无效比特与数据的比特总数量等于对应的目标矩阵的整数行对应的元素个数。无效比特的个数通常不应超过目标矩阵单行对应的元素个数。目标矩阵例如可以与现有技术中的交织器的列数相同,目标矩阵的行数由数据的比特数量决定。无效比特位图是指以第一元素表示无效比特,以第二元素表示数据的比特,将第一元素和第二元素填充到目标矩阵中后表征目标矩阵中每个位置对应的比特是否为无效比特的位图。
变换模块,用于将所述无效比特位图依据变换规则进行变换,以得到信息比特、第一校验比特对应的第一无效比特变换位图和第二校验比特对应的第二无效比特变换位图;
在一些实施例中,变换规则例如可以与现有技术中的交织器中的数据进行列变换的规则相同。在一些优选的实施方式中,信息比特和第一校验比特的变换规则通常是相同的,第二校验比特的变换规则通常与信息比特和第一校验比特的变换规则不同。例如,信息比特和第一校验比特通常仅进行列变换,而第二校验比特的变换规则通常是先进行列变换,再将每个比特位向前循环。
第二计算模块,用于在所述编码器输出数据时,依据信息比特、第一校验比特和第二校验比特每个比特位在对应的目标矩阵中的行索引值和列索引值,计算信息比特、第一校验比特和第二校验比特中每一个比特位以前的无效比特个数;
在一些实施例中,将信息比特、第一校验比特和第二校验比特分别搭配对应的无效比特填充目标矩阵后,再以对应交织器的变换规则变换后得到对应的目标矩阵。在一些实施例中,信息比特和第一校验比特对应的目标矩阵相同。而第二校验比特对应的目标矩阵与信息比特和第一校验比特对应的目标矩阵不同。计算无效比特个数时,依据信息比特、第一校验比特和第二校验比特每个比特位之前表征无效比特的第一元素的个数,即可确定对应的无效比特个数。
第三计算模块,用于依据所述无效比特个数、行索引以及列索引,计算信息比特、第一校验比特和第二校验比特中每一个比特位在缓存中的地址;
在一些实施例中,在速率匹配过程中,缓存中存储的数据是首先存储信息比特,再依次交替存储第一校验比特和第二校验比特的每个比特位。依据该规则和第二计算模块,中计算的无效比特个数以及各自对应的行索引和列索引,即可确定每个比特位在缓存中的地址。
输出模块,用于依据所述地址,将所述信息比特、第一校验比特和第二校验比特的每一个比特位输出至所述缓存中。
在一些实施例中,在对每个比特位对应的缓存地址获取后,可以直接将对应比特位的数据直接存储到对应的缓存地址中。
在本发明实施例提供的技术方案中,缓存中的数据会按照比特收集之后的顺序存放,并且已经去掉无效比特,数据比特之间紧凑分布,简化了后续信道交织读取缓存时的地址计算,不用再考虑无效比特的位置。本发明实施例提供的技术方案中,能够随着编码器的3路数据流水输出的同时计算得到交织、比特收集、去除无效数据后的数据地址,即一步到位的完成上述多个步骤,整个处理过程耗时只在输入数据流水的基础上延迟几个时钟周期,相比于一般方法的2倍流水处理时间有明显的缩短,能有效提高计算效率,降低处理功耗。同时,由于本专利随流水得到速率匹配的结果,因此不需要将数据写入交织器中进行交织,因此也节省了交织器所需的存储空间,减小了芯片面积。
本发明实施方式还提供了一种芯片,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的匹配电路;其中,
所述至少一个处理器能调用所述匹配电路,所述匹配电路能响应所述至少一个处理器的调用执行上述任一项所述的方法
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等;上述方法实施例中的全部或部分流程也可以通过数字电路实现在专用集成电路或者FPGA芯片上。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (12)

1.一种速率匹配方法,其特征在于,所述方法包括:
在将数据输入到编码器以前,计算所述数据需要添加的无效比特数量,并依据所述无效比特数量构建无效比特位图;
将所述无效比特位图依据变换规则进行变换,以得到信息比特、第一校验比特对应的第一无效比特变换位图和第二校验比特对应的第二无效比特变换位图;
在所述编码器输出数据时,依据信息比特、第一校验比特和第二校验比特每个比特位在对应的目标矩阵中的行索引值和列索引值,计算信息比特、第一校验比特和第二校验比特中每一个比特位以前的无效比特个数;
依据所述无效比特个数、行索引以及列索引,计算信息比特、第一校验比特和第二校验比特中每一个比特位在缓存中的地址;
依据所述地址,将所述信息比特、第一校验比特和第二校验比特的每一个比特位输出至所述缓存中;
其中,计算所述数据需要添加的无效比特数量,并依据所述无效比特数量构建无效比特位图包括:
将所述数据的比特位数与目标矩阵单行元素个数的比值向上取整,以获取目标行数;
将所述目标行数的元素个数与所述数据的比特位数做差,以获取无效比特数量;
以第一元素表示无效的比特,以第二元素表示数据的比特,在所述目标矩阵中逐行顺序填充第一元素和第二元素,以获得填充后的目标矩阵;其中,在填充时,在第一元素填充完毕后再填充第二元素;
取填充后的目标矩阵的第一行作为无效比特位图。
2.根据权利要求1所述的方法,其特征在于,将所述无效比特位图依据变换规则进行变换,以得到信息比特、第一校验比特对应的第一无效比特变换位图包括:
将所述无效比特位图依据交织变换规则进行变换,以得到第一无效比特变换位图。
3.根据权利要求1所述的方法,其特征在于,将所述无效比特位图依据变换规则进行变换,以得到第二校验比特对应的第二无效比特变换位图包括:
将所述无效比特位图依据交织变换规则进行变换,再向前循环移动一位,以得到第二无效比特变换位图。
4.根据权利要求1所述的方法,其特征在于,依据信息比特、第一校验比特和第二校验比特每个比特位在目标矩阵中的行索引值和列索引值,计算信息比特中每一个比特位以前的无效比特个数包括:
获取所述信息比特的每一个比特位在对应的目标矩阵中的列索引值;
在所述第一无效比特变换位图中,获取所述列索引值以前的第一无效比特个数;
将所述第一无效比特个数作为所述信息比特对应比特位以前的无效比特个数。
5.根据权利要求1所述的方法,其特征在于,依据信息比特、第一校验比特和第二校验比特每个比特位在目标矩阵中的行索引值和列索引值,计算第一校验比特中每一个比特位以前的无效比特个数包括:
获取所述第一校验比特的每一个比特位在对应的目标矩阵中的列索引值;
在所述第一无效比特变换位图中,获取所述列索引值以前的第一无效比特个数;
在所述第二无效比特变换位图中,当所述比特的行索引值为0时,获取所述列索引值前一列以前的第二无效比特个数;当所述比特的行索引值不为0时,获取所述列索引值以前的第二无效比特个数;
将所述第一无效比特个数、第二无效比特个数求和,以获得第一校验比特中每一个比特位以前的无效比特个数。
6.根据权利要求1所述的方法,其特征在于,依据信息比特、第一校验比特和第二校验比特每个比特位在目标矩阵中的行索引值和列索引值,计算第二校验比特中每一个比特位以前的无效比特个数包括:
获取所述第二校验比特的每一个比特位在对应的目标矩阵中的列索引值;
在所述第二无效比特变换位图中,获取所述列索引值以前的第三无效比特个数;其中,当所述列索引值与对应的目标矩阵列数相等时,将所述第三无效比特个数减1,当所述列索引值与对应的目标矩阵列数不相等时,保持所述第三无效比特个数不变;
在所述第一无效比特变换位图中,获取所述列索引值以前的第四无效比特个数;
将所述第三无效比特个数、第四无效比特个数求和,以获得第二校验比特中每一个比特位以前的无效比特个数。
7.根据权利要求1所述的方法,其特征在于,依据所述无效比特个数,计算信息比特、第一校验比特和第二校验比特中每一个比特位在缓存中的地址包括:
将所述信息比特、第一校验比特和第二校验比特中每一个比特位的列索引与对应的目标阵列行数相乘,得到第一中间值;
对于所述信息比特、第一校验比特和第二校验比特,采用第一中间值与对应的行索引值相加,得到第二中间值;
对于第一校验比特,采用第二中间值的两倍与信息比特总长度相加,得到第三中间值;
对于第二校验比特,采用第二中间值的两倍与信息比特总长度相加后再加1,得到第四中间值
采用第二中间值、第三中间值和第四中间值分别与对应的无效比特个数相减,得到每一个比特位的排列顺序索引,并依据所述排列顺序索引得到每一个比特位在缓存中的地址。
8.根据权利要求7所述的方法,其特征在于,所述信息比特总长度采用在将数据输入到编码器以前获取的信息比特总长度;或者,
所述信息比特总长度采用无效比特位图中的总比特个数与无效比特位图中的无效比特个数之差作为信息比特总长度。
9.根据权利要求1所述的方法,其特征在于,依据信息比特、第一校验比特和第二校验比特每个比特位在对应的目标矩阵中的行索引值和列索引值,计算信息比特、第一校验比特和第二校验比特中每一个比特位以前的无效比特个数之前,还包括:
以无效比特数量的列索引为起始,对所述信息比特或第一校验比特进行行索引中间值和列索引中间值的计算,并将计算得到的列索引值依据变换规则进行变换,以获取所述信息比特和第一校验比特的行索引值和列索引值。
10.根据权利要求1所述的方法,其特征在于,依据信息比特、第一校验比特和第二校验比特每个比特位在对应的目标矩阵中的行索引值和列索引值,计算信息比特、第一校验比特和第二校验比特中每一个比特位以前的无效比特个数之前,还包括:
以无效比特数量的列索引为起始,对所述第二校验比特进行行索引值和列索引值的计算,以获取所述第二校验比特的中间行索引值和中间列索引值;
当所述中间列索引值减1小于0,且所述中间行索引值减1小于0时,将列索引最大值作为列索引中间值,将行索引最大值作为行索引中间值;
当所述中间列索引值减1小于0,且所述中间行索引值减1不小于0时,将列索引最大值作为列索引中间值,将中间行索引值减1作为行索引中间值;
当所述中间列索引值减1不小于0时,将所述中间列索引值减1作为当前比特的列索引中间值;将所述中间行索引值作为行索引中间值;
对所述列索引中间值依据变换规则进行变换,以得到第二校验比特的行索引值和列索引值。
11.一种速率匹配装置,其特征在于,所述装置包括:
第一计算模块,用于在将数据输入到编码器以前,计算所述数据需要添加的无效比特数量,并依据所述无效比特数量构建无效比特位图;
变换模块,用于将所述无效比特位图依据变换规则进行变换,以得到信息比特、第一校验比特对应的第一无效比特变换位图和第二校验比特对应的第二无效比特变换位图;
第二计算模块,用于在所述编码器输出数据时,依据信息比特、第一校验比特和第二校验比特每个比特位在对应的目标矩阵中的行索引值和列索引值,计算信息比特、第一校验比特和第二校验比特中每一个比特位以前的无效比特个数;
第三计算模块,用于依据所述无效比特个数、行索引以及列索引,计算信息比特、第一校验比特和第二校验比特中每一个比特位在缓存中的地址;
输出模块,用于依据所述地址,将所述信息比特、第一校验比特和第二校验比特的每一个比特位输出至所述缓存中。
12.一种芯片,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的匹配电路;其中,
所述至少一个处理器能调用所述匹配电路,所述匹配电路能响应所述至少一个处理器的调用执行权利要求1至10中任一项所述的方法。
CN202310288395.9A 2023-03-15 2023-03-15 速率匹配方法、装置及芯片 Active CN116388926B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202311215248.5A CN117955594A (zh) 2023-03-15 2023-03-15 速率匹配方法及芯片
CN202310288395.9A CN116388926B (zh) 2023-03-15 2023-03-15 速率匹配方法、装置及芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310288395.9A CN116388926B (zh) 2023-03-15 2023-03-15 速率匹配方法、装置及芯片

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311215248.5A Division CN117955594A (zh) 2023-03-15 2023-03-15 速率匹配方法及芯片

Publications (2)

Publication Number Publication Date
CN116388926A CN116388926A (zh) 2023-07-04
CN116388926B true CN116388926B (zh) 2023-09-22

Family

ID=86960815

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310288395.9A Active CN116388926B (zh) 2023-03-15 2023-03-15 速率匹配方法、装置及芯片
CN202311215248.5A Pending CN117955594A (zh) 2023-03-15 2023-03-15 速率匹配方法及芯片

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202311215248.5A Pending CN117955594A (zh) 2023-03-15 2023-03-15 速率匹配方法及芯片

Country Status (1)

Country Link
CN (2) CN116388926B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102468902A (zh) * 2010-11-01 2012-05-23 普天信息技术研究院有限公司 LTE系统Turbo编码速率匹配/解速率匹配的方法
CN105187162A (zh) * 2015-09-24 2015-12-23 中国科学院自动化研究所 一种多粒度并行解速率匹配方法和装置
CN111162796A (zh) * 2020-01-16 2020-05-15 南京中科晶上通信技术有限公司 基于ldpc编码器的数据处理方法、装置及终端
CN114422085A (zh) * 2022-01-21 2022-04-29 上海大学 基于fpga的优化速率匹配方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499219B2 (en) * 2011-12-13 2013-07-30 Broadcom Corporation Encoding methods and systems for binary product codes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102468902A (zh) * 2010-11-01 2012-05-23 普天信息技术研究院有限公司 LTE系统Turbo编码速率匹配/解速率匹配的方法
CN105187162A (zh) * 2015-09-24 2015-12-23 中国科学院自动化研究所 一种多粒度并行解速率匹配方法和装置
CN111162796A (zh) * 2020-01-16 2020-05-15 南京中科晶上通信技术有限公司 基于ldpc编码器的数据处理方法、装置及终端
CN114422085A (zh) * 2022-01-21 2022-04-29 上海大学 基于fpga的优化速率匹配方法及系统

Also Published As

Publication number Publication date
CN116388926A (zh) 2023-07-04
CN117955594A (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
CN101847986B (zh) 一种实现fft/ifft变换的电路及方法
US9317481B2 (en) Data access method and device for parallel FFT computation
US9250996B2 (en) Multicore type error correction processing system and error correction processing apparatus
CN101938325B (zh) 有限长度循环缓存速率匹配的解速率匹配方法和装置
US8438448B2 (en) Decoding method and device for low density generator matrix codes
EP2533450B1 (en) Method and device for data check processing
KR20190111991A (ko) 폴라 코드의 레이트 매칭을 프로세싱하기 위한 방법 및 장치
CN114422085B (zh) 基于fpga的优化速率匹配方法及系统
CN1702976B (zh) 一种用于通信系统的数据交织与解交织方法
CN110019184A (zh) 一种压缩和解压缩有序整数数组的方法
CN116388926B (zh) 速率匹配方法、装置及芯片
TWI422166B (zh) Turbo解碼器裝置及解碼turbo編碼信號的方法
CN111313912B (zh) 一种ldpc码编码器及编码方法
US20050262415A1 (en) Method and apparatus for convolutional interleaving/de-interleaving technique
CN115640493B (zh) 基于fpga的分段线性分数阶运算ip核
JP2009246474A (ja) ターボデコーダ
JP2002149399A (ja) プロセッサ用命令セット
WO2011102291A1 (ja) 高速フーリエ変換回路
CN113472358B (zh) 一种基于准循环生成矩阵的高速并行编码器
CN104053011B (zh) 应用于jpeg2000解码器中的二维离散小波逆变换器
CN111368250B (zh) 基于傅里叶变换/逆变换的数据处理系统、方法及设备
CN110474647B (zh) 有限域构造的ldpc码的译码方法、装置、译码器及存储介质
CN102227097A (zh) 一种可变长度s随机交织器的生成方法
CN109391365B (zh) 一种交织方法及装置
JP2001332980A (ja) インタリーブ装置及びインタリーブ方法

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