用于多码率的低密度奇偶校验码的制作方法

文档序号:7508075阅读:346来源:国知局
专利名称:用于多码率的低密度奇偶校验码的制作方法
技术领域
本发明涉及用于编码和解码可处于若干传输速率之一的传输的奇偶校验码。虽然本发明可以与任何块(block)编码方案一起使用,但是本发明在与低密度奇偶校验(LDPC)码一起使用时特别有价值。本发明可应用于有线和无线通信系统。
背景技术
近来,低密度奇偶校验(LDPC)码因其在加性白高斯噪声(AWGN)信道上改善的性能而已成为研究兴趣增加的主题。正如香农信道编码定理所述,当使用由非常长的码字组成的码时实现了最佳性能。实际上,为了减小复杂度、缓冲和延迟,码字的大小被限制了。LDPC码是块码,与建立在卷积码上的格码相对。LDPC码形成了一个大的编码族,包括turbo码。块码字是通过将(模2)二进制信息字乘以二进制矩阵发生器而产生的。LDPC码使用了奇偶校验矩阵H,该矩阵H用于解码。术语低密度来源于下述特征,即奇偶校验矩阵具有非常低的密度的非零值,从而使它在保留好的防错特性的同时成为相对较低复杂度的解码器。
奇偶校验矩阵H的大小是(N-K)xN,其中N是码字中元素(element)的个数,以及K是码字中信息元素的个数。矩阵H还被称为LDPC母码。对于二进制字母表的特定实例,N是码字中的比特数,以及K是包含在码字中通过无线或有线通信网络或系统传输的信息比特数。因此信息元素的个数少于码字元素的个数,所以K<N。图1A和1B用图形描述一个LDPC码。图1A的奇偶校验矩阵20是一个常用的512×4608矩阵的例子,其中矩阵的每列22对应一个码字元素(图1B的变量(variable)节点)和矩阵的每行24对应一个奇偶校验等式(图1B的校验节点)。如果矩阵H的每列22都正好包括相同数量的m个非零元素,以及矩阵H的每行24都正好包括相同数量的k个非零元素,则所述矩阵20表示所称为的规则LDPC码。如果码允许在列22和/或行24中的非零元素数量不一致,则它被称为非规则LDPC码。
非规则LDPC码已经显示出明显优于规则LDPC码,非规则LDPC码从其初始的几十年以来在编码系统中已经重新令人产生兴趣。图1B的二分图说明了每个码字元素(变量节点26)仅仅与奇偶校验等式(校验节点28)相连,而不直接和其它码字元素相连(反之亦然)。每个连接被称为变量边30或校验边31(在图1B中每个边用一条线表示),它将变量节点26连接到校验节点28,并且表示在奇偶校验矩阵H中的一个非零元素。连接到特定变量节点26的变量边30的数量被称为它的度(degree),并且变量度32的数值被显示为对应于从每个变量节点26发出的变量边30的数量。同样地,连接到特定校验节点28的校验边31的数量被称为它的度,并且校验度34的数值被显示为对应于从每个校验节点31发出的校验边31的数量。由于度32、34表示矩阵H的非零元素,所以图1B的二分图表示一个非规则LDPC码矩阵。下面的讨论围绕非规则LDPC码,因为它们更复杂且可能更有用,但是本领域普通技术人员也可以将其应用在规则LDPC码中。
非规则码经由密度演化和遗传爬山算法(即差分演化)通过调整如下定义的变量边多项式λ(x)和校验边多项式ρ(x)而可以被设计用于许多不同的对称信道λ(x)=Σi=2drλixi-1]]>和ρ(x)=Σi=2drρixi-1]]>其中{λ2,λ3,...λdl}和{ρ2,ρ3,...ρdr}是边分布,其表示分别连接到度为{2,3,...dl}的变量节点的边30和连接到度为{2,3,...dr}的校验节点的边31占边的总数的百分率(fraction)。边分布确定了码集的渐近性能、码集的码率、以及任何来自分布的码实现。LDPC码的码率是R=K/(N-P),其中P是下面详述的穿孔的(punctured)元素的数量。优选地,可以使用多个自适应码率来进行传输。
图2A是一个现有技术的逻辑框图,其示出使用一个用于其差错控制的多码率的LDPC编码方案的离散通信系统36A的操作。信息源38输出K维的信息比特的序列s到发射器39A,该发射器至少包括编码器40A、调制块42以及存储器35A、37A。LDPC编码器40通过访问存储的LDPC母码37A和若干存储的穿孔序列35A中的一个来将序列s编码成N维码字t,其中一个穿孔序列对应一个码率。码字t被分解为子向量,这些子向量然后在调制块42处被调制和上变换,并作为子向量的一个向量x在一个或多个信道44上传输。加性白高斯噪声n在信道处被添加和/或来自系统硬件,以使向量y=x+n输入到接收器45A中。接收器45A至少包括解调块46、解码器48A以及用来存储与发射器39A所使用的相同的LDPC母码37A和相同的穿孔序列35A的存储器。由于x和n是不相关的,并且调制是无存储的,所以接收的向量y可在解调块46处被逐个符号地解调,从而在接收的信息向量t上产生一个硬判决向量 。在解调块46处还计算判决正确的概率,并且所有这些被输入到LDPC解码器48A中,该解码器对整个接收码块进行迭代解码,并输出解码的信息向量到信息宿50。
本发明人已知的两种现有技术的LDPC编码系统对于单个母码的每种码率都需要大量的非易失性存储器。在第一种现有技术的方法中,对于每个码率和信道都指定了一个不同的LDPC码(即来自不同λ(x)和ρ(x)的不同码实现对应于期望的码率)。这个方法对于每个码率使用一个LDPC码,并且当码率的集合大和/或当码字长时,这个方法可以大大增强。存储需求可以使这种方法对于在慢变化信道上操作的自适应编码和调制方案成为禁止的。
第二种已知的现有技术的方法是使用多个利用穿孔概率随机选择的穿孔序列来取得单个LDPC码和多个穿孔码字元素。这个方法要求存储多个穿孔序列,每个码率一个穿孔序列,这对于码率的大的集合和/或长的码字长度将会变成禁止的。图3说明这样一个系统的存储需求。为了支持一个穿孔的LDPC母码的所有可能的码率,该系统将需要存储N-K个不同的穿孔序列52。每个水平行表示一个应用于特定码率R1、R2、R3、…RN-K的唯一存储的穿孔序列52,其被记为S1、S2、S3、…SN-K。这样一个系统总的存储需求是∑i=1N-Ki个未压缩的存储单元。
除了存储用于不同码率的现有技术的穿孔序列所需的大量存储以外,穿孔序列的确定本身也是计算密集的。和编码系统本身一样,现有技术展现了至少两种用于设计穿孔序列的不同方法。第一种方法是基于线性规划来确定使穿孔百分率最大化的穿孔概率p(0)=Σj=2dlλj′πj(0)]]>
对于给定的信噪比(SNR,或者比特/符号能量比噪声功率谱密度Eb/N0)阈值,其中λ′j表示度为j的变量节点26的百分率。另一种穿孔序列设计的现有技术的方法是基于密度演化的差分评估,对于几乎相同的结果,它比上面刚才描述的线性规划的方法稍显复杂。这些用于设计穿孔序列的方法均为计算代价高,并且它们得到的序列本身需要如此多存储,以致对自适应编码系统而言可能是禁止的。
因而,每种已知的现有技术的方法需要大量的存储来实现各种各样的码率。可以预料,没有一种现有技术的方法适合用于未来的采用自适应编码和执行大范围码率的通信系统。此外,这两种提到的现有技术的方法在设计穿孔序列时均计算密集。在现有技术中需要的是穿孔码的更优的集合,其将不需要大量存储器,从而不使在代表可能是未来通信中大部分的自适应码率通信系统中它们的使用成为禁止的。理想地,这种穿孔码的极好的集合还将提供一种确定它们的更直接的方法,因此这种码的更多集合可对于不同的应用进行开发和优化,以更接近理论上的香农容量极限。

发明内容
本发明涉及一种编码/解码系统,该编码/解码系统尤其通过需要较少存储器而与自适应编码通信系统更兼容。本发明可以在一个通信单元中实现,比如在一个发射器、一个接收器或者一个收发器中,它们可以以若干码率中任何一个来穿孔码字,穿孔意味着依照已知的准则来删除或者添加一个元素到码字。按照本发明的一个方面,用于多码率通信系统的通信单元包括一个码字。该码字定义了N个码字元素、K个信息元素和P个穿孔的元素。特定的码率是R=K/(N-P)。发射器或接收器还包括第一存储位置,用来存储减少错误码的母码。优选地,这是一个LDPC母码,比如一个维数为(N-K)行和N列的奇偶校验矩阵。
通信单元还包括第二存储位置,用来存储最大的穿孔序列Smax。Smax是用于最大码率Rmax的穿孔序列,并且优选的是Smax=SN-K。Smax本身包括至少一个子集S1,S1是一个用于最小码率R1的穿孔序列。S1和优选所有其它对应于码率小于Rmax的穿孔序列的每个都是Smax的子集。与现有技术的穿孔序列相比,这减少了存储需求。优选地,S1S2...Smax-1Smax。优选地,Smax是多个存储单元,其每个都是一个变量度。可替换地,存储单元可以是变量节点位置、校验节点位置或校验度。
本发明的另一方面是一种在计算机可读介质中实现的计算机程序,用来确定码字的穿孔序列。该计算机程序包括第一存储位置,用来存储LDPC母码。它还包括第二存储位置,用来存储多个存储单元Mall,所述Mall联合包括对应于最大码率Rmax的最大速率穿孔序列Smax。该计算机程序还包括第一计算机指令集,用来读取存储单元的第一子集Mset1。存储单元的第一子集的数量少于包括最大速率穿孔序列的多个存储单元的数量。特定存储单元Mset1包括对应于小于Rmax的码率R1的穿孔序列S1。
本发明的另一方面是一种用于确定一个低密度奇偶校验(LDPC)码集的穿孔序列S的方法。该方法包括为LDPC码集选择至少一个设计准则和一个停止(stop)准则。然后计算在码集上实现设计准则的输入LLR的平均值mu0。在设计准则中,选择变量度j来用于穿孔,其需要最小输入LLR的平均值或者最小解码复杂度中的一个。变量度然后被附加到穿孔序列,并且对于穿孔的变量度来调节穿孔概率πj(0)。上述动作以计算输入LLR的平均值开始,直到达到停止准则。描述了各种设计准则和停止准则、以及在确定穿孔概率时所考虑的因素。


图1A是说明低密度奇偶校验母码的矩阵。
图1B是描述变量节点与校验节点之间的连接的二分图。
图2A是现有技术的通信系统的逻辑框图。
图2B是根据本发明的通信系统的逻辑框图。
图3是描述根据现有技术的用于各种速率的穿孔序列的框图。
图4类似于图3,但是是根据本发明的优选实施例。
图5类似于图4,但是是根据本发明的可替换实施例。
图6是对于速率为0.5的LDPC母码比较本发明与现有技术的存储需求的曲线图。
图7是示出码字长度N=1082的母码在不同码率时的穿孔概率的曲线图。
图8是类似于图7的曲线图,其中N=3255。
图9是示出长度N=1082的母码的比特差错率性能的曲线图。
图10是类似于图9但显示了码字差错率性能的曲线图。
图11是对于BER=1×10-3和N=1082示出Eb/N0和香农极限的差距的曲线图。
图12是示出对于N=1082来实现BER=1×10-3所需的Eb/N0比的曲线图。
图13是类似于图9的N=3255的曲线图。
图14是类似于图10的N=3255的曲线图。
图15是类似于图11的N=3255的曲线图。
图16是类似于图12的N=3255的曲线图。
具体实施例方式
本发明通过下述使LDPC编码器或解码器能够使用大大少于现有技术的存储器对于最大速率Rmax使用单个穿孔序列SN-K,并且迫使较低速率Rx的全部穿孔序列Sx作为最大速率穿孔序列SN-K的子集。考虑图2B的通信系统36B,它在许多方面类似于图2A的系统。通过对码字进行穿孔而使用不同的码率,通信系统36B有望传送每码字K比特信息,所述码字是根据一个速率为K/N的单个LDPC母码进行编码的,其中N是码字的长度(即在每个码字中元素的个数)。编码器40B选择P个码字比特,并且通过从将经由信道44发送的码字元素中删除所述P个码字比特来穿孔这些比特。因此,穿孔计数P∈{0,1,...,N-K}确定了K/(N-P)的有效码率。编码器40B访问存储LDPC母码37B和最大码率穿孔序列Smax35B的存储器。Smax与最大码率Rmax对应。对于较低的码率,Smax的子集确定穿孔序列,因此所有的穿孔序列信息都被存储在Smax35B中。
在通信的接收结束时,解调块46接收失真的码字,该失真的码字中没有从未被发送的P个穿孔的比特。在解码码字之前,解码器48B通过插入值来重建整个码字,所述值对穿孔的比特解码回到P个穿孔的位置(例如如果对数似然比的值被用作和-积解码器的输入,则为0)没有偏差(即相对于解码0或1是中立的)。解码器48B访问存储器,该存储器存储与发射器39B相同的LDPC母码37B和相同的最大码率穿孔序列Smax35B。然后,解码器48B解码重建的码字,从而试图纠正由通信通道44以及穿孔的比特引起的任何错误。发射器和接收器都存储LDPC母码37B和穿孔序列35B,它们可以整体地或部分地用于不同码率的任何一个。
两个实施例分别在图4和5中用图形示出。在图4的实施例中,最大穿孔序列Smax=SN-K由一个相对较长的存储单元54的序列来表示,该序列被描述为顺序的,但是不必要被存储在易失性存储器的物理上连续的区域中。第一穿孔序列S1被存储在第一存储单元54a处,所述存储单元是包括最大速率穿孔序列SN-K的存储单元序列的第一个存储单元。根据图1A的矩阵H,第一穿孔序列可表示在第一列中非零元素的位置(变量节点位置)或非零元素的数量(变量度)。第二穿孔序列S2被存储在第一存储单元54a和第二存储单元54b处,所述存储单元是包括最大速率穿孔序列SN-K的存储单元序列的头两个存储单元。根据图1A的矩阵H,第二穿孔序列可表示在第一和第二列中非零元素的位置(变量节点位置)或非零元素的数量(变量度)。按照这种安排,S1是S2的子集,S2是S3的子集等等,并且全部是SN-K的子集。这种关系被写为S1S2S3...SN-K。发射器和接收器对于给定的LDPC母码均在存储器中存储相同的预先确定的序列。对于码率K/(N-P),每个终端然后将使用对于母码字相同的SN-K穿孔序列的开头P个元素。
穿孔序列Smax可以是或者可以不是整个矩阵H[维数为(N-K)xN],因为最大的实际穿孔序列SN-K也许不是可用的。例如,假定码字长度N=3000,K=1000信息元素,并且P=穿孔的元素的数量。在不进行穿孔时,速率是K/N=1000/3000=0.33。在穿孔时,码率按照R=K/(N-P)进行改变,并且取决于有多少元素被穿孔。对于P=500,这个速率仅上升为R=1000/2500=0.4。对于P=1000,速率为R=0.5。对于P=(N-K)=2000,速率为K/K=1。而且,穿孔超过P=2000是不希望的,因为P=(N-K)已经导致了最大可能码率。发射器或接收器可以人为地限制最大码率小于R=1,以确保某一重复传输始终发生以确保准确性。
与图4相同,图5的实施例示出了最大穿孔序列SN-K由一个相对较长的存储单元54的序列来表示。第一穿孔序列S1如在图4中一样被存储在第一存储单元54a处。第二穿孔序列S2被存储在包括最大速率穿孔序列SN-K的第二存储单元54b和第三存储单元54c处。第三穿孔序列S3被存储在包括最大速率穿孔序列SN-K的第三存储单元54c、第四存储单元54d和第五存储单元54e处,等等。在图5的实施例中,每个穿孔序列Sx都包括不是在对应于下一个更快速率Rx+1的穿孔序列Sx+1中的存储单元的唯一一个存储单元。图5的实施例可以包括一个确定参考点的算法或一个存储所有子集Sx的参考点(例如,对于S3的起始位置54c或结束位置54e)的附加序列[长度不超过(N-K)],对于每个码率(即穿孔计数P)有一个参考点。另一个实施例将子集Sx安排成首尾相接,以形成环状序列的相邻子集。
对于由系统36B支持的每一种码率,在发射器中的编码器40B和在接收器中的解码器48B都必须预先知道码字的穿孔位置。在本发明中,这P个穿孔位置优选的是从一个长度为(N-K)的单个穿孔序列SN-K中选择的相邻子集。在码字中的变量度32或变量节点位置26构成了穿孔序列SN-K的各个元素。事实上,如果通信系统36严格限定最大码率Rmax小于1,则序列的长度可能短于(N-K)。
对于一个给定的变量度序列,在每个单独度32内所有节点26的排列正是那个度序列的不同的节点实现。在实施中,通信系统36将优选使用变量节点26而不是变量度32的单个序列。然而,确定每个变量度32内的变量节点26的排列正是度序列的一个实施例。
图6是比较使用母码速率为0.5和对于不同码字长度的本发明所需的存储单元与上述穿孔的现有技术方法所需的存储单元的曲线图。对于所有可能的码率,现有技术需要∑i=1N-Ki个存储单元来存储未压缩的穿孔序列Sx。上面详述的本发明实施例仅需要(N-K)个存储单元54。使用长度从1×103到1×106范围内的现有技术的码字,对于长码字两者之间的存储差异可以是几个数量级。
本发明不限于上述其中子集Sx是连续的那些例子。例如,可以选择非连续的子集Sx,并且除了母码和最大速率穿孔序列SN-K之外,还可存储起点和子集长度或子集终点的附加标识符,以作为一个查找表、算法或二者的结合。然而,连续的子集是优选的。
以上的描述根据后面关于设计供一个给定母码使用的允许实施所有可能的有效码率的特定穿孔序列的讨论而变得更加实际。初始假设是,达到特定性能指标所需的Eb/N0在从一个穿孔到下一个穿孔(即非随机)被相对较好地表现出来。利用这个假设和给定的LDPC母码,本发明通过下述来逐个元素地构造穿孔序列确定需要用于由(λ(x),ρ(x),π(0)(x))定义的码集的最小量的Eb/N0以实现目标比特差错率(BER)的要穿孔的下一个变量度32,其中π(0)(x)=Σj=2dlπj(0)xj-1]]>。因此,当确定要穿孔的下一个变量度32时,本发明关注(greedy)Eb/N0,并且限制穿孔的节点26以与这个度序列相符。
本发明可以用于任何通过对差错控制系统使用LDPC码而采用多码率的离散通信系统。宽的码率范围允许通信系统具有更多的灵活性。一些将利用这种灵活性的应用是未来基于LDPC码的自适应编码技术,其试图根据信道的实现或统计来调整码率。
一个替代的方法是,在本发明的范围内固定Eb/N0以通过使用实现目标BER的最小数量的迭代确定下一个穿孔度32来保证对于宽范围的码率的收敛性(即Eb/N0阈值对于该集合来说已经被满足)。与第一种方法关注Eb/N0不同,该替代的方法关注复杂度(即解码器迭代的数量)。第二种替代的实施例是基于由边分布λ(x)和ρ(x)确定的编码集的渐近阈值。
下面是设计穿孔码的“关注Eb/N0”的方法的更详细的描述。它基于一个BER高斯近似表达式,以对于给定的由集合(λ(x),ρ(x),π(0)(x))定义的穿孔码集使用有限数量的解码迭代来搜索满足目标BER的Eb/N0。本领域技术人员可以容易地推出包括上面建议的基于渐近Eb/N0阈值的替代方法和关注于解码复杂度的方法的算法。
再次考虑图2B的通用离散通信系统36B,它使用LDPC编码来用于它的差错控制,通过穿孔码字而使用不同的码率来传送每个码字的K比特的信息,所述码字是根据一个速率为K/N的单个LDPC母码进行编码的,其中N为码字长度。
下面的算法确定了一个用于LDPC码的单个变量度32穿孔序列。这个方法不同于现有技术的使用线性规划(LP)和差分演化的方法。使用来自单个穿孔序列的变量度子集,如上所述其中下一个更高速率的子集包含前面较低速率的子集等等。对于支持的最高码率Rmax=RN-K,则使用整个穿孔序列SN-K。这是本方法与现有技术的根本不同,并且导致源于单个母码的码率的大的集合所需的实施存储的大幅下降。
对于AWGN信道,高斯近似(GA)技术将从变量节点26发送至校验节点28的消息模拟为高斯随机变量的线性组合。通过实际的研究已经发现,这个近似对于采用迭代和-积解码算法(还称为信任传播)发送至校验节点28的变量消息是相当准确的。仅仅通过跟踪消息的手段,这种近似简化了先前用于设计LDPC码集的现有技术密度演化(DE)的性能分析。
基于消息平均值演化的GA BER表达式穿孔的LDPC码集的第k次迭代的平均值更新方程是,mu(k)=Σs=2drρsφ-1(1-1(1-e(k))s-1[1-ΣJ=2dr{λjπΣi=0j-1(j-1)χi(k)φ(imu(k-1))+λj(1-π)Σi=0j-1(j-1)χi(k)φ(imu(k-1)+mu0)}]s-1)]]>其中φ(x)和它的逆φ-1(y)由Sae-Young Chun在MIT2000年博士论文的“On theConstruction of Some Capacity-Approaching Coding Schemes”中定义,在此被结合以作为参考。更多参数的描述正如分别由Jeongseok Ha和Steven W.McLaughlin的2003年3月提交到IEEE ICC 2003的预印本“Optimal Puncturingof Irregular Low-Density parity-Check Codes”和于2003年提交到IEEE Transactionsof Information Theory的“Optimal Puncturing Distributions for Rate-CompatibleLow-Density Parity-Check Codes”所描述的,并且在此均被结合以作为参考。使用上述GA平均值更新方程,第k次解码迭代后的BER表达式为 用于确定穿孔度序列的“关注Eb/N0”的方法可以被概括如下。对于每个可用变量度穿孔,计算实现码集的设计准则所需的输入LLR平均值mu0。设计准则可以包括但不限于使用GA BER表达式在有限数量的迭代内的一个目标BER(关注于SNR);使用DE或GA的渐近SNR阈值(关注于SNR);以及用于目标BER的解码迭代的数量(关注于复杂度)。
接着,在用于穿孔的设计准则中选择需要最小输入LLR平均值(或者最小解码复杂度)的变量度j,并且将该度附加到穿孔序列。考虑一个特定码长和每个度的变量节点的有限数量,对穿孔的变量度调整穿孔概率πj(0)。最后,返回到第一迭代步骤(计算所需的输入LLR平均值),并进行重复直到穿孔序列长度对应于用于随机差错的二进制删除信道(BEC)阈值(或者可替代地直到码率等于1.0)。如果穿孔的变量节点26的百分率达到或者超过BEC阈值,则停止迭代。注意,上述算法可以使用不同于BEC阈值的停止准则。BEC阈值的停止对应于通过一个无噪声信道(即非常大的Eb/N0)发送的穿孔码。
实例下面是对于各种长度LDPC码的各种穿孔概率的例子,所述各种长度LDPC码是根据下面由变量边30和校验边31的分布所描述的码集合而随机实现的λ2=0.25105 ρ7=0.63676λ3=0.30938 ρ8=0.36324λ4=0.00104λ10=0.43853这些边分布30、31对应于0.5码率,其中{λ2,λ3,λ4,λ10}对应于连接到度分别为{2,3,4,10}的变量节点26的全部变量边30的百分率,以及{ρ7,ρ8}对应于所有连接到度分别为{7,8}的校验节点28的全部校验边31的百分率。
图7是说明穿孔概率{π2(0),π3(0),π4(0)π10(0)}(对应于分别为{2,3,4,10}的变量度)与穿孔序列的有效码率的曲线图,所述穿孔序列是基于目标BER在有限数量的迭代内使用长度N=1082的LDPC码的GA BER表达式(前面给出的)而从贪婪(greedy)算法中得到的。同样地,图8是说明对于长度N=3255的LDPC码的穿孔度序列的穿孔概率的曲线图。对于这两个穿孔度序列,以dB为单位的渐近Eb/N0阈值与有效码率被分别在图12和图16中绘出。
因为对于每个码的实现使用了单个穿孔度序列的初始子集(因而封装了先前的较低速率码的子集),所以穿孔概率单调增加。注意,所述度序列由这些曲线图来规定,并且不是实际的节点序列。实际的变量节点26穿孔序列在规定的度32序列内具有许多排列,因此它仍然有可能在度32序列内进一步优化(对某一希望的设计准则)节点26序列。对于在此所述的工作,节点26序列被选择作为在对应于穿孔度32的节点26子集中的第一可用序列。
在N=1082和N=3255例子中给出对于度为4的变量节点26的穿孔概率不连续的大的跳跃。这种不连续类似于在现有技术中存在的情况。它们的存在是因为λ4相对于{λ2,λ3,λ10}相对较小,从而导致度为4的变量节点26非常少。对于码字长度N=1082,仅有一个度为4的变量节点26,以及对于N=3255,仅有3个度为4的变量节点26。此外,穿孔概率的这些大的阶跃突出了未由现有技术的方法解决的对于LDPC码的实际码字长度的实现的离散特性问题。
结果图9-16是说明穿孔度序列的BPSK/AWGN蒙特卡罗仿真的结果的曲线图,所述穿孔度序列在图7和8中示出,并以上面所述的贪婪方法进行构造。在对于每个母码分别构造两个穿孔序列(在图7和8中的度序列)时,将对于码集合50次迭代的1×10-6的目标BER用作上面概述的贪婪算法的设计准则。
图9和13是对于长度为1082和3255的穿孔的LDPC母码分别使用100次解码器迭代的比特差错率(BER)对Eb/N0dB的仿真结果。该仿真运行直到早先的300个码字错误或者直到50,000个码字。图10和14是对于长度为1082和3255的穿孔的LDPC母码分别使用100次解码器迭代的码字差错率(CER)对Eb/N0dB的仿真结果,。
图11和15绘出使用100次迭代并且母码长度分别为1082和3255的穿孔的LDPC码性能在BER=1×10-3时相对于二进制信令香农容量极限的SNR差距。可以看出对于宽范围的码率,通过SNR差距测量的穿孔码的性能保持相当恒定,在0.5dB内对于码字长度1082码率一直到约0.7以及对于码字长度3255码率一直到0.75。因此对于较长的码字长度,穿孔码的性能较好。对于使用信任传播解码的LDPC码,这通常是正确的,因为关于过去的消息的独立性假定。对于较短长度的码,消息比码长度较长的消息相对较快地变得相关(假设对于二者而言奇偶校验矩阵均被适当地设计来消除短周期)。图12和16绘出对应于BER=1×10-3的长度分别为1082和3255的穿孔LDPC母码连同还有在BER=1×10-3时的二进制香农容量极限的SNR。
尽管已经说明和描述了目前认为是要求权利的本发明的优选实施例,但是本领域技术人员有可能想到许多变化和改进。打算在所附的权利要求书中覆盖所有那些落入要求权利的本发明的精神和范围内的变化和改进。
权利要求
1.一种用于多码率通信系统的通信单元,包括码字,其定义了以码率R=K/(N-P)编码的N个码字元素和K个信息元素,其中P是码字的穿孔的元素的数量;第一存储位置,用来存储错误减少码的母码;第二存储位置,用来存储最大穿孔序列Smax,其中Smax是用于最大码率Rmax的穿孔序列,以及进一步,其中Smax包括一个子集S1,该子集S1是一个用于最小码率R1的穿孔序列。
2.权利要求1所述的通信单元,其中所述单元是输出码字的发射器或接收码字的接收器中的一个。
3.权利要求1所述的通信单元,其中Smax=SN-K。
4.权利要求1所述的通信单元,其中Smax还包括至少两个子集Si,所述子集Si是码率为Ri的穿孔序列,其中i是大于或等于1的整数,以及每个在顺序上较高的第i码率高于在顺序上较低的第i码率。
5.权利要求4所述的通信单元,其中每个Si包括至少一个存储单元,以及具有至少两个存储单元的每个Si具有至少一个与另一Si以及与Smax一样的存储单元。
6.权利要求4所述的通信单元,其中S1S2…Smax-1Smax。
7.权利要求1所述的通信单元,其中第二存储位置包括用于存储Smax的多个存储单元,每个存储单元存储一个变量度。
8.权利要求1所述的通信单元,其中第二存储位置包括用于存储Smax的多个存储单元,每个存储单元存储一个变量节点位置。
9.权利要求1所述的通信单元,其中第二存储位置包括用于存储Smax的多个存储单元,每个存储单元存储变量度、校验度、变量节点位置或校验节点位置中的一个。
10.权利要求1所述的通信单元,其中错误减少码的母码是一个低密度奇偶校验(LDPC)母码。
11.一种用来发射和接收以3种码率R1、R2和R3中的任何一个的码字的收发器,其中码字定义了N个码字元素、K个信息元素和P个穿孔的元素,以及码率R1=K/(N-P1)<R2=K/(N-P2)<R3=K/(N-P3),包括发射器、接收器和用来存储低密度奇偶校验(LDPC)母码的存储器;多个存储单元,用来联合存储对应于R3的穿孔序列S3;第一计算机指令集,用于检索多个存储单元的第一子集以产生与R1对应的穿孔序列S1;以及第二计算机指令集,用于检索多个存储单元的第二子集以产生与R2对应的穿孔序列S2。
12.一种在计算机可读介质上实现的用来确定码字的穿孔序列的计算机程序,包括第一存储位置,用来存储低密度奇偶校验(LDPC)母码;第二存储位置,用来存储多个存储单元Mall,所述Mall联合包括对应于最大码率Rmax的最大速率穿孔序列Smax;以及第一计算机指令集,用来读取存储单元的第一子集Mset1,其中Mset1的数量小于Mall的数量,其中Mset1包括对应于码率R1<Rmax的穿孔序列S1。
13.权利要求12所述的计算机程序,还包括第二计算机指令集,用于读取存储单元的第二子集Mset2,其中Mset2的数量大于Mset1的数量,其中Mset2包括对应于码率R2>R1的穿孔序列S2,以及进一步,其中至少一个存储单元既是Mset1的存储单元又是Mset2的存储单元。
14.一种用来确定用于低密度奇偶校验(LDPC)码集的穿孔序列的方法,包括对于一个LDPC码集选择至少一个设计准则和一个停止准则;计算在码集上实现设计准则的输入LLR的平均值mu0;在用于穿孔的设计准则内选择需要最小输入LLR平均值或者最小解码复杂度中的一个的变量度j;把变量度附加到穿孔序列;对于穿孔变量度来调节穿孔概率πj(0);以及重复所述计算和随后的步骤,直到到达停止准则。
15.权利要求14所述的方法,其中对于穿孔变量度来调节穿孔概率πj(0)包括计算特定码长度和每个变量度的变量节点的有限数量。
16.权利要求14所述的方法,其中停止准则包括码率等于1。
17.权利要求14所述的方法,其中停止准则包括对应于用于随机差错的二进制删除信道(BEC)阈值的穿孔序列的长度。
18.权利要求17所述的方法,其中停止准则包括穿孔的变量节点的百分率达到或者超过BEC阈值。
19.权利要求14所述的方法,其中从由下述构成的组的至少一个中选择至少一个设计准则在有限数量的迭代内的目标比特差错率(BER);一个渐近Eb/N0阈值;以及用于目标BER的解码迭代的数量。
全文摘要
用于小于最大码率R
文档编号H03M13/00GK101019328SQ200480017789
公开日2007年8月15日 申请日期2004年6月9日 优先权日2003年6月26日
发明者V·J·斯托尔普曼 申请人:诺基亚有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1