CN102916763A - 编码方法、解码方法、编码器及解码器 - Google Patents
编码方法、解码方法、编码器及解码器 Download PDFInfo
- Publication number
- CN102916763A CN102916763A CN2011102198263A CN201110219826A CN102916763A CN 102916763 A CN102916763 A CN 102916763A CN 2011102198263 A CN2011102198263 A CN 2011102198263A CN 201110219826 A CN201110219826 A CN 201110219826A CN 102916763 A CN102916763 A CN 102916763A
- Authority
- CN
- China
- Prior art keywords
- vector
- matrix
- dimension
- subcode
- coding
- 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
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
Description
技术领域
本发明涉及通信领域,特别涉及通信领域中编码方法、解码方法、编码器及解码器。
背景技术
对于线性码而言,通常从纠错能力和译码复杂度两方面来判断线性码的优劣。纠错能力表现为线性码对错误比特的纠错能力,该纠错能力主要与线性码的极小距离相关,线性码的极小距离越大,该线性码的纠错能力越强。另一方面,在解码器性能不够好的情况下,译码复杂度也是一个关键因素。在编码矩阵较大时,通常需要使用快速哈达玛变换(Fast HadamardTransform,简称为“FHT”)使得译码计算复杂度降低。因此,为了得到更好的译码效率,需要采用一定性质的编码,在略微牺牲极小距离的情况下,达到快速译码的目的。
在宽带码分多址(Wideband Code Division Multiple Access,简称为“WCDMA”)系统中,传输格式组合标识符(Transport Format CombinationIndicator,简称为“TFCI”)用来提供当前帧所传输的数据的信息,该TFCI需要一个可变的编码器来适应不同长度的输入向量。在第三代合作伙伴计划(The 3rd Generation Partnership Project,简称为“3GPP”)中,该输入向量的长度范围为1至10比特。最优距离轮廓理论正是研究在这个过程中,如何实现线性码的极小距离尽可能大,以达到良好的纠错效果。
因此,需要一种编解码方法及其装置,能够实现在输入向量长度改变而编码输出向量长度不变时的可变传输速率编码,并能够达到良好的纠错效果。
发明内容
本发明实施例提供了一种编码方法、解码方法、编码器及解码器,能够实现编码输出向量长度不变的可变传输速率编码,并且能够提高解码纠错能力。
一方面,本发明实施例提供了一种编码方法,该编码方法包括:获取长度为k的第一向量,k为自然数且k小于或等于10;根据一生成矩阵G形成行数为k的编码矩阵;通过采用该编码矩阵对该第一向量进行编码,形成第二向量,其中,该生成矩阵G为
另一方面,本发明实施例提供了一种解码方法,该解码方法包括:根据生成矩阵G获取行数为k的编码矩阵G0;通过k维全空间与该编码矩阵相乘,获取2k个比较向量;通过将接收的长度为48的第二向量与每个该比较向量进行比较,确定该2k个比较向量中与该第二向量的汉明距离最小的第三向量根据编码等式确定对该第二向量进行解码后的第一向量其中,该生成矩阵G为G1、G2或G3。
另一方面,本发明实施例提供了一种解码方法,该解码方法包括:根据接收的长度为48的双极性编码码字以及生成矩阵G,形成8个长度为64的去掩后的双极性序列;通过该双极性序列与64阶哈达玛矩阵进行快速哈达玛变换FHT,形成8×64的相关值矩阵;在该相关值矩阵的元素中,获取绝对值最大的元素的行号、列号以及正负号信息;根据该行号、该列号以及该正负号信息,确定对该双极性编码码字进行解码后的第一向量,其中,该生成矩阵G为G3。
再一方面,本发明实施例提供了一种编码器,该编码器包括:第一获取模块,用于获取长度为k的第一向量,k为自然数且k小于或等于10;第一形成模块,用于根据一生成矩阵G形成行数为k的编码矩阵;第二形成模块,用于通过采用该编码矩阵对该第一向量进行编码,形成第二向量,其中,该生成矩阵G为G1、G2或G3。
再一方面,本发明实施例提供了一种解码器,该解码器包括:第一获取模块,用于根据生成矩阵G获取行数为k的编码矩阵G0;第二获取模块,用于通过k维全空间与该编码矩阵相乘,获取2k个比较向量;第一确定模块,用于通过将接收的长度为48的第二向量与每个比较向量进行比较,确定该2k个比较向量中与该第二向量的汉明距离最小的第三向量第二确定模块,用于根据编码等式确定对该第二向量进行解码后的第一向量其中,该生成矩阵G为G1、G2或G3。
再一方面,本发明实施例提供了一种解码器,该解码器包括:第一形成模块,用于根据接收的长度为48的双极性编码码字以及生成矩阵G,形成8个长度为64的去掩后的双极性序列;第二形成模块,用于通过该双极性序列与64阶哈达玛矩阵进行快速哈达玛变换FHT,形成8×64的相关值矩阵;第三形成模块,用于在该相关值矩阵的元素中,获取绝对值最大的元素的行号、列号以及正负号信息;确定模块,用于根据该行号、该列号以及该正负号信息,确定对该双极性编码码字进行解码后的第一向量,其中,该生成矩阵G为G3。
基于上述技术方案,本发明实施例的编码方法、解码方法、编码器及解码器,通过采用极小距离较大的生成矩阵G进行编码或解码,不仅能够实现编码输出向量长度不变的可变传输速率编码,并且在输入向量的长度变化时,仍然能够提高解码纠错能力,提高解码效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的编码方法的示意性流程图。
图2是在根据本发明实施例的编码方法中,获取生成矩阵的方法的示意性流程图。
图3是在根据本发明实施例的编码方法中,获取生成矩阵的方法的另一示意性流程图。
图4是根据本发明实施例的解码方法的示意性流程图。
图5是根据本发明另一实施例的解码方法的示意性流程图。
图6是在根据本发明实施例的解码方法中,形成双极性序列的方法的示意性流程图。
图7是根据本发明实施例的编码器的示意性流程图。
图8是根据本发明实施例的编码器的第二获取模块的示意性流程图。
图9是根据本发明实施例的解码器的示意性流程图。
图10是根据本发明另一实施例的解码器的示意性流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
应理解,本发明的技术方案可以应用于各种通信系统,例如:全球移动通讯(Global System of Mobile communication,简称为“GSM”)系统、码分多址(Code Division Multiple Access,简称为“CDMA”)系统、宽带码分多址(Wideband Code Division Multiple Access,简称为“WCDMA”)系统、通用分组无线业务(General Packet Radio Service,简称为“GPRS”)、长期演进(Long Term Evolution,简称为“LTE”)系统、LTE频分双工(FrequencyDivision Duplex,简称为“FDD”)系统、LTE时分双工(Time Division Duplex,简称为“TDD”)、通用移动通信系统(Universal Mobile TelecommunicationSystem,简称为“UMTS”)等。
图1示出了根据本发明实施例的编码方法的示意性流程图。如图1所示,该编码方法包括:
S110,获取长度为k的第一向量,k为自然数且k小于或等于10;
S120,根据一生成矩阵G形成行数为k的编码矩阵;
S130,通过采用该编码矩阵对该第一向量进行编码,形成第二向量,
其中,该生成矩阵G为
例如,对TFCI进行编码时,假设输入向量即第一向量为(a0,a1,...,ak-1),该第一向量的长度为k,k为自然数且1≤k≤10,那么可以使用生成矩阵G的前k行向量形成的编码矩阵G0,根据下面的等式(1)对该第一向量进行编码,得到第二向量(b0,b1,...,b47),其中假设该生成矩阵G表示为(v0,...,vi,...,v9)T,i为整数且0≤i≤9,并假设vi用向量(gi,0,gi,1,...,gi,47)表示,则编码矩阵G0可以表示为(v0,...,vi,...,vk-1)T。
因此,本发明实施例的编码方法,通过采用根据本发明实施例的极小距离较大的生成矩阵G进行编码或解码,不仅能够实现编码输出向量长度不变的可变传输速率编码,并且在输入向量的长度变化时,仍然能够提高解码纠错能力,提高解码效率。
应理解,本发明实施例以对TFCI进行编码或解码为例进行说明,但是本发明实施例并不限于此,本发明可以应用于各种通信系统中编码输出向量长度不变的可变传输速率编码和解码。
为了进一步具体说明本发明实施例的编码方法能够实现更好的纠错效果,下面将结合表1所示的极小距离值进行说明。
表1
i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
前k行 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
[48,k]码的界 | 20 | 20 | 22 | 22 | 24 | 24 | 24 | 27 | 32 | 48 |
生成矩阵G1 | 18 | 18 | 19 | 20 | 20 | 24 | 24 | 24 | 24 | 48 |
生成矩阵G2 | 20 | 20 | 20 | 20 | 24 | 24 | 24 | 24 | 32 | 32 |
生成矩阵G3 | 18 | 18 | 18 | 22 | 22 | 22 | 22 | 24 | 26 | 26 |
生成矩阵g1 | 18 | 18 | 18 | 18 | 22 | 22 | 22 | 24 | 24 | 26 |
生成矩阵g2 | 18 | 18 | 18 | 19 | 20 | 24 | 24 | 24 | 24 | 48 |
其中生成矩阵g1是3GPP中给出的在信道的基本码片速率为1.28Mcps,并且输入向量的长度为6至10比特时,用于TFCI编码的生成矩阵,该生成矩阵g1具体为:
该生成矩阵g1是通过对生成矩阵g3进行打孔(Puncture)而得到,其中打孔位置为:第0、4、8、13、16、20、27、31、34、38、41、44、50、54、57、61列。该生成矩阵g3是二阶RM码(Reed-Muller码)的一个[64,10]的子码,该生成矩阵g3具体为:
生成矩阵g1中,前7行为(1,6)Reed-Muller码,它在打孔后的极小距离变为18(如表1所示),另外三行为(2,6)Reed-Muller码中挑选出来的三个基向量,加入这三个基向量后,它的极小距离仍然保持18不变。如果将生成矩阵g1的向量位置稍作调整,具体而言,将生成矩阵g1的第1、2行移动到最后,将第7行移动到最前面,那么可以得到生成矩阵g2,它的前k行所生成的子码的最优距离轮廓可以得到一些改善,但仍不是这个码的最优距离轮廓,纠错效果仍有待提高。该生成矩阵g2具体为:
需要说明的是,生成矩阵G1的打孔位置与生成矩阵g1的打孔位置相同,即生成矩阵G1的打孔位置为第0、4、8、13、16、20、27、31、34、38、41、44、50、54、57、61列;生成矩阵G2是一个准循环码,不是由Reed-Muller码打孔而来的;生成矩阵G3的打孔位置为第2、7、8、9、14、16、17、19、21、24、32、34、40、44、47、60列。
表1示出了本发明实施例的生成矩阵G1、G2、G3与相关技术中的生成矩阵g1和g2的极小距离值的比较。如表1所示,与生成矩阵g1和g2的前k行构成的编码矩阵的极小距离相比,生成矩阵G1、G2、G3的前k行构成的编码矩阵的极小距离更大。
特别地,例如对于生成矩阵G1而言,当k为1、4、5、7、8、9、10时,生成矩阵G1的前k行是其极小距离最大的子码。对于生成矩阵G2而言,该生成矩阵的前2、4、5、6、9和10行所构成的编码矩阵的极小距离都达到了[48,k]码的界,即理论上可以达到的最大极小距离。因此,当输入向量k为2、4、5、6、9和10时,采用由生成矩阵G2生成的编码矩阵对输入向量进行编码时,纠错效果最好。类似地,对于生成矩阵G1、G3而言,也能达到尽可能大的极小距离,从而使得纠错效果更好。
因此,本发明实施例的编码方法,通过采用根据本发明实施例的极小距离较大的生成矩阵G进行编码或解码,不仅能够实现编码输出向量长度不变的可变传输速率编码,并且在输入向量的长度变化时,仍然能够提高解码纠错能力,提高解码效率。
在本发明实施例中,可选地,该根据一生成矩阵G形成行数为k的编码矩阵,包括:将该生成矩阵的前k行向量形成为该编码矩阵,由此形成的编码矩阵的极小距离尽可能大,纠错效果更好。应理解,在本发明实施例中,也可以将根据本发明实施例的生成矩阵G的任意k行向量,形成为根据本发明实施例的编码矩阵。
在本发明实施例中,如图2所示,获取生成矩阵G的方法可以包括:
S210,根据一线性码,获取该线性码的所有第一维度子码;
S220,在该第一维度子码中,确定极小距离最大的第一维度最优子码;
S230,基于该第一维度最优子码,确定极小距离最大的包括该第一维度最优子码的第二维度最优子码,该第二维度大于该第一维度;
S240,在确定该第二维度最优子码存在于逆字典序最优子码链中时,生成与该第二维度最优子码相应的该生成矩阵G。
在图2所示的方法中,可以从一个生成矩阵只有一行的线性码出发,通过进行不断的穷举给定线性码的子码,以及对子码进行添行处理,得到最终优化的生成矩阵G,而且这个过程中要保持逆字典序最优距离轮廓的性质,即生成矩阵每增加一行,形成的上一个子码的超码的极小距离保持尽可能最大,即等于逆字典序最优距离轮廓的所给定的值。因此,采用根据本发明实施例的生成矩阵G进行编码或解码,不仅能够实现编码输出向量长度不变的可变传输速率编码,并且在输入向量的长度变化时,仍然能够提高解码纠错能力,提高解码效率。
下面将结合图3,对获取本发明实施例的生成矩阵G的方法进行详细描述。
如图3所示,在S301中,根据一线性码,获取该线性码的所有第一维度子码,并在该第一维度子码中,确定极小距离最大的第一维度最优子码。例如,对于给定的[n,k]线性码C,通过运行遍历子码算法(TraverseSubcode),可以获得线性码C的所有r维子码,每个子码对应于一个生成矩阵。对于所有的r维子码,通过运行最优子码算法(OptimumSubcode),可以获取线性码C的所有r维子码中,最大的极小距离dr,以及极小距离最大的r维子码的生成矩阵Gr,同时还可以得到生成矩阵Gr的数量。
对于遍历子码算法而言,要穷举线性码C的所有r维子码,但不希望得到重复的子码。程序需要穷举所有[r,k]的行递减阶梯(Row ReducedEchelon,简称为“RRE”)矩阵,然后用这样的RRE矩阵左乘线性码C的某一个生成矩阵,得到线性码C的子码。可以证明,只要RRE矩阵不重复,那么生成的线性码C的子码也不会重复。进一步可以得到参数为[r,k]的RRE矩阵的数量,即为线性码C的k1维子码的数量。而穷举RRE矩阵的算法可以由组合数生成算法得来。
在S302中,如果最优子码中含有全1码字,那么对第一维度最优子码进行初步判断,以在r比较小的时候,判断能否直接得到逆字典序的前面几个解;如果最优子码中没有全1码字,则跳过该步骤。具体而言,根据最优距离轮廓的性质,如果最优子码中含有全1码字,则生成矩阵的第一行向量v0为全1向量。由于v0为全1向量,则根据线性码的性质,添加向量时,极小距离最大为n/2,在本实施例中为n/2=24。在r>1时,若dr=n/2,则将其向量加入生成矩阵,找到满足dr=n/2的最大的维度r*。
在S303中,基于该第一维度最优子码,确定极小距离最大的包括该第一维度最优子码的第二维度最优子码,该第二维度大于该第一维度。具体而言,目前已经寻找到r维最优子码(可能不唯一),还需要寻找r+1维最优子码,通过运行添加一行算法(AddOneLine),可以找出r+1维子码所能得到的最大的极小距离dr+1,并得到这样的生成矩阵的数量。类似地,该流程也可以通过运行遍历子码算法和最优子码算法而实现。
对于添行算法而言,对于给定线性码C,在它的r维子码C1(基向量为v0,v1,...,vr-1)的基础上,从C\C1中需找r条合适的基向量v,使得(v0,v1,...,vr-1,vr,...,vr-1+x)生成的r+x维线性码C2的极小距离最大。这样的向量v可能不唯一。从C\C1中寻找r维向量的问题,不必穷举所有C\C1空间中的向量,若给定码C的一组基向量(v0,v1,...,vr-1,...,vn-1),其中前r个向量为C1的一组基,可以证明,只需穷举(vr,...,vn-1)组成的线性空间的每一个r维子码的一组基(u0,u1,...,ur-1),讨论它和C1的一组基(v0,v1,...,vr-1)一起,构成的基为(v0,v1,...,vr-1,u0,...,ur-1)的线性空间的极小距离。
在S304中,判断S303中得到的生成矩阵的数量是否太多,如果数量太多,那么流程进行到S305,否则流程进行到S307。
在S305中,基于该第一维度最优子码,确定极小距离最大的包括该第一维度最优子码的第二维度最优子码,该第二维度大于该第一维度。具体而言,目前已经寻找到r维最优子码,还需要寻找r+x维最优子码,x大于1。通过运行添加x行算法(AddxLine),可以找出r+x维子码所能得到的最大的极小距离dr+x,并得到这样的生成矩阵的数量。类似地,该流程也可以通过运行遍历子码算法和最优子码算法而实现。
在S306中,对第二维度最优子码进行整理。假设从某一个r维最优子码出发,找到了r+x维的最优子码,需要对这个找到的r+x维最优子码进行整理,找到r+1维到r+x维的最优子码链。则要从r维子码出发,以所找到的r+x维空间为母空间,运行添行算法。最后需要这段子码链的最优性进行检验。由于母空间维数降低,这个算法运行速度很快。
该步骤可以通过运行整理算法(Adjust)而实现,具体而言,对C1进行一次性添加x行后得到C2,则运用遍历超码算法(TraverseSupsercode)算法遍历C1在C2内的超码,使得得C1逐行添加向量得到C2时,产生的子码链的极小距离尽可能大。例如,可以将生成矩阵G的前r行替换为极小距离为dr的C1的超码的生成矩阵,将后k-r行替换为与前r行线性无关的向量,从而得到整理后的生成矩阵G。
需要说明的是,对于添加一行处理,得到的最优结果可能很多,从这么多结果中再分别进行添行处理的复杂度太高,例如,如果添加一行的话,假设添加300个向量中的一个都可以达到最好的极小距离,而其中只有10个向量添加进去后,再添一行的结果比较好,那么势必要对着300个向量添行出来的结果分别再添一行进行比较,如果这样嵌套下去,复杂度很高;而对于一次添加x行(或者多行)处理,例如一次添加2行,可以再将得到的这两行进行分解,如果这2行是逆字典序最有距离轮廓的一部分,也就解决了这个问题,如果不是,就只能通过一步步添来进行。但是一次性添加行数太多,算法运行的速度太慢。
在S307中,对第二维度最优子码进行验证。假设线性码C的r维子码包含在逆字典序最优子码链中,判断包含这个r维子码的r+1维子码是否存在于逆字典序最优子码链中。第一步,查询步骤a所得到的最优子码表。若要判断的r+1维子码的极小距离等于最优子码表中的dr+1,则验证成功。第二步,若第一步不能成功,则需要对码C的所有找到的r维子码链增加1维的结果进行穷举,以找到正确的r+1维最优子码。所庆幸的是,这样的情况很少。
该步骤可以通过验证算法(Verify)实现,具体而言,分为2个处理过程,分别对添加1行后的结果和添加x行后的结果进行验证:(1)如果是处理添加一行的结果,则将生成矩阵G的前r行调整为极小距离为dr的生成矩阵(实质上只需要调整第r-1行),然后将后k-r行替换为与前r行线性无关的向量;(2)如果是处理添加x行的结果,则将添加x行得到的dr与添加1行的得到的dr进行比较,如果添加x行的dr等于添加1行的dr,则添加多行简化步骤成功,如果小于(不可能大于),则添加x行方法处理失败,只能通过一行一行进行添加而得到最终结果。
S308,确定该流程是否结束,如果没有结束,则流程进行到S303,否则流程结束。例如,如果确定该第二维度最优子码存在于逆字典序最优子码链中,那么生成与该第二维度最优子码相应的该生成矩阵G;否则,重新进行添行处理,以得到生成矩阵G。
因此,本发明实施例得到的生成矩阵G的极小距离尽可能大,从而本发明实施例的编码方法、解码方法、编码器及解码器,通过采用根据本发明实施例的极小距离较大的生成矩阵G进行编码或解码,不仅能够实现编码输出向量长度不变的可变传输速率编码,并且在输入向量的长度变化时,仍然能够提高解码纠错能力,提高解码效率。
需要说明的是,对于生成矩阵G2所对应的线性码,由于该线性码是一个准循环码,因此可以使用带反馈的线性移位寄存器对输入向量进行快速编码,从而与传统编码方式相比,由于具有线性的编码复杂度,可以极大地提高编码速度。
上文中结合图1至图3,详细描述了根据本发明实施例的编码方法,下面将结合图4至图6,描述根据本发明实施例的解码方法。
图4示出了根据本发明实施例的解码方法的示意性流程图。如图4所示,该解码方法包括:
S410,根据生成矩阵G获取行数为k的编码矩阵G0;
S420,通过k维全空间与该编码矩阵相乘,获取2k个比较向量;
其中,该生成矩阵G为G1、G2或G3。
可选地,该根据生成矩阵G获取行数为k的编码矩阵G0,包括:将该生成矩阵的前k行向量形成为该编码矩阵。
本发明实施例的解码方法,通过采用根据本发明实施例的极小距离较大的生成矩阵G进行编码或解码,不仅能够实现编码输出向量长度不变的可变传输速率编码,并且在输入向量的长度变化时,仍然能够提高解码纠错能力,提高解码效率。
在解码器性能不够好的情况下,译码复杂度也是一个关键因素。在编码矩阵规模较大时,需要使用快速哈达玛变换(FHT)使得译码计算复杂度降低。对于根据本发明实施例的生成矩阵G3,能够在保证良好的极小距离的同时,依然可以使用FHT算法进行译码。
如图5所示,基于生成矩阵G3的解码方法包括:
S510,根据接收的长度为48的双极性编码码字以及生成矩阵G,形成8个长度为64的去掩后的双极性序列;
S520,通过该双极性序列与64阶哈达玛矩阵进行快速哈达玛变换FHT,形成8×64的相关值矩阵;
S530,在该相关值矩阵的元素中,获取绝对值最大的元素的行号、列号以及正负号信息;
S540,根据该行号、该列号以及该正负号信息,确定对该双极性编码码字进行解码后的第一向量,
其中,该生成矩阵G为G3。
本发明实施例的解码方法,通过采用根据本发明实施例的极小距离较大的生成矩阵G进行编码或解码,不仅能够实现编码输出向量长度不变的可变传输速率编码,并且在输入向量的长度变化时,仍然能够提高解码纠错能力,提高解码效率。特别是能够采用快速哈达玛变换方法进行解码,从而能够大幅度降低译码复杂度,提高解码速度。
在本发明实施例中,如图6所示,可选地,形成去掩后的双极性序列的方法包括:
S610,根据该双极性编码码字以及与该生成矩阵G相应的打孔位,形成长度为64的双极性向量;
S620,根据该生成矩阵G的最后三行向量以及该打孔位,形成三个长度为64的扩展向量;
S630,通过对该扩展向量进行线性组合,形成8个长度为64的掩码向量;
S640,通过每个该掩码向量与该双极性向量相乘,形成8个长度为64的去掩后的该双极性序列。
应理解,与该生成矩阵G相应的打孔位为形成该生成矩阵G时,对于原始生成矩阵进行打孔处理的打孔位,即对Reed-Muller码进行打孔(Puncture)的打孔位置为:第2、7、8、9、14、16、17、19、21、24、32、34、40、44、47、60列。
在本发明实施例中,该确定对该双极性编码码字进行解码后的第一向量,包括:
将该列号的六位二进制数分别确定为该第一向量的前六位元素;将该行号的三位二进制数分别确定为该第一向量的后三位元素;以及在该正负号信息为正号时,将该第一向量的第七位元素确定为0,并且在该正负号信息为负号时,将该第一向量的第七位元素确定为1。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应理解,FHT译码的计算复杂度较低,在S520中,对64阶的哈达玛Hadamard矩阵进行FHT时,仅需要3072次加法运算,其他步骤的复杂度也很低。而如果用穷搜索算法对于全空间1024个码字进行极小距离译码时,至少需要1024×48=49152次运算。因此FHT算法具有很快的译码效率。
本发明实施例的解码方法,通过采用根据本发明实施例的极小距离较大的生成矩阵G进行编码或解码,不仅能够实现编码输出向量长度不变的可变传输速率编码,并且在输入向量的长度变化时,仍然能够提高解码纠错能力,提高解码效率。
上文中结合图1至图6,详细描述了根据本发明实施例的编码方法和解码方法,下面将结合图7至图10,描述根据本发明实施例的编码器和解码器。
图7示出了根据本发明实施例的编码器700的示意性流程图。如图7所示,该编码器700包括:
第一获取模块710,用于获取长度为k的第一向量,k为自然数且k小于或等于10;
第一形成模块720,用于根据一生成矩阵G形成行数为k的编码矩阵;
第二形成模块730,用于通过采用该编码矩阵对该第一向量进行编码,形成第二向量,
其中,该生成矩阵G为
本发明实施例的编码器,通过采用根据本发明实施例的极小距离较大的生成矩阵G进行编码或解码,不仅能够实现编码输出向量长度不变的可变传输速率编码,并且在输入向量的长度变化时,仍然能够提高解码纠错能力,提高解码效率。
可选地,该编码器700还包括第二获取模块740,用于获取该生成矩阵。如图8所示,该第二获取模块740可以包括:
获取单元741,用于根据一线性码获取该线性码的所有第一维度子码;
第一确定单元742,用于在该第一维度子码中,确定极小距离最大的第一维度最优子码;
第二确定单元743,用于基于该第一维度最优子码,确定极小距离最大的包括该第一维度最优子码的第二维度最优子码,该第二维度大于该第一维度;
生成单元744,用于在确定该第二维度最优子码存在于逆字典序最优子码链中时,生成与该第二维度最优子码相应的该生成矩阵G。
可选地,该第一形成模块720还用于将该生成矩阵的前k行向量形成为该编码矩阵。
应理解,根据本发明实施例的编码器700可用于执行图1至图3中的方法的相应流程,为了简洁,在此不再赘述。
本发明实施例的编码器,通过采用根据本发明实施例的极小距离较大的生成矩阵G进行编码或解码,不仅能够实现编码输出向量长度不变的可变传输速率编码,并且在输入向量的长度变化时,仍然能够提高解码纠错能力,提高解码效率。
图9示出了根据本发明实施例的解码器800的示意性流程图。如图9所示,该解码器800包括:
第一获取模块810,用于根据生成矩阵G获取行数为k的编码矩阵G0;
第二获取模块820,用于通过k维全空间与该编码矩阵相乘,获取2k个比较向量;
其中,该生成矩阵G为G1、G2或G3。
可选地,该第一获取模块810还用于将该生成矩阵的前k行向量形成为该编码矩阵。
应理解,根据本发明实施例的解码器800可用于执行图4中的方法的相应流程,为了简洁,在此不再赘述。
本发明实施例的解码器,通过采用根据本发明实施例的极小距离较大的生成矩阵G进行编码或解码,不仅能够实现编码输出向量长度不变的可变传输速率编码,并且在输入向量的长度变化时,仍然能够提高解码纠错能力,提高解码效率。
图10示出了根据本发明另一实施例的解码器900的示意性流程图。如图10所示,该解码器900包括:
第一形成模块910,用于根据接收的长度为48的双极性编码码字以及生成矩阵G,形成8个长度为64的去掩后的双极性序列;
第二形成模块920,用于通过该双极性序列与64阶哈达玛矩阵进行快速哈达玛变换FHT,形成8×64的相关值矩阵;
第三形成模块930,用于在该相关值矩阵的元素中,获取绝对值最大的元素的行号、列号以及正负号信息;
确定模块940,用于根据该行号、该列号以及该正负号信息,确定对该双极性编码码字进行解码后的第一向量,
其中,该生成矩阵G为G3。
本发明实施例的解码器,通过采用根据本发明实施例的极小距离较大的生成矩阵G进行编码或解码,不仅能够实现编码输出向量长度不变的可变传输速率编码,并且在输入向量的长度变化时,仍然能够提高解码纠错能力,提高解码效率。
在本发明实施例中,可选地,该第一形成模块910具体用于:
根据该双极性编码码字以及与该生成矩阵G相应的打孔位,形成长度为64的双极性向量;
根据该生成矩阵G的最后三行向量以及该打孔位,形成三个长度为64的扩展向量;
通过对该扩展向量进行线性组合,形成8个长度为64的掩码向量;
通过每个该掩码向量与该双极性向量相乘,形成8个长度为64的去掩后的该双极性序列。
可选地,该确定模块940,具体用于:
将该列号的六位二进制数分别确定为该第一向量的前六位元素;
将该行号的三位二进制数分别确定为该第一向量的后三位元素;
在该正负号信息为正号时,将该第一向量的第七位元素确定为0,并且在该正负号信息为负号时,将该第一向量的第七位元素确定为1。
应理解,根据本发明实施例的解码器900可用于执行图5和图6中的方法的相应流程,为了简洁,在此不再赘述。
本发明实施例的解码器,通过采用根据本发明实施例的极小距离较大的生成矩阵G进行编码或解码,不仅能够实现编码输出向量长度不变的可变传输速率编码,并且在输入向量的长度变化时,仍然能够提高解码纠错能力,提高解码效率。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种编码方法,其特征在于,包括:
获取长度为k的第一向量,k为自然数且k小于或等于10;
根据一生成矩阵G形成行数为k的编码矩阵;
通过采用所述编码矩阵对所述第一向量进行编码,形成第二向量,其中,所述生成矩阵G为
2.根据权利要求1所述的编码方法,其特征在于,所述生成矩阵G根据如下步骤获取:
根据一线性码获取所述线性码的所有第一维度子码;
在所述第一维度子码中,确定极小距离最大的第一维度最优子码;
基于所述第一维度最优子码,确定极小距离最大的包括所述第一维度最优子码的第二维度最优子码,所述第二维度大于所述第一维度;
在确定所述第二维度最优子码存在于逆字典序最优子码链中时,生成与所述第二维度最优子码相应的所述生成矩阵G。
3.根据权利要求1或2所述的方法,其特征在于,所述根据一生成矩阵G形成行数为k的编码矩阵,包括:
将所述生成矩阵的前k行向量形成为所述编码矩阵。
5.根据权利要求4所述的解码方法,其特征在于,所述根据生成矩阵G获取行数为k的编码矩阵G0,包括:
将所述生成矩阵的前k行向量形成为所述编码矩阵。
6.一种解码方法,其特征在于,包括:
根据接收的长度为48的双极性编码码字以及生成矩阵G,形成8个长度为64的去掩后的双极性序列;
通过所述双极性序列与64阶哈达玛矩阵进行快速哈达玛变换FHT,形成8×64的相关值矩阵;
在所述相关值矩阵的元素中,获取绝对值最大的元素的行号、列号以及正负号信息;
根据所述行号、所述列号以及所述正负号信息,确定对所述双极性编码码字进行解码后的第一向量,
其中,所述生成矩阵G为
7.根据权利要求6所述的解码方法,其特征在于,所述形成8个长度为64的去掩后的双极性序列,包括:
根据所述双极性编码码字以及与所述生成矩阵G相应的打孔位,形成长度为64的双极性向量;
根据所述生成矩阵G的最后三行向量以及所述打孔位,形成三个长度为64的扩展向量;
通过对所述扩展向量进行线性组合,形成8个长度为64的掩码向量;
通过每个所述掩码向量与所述双极性向量相乘,形成8个长度为64的去掩后的所述双极性序列。
8.根据权利要求6或7所述的解码方法,其特征在于,所述确定对所述双极性编码码字进行解码后的第一向量,包括:
将所述列号的六位二进制数分别确定为所述第一向量的前六位元素;
将所述行号的三位二进制数分别确定为所述第一向量的后三位元素;
在所述正负号信息为正号时,将所述第一向量的第七位元素确定为0,并且在所述正负号信息为负号时,将所述第一向量的第七位元素确定为1。
9.一种编码器,其特征在于,包括:
第一获取模块,用于获取长度为k的第一向量,k为自然数且k小于或等于10;
第一形成模块,用于根据一生成矩阵G形成行数为k的编码矩阵;
第二形成模块,用于通过采用所述编码矩阵对所述第一向量进行编码,形成第二向量,
其中,所述生成矩阵G为
10.根据权利要求9所述的编码器,其特征在于,所述编码器还包括第二获取模块,用于获取所述生成矩阵,其中所述第二获取模块包括:
获取单元,用于根据一线性码,获取所述线性码的所有第一维度子码;
第一确定单元,用于在所述第一维度子码中,确定极小距离最大的第一维度最优子码;
第二确定单元,用于基于所述第一维度最优子码,确定极小距离最大的包括所述第一维度最优子码的第二维度最优子码,所述第二维度大于所述第一维度;
生成单元,用于在确定所述第二维度最优子码存在于逆字典序最优子码链中时,生成与所述第二维度最优子码相应的所述生成矩阵G。
12.一种解码器,其特征在于,包括:
第一形成模块,用于根据接收的长度为48的双极性编码码字以及生成矩阵G,形成8个长度为64的去掩后的双极性序列;
第二形成模块,用于通过所述双极性序列与64阶哈达玛矩阵进行快速哈达玛变换FHT,形成8×64的相关值矩阵;
第三形成模块,用于在所述相关值矩阵的元素中,获取绝对值最大的元素的行号、列号以及正负号信息;
确定模块,用于根据所述行号、所述列号以及所述正负号信息,确定对所述双极性编码码字进行解码后的第一向量,
其中,所述生成矩阵G为
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110219826.3A CN102916763B (zh) | 2011-08-02 | 2011-08-02 | 编码方法、解码方法、编码器及解码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110219826.3A CN102916763B (zh) | 2011-08-02 | 2011-08-02 | 编码方法、解码方法、编码器及解码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102916763A true CN102916763A (zh) | 2013-02-06 |
CN102916763B CN102916763B (zh) | 2016-03-30 |
Family
ID=47615009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110219826.3A Active CN102916763B (zh) | 2011-08-02 | 2011-08-02 | 编码方法、解码方法、编码器及解码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102916763B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634657A (zh) * | 2014-10-31 | 2016-06-01 | 富士通株式会社 | 一种解码方法、解码器以及接收机 |
WO2017215495A1 (en) * | 2016-06-17 | 2017-12-21 | Huawei Technologies Co., Ltd. | Systems and methods for rate matching when using general polar codes |
CN108233946A (zh) * | 2016-12-09 | 2018-06-29 | 富士通株式会社 | 极化码的编码装置、方法以及电子设备 |
CN108352918A (zh) * | 2015-08-26 | 2018-07-31 | 阿尔卡特朗讯 | 接收器、多个发射器、从多个发射器接收用户数据的方法以及发送用户数据的方法 |
WO2019153232A1 (en) * | 2018-02-09 | 2019-08-15 | Qualcomm Incorporated | Polar coded harq-ir scheme |
US10579452B2 (en) | 2016-06-17 | 2020-03-03 | Huawei Technologies Co., Ltd. | Systems and methods for rate matching via a heterogeneous kernel when using general polar codes |
CN111786680A (zh) * | 2019-04-03 | 2020-10-16 | 华为技术有限公司 | 一种生成矩阵的确定方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684399A (zh) * | 2004-04-13 | 2005-10-19 | 上海明波通信技术有限公司 | 传输格式组合指示快速解码方法及其装置 |
CN1701516A (zh) * | 2003-02-28 | 2005-11-23 | 三菱电机株式会社 | 校验矩阵生成方法和校验矩阵生成装置 |
EP2075917A1 (en) * | 2007-12-24 | 2009-07-01 | Lg Electronics Inc. | Channel coding method of variable length information using block code |
CN101771418A (zh) * | 2009-01-07 | 2010-07-07 | 华为技术有限公司 | 编码方法及其装置 |
-
2011
- 2011-08-02 CN CN201110219826.3A patent/CN102916763B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1701516A (zh) * | 2003-02-28 | 2005-11-23 | 三菱电机株式会社 | 校验矩阵生成方法和校验矩阵生成装置 |
CN1684399A (zh) * | 2004-04-13 | 2005-10-19 | 上海明波通信技术有限公司 | 传输格式组合指示快速解码方法及其装置 |
EP2075917A1 (en) * | 2007-12-24 | 2009-07-01 | Lg Electronics Inc. | Channel coding method of variable length information using block code |
CN101771418A (zh) * | 2009-01-07 | 2010-07-07 | 华为技术有限公司 | 编码方法及其装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634657A (zh) * | 2014-10-31 | 2016-06-01 | 富士通株式会社 | 一种解码方法、解码器以及接收机 |
CN108352918A (zh) * | 2015-08-26 | 2018-07-31 | 阿尔卡特朗讯 | 接收器、多个发射器、从多个发射器接收用户数据的方法以及发送用户数据的方法 |
CN108352918B (zh) * | 2015-08-26 | 2020-04-07 | 阿尔卡特朗讯 | 接收器、多个发射器、从多个发射器接收用户数据的方法以及发送用户数据的方法 |
US10693701B2 (en) | 2015-08-26 | 2020-06-23 | Alcatel Lucent | Receiver, a plurality of transmitters, a method of receiving user data from multiple transmitters, and a method of transmitting user data |
WO2017215495A1 (en) * | 2016-06-17 | 2017-12-21 | Huawei Technologies Co., Ltd. | Systems and methods for rate matching when using general polar codes |
CN109314600A (zh) * | 2016-06-17 | 2019-02-05 | 华为技术有限公司 | 用于在使用通用极化码时进行速率匹配的系统和方法 |
US10291264B2 (en) | 2016-06-17 | 2019-05-14 | Huawei Technologies Co., Ltd. | Systems and methods for rate matching when using general polar codes |
US10579452B2 (en) | 2016-06-17 | 2020-03-03 | Huawei Technologies Co., Ltd. | Systems and methods for rate matching via a heterogeneous kernel when using general polar codes |
CN108233946A (zh) * | 2016-12-09 | 2018-06-29 | 富士通株式会社 | 极化码的编码装置、方法以及电子设备 |
WO2019153232A1 (en) * | 2018-02-09 | 2019-08-15 | Qualcomm Incorporated | Polar coded harq-ir scheme |
US11646823B2 (en) | 2018-02-09 | 2023-05-09 | Qualcomm Incorporated | Polar coded HARQ-IR scheme |
CN111786680A (zh) * | 2019-04-03 | 2020-10-16 | 华为技术有限公司 | 一种生成矩阵的确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102916763B (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102916763B (zh) | 编码方法、解码方法、编码器及解码器 | |
CN1135765C (zh) | 码分多址通信系统中的网孔查找 | |
CN103888148B (zh) | 一种动态阈值比特翻转的ldpc码硬判决译码方法 | |
CN103684477B (zh) | 混合极性码的生成方法和生成装置 | |
CN100389548C (zh) | 用于编码和发送传输格式组合指示符的方法 | |
US9071406B2 (en) | Apparatus and method using matrix network coding | |
EP3236628A1 (en) | Method for transmitting/receiving control information | |
US9036534B2 (en) | Method and apparatus for data packet relaying and data packet decoding | |
CN101427507A (zh) | 根据信道相位反馈使用空时格码的方法和设备 | |
US20200083984A1 (en) | Polar code transmission method and apparatus | |
US20160323056A1 (en) | Method and device for transmitting preamble sequence | |
CN102355341A (zh) | 一种长期演进系统用混合自动重传请求的网络编码方法 | |
US11683052B2 (en) | Data processing method and device | |
CN1389020A (zh) | 用于码分多址移动通信系统的信道编码/解码设备和方法 | |
Drinea et al. | On lower bounds for the capacity of deletion channels | |
CN104518847A (zh) | 基于bch码与短ldpc码级联的信令编码方法及系统 | |
WO2018146552A1 (en) | Crc aided decoding of polar codes | |
EP3484126A1 (en) | Method and apparatus for carrying identifier information | |
CN103731239A (zh) | 一种适用于向量处理器的通用crc并行计算部件及方法 | |
Zarei et al. | On the partial decoding delay of sparse network coding | |
CN101630989A (zh) | 一种数据发送方法、装置及通信系统 | |
JP3782995B2 (ja) | 符号分割多重接続移動通信システムでの符号化/復号化装置及び方法 | |
CN102710264B (zh) | 译码方法和装置 | |
CN104468022A (zh) | 一种传输格式组合的译码方法及装置 | |
CN104796160A (zh) | 译码方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |