一种多码率兼容的高速ldpc编码器的硬件实现的制作方法

文档序号:7743776阅读:153来源:国知局
专利名称:一种多码率兼容的高速ldpc编码器的硬件实现的制作方法
技术领域
本发明涉及通信领域,特别是前向纠错码(FEC)领域。
背景技术
通信系统通常采用信道编码技术来保证在噪声信道通信的可靠性。比如,在卫星 通信系统中,由于地理和环境因素的影响,存在大量的噪声源。这些通信信道有其理论上的 最大通信容量(也就是著名的香农限),该容量可以使用特定信噪比(SNR)条件下的比特速 率(bps)来表示。因此,前向纠错码(FEC)的设计就是为了追求接近香农限的最大比特速 率。其中一种接近香农限的编码就是低密度奇偶校验(LDPC)码。LDPC码是一种线性分组码,它在大量的数据传输和存储信道中可以获得接近香农限的性能,已经广泛应用于各种无线通信系统中,例如第二代卫星数字视频广播标准 (DVB-S2)、全球微波接入互操作性技术(WiMax)等,目前支持的最高速率已将达到上百兆, 未来将实现几百兆的数据速率。传统的LDPC码之所以没有被广泛应用,是因为它存在多个缺陷,其中一个缺陷就是LDPC码的编码技术很复杂。如果使用LDPC码的生成矩阵对信息进行编码,需要存储一 个非稀疏矩阵,而为了追求LDPC码的性能又要求码长足够长,这就导致该稀疏矩阵会非常 大,给存储带来很大问题。因此,从实现的角度来说,通常选择编码结构简单的LDPC码,非正则重复累积码 (IRA)就是其中的一种。该类LDPC码的稀疏校验矩阵H有如下特征Hmxn = [AmxkBmxm],(1)其中N是LDPC码的码长,K是信息位长度,M是校验位长度,B是阶梯型下三角阵
<formula>formula see original document page 3</formula>B矩阵的特点保证了 LDPC码编码具有线性复杂度和较低的存储量。LDPC码作为众多通信系统的最基本的技术,对编译码器的数据速率要求已经越来 越高。我们发明的IRA类的LDPC编码器结构简单,可以应用在DVB-S2系统中,并且可以实 现很高的数据速率,使用FPGA(现场可编程逻辑阵列)实现时,在系统时钟为200MHz,LDPC 最高码率为0.9时,速率可以达到180Mbps,如果使用ASIC (专用集成电路)实现,可以达到 几百兆的速率,因此可以满足目前乃至未来高速数据传输的需求。
发明内容
本发明的目的在于提供一种结构简单、数据速率很高的LDPC编码器结构,以满足 各种无线通信系统的要求。一种多码率兼容的高速LDPC编码器的硬件实现,包括以下过程(1)、在编码器输入的同时计算校验位,不需要存储信息位,在几个时钟之后开始 连续输出信息位和校验位;(2)、计算校验位时,同时对校验位的中间结果存储器进行读写。当前时刻读取存 储器的内容是计算校验位需要的中间结果,写入存储器的是前一时刻计算出的中间结果, 这两者可能存在读写冲突,我们在设计编码器时避免了该冲突,从而减少了编码需要的时 钟数,提高了编码器吞吐量;(3)、在连续编码时,对校验位中间结果存储器的复位与校验位的输出同时进行, 如果外部复位信号到来,则首先对该存储器进行复位,然后再进行编码;校验位输出和存储 器复位同时进行节省了时钟,提高了吞吐量;(4)、所有LDPC码校验矩阵地址都存储在一个只读存储器中,存储器的每一个值 是校验矩阵一列中1所在的行号(使用相同位数表示)拼接而成的,因此可以支持多种码 率的LDPC码。本发明适用于非正则重复累积码(IRA)类的LDPC码,根据IRA的特点,我们在存 储校验矩阵参数时,只需要存储校验矩阵的一部分参数,而非整个校验矩阵,大大节省了存 储空间。本发明可以应用到各种类型的通信系统的设备中,这些系统包括卫星通信系统、 高清电视通信系统(HDTV)、手机通信系统、微波通信系统,点对点或点对多点通信系统等 等。如果用在这些系统中,可能需要对本发明稍做修改来支持不同的系统,但是其基本思想 与本发明相通。另外,本发明的其它一些特征、特点和优点会在下面的阐述中详细介绍,包括介绍 一系列模块的构造以及整个发明的实现。本发明可以用在其它系统中,只是需要对结构稍 作修改,因此,下面的附图和介绍只是对结构的概括描述,而不是严格限制。


图1是本发明所述的LDPC编码器的结构图;图2是具有循环特性的矩阵;图3是本发明所述编码器的校验地址计算单元;图4是本发明所述中间变量IVj的计算电路;图5是本发明所述的计算中间变量IVj时会出现读写冲突的情况;图6是本发明所述的递归计算校验位电路;图7是本发明所述编码器控制电路的工作流程图。
具体实施例方式式⑴给出了 IRA类校验矩阵的结构Hmxn = [AmxkBmxm],根据该结构的特征,编码 的实质就是求解式(3)所示的现行方程组
<formula>formula see original document page 5</formula>其中C为码字向量
C = (m0, m” ,m^!, p0, p” ,Ph) (4) m0, m^ ... , m^!是K个已知的信息位,P。,Pi, 设A矩阵具有如下形式
,PhSM个位置的校验位c
<formula>formula see original document page 5</formula>
(5)
^-1,0 aM-\,\ ... aM-\,K~} 由式⑴⑵(3)⑷(5)联立可得式(6)所示的递归方程
a00m0 + aoxmx +... + a0K_h +p0=0 <
<formula>formula see original document page 5</formula>
(6)式中的加法为二进制域上的加法,也即异或运算。由此方程组可以看出,为了求解 出P(l,Pl,. . .,Ph,只要根据第一个方程计算出P(1,便可依次递归计算出各个校验位的值,从 而完成编码。由上述的原理分析可知,LDPC编码的关键就是方程组(6)的求解问题。引入迭代 中间变量凡,」(0 ( i ( M-1,0 ( j ( K-l),T^^T^^+a^mj (7)其中Tij0 = aij0m0,^ (6)可以表示成
<formula>formula see original document page 5</formula> 由式⑶可以发现,为了求解p^pi,...,需要先计算出彡i彡M-1), 而由式(7)可知,Ty的计算是一个累加的过程,其中是矩阵A的元素,在二元域 上取但。根据二进制计算的特点,式(7)可以简化为
<formula>formula see original document page 5</formula>
〒i, j表示取反操作,当ai, j = 0或nij = 0时,Ti, j不需要累加计算;当ai, j = 1且
mj = 1时,T..J的值为IVH的取反。实际上,由于校验矩阵H是稀疏矩阵,因此矩阵A中出 现0的概率很高,这样中间变量的计算将变得很简单。但是,如果使用FPGA中的可编程逻辑单元来实现IV j的计算和存储将大大浪费 FPGA的逻辑资源,为此,可以充分利用FPGA中丰富的嵌入式块RAM(BRAM)资源存储」。假设所有兼容的LDPC码率的校验矩阵的最大列重为W。,则每当输入一个信息位时,需要同时计算W。个IV」值,因此需要W。个BRAM来实现对TV」的存取,每个BRAM深度为 所有LDPC码中最大的M。当信息位输入完毕时,将所有W。个Tq值对应相加(二进制异 或),就得到式(7)中的TV」值。嵌入式BRAM应配置成双口 RAM (DPRAM),每个时钟读写各 一次。图1是LDPC编码器结构图,其主要由W。个BRAM、校验地址计算电路、中间变量!\,j 的计算电路、递归计算校验位电路和控制电路五部分组成。校验位地址计算电路主要是计算当前信息位对应的检验矩阵的一列中1对应的 校验位地址。该电路中包含一个存储校验地址或者计算校验地址需要的参数的只读存储器 (ROM)。根据IRA类LDPC码特点的不同,存储的数据类型有所不同。如果A矩阵是随机稀 疏矩阵,则存储器的每一个数对应于每列中所有1的地址,该数据是由多个固定长度的地 址拼接而成,其中无效地址由一个特定标志标识出来;如果A矩阵是伪循环矩阵,即具有形 式A = [AA. Am_J (10)其中每个Ak(0彡k彡m-1)中列重都相同,并且是循环矩阵,具有图2所示的循环 特性,图中具有相同标号的黑方块表示校验矩阵对应位置上的元素为1,无色的方块对应为 0。由图2可以看出,相同标号的方块所在的行号都可以由任意一列中同一标号的方块的行 号(校验地址)决定,两个相临的列相同标号的方块行号差值固定为q = 2modM(取模运 算),因此这种情况下每个Ak只需要存储一列中1的行号,然后通过计算得到其它列的行 号。通常情况下存储第0列中1所在的行号,也即初始校验地址。此时,计算校验地址的电 路如图3所示。下文以A矩阵为伪循环矩阵为例来介绍一下整个译码器的各个单元。在校验地址计算单元中,初始校验地址ROM的每个单元存储的是Ak的第一列中1 所在的行号拼接而成的数,下面详细介绍一下它的拼接方式。假设所有兼容的LDPC码最大 校验位个数M_需要使用n比特表示,那么,我们使用n+1比特表示每个校验地址,其中最 左侧比特表示该地址是否有效,之后的n比特表示1所在的地址。那么ROM中每个单元的 位宽为W。*(n+1),其中W。为所有LDPC码的最大列重。当当前列重小于W。时,将本列的校验 地址拼接之后,不足W。* (n+1)比特的,使用无效地址代替。在校验地址计算时,如果读取的 初始校验地址无效,则对对应的存储IV」的DPRAM不进行读写操作。图4为中间变量TV」的计算电路。只有当从初始校验地址ROM中读取的校验地址 有效时本电路才工作,每个电路计算循环矩阵(见图2)中所有相同标号的Ty。注意到图 4中要同时对DPRAM进行读写操作,这可能会引起读写冲突,S卩当前需要读取的数是当前 写入DRAM中的数。此时,中间变量计算出错。图5是可能会引起读写冲突的情况。这种情 况通常发生在相邻的两列之间,Ak和Ak+1相同标号的方块都是由同一个IV j计算电路计算 时,如图5中所示。Ak的第15列和Ak+1的第0列中,在计算相同标号的方块对应的Tu时, 都会引起读写冲突。以标号1的方块为例,假设当前需要计算Ak+1的第0列的标号1的方 块对应的T值,需要读取前一时刻计算出来的T值(对应于Ak的第15列中的标号1的方 块),而这也就是此时需要写入到DPRAM中的值,由于该值还没有写入,所以读取的值不是 需要的值,从而引起计算错误。为了避免读写冲突,需要调整Ak+1的初始地址在ROM中的存储顺序,使得在两个 矩阵连接处相邻的两个有标号的块(即校验矩阵中的1值)对应于不同的中间结果计算单元。例如将存储Ak和Ak+1初始校验地址的顺序分别调整为{标号1,标号2,标号3}和{标号2,标号3,标号1},则处理Ak和Ak+1的中间结果计算电路分别为{电路1 (标号1), 电路2(标号2),电路3(标号3)}和{电路1(标号2),电路2(标号3),电路3(标号1)}, 因此避免了读写冲突。递归计算校验位电路如图6所示,由于DPRAM对Ty进行了分布式存储(!\, K-!n(0彡n彡ffc-l)表示第n个DPRAM中存储的凡^的一部分),所以必须把个DPRAM的 相同地址存储的内容相加(二进制异或)之后才能得到Ti^O)彡i彡M-1)。图7是编码器控制电路的工作流程图。编码器工作过程中,一旦有复位信号,则立 即进入复位状态,执行对中间变量DPRAM的复位,完成复位之后进入空闲状态;空闲状态情 况下,第一个信息位输入时,则进入信息位输入状态;信息位输入状态情况下,对该信息位 延迟一定的时钟之后输出,同时计算中间变量IV」,信息位输入完毕,则进入校验位输出状 态;校验位输出状态情况下,递归计算校验位并输出,同时对中间变量存储器DPRAM进行复 位,为下一次编码做准备,所有校验位输出之后进入空闲状态,等待下一次待编码数据的输 入。从上面控制电路的工作流程中可以看出,本发明充分利用了并行操作的原理减少 编码需要的时钟数,从而提高了编码速率。另一方面,通过对初始校验地址存储器ROM数据 格式的设计,避免了读写冲突,因而,可以应用到所有IRA类的LDPC码的实现中。
权利要求
一种多码率兼容的高速LDPC码编码器的硬件实现,其特征在于包括以下过程(1)在编码器输入的同时计算校验位,不需要存储信息位,在几个时钟之后开始连续输出信息位和校验位;(2)计算校验位时,同时对校验位的中间结果存储器进行读写。当前时刻读取存储器的内容是计算校验位需要的中间结果,写入存储器的是前一时刻计算出的中间结果,这两者可能存在读写冲突,我们在设计编码器时避免了该冲突,从而减少了编码需要的时钟数,提高了编码器吞吐量;(3)在连续编码时,对校验位中间结果存储器的复位与校验位的输出同时进行,如果外部复位信号到来,则首先对该存储器进行复位,然后再进行编码;校验位输出和存储器复位同时进行节省了时钟,提高了吞吐量;(4)所有LDPC码校验矩阵地址都存储在一个只读存储器中,存储器的每一个值是校验矩阵一列中1所在的行号(使用相同位数表示)拼接而成的,因此可以支持多种码率的LDPC码。
2.根据权利要求1所述多码率兼容的高速LDPC码编码器的硬件实现,其特征在于上述 校验位计算时,对校验位中间结果同时进行读写,并且避免了读写冲突,减少了计算时钟, 提高了吞吐量。
3.根据权利要求1所述多码率兼容的高速LDPC码编码器的硬件实现,其特征在于上述 对校验位中间结果存储器的复位是在输出校验位的同时进行,减少了需要的时钟,提高了吞吐量。
4.根据权利要求1所述多码率兼容的高速LDPC码编码器的硬件实现,其特征在于上述 校验矩阵地址存储使用同一个只读存储器,要兼容各种LDPC码,只需要将对应的参数加入 到该存储器中即可,便于应用。
全文摘要
一种多码率兼容的高速低密度奇偶校验码(LDPC)编码器适用于非正则重复累积码(IRA)类的LDPC码的硬件实现,主要有以下几个优点一,很高的数据速率,约等于运行时钟与码率的乘积,可以满足目前高速数据传输的需求;二,适用于多码长多码率兼容的LDPC码;三,编码输出相对输入的延迟(latency)小,只有几个时钟;四,结构简单,占用FPGA资源少。另外,该编码器结构可以用于第二代卫星数字视频广播标准(DVB-S2)中。
文档编号H04L1/00GK101800627SQ20101012518
公开日2010年8月11日 申请日期2010年3月16日 优先权日2010年3月16日
发明者陆连伟 申请人:北京海格神舟通信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1