一种解速率匹配的方法及装置转让专利

申请号 : CN202010239132.5

文献号 : CN113472475B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王俊

申请人 : 大唐移动通信设备有限公司

摘要 :

本申请实施例提供了一种解速率匹配的方法及装置,所述方法包括:译码端接收编码端发送的N个比特数据,其中,编码端进行速率匹配后的数据包括X个比特数据,X个比特数据由所述编码端通过M次发送至译码端,且每次发送N个比特数据,所述X、M和N为正整数,所述X大于或等于所述N,并行计算N个比特数据对应的存储地址,将N个比特数据分别存储至对应的存储地址。通过本申请实施例,实现了译码端实时并行计算接收数据的解速率匹配地址,进而提高了译码端的解速率匹配的效率,且不需要消耗额外的地址缓存空间。

权利要求 :

1.一种解速率匹配的方法,其特征在于,所述方法包括:

译码端接收编码端发送的N个比特数据,其中,所述编码端进行速率匹配后的数据包括X个比特数据,所述X个比特数据由所述编码端通过M次发送至所述译码端,且每次发送N个比特数据,所述X、M和N为正整数,所述X大于或等于所述N;

并行计算所述N个比特数据对应的存储地址;

将所述N个比特数据分别存储至对应的存储地址;

当译码端接收编码端发送的N个比特数据是所述编码端第一次发送的数据时,所述并行计算所述N个比特数据对应的存储地址的步骤,包括:获取预先配置的初始地址,将所述初始地址作为所述N个比特数据中第一个比特数据的存储地址;

获取解速率匹配参数;

依据所述N个比特数据中后N‑1个比特数据在所述N个比特数据中的顺序信息、所述初始地址和所述解速率匹配参数,并行确定所述后N‑1个比特数据中每个比特数据的存储地址。

2.根据权利要求1所述的方法,其特征在于,所述编码端进行速率匹配前的数据包括原始数据对应的编码数据、校验比特数据和空比特数据,所述编码端进行速率匹配后的X个比特数据包括原始数据对应的编码数据和校验比特数据;

所述解速率匹配参数包括:

第一有效比特数和第二有效比特数;其中,第一有效比特数包括:原始数据对应的编码数据的比特数和空比特数据的比特数K_null,第二有效比特数包括:原始数据对应的编码数据的比特数、校验比特数据的比特数和空比特数据的比特数K_null。

3.根据权利要求2所述的方法,其特征在于,所述依据所述N个比特数据中后N‑1个比特数据在所述N个比特数据中的顺序信息、所述初始地址和所述解速率匹配参数,并行确定所述后N‑1个比特数据中每个比特数据的存储地址的步骤,包括:针对所述后N‑1个比特数据中的每个比特数据R,依据所述比特数据R在所述后N‑1个比特数据中的顺序信息、所述初始地址和所述解速率匹配参数,确定第一存储地址;

依据所述解速率匹配参数,判断所述第一存储地址是否为空比特数据对应的存储地址;

若所述第一存储地址是空比特数据对应的存储地址,则将所述第一存储地址之后的第K_null+1位存储地址,确定为所述比特数据R对应的存储地址;

若所述第一存储地址不是空比特数据对应的存储地址,则将所述第一存储地址确定为所述比特数据R对应的存储地址。

4.根据权利要求2所述的方法,其特征在于,所述译码端接收编码端发送的N个比特数据是所述编码端第P次发送的数据时,所述并行计算所述N个比特数据对应的存储地址的步骤,包括:针对本次接收到的N个比特数据中的每个比特数据W,确定所述比特数据W在本次接收到的N个比特数据中的顺序信息i;

确定上一次接收到的N个比特数据中第i个比特数据对应的第二存储地址;

将所述第二存储地址之后的第一位存储地址,确定为第三存储地址;

依据解速率匹配参数,判断所述第三存储地址是否为空比特数据对应的存储地址;

若所述第三存储地址是空比特数据对应的存储地址,则将所述第三存储地址之后的第K_null+1位存储地址,确定为所述比特数据W对应的存储地址;

若所述第三存储地址不是空比特数据对应的存储地址,则判断所述比特数据W是否为所述X个比特数据中的最后一个比特数据;若否,则将第三存储地址确定为所述比特数据W对应的存储地址;

其中,所述P为正整数,所述P大于或等于2,且小于或等于M。

5.一种解速率匹配的装置,其特征在于,所述装置包括:

接收模块,用于译码端接收编码端发送的N个比特数据,其中,所述编码端进行速率匹配后的数据包括X个比特数据,所述X个比特数据由所述编码端通过M次发送至所述译码端,且每次发送N个比特数据,所述X、M和N为正整数,所述X大于或等于所述N;

计算模块,用于并行计算所述N个比特数据对应的存储地址;

存储模块,用于将所述N个比特数据分别存储至对应的存储地址;

当译码端接收编码端发送的N个比特数据是所述编码端第一次发送的数据时,所述计算模块包括:地址获取子模块,用于获取预先配置的初始地址,将所述初始地址作为所述N个比特中第一个比特数据的存储地址;

第一参数获取子模块,用于获取解速率匹配参数;

第一地址确定子模块,用于依据所述N个比特数据中后N‑1个比特数据在所述N个比特数据中的顺序信息、所述初始地址和所述解速率匹配参数,并行确定所述后N‑1个比特数据中每个比特数据的存储地址。

6.根据权利要求5所述的装置,其特征在于,所述编码端进行速率匹配前的数据包括原始比特数据、校验比特数据和空比特数据,所述X个比特数据包括原始数据和校验比特数据;

所述解速率匹配参数包括:

第一有效比特数和第二有效比特数;其中,第一有效比特数包括:原始比特数据的比特数和空比特数据的比特数K_null,第二有效比特数包括:原始比特数据的比特数、校验比特数据的比特数和空比特数据的比特数K_null。

7.根据权利要求6所述的装置,其特征在于,所述第一地址确定子模块包括:第一地址确定单元,用于针对所述后N‑1个比特数据中的每个比特数据R,依据所述比特数据R在所述后N‑1个比特数据中的顺序信息、所述初始地址和所述解速率匹配参数,确定第一存储地址;

判断单元,用于依据所述解速率匹配参数,判断所述第一存储地址是否为空比特数据对应的存储地址;

第二地址确定单元,用于若所述第一存储地址是空比特数据对应的存储地址,则将所述第一存储地址之后的第K_null+1位存储地址,确定为所述比特数据R对应的存储地址;

第三地址确定单元,用于若所述第一存储地址不是空比特数据对应的存储地址,则将所述第一存储地址确定为所述比特数据R对应的存储地址。

8.根据权利要求6所述的装置,其特征在于,所述译码端接收编码端发送的N个比特数据是所述编码端第P次发送的数据时,所述计算模块包括:第二参数获取子模块,用于针对本次接收到的N个比特数据中的每个比特数据W,确定所述比特数据W在本次接收到的N个比特数据中的顺序信息i;

第二地址确定子模块,用于确定上一次接收到的N个比特数据中第i个比特数据对应的第二存储地址;

第三地址确定子模块,用于将所述第二存储地址之后的第一位存储地址,确定为第三存储地址;

判断子模块,用于依据解速率匹配参数,判断所述第三存储地址是否为空比特数据对应的存储地址;

第四地址确定子模块,用于若所述第三存储地址是空比特数据对应的存储地址,则将所述第三存储地址之后的第K_null+1位存储地址,确定为所述比特数据W对应的存储地址;

第五地址确定子模块,用于若所述第三存储地址不是空比特数据对应的存储地址,则判断所述比特数据W是否为所述X个比特数据中的最后一个比特数据;若否,则将第三存储地址确定为所述比特数据W对应的存储地址;

其中,所述P为正整数,所述P大于或等于2,且小于或等于M。

9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的解速率匹配的方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的解速率匹配的方法的步骤。

说明书 :

一种解速率匹配的方法及装置

技术领域

[0001] 本申请涉及通信领域,特别是涉及一种解速率匹配的方法及装置。

背景技术

[0002] 通常,发送端在对数据进行编码后,编码后的数据的比特数与发送端物理信道能够提供的比特数可能是不匹配的;例如,编码后的数据的比特数为1788,若采用的QPSK(Quadrature Phase Shift Keying,正交相移键控)调制方式,物理信道可以承载的比特个数为1728比特。因此可以发送端可以对编码后的数据速率匹配,使得编码后的数据与物理信道能够提供的比特数匹配。
[0003] 其中,速率匹配是指传输信道上的比特被重复或者被打孔。打孔就是将当前的比特打掉,同时将后面的比特依次前移一位。重复就是在当前比特和后面的比特之间插入一次当前比特。解速率匹配方法与之相反,恢复被打掉的比特,或者打掉重复的比特。
[0004] 对应的,接收端接收到发送端发送的数据后,可以对该数据进行解速率匹配后,再进行解码。通常,接收端是在接收到发送端发送的所有比特之后,再结合混合自动重传请求(Hybrid Automatic Repeat reQuest,HARQ)对该接收的所有比特进行统一重新排列;这个过程不但会增加延迟消耗而且会增加地址空间的存储消耗。

发明内容

[0005] 鉴于上述问题,提出了本申请以便提供克服上述问题或者至少部分地解决上述问题的解速率匹配的方法和装置。
[0006] 本申请实施例提供了一种解速率匹配的方法,所述方法包括:
[0007] 译码端接收编码端发送的N个比特数据,其中,所述编码端进行速率匹配后的数据包括X个比特数据,所述X个比特数据由所述编码端通过M次发送至所述译码端,且每次发送N个比特数据,所述X、M和N为正整数,所述X大于或等于所述N;
[0008] 并行计算所述N个比特数据对应的存储地址;
[0009] 将所述N个比特数据分别存储至对应的存储地址。
[0010] 可选地,当译码端接收编码端发送的N个比特数据是所述编码端第一次发送的数据时,所述并行计算所述N个比特数据对应的存储地址的步骤,包括:
[0011] 获取预先配置的初始地址,将所述初始地址作为所述N个比特数据中第一个比特数据的存储地址;
[0012] 获取解速率匹配参数;
[0013] 依据所述N个比特数据中后N‑1个比特数据在所述N个比特数据中的顺序信息、所述初始地址和所述解速率匹配参数,并行确定所述后N‑1个比特数据中每个比特数据的存储地址。
[0014] 可选地,所述编码端进行速率匹配前的数据包括原始数据对应的编码数据、校验比特数据和空比特数据,所述编码端进行速率匹配后的X个比特数据包括原始数据对应的编码数据和校验比特数据;
[0015] 所述解速率匹配参数包括:
[0016] 第一有效比特数和第二有效比特数;其中,第一有效比特数包括:原始数据对应的编码数据的比特数和空比特数据的比特数K_null,第二有效比特数包括:原始数据对应的编码数据的比特数、校验比特数据的比特数和空比特数据的比特数K_null。
[0017] 可选地,所述依据所述N个比特数据中后N‑1个比特数据在所述N个比特数据中的顺序信息、所述初始地址和所述解速率匹配参数,并行确定所述后N‑1个比特数据中每个比特数据的存储地址的步骤,包括:
[0018] 针对所述后N‑1个比特数据中的每个比特数据R,依据所述比特数据R在所述后N‑1个比特数据中的顺序信息、所述初始地址和所述解速率匹配参数,确定第一存储地址;
[0019] 依据所述解速率匹配参数,判断所述第一存储地址是否为空比特数据对应的存储地址;
[0020] 若所述第一存储地址是空比特数据对应的存储地址,则将所述第一存储地址之后的第K_null+1位存储地址,确定为所述比特数据R对应的存储地址;
[0021] 若所述第一存储地址不是空比特数据对应的存储地址,则将所述第一存储地址确定为所述比特数据R对应的存储地址。
[0022] 可选地,所述译码端接收编码端发送的N个比特数据是所述编码端第P次发送的数据时,所述并行计算所述N个比特数据对应的存储地址的步骤,包括:
[0023] 针对本次接收到的N个比特数据中的每个比特数据W,确定所述比特数据W在本次接收到的N个比特数据中的顺序信息i;
[0024] 确定上一次接收到的N个比特数据中第i个比特数据对应的第二存储地址;
[0025] 将所述第二存储地址之后的第一位存储地址,确定为第三存储地址;
[0026] 依据解速率匹配参数,判断所述第三存储地址是否为空比特数据对应的存储地址;
[0027] 若所述第三存储地址是空比特数据对应的存储地址,则将所述第三存储地址之后的第K_null+1位存储地址,确定为所述比特数据W对应的存储地址;
[0028] 若所述第三存储地址不是空比特数据对应的存储地址,则判断所述比特数据W是否为所述X个比特数据中的最后一个比特数据;若否,则将第三存储地址确定为所述比特数据W对应的存储地址;
[0029] 其中,所述P为正整数,所述P大于或等于2,且小于或等于M。
[0030] 本申请实施例提供了一种解速率匹配的装置,其特征在于,所述装置包括:
[0031] 接收模块,用于译码端接收编码端发送的N个比特数据,其中,所述编码端进行速率匹配后的数据包括X个比特数据,所述X个比特数据由所述编码端通过M次发送至所述译码端,且每次发送N个比特数据,所述X、M和N为正整数,所述X大于或等于所述N;
[0032] 计算模块,用于并行计算所述N个比特数据对应的存储地址;
[0033] 存储模块,用于将所述N个比特数据分别存储至对应的存储地址。
[0034] 可选地,当译码端接收编码端发送的N个比特数据是所述编码端第一次发送的数据时,所述计算模块包括:
[0035] 地址获取子模块,用于获取预先配置的初始地址,将所述初始地址作为所述N个比特中第一个比特数据的存储地址;
[0036] 第一参数获取子模块,用于获取解速率匹配参数;
[0037] 第一地址确定子模块,用于依据所述N个比特数据中后N‑1个比特数据在所述N个比特数据中的顺序信息、所述初始地址和所述解速率匹配参数,并行确定所述后N‑1个比特数据中每个比特数据的存储地址。
[0038] 可选地,所述编码端进行速率匹配前的数据包括原始比特数据、校验比特数据和空比特数据,所述X个比特数据包括原始数据和校验比特数据;
[0039] 所述解速率匹配参数包括:
[0040] 第一有效比特数和第二有效比特数;其中,第一有效比特数包括:原始比特数据的比特数和空比特数据的比特数K_null,第二有效比特数包括:原始比特数据的比特数、校验比特数据的比特数和空比特数据的比特数K_null。
[0041] 可选地,所述第一地址确定子模块包括:
[0042] 第一地址确定单元,用于针对所述后N‑1个比特数据中的每个比特数据R,依据所述比特数据R在所述后N‑1个比特数据中的顺序信息、所述初始地址和所述解速率匹配参数,确定第一存储地址;
[0043] 判断单元,用于依据所述解速率匹配参数,判断所述第一存储地址是否为空比特数据对应的存储地址;
[0044] 第二地址确定单元,用于若所述第一存储地址是空比特数据对应的存储地址,则将所述第一存储地址之后的第K_null+1位存储地址,确定为所述比特数据R对应的存储地址;
[0045] 第三地址确定单元,用于若所述第一存储地址不是空比特数据对应的存储地址,则将所述第一存储地址确定为所述比特数据R对应的存储地址。
[0046] 可选地,所述译码端接收编码端发送的N个比特数据是所述编码端第P次发送的数据时,所述计算模块包括:
[0047] 第二参数获取子模块,用于针对本次接收到的N个比特数据中的每个比特数据W,确定所述比特数据W在本次接收到的N个比特数据中的顺序信息i;
[0048] 第二地址确定子模块,用于确定上一次接收到的N个比特数据中第i个比特数据对应的第二存储地址;
[0049] 第三地址确定子模块,用于将所述第二存储地址之后的第一位存储地址,确定为第三存储地址;
[0050] 判断子模块,用于依据解速率匹配参数,判断所述第三存储地址是否为空比特数据对应的存储地址;
[0051] 第四地址确定子模块,用于若所述第三存储地址是空比特数据对应的存储地址,则将所述第三存储地址之后的第K_null+1位存储地址,确定为所述比特数据W对应的存储地址;
[0052] 第五地址确定子模块,用于若所述第三存储地址不是空比特数据对应的存储地址,则判断所述比特数据W是否为所述X个比特数据中的最后一个比特数据;若否,则将第三存储地址确定为所述比特数据W对应的存储地址;
[0053] 其中,所述P为正整数,所述P大于或等于2,且小于或等于M。
[0054] 本申请实施例提供了一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上解速率匹配的方法的步骤。
[0055] 本申请实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上解速率匹配的方法的步骤。
[0056] 本申请实施例具有以下优点:
[0057] 在本申请实施例中,通过译码端接收编码端发送的N个比特数据,并行计算N个比特数据对应的存储地址,将N个比特数据分别存储至对应的存储地址,其中,编码端进行速率匹配后的数据包括X个比特数据,X个比特数据由编码端通过M次发送至译码端,且每次发送N个比特数据,实现了译码端实时并行计算接收数据的解速率匹配地址,进而提高了译码端的解速率匹配的效率,且不需要消耗额外的地址缓存空间。

附图说明

[0058] 为了更清楚地说明本申请的技术方案,下面将对本申请的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0059] 图1示出了本申请一实施例提供的一种解速率匹配的方法的步骤流程图;
[0060] 图2示出了本申请一实施例提供的另一种解速率匹配的方法的步骤流程图;
[0061] 图3示出了本申请一实施例提供的另一种解速率匹配的方法的步骤流程图;
[0062] 图4示出了本申请64QAM协议下解速率匹配的数据处理过程示意图;
[0063] 图5示出了本申请一实施例提供的一种解速率匹配的装置的结构框图。

具体实施方式

[0064] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0065] 参照图1,示出了本申请一实施例提供的一种解速率匹配的方法的步骤流程图,所述方法包括:
[0066] 步骤101、译码端接收编码端发送的N个比特数据,其中,所述编码端进行速率匹配后的数据包括X个比特数据,所述X个比特数据由所述编码端通过M次发送至所述译码端,且每次发送N个比特数据,所述X、M和N为正整数,所述X大于或等于所述N。
[0067] 本申请实施例中,在编码端和译码端数据传输过程中,编码端可以对编码后的数据进行速率匹配,然后将速率匹配后的数据发送至译码端。译码端在接收到编码端的数据后,可以对数据进行解速率匹配,然后再对解速率匹配后的数据进行译码。
[0068] 其中,为了便于描述编码端是如何发送速率匹配后的数据,可以采用X表示速率匹配后的数据对应的比特数。编码端可以将X个比特数据分为M次向译码端发送,每次可以向译码端发送N个比特数据。其中,X,M和N为正整数,X大于或等于N。
[0069] 以下以编码端采用64QAM、16QAM和QPSK调制方式为例,说明编码端发送X个比特数据的方式。但应当理解的是,本申请实施例并不限于此。
[0070] 其中,表1示出了64QAM调制方式对应的速率匹配后数据的排列方式。
[0071]64QAM bit0 bit1 bit2 bit3 bit4 bit5
RE_0 0 4 8 12 16 20
RE_1 1 5 9 13 17 21
RE_2 2 6 10 14 18 22
RE_3 3 7 11 15 19 23
[0072] 表1
[0073] 表1中,编码端进行速率匹配后的数据可以包括24个比特(即X=24个比特),编码端第一次可以将位于RE_0所在行中的6个比特(即N=6个比特)发送至译码端,编码端第二次可以将位于RE_1所在行中的6个比特(即N=6个比特)发送至译码端,编码端第三次可以将位于RE_2所在行中的6个比特(即N=6个比特)发送至译码端,编码端第四次可以将位于RE_3所在行中的6个比特(即N=6个比特)发送至译码端。即编码端一共通过4次(即M=4次)将24个比特发送至译码端。
[0074] 表2示出了16QAM调制方式对应的速率匹配后数据的排列方式。
[0075]16QAM bit0 bit1 bit2 bit3
RE_0 0 4 8 12
RE_1 1 5 9 13
RE_2 2 6 10 14
RE_3 3 7 11 15
[0076] 表2
[0077] 表2中,编码端进行速率匹配后的数据可以包括16个比特(即X=16个比特),编码端第一次可以将位于RE_0所在行中的4个比特(即N=4个比特)发送至译码端,编码端第二次可以将位于RE_1所在行中的4个比特(即N=4个比特)发送至译码端,编码端第三次可以将位于RE_2所在行中的4个比特(即N=4个比特)发送至译码端,编码端第四次可以将位于RE_3所在行中的4个比特(即N=4个比特)发送至译码端。编码端一共通过4次(即M=4次)将16个比特发送至译码端。
[0078] 表3示出了QPSK调制方式对应的速率匹配后数据的排列方式。
[0079]QPSK bit0 bit1
RE_0 0 4
RE_1 1 5
RE_2 2 6
RE_3 3 7
[0080] 表3
[0081] 表3中,编码端进行速率匹配后的数据可以包括8个比特(即X=8个比特),编码端第一次可以将位于RE_0所在行中的2个比特(即N=2个比特)发送至译码端,编码端第二次可以将位于RE_1所在行中的2个比特(即N=2个比特)发送至译码端,编码端第三次可以将位于RE_2所在行中的2个比特(即N=2个比特)发送至译码端,编码端第四次可以将位于RE_3所在行中的2个比特(即N=2个比特)发送至译码端。编码端一共通过4次(即M=4次)将8个比特发送至译码端。
[0082] 步骤102、并行计算所述N个比特数据对应的存储地址。
[0083] 其中,存储地址可以为译码端内部的存储地址,也可以为译码端外接存储设置对应的存储地址。
[0084] 译码端在接收到编码端发送的N个比特数据后,可以并行计算该N个比特数据对应的存储地址。
[0085] 步骤103、将所述N个比特数据分别存储至对应的存储地址。
[0086] 在计算得到N个比特数据对应的存储地址后,可以将该N个比特数据分别存入计算得到的对应的存储地址。
[0087] 在本申请实施例中,通过译码端接收编码端发送的N个比特数据,并行计算N个比特数据对应的存储地址,将N个比特数据分别存储至对应的存储地址,其中,编码端进行速率匹配后的数据包括X个比特,X个比特数据由编码端通过M次发送至译码端,且每次发送N个比特,实现了译码端实时并行计算接收数据的解速率匹配地址,进而提高了译码端的解速率匹配的效率,且不需要消耗额外的地址缓存空间。
[0088] 参照图2,示出了本申请一实施例提供的另一种解速率匹配的方法的步骤流程图,所述方法包括:
[0089] 步骤201、译码端接收编码端发送的N个比特数据,其中,所述编码端进行速率匹配后的数据包括X个比特,所述X个比特数据由所述编码端通过M次发送至所述译码端,且每次发送N个比特数据,所述X、M和N为正整数,所述X大于或等于所述N。
[0090] 步骤202、当译码端接收编码端发送的N个比特数据是所述编码端第一次发送的数据时,获取预先配置的初始地址,将所述初始地址作为所述N个比特数据中第一个比特数据的存储地址。
[0091] 在编码端和译码端数据传输过程中,编码端可以对编码后的数据进行速率匹配,然后将速率匹配后的比特数据通过多次发送至译码端。当译码端接收编码端第一次发送的速率匹配后的N个比特数据后,可以获取预先设置的初始地址,将该初始地址作为接收到这N个比特数据中,第一个比特数据的存储地址。
[0092] 其中,为了便于描述译码端是如何并行进行个比特数据对应存储地址的,可以采用K表示预先配置的初始地址。
[0093] 步骤203、获取解速率匹配参数。
[0094] 本申请实施例中,译码端可以获取解速率匹配参数,然后根据解速率匹配参数和这N个比特数据中第一个比特数据的存储地址K,确定这N个比特数据中,后(N‑1)个比特数据的存储地址。
[0095] 其中,译码端可以获取预先计算在译码端内的解速率匹配参数,译码端也可以预先获取编码端计算的解速率匹配参数。
[0096] 本申请实施例中,所述编码端进行速率匹配前的数据包括原始数据对应的编码数据、校验比特数据和空比特数据,所述编码端进行速率匹配后的X个比特数据包括原始数据对应的编码数据和校验比特数据。作为本申请的一个示例,所述解速率匹配参数包括:第一有效比特数和第二有效比特数;其中,第一有效比特数包括:原始数据对应的编码数据的比特数和空比特数据的比特数K_null,第二有效比特数包括:原始数据对应的编码数据的比特数、校验比特数据的比特数和空比特数据的比特数K_null。其中,为了便于后续说明,采用LDPC_k表示第一有效比特数。采用LDCP_n表示第二有效比特数,以及采用K_null表示空比特数据的比特数。
[0097] 步骤204、依据所述N个比特数据中后N‑1个比特数据在所述N个比特数据中的顺序信息、所述初始地址和所述解速率匹配参数,并行确定所述后N‑1个比特数据中每个比特数据的存储地址。
[0098] 其中,所述顺序信息可以是指N个比特数据中,每个比特数据在这N个比特数据中的排列顺序。
[0099] 译码端在获取解速率匹配参数后,可以依据初始地址K、解速率匹配参数(例如第一有效比特数LDPC_n,空比特数K_null)和N个比特中后N‑1个比特在N个比特中的顺序信息,并行确定后N‑1个比特中每个比特的存储地址。
[0100] 本申请的一个示例中,一种确定后N‑1个比特数据中,其中一个比特数据的存储地址的方式可以参照如下子步骤2041‑子步骤2044:
[0101] 子步骤2041、针对所述后N‑1个比特数据中的每个比特数据R,依据所述比特数据R在所述后N‑1个比特数据中的顺序信息、所述初始地址和所述解速率匹配参数,确定第一存储地址。
[0102] 子步骤2042、依据所述解速率匹配参数,判断所述第一存储地址是否为空比特数据对应的存储地址。
[0103] 子步骤2043、若所述第一存储地址是空比特数据对应的存储地址,则将所述第一存储地址之后的第K_null+1位存储地址,确定为所述比特数据R对应的存储地址。
[0104] 子步骤2044、若所述第一存储地址不是空比特数据对应的存储地址,则将所述第一存储地址确定为所述比特数据R对应的存储地址。
[0105] 编码端在进行速率匹配过程中,可能是将数据中的空比特数据剔除;然后再发送编码后的数据。因此译码端在进行解速率匹配过程中,在接收到编码端发送的数据后,在计算数据对应存储地址的同时,还需要考虑空比特数据对应存储位置。本申请的一个示例中,译码端可以按照原始数据的比特数据‑空比特数据‑校验比特数据的顺序进行存储。
[0106] 本申请的一个示例中,可以先按照如下方式,计算第一存储地址:
[0107] address1=(K+n*E)mod(LDCP_n‑k_null)。
[0108] 其中,address1为即第一存储地址,n为该比特数据在这后N‑1个比特数据中的顺序信息;E为接收到编码端发送X个比特数据的次数,E的取值范围为1~M。
[0109] 然后可以判断所述第一存储地址是否为空比特数据对应的存储地址。若所述第一存储地址是空比特数据对应的存储地址,则将所述第一存储地址之后的第K_null+1位存储地址,确定为所述比特数据R对应的存储地址。若所述第一存储地址不是空比特数据对应的存储地址,将所述第一存储地址确定为所述比特数据R对应的存储地址。可以参照如下代码实现:
[0110]
[0111]
[0112] 其中,kn为比特数据R对应的存储地址。
[0113] 在本申请实施例中,通过译码端接收编码端发送的N个比特数据,获取预先配置的初始地址K,将K作为N个比特中第一个比特的存储地址,获取解速率匹配参数,依据初始地址、解速率匹配参数和N个比特中后(N‑1)个比特在N个比特中的顺序信息,并行确定后(N‑1)个比特中每个比特的存储地址,将N个比特数据分别存储至对应的存储地址,其中,编码端进行速率匹配后的数据包括X个比特,X个比特数据由编码端通过M次发送至译码端,且每次发送N个比特,实现了第一次接收编码端发送的N个比特数据时解速率匹配的起始位置的计算,可以根据该起始位置递推得到多路并行的解速率匹配地址,实现了高效实时的解速率匹配的过程。
[0114] 参照图3,示出了本申请一实施例提供的另一种解速率匹配的方法的步骤流程图,所述方法包括:
[0115] 步骤301、译码端接收编码端发送的N个比特数据,其中,所述编码端进行速率匹配后的数据包括X个比特数据,所述X个比特数据由所述编码端通过M次发送至所述译码端,且每次发送N个比特数据,所述X、M和N为正整数,所述X大于或等于所述N。
[0116] 译码端在接收编码端后续多次发送的速率匹配后的数据后,可以参照步骤302‑步骤307,对每次接收到的N个比特数据,并行计算对应的存储地址。其中,为了便于后续说明,可以将编码端后续每次发送的数据称为编码端在第P次发送的数据。其中,所述P为正整数,所述P大于或等于2,且小于或等于M。
[0117] 步骤302、当译码端接收编码端发送的N个比特数据是所述编码端第P次发送的数据时,针对本次接收到的N个比特数据中的每个比特数据W,确定所述比特数据W在本次接收到的N个比特数据中的顺序信息i。
[0118] 针对本次接收到的比特数据组中的每个比特数据,确定每个比特数据在本次接收到的比特数据组中的顺序信息。
[0119] 其中,为了便于描述编码端是如何发送速率匹配后的数据,可以采用W表示本次接收到的N个比特数据中的第i个比特数据;i为该比特数据W在本次接收到的N个比特数据中的顺序信息。
[0120] 步骤303、确定上一次接收到的N个比特数据中第i个比特数据对应的第二存储地址。
[0121] 步骤304、将所述第二存储地址之后的第一位存储地址,确定为第三存储地址。
[0122] 步骤305、依据解速率匹配参数,判断所述第三存储地址是否为空比特数据对应的存储地址。
[0123] 本申请实施例中,译码端可以确定上一次接收到的N个比特数据中,第i个比特数据对应的存储地址;后续可以将上一次接收到的N个比特数据中,第i个比特数据对应的存储地址称为第二存储地址。然后将指针从第二存储地址后移一位,得到第三存储地址;即将所述第二存储地址之后的第一位,确定为第三存储地址。然后判断是否将第三存储地址确定为比特数据W对应的存储地址。
[0124] 本申请的一个示例中,可以判断第三存储地址是否为空比特数据对应的存储地址,若第三存储地址是空比特数据对应的存储地址,则执行步骤306。若第三存储地址不是空比特对应的存储地址,则执行步骤307。
[0125] 例如,判断第三存储地址是否等于LDPC_k‑k_null‑1。
[0126] 步骤306、若所述第三存储地址是空比特数据对应的存储地址,则将所述第三存储地址之后的第K_null+1位存储地址,确定为所述比特数据W对应的存储地址。
[0127] 当第三存储地址等于LDPC_k‑k_null‑1,则将指针从第三存储地址后移K_null位,得到比特数据W对应的存储地址;即将第三存储地址之后的第(K_null+1)位,确定为比特数据W对应的存储地址。例如,address2=LDPC_k,其中,address2为所述比特数据W对应的存储地址。
[0128] 步骤307、若所述第三存储地址不是空比特对应的存储地址,则判断所述比特数据W是否为所述X个比特数据中的最后一个比特数据;若否,则将第三存储地址确定为所述比特数据W对应的存储地址。
[0129] 当第三存储地址不等于LDPC_k‑k_null‑1,即N个比特数据对应的第三存储地址不是空比特对应的存储地址时,可以判断N个比特数据对应的第三存储地址是否为所述X个比特数据中的最后一个比特数据。例如,判断第三存储地址等于LDPC_n‑k_null‑1。
[0130] 当第三存储地址不等于LDPC_n‑k_null‑1,即所述比特数据W不是所述X个比特数据中的最后一个比特数据时,可以将第三存储地址确定为所述比特数据W对应的存储地址。当第三存储地址等于LDPC_n‑k_null‑1,即所述比特数据W是所述X个比特数据中的最后一个比特数据时,可以输出address2=0;可以结束本次的解速率匹配。
[0131] 参照图4,示出了64QAM协议下解速率匹配的数据处理过程示意图。其中,图4是并行确定上述步骤301‑步骤307中N个比特数据对应的存储地址的过程流程图。但应当理解的是,本申请实施例并不限于此。
[0132] 其中,图4中N=6。ad0为第1个比特数据对应的存储地址(初始值为依据上述步骤304确定的第三存储地址);ad1为第2个比特数据对应的存储地址(初始值为依据上述步骤
304确定的第三存储地址);ad2为第3个比特数据对应的存储地址(初始值为依据上述步骤
304确定的第三存储地址);ad3为第4个比特数据对应的存储地址(初始值为依据上述步骤
304确定的第三存储地址);ad4为第5个比特数据对应的存储地址(初始值为依据上述步骤
304确定的第三存储地址);ad5为第6个比特数据对应的存储地址(初始值为依据上述步骤
304确定的第三存储地址)。
[0133] 在接收到编码端发送的6个比特数据时,判断“E==M‑1”是否成立;(即判断编码端发送X个比特数据的次数,是否等于发送X个比特数据的总次数M‑1)。若不成立,则并行确定这6个比特数据对应的存储地址。若成立,则结束循环流程。
[0134] 以下以确定这6个比特数据中第1个比特数据的存储地址为例进行说明。
[0135] 判断“ad0==LDPC_k‑k_null‑1”是否成立;(即判断第三存储地址是否为空比特数据对应的存储地址);
[0136] 若成立,则设置第1个比特数据对应的存储地址ad0=LDPC_k;即上述将所述第三存储地址之后的第(K_null+1)位,确定为所述比特数据W对应的存储地址。
[0137] 若不成立,则继续判断“ad0==LDPC_n‑k_null‑1”是否成立(即判断比特数据W(W=0)是否为X个比特数据中的最后一个比特数据);
[0138] 若成立,则可以设置第1个比特数据的存储地址Ad0=0;
[0139] 若不成立,则可以将第1个比特数据对应的第三存储地址,确定为第1个比特数据对应的存储地址。然后可以设置ad0=ad0+1,并将ad0确定为下一次接收到的6个比特数据中,第1个比特数据对应的存储地址(即将第二存储地址之后的第一位,确定为第三存储地址)。
[0140] 此外,确定这6个比特数据中其他比特数据的存储地址的方式,与上述确定这6个比特中第1个比特数据的存储地址的方式类似,在此不再赘述。
[0141] 在本申请实施例中,通过译码端接收编码端发送的N个比特数据,当译码端接收编码端发送的N个比特数据是所述编码端第P(P的范围为2~M)次发送的数据时,针对本次接收到的N个比特数据中的每个比特数据W,确定比特数据W在本次接收到的N个比特数据中的顺序信息i,确定上一次接收到的N个比特数据中第i个比特数据对应的第二存储地址,将第二存储地址之后的第一位,确定为第三存储地址,依据解速率匹配参数,判断第三存储地址是否为空比特数据对应的存储地址,若第三存储地址是空比特数据对应的存储地址,则将第三存储地址之后的第(K_null+1)位,确定为比特数据W对应的存储地址,若第三存储地址不是空比特对应的存储地址,则判断比特数据W是否为X个比特数据中的最后一个比特数据,若否,则将第三存储地址确定为比特数据W对应的存储地址,实现了第P(P的范围为2~M)次接收编码端发送的N个比特数据时解速率匹配的位置的计算,可以根据该位置递推得到多路并行的解速率匹配地址。
[0142] 参照图5,示出了本申请一实施例提供的一种解速率匹配的装置的结构框图,所述装置包括:
[0143] 接收模块501,用于译码端接收编码端发送的N个比特数据,其中,所述编码端进行速率匹配后的数据包括X个比特数据,所述X个比特数据由所述编码端通过M次发送至所述译码端,且每次发送N个比特数据,所述X、M和N为正整数,所述X大于或等于所述N;
[0144] 计算模块502,用于并行计算所述N个比特数据对应的存储地址;
[0145] 存储模块503,用于将所述N个比特数据分别存储至对应的存储地址。
[0146] 在本申请一实施例中,当译码端接收编码端发送的N个比特数据是所述编码端第一次发送的数据时,所述计算模块包括:
[0147] 地址获取子模块,用于获取预先配置的初始地址,将所述初始地址作为所述N个比特中第一个比特数据的存储地址;
[0148] 第一参数获取子模块,用于获取解速率匹配参数;
[0149] 第一地址确定子模块,用于依据所述N个比特数据中后N‑1个比特数据在所述N个比特数据中的顺序信息、所述初始地址和所述解速率匹配参数,并行确定所述后N‑1个比特数据中每个比特数据的存储地址。
[0150] 在本申请一实施例中,所述编码端进行速率匹配前的数据包括原始比特数据、校验比特数据和空比特数据,所述X个比特数据包括原始数据和校验比特数据;
[0151] 所述解速率匹配参数包括:
[0152] 第一有效比特数和第二有效比特数;其中,第一有效比特数包括:原始比特数据的比特数和空比特数据的比特数K_null,第二有效比特数包括:原始比特数据的比特数、校验比特数据的比特数和空比特数据的比特数K_null。
[0153] 在本申请一实施例中,所述第一地址确定子模块包括:
[0154] 第一地址确定单元,用于针对所述后(N‑1)个比特数据中的每个比特数据R,依据所述比特数据R在所述后N‑1个比特数据中的顺序信息、所述初始地址、和所述解速率匹配参数,确定第一存储地址;
[0155] 判断单元,用于依据所述解速率匹配参数,判断所述第一存储地址是否为空比特数据对应的存储地址;
[0156] 第二地址确定单元,用于若所述第一存储地址是空比特数据对应的存储地址,则将所述第一存储地址之后的第(K_null+1)位存储地址,确定为所述比特数据R对应的存储地址;
[0157] 第三地址确定单元,用于若所述第一存储地址不是空比特数据对应的存储地址,则将所述第一存储地址确定为所述比特数据R对应的存储地址。
[0158] 在本申请一实施例中,所述译码端接收编码端发送的N个比特数据是所述编码端第P次发送的数据时,所述计算模块包括:
[0159] 第二参数获取子模块,用于于针对本次接收到的N个比特数据中的每个比特数据W,确定所述比特数据W在本次接收到的N个比特数据中的顺序信息i;
[0160] 第二地址确定子模块,用于确定上一次接收到的N个比特数据中第i个比特数据对应的第二存储地址;
[0161] 第三地址确定子模块,用于将所述第二存储地址之后的第一位存储地址,确定为第三存储地址;
[0162] 判断子模块,用于依据解速率匹配参数,判断所述第三存储地址是否为空比特数据对应的存储地址;
[0163] 第四地址确定子模块,用于若所述第三存储地址是空比特数据对应的存储地址,则将所述第三存储地址之后的第K_null+1位存储地址,确定为所述比特数据W对应的存储地址;
[0164] 第五地址确定子模块,用于若所述第三存储地址不是空比特对应的存储地址,则判断所述比特数据W是否为所述X个比特数据中的最后一个比特数据;若否,则将第三存储地址确定为所述比特数据W对应的存储地址;
[0165] 其中,所述P为正整数,所述P大于或等于2,且小于或等于M。
[0166] 在本申请实施例中,通过译码端接收编码端发送的N个比特数据,并行计算N个比特数据对应的存储地址,将N个比特数据分别存储至对应的存储地址,其中,编码端进行速率匹配后的数据包括X个比特数据,X个比特数据由编码端通过M次发送至译码端,且每次发送N个比特数据,实现了高效实时的解速率匹配的过程,译码端实时并行计算接收数据的解速率匹配地址,不需要消耗额外的地址缓存空间,也不需要进行重新排列。
[0167] 对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0168] 本申请实施例提供了一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上解速率匹配的方法的步骤。
[0169] 本申请实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上解速率匹配的方法的步骤。
[0170] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0171] 本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0172] 本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0173] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0174] 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0175] 尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
[0176] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0177] 以上对本申请所提供的解速率匹配的方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。