首页> 中国专利> 一种LDPC码的基矩阵生成方法、编译码方法及设备

一种LDPC码的基矩阵生成方法、编译码方法及设备

摘要

本发明公开了一种LDPC码的基矩阵生成方法、编译码方法及设备,涉及通信领域,解决了由于打孔图样差使得变形后的校验矩阵的性能得不到保证,导致的译码出错的概率增加的问题。具体方案为:根据所需的最低码率确定基矩阵的校验位部分的大小,根据初始矩阵及校验位部分的大小确定基矩阵的校验位部分,初始矩阵为具备双对角结构的、大小为m×m的矩阵,校验位部分为对初始矩阵进行k次变换处理后得到的k阶变换矩阵H

著录项

  • 公开/公告号CN109478894A

    专利类型发明专利

  • 公开/公告日2019-03-15

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201680087813.6

  • 发明设计人 马亮;魏岳军;郑晨;曾歆;

    申请日2016-08-19

  • 分类号

  • 代理机构北京中博世达专利商标代理有限公司;

  • 代理人申健

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2024-02-19 08:33:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-21

    授权

    授权

  • 2019-04-09

    实质审查的生效 IPC(主分类):H03M13/11 申请日:20160819

    实质审查的生效

  • 2019-03-15

    公开

    公开

说明书

技术领域

本发明实施例涉及通信领域,尤其涉及一种LDPC码的基矩阵生成方法、编译码方法及设备。

背景技术

目前,在频率资源有限的无线通信网络中,信息在信道中传输的可靠性和有效性影响无线通信网络的服务质量。低密度奇偶校验(low density parity check,LDPC)码是一种具有稀疏校验矩阵的线性分组码,且由于其具有低复杂度、低错误平层、能够全并行译码等优点,已被广泛应用于全球微波互联接入(worldwide interoperability for microwave access,Wimax)、光网络、无线保真(wireless fidelity,Wi-Fi)等领域的信道编码中,以用来确保在信道中传输的信息的可靠性和有效性。

众所周知的,由于信道环境复杂多变,信道编码需要采用混合自动重传请求(hybrid automatic repeat request,HARQ)技术实现码字的重传,以提升通信系统的性能。HARQ技术包括蔡司合并(chase combining,CC)和增量冗余(incremental redundancy,IR)两种方案。在CC方案中,重传数据和初传数据完全相同,只有一种冗余版本,接收端将重传数据和初传数据进行软合并后进行译码;在IR方案中,每次重传包含了不同的增量冗余校验位,译码时先将两次收到的码字进行合并,再将其当作一个码率更低的码字进行译码。由于IR方案可以同时获得能量增益和编码增益,因此在实际使用中大多会使用IR方案实现HARQ。

采用IR方案实现HARQ时,发送端可以采用打孔的方法对LDPC码的码率做出调整,并将打孔后的LDPC码发送至接收端,以适应不同的信道环境。相应的,接收端在对接收到的打孔后的LDPC码进行译码时,先需要将被打孔的比特的置信度置为0,然后再进 行译码,但这种译码方法会出现计算复杂度高,收敛速度慢,译码性能恶化等缺点。为了解决这一问题,现有技术提供一种译码方法,其具体方案为,接收端在接收到LDPC码后,先判断该LDPC码是否为被打孔码字,若是,则接收端需对初始校验矩阵(发送端是采用该初始校验矩阵进行编码的)进行行合并和列删除的变形操作,以得到变形后的校验矩阵(在对初始校验矩阵变形过程中删除的列对应被打孔比特在整个码字中的位置,该变形后的校验矩阵与接收到的LDPC码的码率一致),然后,再根据得到的变形后的校验矩阵对该LDPC码进行译码。

现有技术中至少存在如下问题:现有技术在对初始校验矩阵进行行合并和列删除时,需根据发送端进行打孔时的打孔图样进行相应的变形操作,而打孔图样的好坏会对变形后的校验矩阵的性能产生较大的影响,也就是说,若根据较差的打孔图样对初始校验矩阵进行变形操作,则会使得变形后的校验矩阵的性能得不到保证,从而导致译码出错的概率增加。

发明内容

本发明实施例提供一种LDPC码的基矩阵生成方法、编译码方法及设备,解决了由于打孔图样差使得变形后的校验矩阵的性能得不到保证,导致的译码出错的概率增加的问题。

为达到上述目的,本发明实施例采用如下技术方案:

本发明实施例的第一方面,提供一种LDPC码的基矩阵生成方法,包括:

首先,根据所需的最低码率确定基矩阵的校验位部分的大小,并根据确定出的校验位部分的大小及初始矩阵确定基矩阵的校验位部分,该初始矩阵为具备双对角结构的、大小为m×m的矩阵,校验位部分为对初始矩阵进行k次变换处理后得到的k阶变换矩阵Hk,k阶变换矩阵Hk为大小为2km×2km的矩阵,k满足2k-1m<T≤2km,T为校验位部分的大小,并根据校验位部分确定基矩阵的信息位部分,最后,根据确定出的校验位部分和信息位部分得到基矩阵。

其中,k次变换处理中的第i次变换处理具体为:

针对i-1阶变换矩阵Hi-1的第a行,将第a行的第一个非负元素填充到分裂矩阵Si的第2a行的第b个位置,将第a行的第二个非负元素填充到分裂矩阵Si的第2a-1行的第c个位置,分裂矩阵Si中的其余位置的元素为-1,以得到分裂矩阵Si;其中,分裂矩阵Si为大小为2im×2i-1m的矩阵,i为小于或等于k,且大于0的整数,当i=1时,i-1阶变换矩阵Hi-1为初始矩阵;第a行为i-1阶变换矩阵Hi-1的任意一行,b为第a行的第一个非负元素在第a行的位置,c为第a行的第二个非负元素在第a行的位置,a,b,c均为大于0的整数;

根据生成补充矩阵Ai;其中,Ad,e表示补充矩阵Ai第d行第e列的元素,d为小于2im,且大于0的整数,e为小于2i-1m,且大于0的整数;

拼接分裂矩阵Si和补充矩阵Ai以获得i阶变换矩阵Hi=[Si,Ai]。

本发明实施例提供的LDPC码的基矩阵生成方法,首先,根据所需的最低码率确定基矩阵的校验位部分的大小,并根据确定出的校验位部分的大小,对初始矩阵进行k次变换处理后得到基矩阵的校验位部分,并根据校验位部分确定基矩阵的信息位部分,最后,根据确定出的校验位部分和信息位部分得到基矩阵,这样,生成的基矩阵具有固定的打孔图样,进而保证了接收端根据该固定的打孔图样对基矩阵进行变形得到的变换矩阵的性能,从而降低了译码出错的概率。

本发明实施例的第二方面,提供一种译码方法,应用于接收端,该接收端预先配置有如第一方面所述的基矩阵,该方法可以包括:接收端接收发送端采用预设的初传码率发送的初传LDPC码,并确定接收到的初传LDPC码包含被打孔比特,接收端根据最低码率和初传码率确定基矩阵的校验位部分中需删除的列数x,并对基矩阵进行变换得到的第一变换矩阵,该第一变换矩阵是由基矩阵的校验位部分的最后一列开始,将检验位部分的x列删除,并每删除一列,合并与列对应的行之后得到的矩阵,然后采用得到的第一变换矩阵 对初传LDPC码进行译码。

本发明实施例提供的译码方法,接收端在确定发送端发送的初传LDPC码包含被打孔比特时,首先根据最低码率和初传码率确定基矩阵的校验位部分中需删除的列数x,然后由基矩阵的校验位部分的最后一列开始,删除x列,并每删除一列,合并与列对应的行,得到码率与初传码率相等第一变换矩阵,最后采用得到的第一变换矩阵对初传LDPC码进行译码,通过接收端根据固定的打孔图样,即通过采用由基矩阵的校验位部分的最后一列开始,根据x删除基矩阵的校验位部分中相应数量的列,并每删除一列,合并与列对应的行的方式对基矩阵进行变形得到的变换矩阵,确保了变换矩阵的性能,从而降低了译码出错的概率。

结合第二方面,在一种可能的实现方式中,针对基矩阵的校验位部分中的每列,该接收端预先存储有该列和与该列对应的行的对应关系。

其中,所述校验位部分的第2jm列与所述基矩阵的第2km行、第2km-1行、第2km-2行,…和第2km-2k-j+1+1行对应;

所述校验位部分的第2jm-1列与所述基矩阵的第2km-2k-j+1行、第2km-2k-j+1-1行、第2km-2k-j+1-2行,…和第2km-2k-j+2行对应;

以此类推;

所述校验位部分的第2j-1m+1列与所述基矩阵的第2k-j+1行、…、第2行和第1行对应;j为小于k且大于0的整数。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,该译码方法还可以包括:若接收端确定接收到的发送端发送的初传的LDPC码不包含被打孔比特,则可以先将可能存在的重复比特的软值合并,然后无需对预先配置的基矩阵进行任何变换处理,而是直接采用该预先配置的基矩阵对初传LDPC码进行译码。

另外,在接收端采用预先配置的基矩阵对初传LDPC码进行译码之后,可以判断对该初传LDPC码的译码是否成功,若判断得到对该初传LDPC码的译码成功,则向发送端发送确认(acknowledgement,ACK)指令,以便完成此次数据传输;若判断 得到对该初传LDPC码的译码失败,则向发送端发送非确认(negative acknowledgement,NACK)指令,以便发送端进行重传,直到接收端译码成功或重复传输的次数达到预设阈值。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,在接收端采用第一变换矩阵对初传LDPC码进行译码之后,该译码方法还可以包括:接收端判断对初传LDPC码的译码是否成功,若判断得到对初传LDPC码的译码成功,则向发送端发送ACK指令,以便完成此次数据传输;若判断得到对初传LDPC码的译码失败,则接收端向发送端发送NACK指令,以便发送端根据NACK指令构造并发送重传比特,此时接收端接收发送端发送的重传比特,并需要先判断重传码率是否大于最低码率,若重传码率大于最低码率,则表明将接收到的重传比特和初传LDPC码包括的所有比特进行拼接后得到的第一LDPC码仍包含打孔比特,此时接收端可以直接将重传比特和初传LDPC码包括的所有比特进行拼接,得到码率与重传码率相等第一LDPC码,然后接收端根据最低码率和重传码率确定基矩阵的校验位部分中需删除的列数y,并对基矩阵进行变换得到第二变换矩阵;其中,第二变换矩阵是由基矩阵的校验位部分的最后一列开始,将校验位部分的y列删除,并每删除一列,合并与列对应的行之后得到的矩阵,第二变换矩阵的码率与重传码率相等,最后采用第二变换矩阵对第一LDPC码进行译码。

若重传码率小于最低码率,则表明重传比特中包含有与初传LDPC码中包括的比特重复的比特,此时可以先将重传比特和初传LDPC码中包含的比特中代表相同比特的软值合并,然后与剩余的比特进行拼接以得到第一LDPC码,并直接采用基矩阵对该第一LDPC码进行译码。

若重传码率等于最低码率,则可以直接将重传比特和初传LDPC码包括的所有比特进行拼接,得到第一LDPC码,然后直接采用基矩阵对该第一LDPC码进行译码。

当然,接收端在对第一LDPC码进行译码之后,还需再次判断对该第一LDPC码的译码是否成功,并在确定译码成功时,向发送 端发送ACK指令,此次数据传输完成,当确定译码失败时,需向发送端发送NACK指令,以便发送端可以再次构造并发送第一重传比特至接收端,此时接收端接收到了第一重传比特之后,需将第一次接收到的初始LDPC码的所有比特,以及所有重传的重传比特合并,构造出第二LDPC码,直到对LDPC码的译码成功或重复传输的次数达到预设阈值,完成此次数据传输。

本发明实施例的第三方面,提供一种编码方法,应用于发送端,该发送端预先配置有如第一方面所述的基矩阵,该方法可以包括:发送端采用基矩阵对待传输信息进行编码得到LDPC码,并判断预设的初传码率是否大于最低码率,若判断得到初传码率大于最低码率,则发送端根据初传码率和最低码率确定需打孔的比特的位数,然后根据需打孔的比特的位数,从LDPC码的最后一个比特开始对LDPC码进行打孔生成初传LDPC码,最后采用初传码率将初传LDPC码发送至接收端。

若判断得到初传码率小于最低码率,则发送端根据初传码率和最低码率确定需要重复的比特的位数,然后从第一个比特开始将编码得到的LDPC码的比特逐个重复添加到该LDPC码的末尾,以生成初传LDPC码,并采用初传码率将该初传LDPC码发送至接收端。若判断得到初传码率等于最低码率,则发送端直接将编码得到的LDPC码作为初传LDPC码,并采用初传码率将该初传LDPC码发送至接收端。另外,在初传码率小于或等于最低码率的情况下,将初传LDPC码发送至接收端之后,若接收到接收端发送的ACK指令,则表明接收端对初传LDPC码的译码成功,此时数据传输完成;若接收到接收端发送的NACK指令,则表明接收端对初传LDPC码的译码失败,此时,发送端需进行重传,直到接收到接收端发送的ACK指令或重复传输的次数达到预设阈值。

本发明实施例提供的编码方法,发送端采用基矩阵对待传输信息进行编码得到LDPC码,在确定初传码率大于最低码率时,根据初传码率和最低码率确定需打孔的比特的位数,然后根据需打孔的比特的位数,从LDPC码的最后一个比特开始对LDPC码进行打孔 生成初传LDPC码,最后采用初传码率将初传LDPC码发送至接收端,通过从LDPC码的最后一个比特开始对LDPC码进行打孔生成初传LDPC码,使得接收端可以根据固定的打孔图样,即通过采用由基矩阵的校验位部分的最后一列开始,根据x删除基矩阵的校验位部分中相应数量的列,并每删除一列,合并与列对应的行的方式对基矩阵进行变形得到的变换矩阵,确保了变换矩阵的性能,从而降低了接收端译码出错的概率。

结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,在发送端采用初传码率将初传LDPC码发送至接收端之后,该编码方法还可以包括:发送端接收接收端发送的NACK指令,表明接收端对初传LDPC码的译码失败,此时发送端可以根据预设的重传码率生成重传比特,并将重传比特发送至接收端;其中,该重传比特中包括部分或全部被打孔的比特,或重传比特中包括全部被打孔的比特,以及从LDPC码的第一个比特开始逐个重复的比特。

另外,若发送端接收到接收端发送的ACK指令,则表明接收端对初传LDPC码的译码成功,则此次数据传输完成。

结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,所述方法还包括:若发送端再次接收到接收端发送的NACK指令,则发送端可以重新生成并发送第一重传比特至接收端,直到接收到接收端发送的ACK指令或重传的次数达到预设的阈值。

本发明实施例的第四方面,提供一种LDPC码的基矩阵生成设备,包括:

确定单元,用于根据所需的最低码率确定基矩阵的校验位部分的大小,并根据所述校验位部分的大小及初始矩阵确定所述基矩阵的校验位部分;其中,所述初始矩阵为具备双对角结构的、大小为m×m的矩阵,所述校验位部分为对所述初始矩阵进行k次变换处理后得到的k阶变换矩阵Hk,所述k阶变换矩阵Hk为大小为2km×2km的矩阵,k满足2k-1m<T≤2km,T为所述校验位部分的大小;并根据所述校验位部分确定所述基矩阵的信息位部分;

处理单元,用于根据所述确定单元确定出的所述校验位部分和 所述信息位部分得到所述基矩阵;

其中,针对k次变换处理中的第i次变换处理,所述确定单元具体用于:

针对i-1阶变换矩阵Hi-1的第a行,将第a行的第一个非负元素填充到分裂矩阵Si的第2a行的第b个位置,将所述第a行的第二个非负元素填充到所述分裂矩阵Si的第2a-1行的第c个位置,所述分裂矩阵Si中的其余位置的元素为-1,以得到所述分裂矩阵Si;其中,所述分裂矩阵Si为大小为2im×2i-1m的矩阵,所述i为小于或等于k,且大于0的整数,当i=1时,所述i-1阶变换矩阵Hi-1为所述初始矩阵;所述第a行为所述i-1阶变换矩阵Hi-1的任意一行,所述b为所述第a行的第一个非负元素在所述第a行的位置,所述c为所述第a行的第二个非负元素在所述第a行的位置,所述a,所述b,所述c均为大于0的整数;

根据生成补充矩阵Ai;其中,Ad,e表示补充矩阵Ai第d行第e列的元素,所述d为小于2im,且大于0的整数,所述e为小于2i-1m,且大于0的整数;

拼接所述分裂矩阵Si和所述补充矩阵Ai以获得i阶变换矩阵Hi=[Si,Ai]。

本发明实施例的第五方面,提供一种接收端,所述接收端预先配置有如第一方面所述的基矩阵,所述接收端包括:

接收单元,用于接收发送端采用预设的初传码率发送的初传LDPC码;

确定单元,用于确定所述接收单元接收到的所述初传LDPC码包含被打孔比特,并根据所述最低码率和所述初传码率确定所述基矩阵的校验位部分中需删除的列数x;

变换单元,用于对所述基矩阵进行变换得到第一变换矩阵;其中,所述第一变换矩阵的码率与所述初传码率相等,所述第一变换矩阵是由所述基矩阵的校验位部分的最后一列开始,将所述检验位部分的x列删除,并每删除一列,合并与所述列对应的行之后得到 的矩阵;

译码单元,用于采用所述变换单元变换得到的所述第一变换矩阵对所述初传LDPC码进行译码。

结合第五方面,在一种可能的实现方式中,所述接收端还包括:存储单元;

针对所述基矩阵的校验位部分中的每列,所述存储单元中预先存储有该列和与该列对应的行的对应关系;

其中,所述校验位部分的第2jm列与所述基矩阵的第2km行、第2km-1行、第2km-2行,…和第2km-2k-j+1+1行对应;

所述校验位部分的第2jm-1列与所述基矩阵的第2km-2k-j+1行、第2km-2k-j+1-1行、第2km-2k-j+1-2行,…和第2km-2k-j+2行对应;

以此类推;

所述校验位部分的第2j-1m+1列与所述基矩阵的第2k-j+1行、…、第2行和第1行对应;j为小于k且大于0的整数。

结合第五方面和上述可能的实现方式,在另一种可能的实现方式中,所述接收端还包括:发送单元和合并单元;

所述确定单元,还用于确定所述译码单元对所述初传LDPC码的译码失败;

所述发送单元,用于向所述发送端发送非确认NACK指令;

所述接收单元,还用于接收所述发送端发送的重传比特;

拼接单元,用于若重传码率大于所述最低码率,则将所述接收单元接收到的所述重传比特和所述初传LDPC码包括的所有比特进行拼接得到第一LDPC码;所述第一LDPC码的码率与所述重传码率相等;

所述确定单元,还用于根据所述最低码率和所述重传码率确定所述基矩阵的校验位部分中需删除的列数y;

所述变换单元,还用于对所述基矩阵进行变换得到第二变换矩阵;其中,所述第二变换矩阵是由所述基矩阵的校验位部分的最后一列开始,将所述校验位部分的y列删除,并每删除一列,合并与所述列对应的行之后得到的矩阵,所述第二变换矩阵的码率与所述 重传码率相等;

所述译码单元,还用于采用所述变换单元变换得到的所述第二变换矩阵对所述第一LDPC码进行译码。

具体的实现方式可以参考第二方面或第二方面的可能的实现方式提供的译码方法中接收端的行为功能,在此不再详细赘述。

本发明实施例的第六方面,提供一种发送端,所述发送端预先配置有如第一方面所述的基矩阵,所述发送端包括:

编码单元,用于采用所述基矩阵对待传输信息进行编码得到LDPC码;

确定单元,用于若预设的初传码率大于所述最低码率,则根据所述初传码率和所述最低码率确定需打孔的比特的位数;

打孔单元,用于根据所述确定单元确定出的所述需打孔的比特的位数,从所述编码单元编码得到的所述LDPC码的最后一个比特开始对所述LDPC码进行打孔生成初传LDPC码;

发送单元,用于采用所述初传码率将所述初传LDPC码发送至接收端。

结合第六方面,在一种可能的实现方式中,还包括:接收单元和生成单元;

接收单元,用于接收所述接收端发送的非确认NACK指令;

生成单元,用于响应于所述接收单元接收到的所述NACK指令,根据预设的重传码率生成重传比特;其中,所述重传比特中包括部分或全部被打孔的比特,或所述重传比特中包括全部被打孔的比特,以及从所述LDPC码的第一个比特开始逐个重复的比特;

所述发送单元,还用于将所述生成单元生成的所述重传比特发送至所述接收端。

结合第六方面和上述可能的实现方式,在另一种可能的实现方式中,

所述生成单元,还用于若再次接收到所述接收端发送的所述NACK指令,则重新生成第一重传比特;

所述发送单元,还用于发送所述生成单元生成的所述第一重传 比特至所述接收端,直到接收到所述接收端发送的确认ACK指令或重传的次数达到预设的阈值。

具体的实现方式可以参考第三方面或第三方面的可能的实现方式提供的编码方法中发送端的行为功能,在此不再详细赘述。

本发明实施例的第七方面,提供一种LDPC码的基矩阵生成设备,包括:至少一个处理器、存储器、系统总线和通信接口;

所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述系统总线连接,当所述LDPC码的基矩阵生成设备运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述LDPC码的基矩阵生成设备执行如第一方面所述的LDPC码的基矩阵生成方法。

本发明实施例的第八方面,提供一种接收端,所述接收端预先配置有如第一方面所述的基矩阵,所述接收端包括:至少一个处理器、存储器、系统总线和通信接口;

所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述系统总线连接,当所述接收端运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述接收端执行如第二方面或第二方面的可能的实现方式中任一所述的译码方法。

本发明实施例的第九方面,提供一种发送端,其特征在于,所述发送端预先配置有如第一方面所述的基矩阵,所述发送端包括:至少一个处理器、存储器、系统总线和通信接口;

所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述系统总线连接,当所述发送端运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述发送端执行如第三方面或第三方面的可能的实现方式中任一所述的编码方法。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种应用本发明实施例的无线通信系统的简化示意图;

图2为本发明实施例提供的一种LDPC码的基矩阵生成方法的流程图;

图3为本发明实施例提供的一种初始矩阵变换示意图;

图4为本发明实施例提供的另一种初始矩阵变换示意图;

图5为本发明实施例提供的一种译码方法的流程图;

图6为本发明实施例提供的一种编码方法的流程图;

图7为本发明实施例提供的一种编译码方法的流程图;

图8为本发明实施例提供的另一种编译码方法的流程图;

图9为本发明实施例提供的又一种编译码方法的流程图;

图10为本发明实施例提供的一种基矩阵的示意图;

图11为本发明实施例提供的一种单位矩阵和置换矩阵的示意图;

图12为本发明实施例提供的一种变换矩阵的示意图;

图13为本发明实施例提供一种LDPC码的基矩阵生成设备的结构示意图;

图14为本发明实施例提供一种接收端的结构示意图;

图15为本发明实施例提供另一种接收端的结构示意图;

图16为本发明实施例提供一种发送端的结构示意图;

图17为本发明实施例提供另一种发送端的结构示意图;

图18为本发明实施例提供另一种LDPC码的基矩阵生成设备的结构示意图;

图19为本发明实施例提供另一种接收端的结构示意图;

图20为本发明实施例提供另一种发送端的结构示意图;

图21为本发明实施例提供另一种LDPC码的基矩阵生成设备的结构示意图;

图22为本发明实施例提供另一种接收端的结构示意图;

图23为本发明实施例提供另一种发送端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

由于打孔图样的好坏会对变形后的校验矩阵的性能产生较大的影响,因此为了减小译码出错的概率,本发明实施例提供一种LDPC码的基矩阵生成方法,其基本原理是:LDPC码的基矩阵生成设备根据所需的最低码率确定基矩阵的校验位部分的大小,并根据确定出的校验位部分的大小以及初始矩阵确定基矩阵的校验位部分,其中,初始矩阵为具备双对角结构的、大小为m×m的矩阵,校验位部分为对初始矩阵进行k次变换处理后得到的k阶变换矩阵Hk,k阶变换矩阵Hk为大小为2km×2km的矩阵,k满足2k-1m<T≤2km,T为校验位部分的大小,并根据校验位部分确定基矩阵的信息位部分,最后,根据确定出的校验位部分和信息位部分便可以得到基矩阵,这样,生成的基矩阵具有固定的打孔图样,进而保证了接收端根据该固定的打孔图样对基矩阵进行变形得到的变换矩阵的性能,从而降低了译码出错的概率。

下面将结合附图对本发明实施例的实施方式进行详细描述。

目前,发送端和接收端可以利用无线通信技术通过无线信道进行信息交互。发送端可以将需要传输的待传输信息经过编码调制得到适合无线信道传输的发送信号,向接收端发送该发送信号,接收端接收通过无线信道传输的接收信号,再将接收信号解调解码,得到发送端需要传输的待传输信息。其中,待传输信息可以是符号,例如,文字或语言等,也可以是信号,例如图像或声响等等。发送端可以是用户设备(user experience,UE)或者基站。接收端可以是UE或者基站。

如图1所示,图1示出的是可以应用本发明实施例的无线通信系统的简化示意图。该无线通信系统可以包括:比特输入单元、信道编码单元、发送处理单元、信道、接收处理单元、信道译码单元和比特输出单元。其中,信道编码单元包括LDPC编码器和打孔装置。信道译码单元包括LDPC译码器和解打孔装置。发送处理单元包括调制器等需要对传输的比特信息进行处理的一些设备。接收处理单元包括解调器等需要对接收到的传输的比特信息进行处理的一些设备。

比特输入单元,用于获取需要传输的待传输信息。LDPC编码器,存储有LDPC码的基矩阵,用于将信源生成的需要传输的待传输信息进行LDPC编码得到LDPC码。打孔装置,用于对LDPC码进行打孔得到期望的码率的LDPC码。调制器,用于将经过打孔装置打孔后得到LDPC码进行调制得到适合信道传输的信号。信道,用于向信宿传输信号。解调器,用于对经过信道传输的信号进行解调。解打孔装置,用于对打孔后的LDPC码进行解打孔。LDPC译码器,存储有LDPC码的基矩阵,用于对解调器解调后的信号进行LDPC译码,得到需要传输的待传输信息。比特输出单元,用于输出待传输信息。

其中,发送端可以包括比特输入单元、信道编码单元和发射处理单元。接收端可以包括接收处理单元、信道译码单元和比特输出单元。

进一步的,无线通信系统还可以包括:LDPC码的基矩阵生成设备。该LDPC码的基矩阵生成设备用于生成LDPC码的基矩阵。

图2为本发明实施例提供的一种LDPC码的基矩阵生成方法的流程图,如图2所示,该方法可以包括:

需要说明的是,执行本发明实施例的LDPC码的基矩阵生成方法的设备可以是计算机等电子设备。另外,可以知道的是,将LDPC码的基矩阵进行扩展处理,可以得到该LDPC码的校验矩阵,根据该LDPC码的校验矩阵可以唯一确定LDPC码。LDPC码的基矩阵包 括信息位部分和校验位部分,本发明实施例通过以下步骤实现LDPC码的基矩阵的生成。

201、根据所需的最低码率确定基矩阵的校验位部分的大小。

其中,最低码率是根据实际应用场景的需求预先设置的。由于码率等于LDPC码中包括的信息位的比特位数与LDPC码的总比特位数之比,并且LDPC码是根据基矩阵对待传输信息进行编码得到的,假设对基矩阵进行扩展得到校验矩阵时采用的扩展因子为z,那么采用该基矩阵对应的校验矩阵对待传输信息进行编码得到的LDPC码中包含信息位和校验位的比特位数等于拓展因子与基矩阵的长度的乘积,得到的LDPC码中包括的信息位的比特位数等于基矩阵的长度和宽度之差乘以拓展因子,因此,码率可以由基矩阵的长度和宽度确定,而基矩阵的校验位部分为一方阵,这样,根据预设的最低码率便可以确定出基矩阵的校验位部分的大小。

202、根据初始矩阵及校验位部分的大小确定基矩阵的校验位部分。

其中,初始矩阵为具备双对角结构的、大小为m×m的矩阵。初始矩阵的行重(行重指的是矩阵的一行中包含的大于或等于0的元素的个数)和列重(列重指的是矩阵的一列中包含的大于或等于0的元素的个数)均为2。示例性的,m通常可以设置为2或3。当然,也可以设置为其他值,只需保证初始矩阵为具备双对角结构的方阵即可。本发明实施例在此对m的取值不做具体限制。例如,当m=2时,初始矩阵为一2×2的方阵,如图3所示,该初始矩阵的所有元素均为0。再例如,当m=3时,初始矩阵为一3×3的方阵,如图4所示,该初始矩阵满足双对角结构的要求。

其中,在已知初始矩阵的大小的情况下,根据校验位部分的大小,还可以确定出由初始矩阵变换到基矩阵的校验位部分所需的变换次数k。示例性的,假设,已知校验位部分的大小为T×T,初始矩阵的大小为m×m,变换次数k为正整数,找到k满足如下式:

2k-1m<T≤2km

当T=2km时,k次变化后得到的矩阵即是最终生成的基矩阵的校验位部分,当T<2km时,先按k次变化进行矩阵构造,完成后再进行2km-T次矩阵行合并操作,得到最终生成的基矩阵的校验位部分将满足大小为T×T。

确定出由初始矩阵变换到基矩阵的校验位部分所需的变换次数k之后,便可以对初始矩阵进行k次变换处理,以得到k阶变换矩阵Hk,并将该k阶变换矩阵Hk作为基矩阵的校验位部分,k阶变换矩阵Hk为大小为2km×2km的矩阵。

具体的,k次变换处理中的第i次变换处理通过执行以下步骤实现:

步骤1:针对i-1阶变换矩阵Hi-1的第a行,将第a行的第一个非负元素填充到分裂矩阵Si的第2a行的第b个位置,将第a行的第二个非负元素填充到分裂矩阵Si的第2a-1行的第c个位置,分裂矩阵Si中的其余位置的元素为-1,以得到分裂矩阵Si

其中,分裂矩阵Si为大小为2im×2i-1m的矩阵,i小于或等于k,且大于0的整数,当i=1时,i-1阶变换矩阵Hi-1为初始矩阵。第a行为i-1阶变换矩阵Hi-1的任意一行,b为第a行的第一个非负元素在第a行的位置,c为第a行的第二个非负元素在第a行的位置,a,b,c均为大于0的整数。

示例性的,按照如图3所示的初始矩阵,在执行步骤1时,在第1次变换处理中,将初始矩阵的第1行的第一个非负元素填充到分裂矩阵S1的第2行的第1个位置,将第1行的第二个非负元素填充到分裂矩阵S1的第1行的第2个位置;并将初始矩阵的第2行的第一个非负元素填充到分裂矩阵S1的第4行的第1个位置,将第2行的第二个非负元素填充到分裂矩阵S1的第3行的第2个位置,分裂矩阵S1中的其余位置的元素为-1,以得到如图3所示的分裂矩阵S1。同理,在第2次变换处理中,将如图3所示的1阶变换矩阵H1的第1行的第一个非负元素填充到分裂矩阵S2的第2行的第2个位置,将第1行的第二个非负元素填充到分裂矩阵S2的第1行的第3个位置; 并将1阶变换矩阵H1的第2行的第一个非负元素填充到分裂矩阵S2的第4行的第1个位置,将第2行的第二个非负元素填充到分裂矩阵S1的第3行的第3个位置;…;将1阶变换矩阵H1的第4行的第一个非负元素填充到分裂矩阵S2的第8行的第1个位置,将第4行的第二个非负元素填充到分裂矩阵S1的第7行的第4个位置,分裂矩阵S2中的其余位置的元素为-1,以得到如图3所示的分裂矩阵S2

同样的,按照如图4所述的初始矩阵,在执行步骤1时,在第1次变换处理中,将初始矩阵的第1行的第一个非负元素填充到分裂矩阵S1的第2行的第1个位置,将第1行的第二个非负元素填充到分裂矩阵S1的第1行的第2个位置;并将初始矩阵的第2行的第一个非负元素填充到分裂矩阵S1的第4行的第2个位置,将第2行的第二个非负元素填充到分裂矩阵S1的第3行的第3个位置;并将初始矩阵的第3行的第一个非负元素填充到分裂矩阵S1的第6行的第1个位置,将第3行的第二个非负元素填充到分裂矩阵S1的第5行的第3个位置,分裂矩阵S1中的其余位置的元素为-1,以得到如图4所示的分裂矩阵S1。同理,通过第2次的变换处理,便可以得到如图4所述的分裂矩阵S2

步骤2:根据生成补充矩阵Ai

其中,Ad,e表示补充矩阵Ai第d行第e列的元素,d为小于2im,且大于0的整数,e为小于2i-1m,且大于0的整数。在根据步骤1构造出分裂矩阵Si之后,便可以根据上式构造该分裂矩阵Si的补充矩阵Ai,该补充矩阵Ai的行数和列数与分裂矩阵Si的行数和列数相同,且该补充矩阵Ai的行重为1,列重为2,0元素在纵向以2为偏移因子分布在对角线上。

示例性的,按照如图3所示的初始矩阵,根据上式便可以得到如图3所示的补充矩阵A1和补充矩阵A2

示例性的,按照如图4所示的初始矩阵,根据上式便可以得到 如图4所示的补充矩阵A1和补充矩阵A2

步骤3:拼接分裂矩阵Si和补充矩阵Ai以获得i阶变换矩阵Hi=[Si,Ai]。

其中,在得到分裂矩阵Si和补充矩阵Ai之后,便可以将分裂矩阵Si和补充矩阵Ai进行拼接,以获得i阶变换矩阵Hi=[Si,Ai]。

示例性的,按照如图3所示的初始矩阵,根据上式便可以得到如图3所示的1阶变换矩阵H1和2阶变换矩阵H2

示例性的,按照如图4所示的初始矩阵,根据上式便可以得到如图4所示的1阶变换矩阵H1和2阶变换矩阵H2

将步骤1-步骤3重复执行k次,便可以得到满足校验位部分大小的k阶变换矩阵Hk,也就是说,可以得到基矩阵的校验位部分。

203、根据校验位部分确定的基矩阵的信息位部分。

示例性的,可以根据校验位部分、密度演化(density evolution,DE)理论和边增长算法(progressive edge growth,PEG)方法确定基矩阵的信息位部分。具体的生成过程在通信标准已经进行了规定,本发明实施例在此不再详细赘述。

204、根据校验位部分和信息位部分得到基矩阵。

其中,在得到校验位部分和信息位部分之后,便可以将校验位部分和信息位部分进行拼接,以得到基矩阵。例如,校验位部分为P,信息位部分为Q,那么将校验位部分和信息位部分进行拼接得到的基矩阵=[Q,P]。

其中,按照上述步骤201-步骤204得到的基矩阵具有固定的打孔图样,其打孔图样参见表1:

表1

表1中,M表示基矩阵的行数,N表示基矩阵的列数,且M为大于或等于1整数,N为大于或等于1的整数。

另外,需要说明的是,针对本发明实施例中生成的基矩阵,还可以通过先构造具备对角结构的LDPC矩阵,然后通过对该LDPC矩阵进行行列交换使得进行行列交换后的矩阵满足步骤204中所述的基矩阵的结构的方式获得本发明实施例中所述的基矩阵。

本发明实施例提供的LDPC码的基矩阵生成方法,首先,根据所需的最低码率确定基矩阵的校验位部分的大小,并根据确定出的校验位部分的大小,对初始矩阵进行k次变换处理后得到基矩阵的校验位部分,并根据校验位部分确定基矩阵的信息位部分,最后,根据确定出的校验位部分和信息位部分得到基矩阵,这样,生成的基矩阵具有固定的打孔图样,进而保证了接收端根据该固定的打孔图样对基矩阵进行变形得到的变换矩阵的性能,从而降低了译码出错的概率。

图5为本发明实施例提供的一种译码方法的流程图,该方法应用于接收端,该接收端预先配置有如图1所述的实施例中的基矩阵,该基矩阵对应预设的最低码率,如图5所示,该方法可以包括:

301、接收端接收发送端采用预设的初传码率发送的初传LDPC码。

302、接收端确定初传LDPC码包含被打孔比特。

其中,在发送端需向接收端发送待传输信息时,为了提高该待传输信息在信道中传输的可靠性和有效性,发送端可以将待传输信息按照如图1所述的实施例中的基矩阵进行编码,当发送端对待传输信息按照如图1所述的实施例中的基矩阵进行编码之后,得到的LDPC码的码率是等于最低码率的,发送端在发送编码得到的LDPC码之前,会根据初传码率确定是否需要对编码得到的LDPC码进行打孔,若是,则会将编码得到的LDPC码进行打孔处理得到初传LDPC码,然后将初传LDPC码发送至接收端,因此,在接收端接收到初传LDPC码之后,可以先根据初传码率是否大于最低码率来判断该初传LDPC码是否包含被打孔比特,若初传码率大于最低码率,便可以确定初传LDPC码包含被打孔比特,则执行以下步骤303,若初传码率不大于最低码率,便可以确定初传LDPC码不包含打孔比特,则接收端可以先将可能存在的重复比特的软值合并,然后无需对预先配置的基矩阵进行任何变换处理,而是直接采用该基矩阵对初传LDPC码进行译码。

303、接收端根据最低码率和初传码率确定基矩阵的校验位部分中需删除的列数x。

其中,当确定初传LDPC码包含被打孔比特时,则接收端需要先对基矩阵进行变换得到变换矩阵,然后根据变换矩阵对该初传LDPC码进行译码,此时,接收端可以先根据最低码率和发送端发送初传LDPC码的初传码率确定出被打孔的比特位数,即确定出由基矩阵变形得到码率与初传码率相等的变换矩阵需要删除的基矩阵的校验位部分的列数x。

304、接收端对基矩阵进行变换得到第一变换矩阵。

其中,第一变换矩阵的码率与初传码率相等。在接收端确定出基矩阵的校验位部分中需删除的列数x之后,则可以根据确定出的x,由基矩阵的校验位部分的最后一列开始,删除x列,并且,每删除一列,需要合并与该列对应的行,以得到第一变换矩阵。其中, 合并该列对应的行指的是,将该列对应的行之间元素按照对应位置做模2加。

305、接收端采用第一变换矩阵对初传LDPC码进行译码。

其中,在接收端变换得到第一变换矩阵之后,便可以采用第一变换矩阵对初传LDPC码进行译码处理,以便得到发送端需传输给自身的待传输信息。

本发明实施例提供的译码方法,接收端在确定发送端发送的初传LDPC码包含被打孔比特时,首先根据最低码率和初传码率确定基矩阵的校验位部分中需删除的列数x,然后由基矩阵的校验位部分的最后一列开始,删除x列,并每删除一列,合并与列对应的行,得到码率与初传码率相等第一变换矩阵,最后采用得到的第一变换矩阵对初传LDPC码进行译码,通过接收端根据固定的打孔图样,即通过采用由基矩阵的校验位部分的最后一列开始,根据x删除基矩阵的校验位部分中相应数量的列,并每删除一列,合并与列对应的行的方式对基矩阵进行变形得到的变换矩阵,确保了变换矩阵的性能,从而降低了译码出错的概率。

图6为本发明实施例提供的一种编码方法的流程图,该方法应用于发送端,该发送端预先配置有如图1所述的实施例中的基矩阵,该基矩阵对应预设的最低码率,如图6所示,该方法可以包括:

401、发送端采用基矩阵对待传输信息进行编码得到LDPC码。

其中,在发送端需向接收端发送待传输信息时,为了提高该待传输信息在信道中传输的可靠性和有效性,发送端可以将待传输信息按照如图1所述的实施例中的基矩阵进行编码得到适合信道传输的LDPC码,该LDPC码的码率是等于最低码率的。

另外,在本发明实施例中,发送端也可以先通过行列变换将基矩阵的校验位部分变形成一个等价的双对角矩阵,然后利用简化的双对角编码算法实现对待传输信息的快速编码。相应的,若发送端采用该方法实现对待传输信息的编码时,接收端可以预先记录下发送端进行行列变换的顺序,然后在接收到LDPC码之后,先按照发 送端的列变换顺序对LDPC码的顺序进行调整,以得到变换前的顺序,然后再进行译码。

402、发送端确定预设的初传码率大于最低码率。

其中,在发送端对待传输信息进行编码得到LDPC码之后,可以判断预设的初传码率是否大于最低码率,若初传码率大于最低码率,则执行以下步骤403。

若初传码率等于最低码率,则发送端可以直接将LDPC码作为初传LDPC码发送至接收端,若初传码率小于最低码率,则发送端根据初传码率和最低码率确定需要重复的比特的位数,然后从第一个比特开始将编码得到的LDPC码的比特逐个重复添加到该LDPC码的末尾,以生成初传LDPC码,并将初传LDPC码发送至接收端。

403、发送端根据初传码率和最低码率确定需打孔的比特的位数。

其中,若发送端判断得到初传码率大于最低码率,则表明需要对LDPC码进行打孔处理,此时发送端可以根据初传码率和最低码率确定出需打孔的比特位数。

404、发送端根据需打孔的比特的位数,从LDPC码的最后一个比特开始对LDPC码进行打孔生成初传LDPC码。

其中,发送端在确定出需打孔的比特位数之后,便可以根据需打孔的比特的位数,从LDPC码的最后一个比特开始对LDPC码进行打孔生成初传LDPC码。

405、发送端采用初传码率将初传LDPC码发送至接收端。

本发明实施例提供的编码方法,发送端采用基矩阵对待传输信息进行编码得到LDPC码,在确定初传码率大于最低码率时,根据初传码率和最低码率确定需打孔的比特的位数,然后根据需打孔的比特的位数,从LDPC码的最后一个比特开始对LDPC码进行打孔生成初传LDPC码,最后采用初传码率将初传LDPC码发送至接收端,通过从LDPC码的最后一个比特开始对LDPC码进行打孔生成初传LDPC码,使得接收端可以根据固定的打孔图样,即通过采用 由基矩阵的校验位部分的最后一列开始,根据x删除基矩阵的校验位部分中相应数量的列,并每删除一列,合并与列对应的行的方式对基矩阵进行变形得到的变换矩阵,确保了变换矩阵的性能,从而降低了接收端译码出错的概率。

图7-9为本发明实施例提供的一种编译码方法的流程图,该方法应用于无线通信系统,该无线通信系统至少包括发送端和接收端,该发送端和接收端中均预先配置有如图1所述的实施例中的基矩阵,该基矩阵对应预设的最低码率,且假设预先配置在发送端和接收端的基矩阵如图10所示,那么此时的最低码率等于0.5,并假设初传码率为0.7。如图7-9所示,该方法可以包括:

当发送端需向接收端发送待传输信息时,可以采用如图7所示的步骤501-步骤513,完成初传过程,具体为:

501、发送端采用基矩阵对待传输信息进行编码得到LDPC码。

其中,为了提高该待传输信息在信道中传输的可靠性和有效性,发送端可以将待传输信息按照如图10所示的基矩阵进行编码得到LDPC码,该LDPC码的码率是等于最低码率的。具体的编码过程在通信标准已经进行了规定,本发明实施例在此不再详细赘述。

具体的,发送端可以先将如图10所示的基矩阵进行扩展得到对应的校验矩阵,然后,采用得到的校验矩阵对待传输信息进行编码得到LDPC码。其中,基矩阵中所有值为-1的元素进行扩展后得到一个z×z大小的全0矩阵,其他元素进行扩展后得到一个z×z大小的置换矩阵,z为实际的扩展因子。所述的置换矩阵可以由一个单位矩阵根据相应的位移次数进行循环位移获得,位移次数与该元素的值相对应。具体的可根据下述公式(1)对该元素值进行变换,得到位移次数。

在公式(1)中,z0=96为扩展因子的最大值,zf为实际的扩展 因子,p(i,j)为基矩阵中第i行第j列的元素的值,表示向下取整,p(f,i,j)表示位移次数。

例如,如图10所示的基矩阵中第8行第17个元素为7,假设实际的扩展因子z=12,那么则可以通过对单位矩阵向右循环位移7次,得到对应的置换矩阵,单位矩阵和得到的置换矩阵如图11所示。

示例性的,假设扩展因子为4,待传输信息为0000 1100 11110001 0101 0101 0100 0111 1011 0111 1000 0001 1100 0001 10010011,采用经如图10所示的基矩阵扩展得到的校验矩阵进行编码得到的LDPC码为0000 1100 1111 0001 0101 0101 0100 0111 1011 01111000 0001 1100 0001 1001 0011 0101 1110 0101 1101 0110 00100000 0100 0001 0011 1010 0011 0011 1001 0011 1011,该LDPC码的码率为0.5。

502、发送端判断预设的初传码率是否大于最低码率。

其中,在发送端对待传输信息进行编码得到LDPC码之后,可以判断预设的初传码率是否大于最低码率,若初传码率大于最低码率,则执行以下步骤503-步骤505;若初传码率等于最低码率,则执行步骤506,若初传码率小于最低码率,则执行步骤507。

503、发送端根据初传码率和最低码率确定需打孔的比特的位数。

其中,若发送端判断得到初传码率大于最低码率,则表明需要对LDPC码进行打孔处理,此时发送端可以根据初传码率和最低码率确定出需打孔的比特位数。

示例性的,根据初传码率为0.7和最低码率为0.5,则确定出的需打孔的比特位数为4。需要说明的是,当根据初传码率和最低码率计算出的需打孔的比特位数为小数时,可以按照向上取整或向下取整的规则确定出实际需打孔的比特位数。本发明在此以向上取整为例。

504、发送端根据需打孔的比特的位数,从LDPC码的最后一个比特开始对LDPC码进行打孔生成初传LDPC码。

示例性的,根据确定出的需打孔的比特位数4,从LDPC码的最后一个比特开始打孔生成初传LDPC码为0000 1100 1111 00010101 0101 0100 0111 1011 0111 1000 0001 1100 0001 1001 0011 01011110 0101 1101 0110 0010 0000 0100 0001 0011 1010 0011 0011 10010011。

505、发送端采用初传码率将初传LDPC码发送至接收端。

506、发送端采用初传码率将LDPC码作为初传LDPC码发送至接收端。

507、发送端根据初传码率和最低码率确定需要重复的比特的位数,然后从第一个比特开始将编码得到的LDPC码的比特逐个重复添加到该LDPC码的末尾,以生成初传LDPC码,并采用初传码率将初传LDPC码发送至接收端。

508、接收端接收发送端采用预设的初传码率发送的初传LDPC码。

509、接收端判断初传LDPC码是否包含被打孔比特。

其中,在接收端接收到初传LDPC码之后,可以先判断该初传LDPC码是否包含被打孔比特,若初传LDPC码包含被打孔比特,则执行以下步骤510-步骤512,若初传LDPC码不包含被打孔比特,则执行以下步骤513。

510、接收端根据最低码率和初传码率确定基矩阵的校验位部分中需删除的列数x。

其中,当确定出初传LDPC码包含被打孔比特时,则接收端需要先对基矩阵进行变换得到变换矩阵,然后根据变换矩阵对该初传LDPC码进行译码,此时,接收端可以先根据最低码率和发送端发送初传LDPC码的初传码率确定出由基矩阵变形得到码率与初传码率相等的变换矩阵需要删除的基矩阵的校验位部分的列数x。

示例性的,根据初传码率0.7和最低码率0.5可以得到需要删除的基矩阵的校验位部分的列数x等于4。需要说明的是,当根据初传码率和最低码率计算出的需要删除的基矩阵的校验位部分的列数 为小数时,可以按照向上取整或向下取整的规则确定出实际需要删除的基矩阵的校验位部分的列数。本发明在此以向上取整为例。

511、接收端对基矩阵进行变换得到第一变换矩阵。

其中,在接收端确定出基矩阵的校验位部分中需删除的列数x之后,则可以根据确定出的x,由基矩阵的校验位部分的最后一列开始,删除x列,并且,每删除一列,需要合并与该列对应的行,以得到第一变换矩阵。针对所述基矩阵的校验位部分中的每列,接收端预先存储有该列和与该列对应的行的对应关系。

其中,所述校验位部分的第2km列与所述基矩阵的第2km行和第2km-1行对应,所述校验位部分的第2km-1列与所述基矩阵的第2km-2行和第2km-3行对应,以此类推,所述校验位部分的第2k-1m+1列与所述基矩阵的第2行和第1行对应。

所述校验位部分的第2k-1m列与所述基矩阵的第2km行、第2km-1行、第2km-2行和第2km-3行对应,所述校验位部分的第2k-1m-1列与所述基矩阵的第2km-4行、第2km-5行、第2km-6行和第2km-7行对应,以此类推,所述校验位部分的第2k-2m+1列与所述基矩阵的第4行、第3行、第2行和第1行对应。

所述校验位部分的第2jm列与所述基矩阵的第2km行、第2km-1行、第2km-2行,…和第2km-2k-j+1+1行对应,所述校验位部分的第2jm-1列与所述基矩阵的第2km-2k-j+1行、第2km-2k-j+1-1行、第2km-2k-j+1-2行,…和第2km-2k-j+2行对应,以此类推,所述校验位部分的第2j-1m+1列与所述基矩阵的第2k-j+1行、…、第2行和第1行对应;j为小于k且大于0的整数。

所述校验位部分的第22m列与所述基矩阵的第2km行、第2km-1行、第2km-2行、…和第2km-2k-1+1行对应,所述校验位部分的第22m-1列与所述基矩阵的第2km-2k-1行、第2km-2k-1-1行、第2km-2k-1-2行,…和第2km-2k行对应,以此类推,所述校验位部分的第21m+1列与所述基矩阵的第2k-1行、…、第2行和第1行对应。

所述校验位部分的第21m列与所述基矩阵的第2km行、第2km-1行、 第2km-2行、…和第2km-2k+1行对应,所述校验位部分的第21m-1列与所述基矩阵的第2km-2k行、第2km-2k-1行、第2km-2k-2行,…和第2km-2k+1行对应,以此类推,所述校验位部分的第20m+1列与所述基矩阵的第2k行、…、第2行和第1行对应。

示例性的,按照如图10所示的基矩阵(该基矩阵的校验位部分是根据初始矩阵经过3次变换处理得到的,初始矩阵为一2*2大小的方阵),校验位部分的最后一列与基矩阵的第15行和第16行对应,校验位部分的倒数第2列与基矩阵的第13行和第14行对应,校验位部分的倒数第3列与基矩阵的第11行和第12行对应,校验位部分的倒数第4列与基矩阵的第9行和第10行对应,依次类推,校验位部分的倒数第8列与基矩阵的第1行和第2行对应;校验位部分的倒数第9列与基矩阵的第13-16行对应,校验位部分的倒数第10列与基矩阵的第9-12行对应,依次类推,校验位部分的倒数第12列与基矩阵的第1-4行对应;校验位部分的倒数第13列与基矩阵的第9-16行对应,校验位部分的倒数第14列与基矩阵的第1-8行对应。按照这样的对应关系,接收端便可以由基矩阵的校验位部分的最后一列开始,根据x删除基矩阵的校验位部分中相应数量的列,并每删除一列,合并与列对应的行,以得到第一变换矩阵。

示例性的,按照步骤510中的例子,需删除的列数是4,那么可以参考图10,删除校验位部分的最后四列,并合并与该四列对应的行,即删除最后一列,并将最后一列对应的基矩阵的第15行和第16行之间元素按对应位置做模2加,删除倒数第2列,并将倒数第2列对应的基矩阵的第13行和第14行之间元素按对应位置做模2加,删除倒数第3列,并将倒数第3列对应的基矩阵的第11行和第12行之间元素按对应位置做模2加,删除倒数第4列,并将倒数第4列对应的基矩阵的第9行和第10行之间元素按对应位置做模2加,以得到第一变换矩阵。

其中,需要说明的是,在进行删除列,和合并与列对应的行的过程中,可以先删除第2km列至第2k-1m+1列,并将这些列对应的行合 并完,得到一个小于基矩阵的变换矩阵之后,然后再在该小于基矩阵的变换矩阵的基础上,删除第2k-1m列至第2k-2m+1列,并合并这些列对应的行,以此类推。

示例性的,假设需删除的列数为10列,那么可以先将检验位部分的第9列至第16列删除,并合并每个列对应的行,得到如图12所示的变换矩阵,然后再在如图12所述的变换矩阵的基础上,删除最后一列(最后一列对应基矩阵的第8列)和倒数第二列(倒数第二列对应基矩阵的第7列),并合并每个列对应的行。

512、接收端采用第一变换矩阵对初传LDPC码进行译码。

513、接收端将可能存在的重复比特的软值合并,然后直接采用基矩阵对初传LDPC码进行译码。

其中,需要说明的是,具体的译码过程在通信标准已经进行了规定,本发明实施例在此不再详细赘述。

在执行了如图7所示的步骤501-步骤513之后,便完成了发送端至接收端的初传过程,进一步的,接收端若确定出初传失败,则可以通过执行以下步骤514-步骤526进行重传。具体的,如图8所示,针对初传LDPC码包含被打孔比特的情况,重传过程包括以下步骤514-步骤525。如图9所示,针对初传LDPC码不包含被打孔比特的情况,重传过程包括以下步骤514-步骤516,以及步骤525-步骤526。

514、接收端判断对初传LDPC码的译码是否成功。

其中,在接收端对初传LDPC码进行译码之后,可以判断对该初传LDPC码的译码是否成功,若对初传LDPC码的译码失败,则可以执行以下步骤515-步骤524,若对初传LDPC码的译码成功,则执行以下步骤525。

515、接收端向发送端发送NACK指令。

516、发送端接收接收端发送的NACK指令。

517、响应于NACK指令,发送端根据预设的重传码率生成重传比特。

其中,重传比特中包括部分或全部被打孔的比特,或重传比特中包括全部被打孔的比特,以及从LDPC码的第一个比特开始逐个重复的比特。当被打孔的比特的个数满足重传码率的需求时,发送端可以将部分或全部被打孔的比特组成重传比特,当被打孔的比特的个数不满足重传码率的需求时,发送端可以将全部被打孔比特以及从LDPC码的第一个比特开始逐个重复的比特组成重传比特。

518、发送端将重传比特发送至接收端。

519、接收端接收发送端发送的重传比特。

520、接收端确定重传码率大于最低码率。

当接收端接收到发送端发送的重传比特之后,需先判断重传码率是否大于最低码率,若重传码率大于最低码率,则表明将接收到的重传比特和初传LDPC码包括的所有比特进行拼接(将重传比特和初传LDPC码包括的所有比特进行拼接指的就是将重传比特添加在初传LDPC码包括的所有比特之后)后得到的第一LDPC码仍包含打孔比特,此时接收端可以执行以下步骤521-步骤524,若重传码率小于最低码率,则表明重传比特中包含有与初传LDPC码中包括的比特重复的比特,此时可以先将重传比特和初传LDPC码中包含的比特中代表相同比特的软值合并,然后与剩余的比特进行拼接以得到第一LDPC码,并直接采用基矩阵对该第一LDPC码进行译码。若重传码率等于最低码率,则可以直接将重传比特和初传LDPC码包括的所有比特进行拼接,得到第一LDPC码,然后直接采用基矩阵对该第一LDPC码进行译码。

521、接收端将重传比特和初传LDPC码包括的所有比特进行拼接,得到第一LDPC码。

其中,在接收端接收到发送端重传的重传比特,并确定重传码率大于最低码率之后,可以将重传的重传比特与初传LDPC码进行拼接,得到第一LDPC码,第一LDPC码的码率与重传码率相等。

522、接收端根据最低码率和重传码率确定基矩阵的校验位部分中需删除的列数y。

其中,由于重传码率大于最低码率,因此表明第一LDPC码中包含被打孔比特,此时需再次对基矩阵进行变换得到变换矩阵,因此,接收端需根据最低码率和重传码率确定基矩阵的校验位部分中需删除的列数y。

523、接收端对基矩阵进行变换得到第二变换矩阵。

接收端可以由基矩阵的校验位部分的最后一列开始,删除y列,并每删除一列,合并与列对应的行,得到第二变换矩阵。其中,所述第二变换矩阵的码率与所述重传码率相等。

需要说明的是,本发明实施例中的步骤523的具体变换过程与步骤511的具体变换过程类似,具体描述可以参考步骤511的描述,本发明实施例在此不再详细赘述。

524、接收端采用第二变换矩阵对第一LDPC码进行译码。

具体的,接收端可以先将第二变换矩阵进行扩展得到与该第二变换矩阵对应的校验矩阵,然后采用得到的校验矩阵对第一LDPC码进行译码。扩展过程可以参考本发明实施例中步骤501中对应的描述,本发明实施例在此不再赘述。

其中,在接收端采用了第二变换矩阵对第一LDPC码进行译码之后,可以继续判断对该第一LDPC码的译码是否成功,若判断得到对第一LDPC码的译码失败,则需再次向发送端发送NACK指令,若发送端再次接收到接收端发送的NACK指令,则发送端需重新生成并发送第二重传比特至接收端,直到接收到接收端发送的确认ACK指令或重传的次数达到预设的阈值。

525、接收端向发送端发送ACK指令。

526、发送端进行重传,直到接收到接收端发送的ACK指令或重复传输的次数达到预设阈值。

其中,若发送端接收到接收端发送的NACK指令,则表明接收端对初传LDPC码的译码失败,此时,发送端进行重传,直到接收到接收端发送的ACK指令或重复传输的次数达到预设阈值。

本发明实施例提供的编译码方法,发送端采用基矩阵对待传输 信息进行编码得到LDPC码,在确定初传码率大于最低码率时,根据初传码率和最低码率确定需打孔的比特的位数,然后根据需打孔的比特的位数,从LDPC码的最后一个比特开始对LDPC码进行打孔生成初传LDPC码,最后采用初传码率将初传LDPC码发送至接收端,通过从LDPC码的最后一个比特开始对LDPC码进行打孔生成初传LDPC码,使得接收端可以根据固定的打孔图样,即通过采用由基矩阵的校验位部分的最后一列开始,根据x删除基矩阵的校验位部分中相应数量的列,并每删除一列,合并与列对应的行的方式对基矩阵进行变形得到的变换矩阵,确保了变换矩阵的性能,从而降低了接收端译码出错的概率。

上述主要从各个网元之间交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个网元,例如LDPC码的基矩阵生成设备、接收端、发送端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

本发明实施例可以根据上述方法示例对LDPC码的基矩阵生成设备、接收端、发送端进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用对应各个功能划分各个功能模块的情况下,图13示出了上述实施例中涉及的LDPC码的基矩阵生成设备的一种可能的结构 示意图,如图13所示,该LDPC码的基矩阵生成设备可以包括:确定单元61、处理单元62。

其中,确定单元61用于支持LDPC码的基矩阵生成设备执行图2所示的LDPC码的基矩阵生成方法中的步骤201、步骤202、步骤203。

处理单元62用于支持LDPC码的基矩阵生成设备执行图2所示的LDPC码的基矩阵生成方法中的步骤204。

需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

本发明实施例提供的LDPC码的基矩阵生成设备,用于执行上述LDPC码的基矩阵生成方法,因此可以达到与上述LDPC码的基矩阵生成方法相同的效果。

在采用对应各个功能划分各个功能模块的情况下,图14示出了上述实施例中涉及的接收端的一种可能的结构示意图,接收端预先配置有如图1所述的实施例中的基矩阵,如图14所示,该接收端可以包括:接收单元71、确定单元72、变换单元73、译码单元74。

其中,接收单元71,用于支持接收端执行图5所示的译码方法中的步骤301,图7所示的编译码方法中的步骤508,图8所示的编译码方法中的步骤519。

确定单元72,用于支持接收端执行图5所示的译码方法中的步骤302、步骤303、图7所示的编译码方法中的步骤509、步骤510,图8所示的编译码方法中的步骤514、步骤520、步骤522,图9所示的编译码方法中的步骤514。

变换单元73,用于支持接收端执行图5所示的译码方法中的步骤304,图7所示的编译码方法中的步骤511,图8所示的编译码方法中的步骤523。

译码单元74,用于支持接收端执行图5所示的译码方法中的步骤305,图7所示的编译码方法中的步骤512、步骤513,图8所示的编译码方法中的步骤524。

在本发明实施例中,进一步的,如图15所示,所述的接收端还可以包括:存储单元75。

针对基矩阵的校验位部分中的每列,所述存储单元75中预先存储有该列和与该列对应的行的对应关系。

其中,所述校验位部分的第2jm列与所述基矩阵的第2km行、第2km-1行、第2km-2行,…和第2km-2k-j+1+1行对应;所述校验位部分的第2jm-1列与所述基矩阵的第2km-2k-j+1行、第2km-2k-j+1-1行、第2km-2k-j+1-2行,…和第2km-2k-j+2行对应;以此类推;所述校验位部分的第2j-1m+1列与所述基矩阵的第2k-j+1行、…、第2行和第1行对应;j为小于k且大于0的整数。

在本发明实施例中,进一步的,所述接收端还可以包括:发送单元76和拼接单元77。

所述发送单元76,用于支持接收端执行图8所示的编译码方法中的步骤515、步骤525,图9所示的编译码方法中的步骤515、步骤525。

所述拼接单元77,用于支持接收端执行图8所示的编译码方法中的步骤521。

需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

本发明实施例提供的接收端,用于执行上述译码方法,因此可以达到与上述译码方法相同的效果。

在采用对应各个功能划分各个功能模块的情况下,图16示出了上述实施例中涉及的发送端的一种可能的结构示意图,发送端预先配置有如图1所述的实施例中的基矩阵,如图16所示,该发送端可以包括:编码单元81、确定单元82、打孔单元83、发送单元84。

其中,编码单元81,用于支持发送端执行图6所示的编码方法中的步骤401,图7所示的编译码方法中的步骤501。

确定单元82,用于支持发送端执行图6所示的编码方法中的步骤402、步骤403,图7所示的编译码方法中的步骤502、步骤503。

打孔单元83,用于支持发送端执行图6所示的编码方法中的步骤404,图7所示的编译码方法中的步骤504。

发送单元84,用于支持发送端执行图6所示的编码方法中的步骤405,图7所示的编译码方法中的步骤505、步骤506、步骤507,图8所示的编译码方法中的步骤518。

在本发明实施例中,进一步的,如图17所示,该发送端还可以包括:接收单元85和生成单元86。

接收单元85,用于支持发送端执行图8所示的编译码方法中的步骤516。

生成单元86,用于支持发送端执行图8所示的编译码方法中的步骤517。

需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

本发明实施例提供的发送端,用于执行上述编码方法,因此可以达到与上述编码方法相同的效果。

在采用集成的单元的情况下,图18示出了上述实施例中所涉及的LDPC码的基矩阵生成设备的一种可能的结构示意图。如图18所示,该LDPC码的基矩阵生成设备包括:处理模块91和通信模块92。

处理模块91用于对LDPC码的基矩阵生成设备的动作进行控制管理,例如,处理模块91用于支持LDPC码的基矩阵生成设备执行图2中的步骤201、步骤202、步骤203、步骤204,和/或用于本文所描述的技术的其它过程。通信模块92用于支持LDPC码的基矩阵生成设备与其他网络实体的通信,例如与图1、图14、图15、图16或图17中示出的功能模块或网络实体之间的通信。LDPC码的基矩阵生成设备还可以包括存储模块93,用于存储LDPC码的基矩阵生成设备的程序代码和数据。

其中,处理模块91可以是处理器或控制器。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微 处理器组合,DSP和微处理器的组合等等。通信模块92可以是收发器、收发电路或通信接口等。存储模块93可以是存储器。

当处理模块91为处理器,通信模块92为通信接口,存储模块93为存储器时,本发明实施例所涉及的LDPC码的基矩阵生成设备可以为图21所示的LDPC码的基矩阵生成设备。

在采用集成的单元的情况下,图19示出了上述实施例中所涉及的接收端的一种可能的结构示意图。如图19所示,该接收端包括:处理模块1001和通信模块1002。

处理模块1001用于对接收端的动作进行控制管理,例如,处理模块1001用于支持接收端执行图5中的步骤302、步骤303、步骤304、步骤305,图7中的步骤509、步骤510、步骤511、步骤512、步骤513,图8中的步骤514、步骤520、步骤521、步骤522、步骤523、步骤524,图9中的步骤514,和/或用于本文所描述的技术的其它过程。通信模块1002用于支持接收端与其他网络实体的通信,例如与图1、图13、图16、或图17中示出的功能模块或网络实体之间的通信。

接收端还可以包括存储模块1003,用于存储接收端的程序代码和数据。例如,针对基矩阵的校验位部分中的每列,存储模块1003用于存储该列和与该列对应的行的对应关系。其中,所述校验位部分的第2jm列与所述基矩阵的第2km行、第2km-1行、第2km-2行,…和第2km-2k-j+1+1行对应;所述校验位部分的第2jm-1列与所述基矩阵的第2km-2k-j+1行、第2km-2k-j+1-1行、第2km-2k-j+1-2行,…和第2km-2k-j+2行对应;以此类推;所述校验位部分的第2j-1m+1列与所述基矩阵的第2k-j+1行、…、第2行和第1行对应;j为小于k且大于0的整数。

其中,处理模块1001可以是处理器或控制器。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1002可以是收发器、收发电路或通信接口等。存储模块1003可以是存储器。

当处理模块1001为处理器,通信模块1002为收发器,存储模块1003为存储器时,本发明实施例所涉及的接收端可以为图22所示的接收端。

在采用集成的单元的情况下,图20示出了上述实施例中所涉及的发送端的一种可能的结构示意图。如图20所示,该发送端包括:处理模块1101和通信模块1102。

处理模块1101用于对发送端的动作进行控制管理,例如,处理模块1101用于支持发送端执行图6中的步骤401、步骤402、步骤403、步骤404,图7中的步骤501、步骤502、步骤503、步骤504,图8中的步骤517,和/或用于本文所描述的技术的其它过程。通信模块1102用于支持发送端与其他网络实体的通信,例如与图1、图13、图14或图15中示出的功能模块或网络实体之间的通信。发送端还可以包括存储模块1103,用于存储发送端的程序代码和数据。例如,针对基矩阵的校验位部分中的每列,存储模块1103用于存储该列和与该列对应的行的对应关系。其中,所述校验位部分的第2jm列与所述基矩阵的第2km行、第2km-1行、第2km-2行,…和第2km-2k-j+1+1行对应;所述校验位部分的第2jm-1列与所述基矩阵的第2km-2k-j+1行、第2km-2k-j+1-1行、第2km-2k-j+1-2行,…和第2km-2k-j+2行对应;以此类推;所述校验位部分的第2j-1m+1列与所述基矩阵的第2k-j+1行、…、第2行和第1行对应;j为小于k且大于0的整数。

其中,处理模块1101可以是处理器或控制器。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1102可以是收发器、收发电路或通信接口等。存储模块1103可以是存储器。

当处理模块1101为处理器,通信模块1102为收发器,存储模块1103为存储器时,本发明实施例所涉及的发送端可以为图23所示的发送端。

图21为本发明实施例提供一种LDPC码的基矩阵生成设备的结 构示意图,如图21所示,该LDPC码的基矩阵生成设备可以包括:至少一个处理器1201、存储器1202、系统总线1203和通信接口1204。

所述存储器1202用于存储计算机执行指令,所述处理器1201与所述存储器1202通过所述系统总线1203连接,当所述LDPC码的基矩阵生成设备运行时,所述处理器1201执行所述存储器1202存储的所述计算机执行指令,以使所述LDPC码的基矩阵生成设备执行如图2所述的LDPC码的基矩阵生成方法,以实现图13所示的LDPC码的基矩阵生成设备中确定单元61和处理单元62的功能。

例如,处理器1201执行所述存储器1202存储的所述计算机执行指令,以使所述LDPC码的基矩阵生成设备执行如图2所述的LDPC码的基矩阵生成方法中的步骤201,以实现图13所示的LDPC码的基矩阵生成设备包括的确定单元61的功能。再例如,处理器1201执行所述存储器1202存储的所述计算机执行指令,以使所述LDPC码的基矩阵生成设备执行如图2所述的LDPC码的基矩阵生成方法中的步骤202,以实现图13所示的LDPC码的基矩阵生成设备包括的确定单元61的功能。再例如,处理器1201执行所述存储器1202存储的所述计算机执行指令,以使所述LDPC码的基矩阵生成设备执行如图2所述的LDPC码的基矩阵生成方法中的步骤204,以实现图13所示的LDPC码的基矩阵生成设备包括的处理单元62的功能。

本实施例还提供一种存储介质,该存储介质可以包括所述存储器1202。

所述处理器1201可以为中央处理器(central processing unit,CPU)。所述处理器1201还可以为其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述处理器1201可以为专用处理器,该专用处理器可以包括基带处理芯片、射频处理芯片等中的至少一个。

所述存储器1202可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);所述存储器1202也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);所述存储器1202还可以包括上述种类的存储器的组合。

所述系统总线1203可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图21中将各种总线都示意为系统总线1203。

所述通信接口1204具体可以是LDPC码的基矩阵生成设备上的收发器。该收发器可以为无线收发器。例如,无线收发器可以是LDPC码的基矩阵生成设备的天线等。所述处理器1201通过所述通信接口1204与其他设备,例如与发送端或接收端之间进行数据的收发。

在具体实现过程中,上述如图2所示的方法流程中的各步骤均可以通过硬件形式的处理器1201执行存储器1202中存储的软件形式的计算机执行指令实现。为避免重复,此处不再赘述。

需要说明的是,本发明实施例提供的LDPC码的基矩阵生成设备中各功能模块的具体工作过程可以参考方法实施例中对应过程的具体描述,本发明实施例在此不再详细赘述。

本发明实施例提供的LDPC码的基矩阵生成设备,用于执行上述LDPC码的基矩阵生成方法,因此可以达到与上述LDPC码的基矩阵生成方法相同的效果。

图22为本发明实施例提供另一种接收端的结构示意图,接收端预先配置有如图1所述的实施例中的基矩阵,如图22所示,该接收端可以包括:至少一个处理器1301、存储器1302、系统总线1303和收发器1304。

所述存储器1302用于存储计算机执行指令,所述处理器1301 与所述存储器1302通过所述系统总线1303连接,当所述接收端运行时,所述处理器1301执行所述存储器1302存储的所述计算机执行指令,以使所述接收端执行如图5所述的译码方法,或图7-图9中任一所述的编译码方法中的相应步骤,以对应实现如图14或图15所述的接收端中接收单元71、确定单元72、变换单元73、译码单元74、存储单元75、发送单元76和拼接单元77的功能。

例如,处理器1301执行所述存储器1302存储的所述计算机执行指令,以使所述接收端执行如图5所述的译码方法中的步骤301,以实现图14或图15所示的接收端包括的接收单元71的功能。再例如,处理器1301执行所述存储器1302存储的所述计算机执行指令,以使所述接收端执行如图7所述的编译码方法中的步骤511,以实现图14或图15所示的接收端包括的变换矩阵73的功能。再例如,处理器1301执行所述存储器1302存储的所述计算机执行指令,以使所述接收端执行如图8所述的编译码方法中的步骤520,以实现图15所示的接收端包括的拼接单元77的功能。

本实施例还提供一种存储介质,该存储介质可以包括所述存储器1302。

所述处理器1301可以为CPU。所述处理器1301还可以为其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述处理器1301可以为专用处理器,该专用处理器可以包括基带处理芯片、射频处理芯片等中的至少一个。

所述存储器1302可以包括volatile memory,例如RAM;所述存储器1302也可以包括non-volatile memory,例如ROM,flash memory,HDD或SSD;所述存储器1302还可以包括上述种类的存储器的组合。

所述系统总线1303可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图22中将各种总线 都示意为系统总线1303。

所述收发器1304可以为无线收发器。例如,无线收发器可以是接收端的天线等。所述处理器1301通过所述收发器1304与其他设备,例如与发送端之间进行数据的收发。

在具体实现过程中,上述如图5、图7-图9所示的方法流程中的相应步骤均可以通过硬件形式的处理器1301执行存储器1302中存储的软件形式的计算机执行指令实现。为避免重复,此处不再赘述。

需要说明的是,本发明实施例提供的接收端中各功能模块的具体工作过程可以参考方法实施例中对应过程的具体描述,本发明实施例在此不再详细赘述。

本发明实施例提供的接收端,用于执行上述译码方法,因此可以达到与上述译码方法相同的效果。

图23为本发明实施例提供另一种发送端的结构示意图,发送端预先配置有如图1所述的实施例中的基矩阵,如图23所示,该发送端可以包括:至少一个处理器1401、存储器1402、系统总线1403和收发器1404。

所述存储器1402用于存储计算机执行指令,所述处理器1401与所述存储器1402通过所述系统总线1403连接,当所述发送端运行时,所述处理器1401执行所述存储器1402存储的所述计算机执行指令,以使所述发送端执行如图6所述的编码方法,或图7-图9中任一所述的编译码方法,以对应实现如图16或图17所述的发送端中编码单元81、确定单元82、打孔单元83、发送单元84、接收单元85和生成单元86的功能。

例如,处理器1401执行所述存储器1402存储的所述计算机执行指令,以使所述发送端执行如图6所述的编码方法中的步骤401,以实现图16或图17所示的发送端包括的编码单元81的功能。再例如,处理器1401执行所述存储器1402存储的所述计算机执行指令,以使所述发送端执行如图7所述的编译码方法中的步骤504,以实 现图16或图17所示的发送端包括的打孔单元83的功能。再例如,处理器1401执行所述存储器1402存储的所述计算机执行指令,以使所述发送端执行如图9所述的编译码方法中的步骤526,以实现图16或图17所示的发送端包括的发送单元84的功能。

本实施例还提供一种存储介质,该存储介质可以包括所述存储器1402。

所述处理器1401可以为CPU。所述处理器1401还可以为其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述处理器1401可以为专用处理器,该专用处理器可以包括基带处理芯片、射频处理芯片等中的至少一个。

所述存储器1402可以包括volatile memory,例如RAM;所述存储器1402也可以包括non-volatile memory,例如ROM,flash memory,HDD或SSD;所述存储器1402还可以包括上述种类的存储器的组合。

所述系统总线1403可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图23中将各种总线都示意为系统总线1403。

所述收发器1404可以为无线收发器。例如,无线收发器可以是发送端的天线等。所述处理器1401通过所述收发器1404与其他设备,例如与接收端之间进行数据的收发。

在具体实现过程中,上述如图6-图9所示的方法流程中的相应步骤均可以通过硬件形式的处理器1401执行存储器1402中存储的软件形式的计算机执行指令实现。为避免重复,此处不再赘述。

需要说明的是,本发明实施例提供的发送端中各功能模块的具体工作过程可以参考方法实施例中对应过程的具体描述,本发明实施例在此不再详细赘述。

本发明实施例提供的发送端,用于执行上述编码方法,因此可 以达到与上述编码方法相同的效果。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各 个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号