专利名称:基于双对角准循环移位ldpc码校验矩阵的编码器的制作方法
技术领域:
本发明属于通信领域,涉及编码技术,具体地说是一种可实现快速编码的FPGA编 码器结构。
背景技术:
在现代数字通信系统中,为保证各种数据能够可靠、有效地传输,往往要利用纠错 编码技术。近年来,随着无线数字通信的发展及各种高速率数据业务的出现,研究并利 用纠错编码技术就显得越来越重要。
理论研究表明低密度校验码LDPC长码的性能超过Turbo码,已接近香农限,同时 具有线性译码复杂度,适用于高速数据传输。LDPC码从理论研究逐渐步入实际应用的发 展过程中,LDPC码的编码复杂度及其造成的编码时延,成为制约LDPC码在高速数据业 务中应用的一个关键因素。
在现有LDPC码的编码器设计过程中,如果直接采用信息比特与生成矩阵相乘的方 法,则编码复杂度为o("2),这种复杂度在中长码时,会造成很大的编码时延。目前通常 有两种解决方法, 一种是采用具有下三角结构的稀疏校验矩阵直接编码,其复杂度为 另一种是采用具有准循环特性的LDPC码,即其校验矩阵由O阵和单位阵的循环 移位矩阵构成,该类LDPC码的生成矩阵和校验矩阵的代数结构特性有利于采用大规模 集成电路实现编译码器,从而提高编码效率。
IEEE.802.16e标准中的LDPC码就选用了具有准循环特性的结构,且给出了三种编 码方法串行编码、并行编码和小矩阵相乘编码。其中,基于串行编码方案设计的编码 器结构比较简单,但是编码效率比较低,很难应用于高速数据传输系统;基于全并行编 码方案设计的编码器可有效提高编码速度,但是硬件复杂度高,占用存储空间大,实现 比较困难;基于小矩阵相乘编码方案设计的编码器,可有效提高编码速度,在分解的矩 阵块比较小时,实现复杂度比较低,但其编码复杂度仍随矩阵阶数的增加呈指数增长, 且对分块大小和码长都有一定的限制。
综上,已有编码器均存在复杂度高,编码效率低,编码时延大的不足。
发明内容
本发明的目的是提供一种基于双对角准循环移位LDPC码校验矩阵的编码器,以解 决上述编码器复杂度高,编码效率低,编码时延大的问题,实现快速编码。为实现上述目的,本发明提供了两种编码器的技术方案-
技术,案l,本发明的编码器包括Z分频器和输出寄存器,其特征在于Z分频器与 输出寄存器之间连接有两路数据存储与预编码器、校验位生成器和二选一选择器,该数 据存储与预编码器用于产生预编码比特,并输出信息位比特,该校验位生成器用于产生 LDPC码的校验比特,该二选一选择器用于对信息比特和校验位比特进行选择输出。
上述编码器,其中z分频器的输出端口分别与第一数据存储与预编码器、第二数据 存储与预编码器和第一校验位生成器、第二校验位生成器的状态选择输入端口相连,所 述的两个数据存储与预编码器和两个校验位生成器的输出端分别通过两个二选一选择器 与输出寄存器相连。
上述编码器,其中z分频器输出四路时钟分频信号,第一路时钟分频信号直接输入 到第一数据存储与预编码器的状态选择端口 ,第二路时钟分频信号通过反相器输入到第 二数据存储与预编码器的状态选择端口 ,第三路时钟分频信号通过反相器和第一 D触发 器输入到第一校验位生成器的状态选择端口,第四路时钟分频信号分别通过第二D触发 器和第三D触发器输入到第二校验位生成器的状态选择端口和两个二选一选择器。
上述编码器,其中第一数据存储与预编码器和第二数据存储与预编码器的数据输入 端口均与信源相连,接收信源输出的数据;第一数据存储与预编码器和第二数据存储与 预编码器的信息位输出端口通过第一个二选一选择器与输出寄存器的信息位输入端口相 连;第一数据存储与预编码器和第二数据存储与预编码器的预编码输出端口分别通过第 一校验位生成器和第二校验位生成器以及第二个二选一选择器与输出寄存器的校验位输 入端口相连。
上述编码器,其中第一数据存储与预编码器和第二数据存储与预编码器的预编码输 出端口分别与第一校验位生成器和第二校验位生成器的数据输入端口相连,第一校验位 生成器和第二校验位生成器的校验位输出端口通过第二个二选一选择器与输出寄存器的 校验位输入端口相连。
技术方案2,本发明的编码器包括Z分频器和输出寄存器,其中Z分频器与输出 寄存器之间连接有一个数据存储与预编码器和一个校验位生成器,该数据存储与预编码 器用于产生预编码比特,并输出信息位比特,该校验位生成器用于产生LDPC码的校验 比特。
上述编码器,其中z分频器的输出端口输出两路时钟分频信号, 一路时钟分频信号 输出到数据存储与预编码器的状态选择输入端口,另一路时钟分频信号通过反相器和D 触发器输出到校验位生成器的状态选择输入端口。
5上述编码器,其中数据存储与预编码器输出两路比特信号, 一路比特信号直接输出 给输出寄存器的信息位输入端,另一路比特信号输入到校验位生成器的数据输入端,通 过校验位生成器输出到输出寄存器的校验位输入端。
所述技术方案1中的编码器工作原理为
所述的两个数据存储与预编码器和两个校验位生成器均设有存储和运算两个工作状 态,通过Z分频器的状态选择输出信号来控制每个数据存储与预编码器和每个校验位生 成器的工作状态。在状态选择信号的控制下,两个数据存储与预编码器工作在不同状态, 即一个工作在存储状态时,另一个工作在运算状态,交替产生预编码比特和输出信息位。 该信息位通过第一个二选一选择器输入到输出寄存器。在状态选择信号的控制下,两个 校验位生成器工作在不同状态,即一个工作在存储状态时,另一个工作在运算状态,两 个校验位生成器交替产生校验位,该校验位通过第二个二选一选择器输入到输出寄存器。 由输出寄存器将输入的信息位和校验位组合成编码比特进行输出。
所述技术方案2中的编码器工作原理为
所述的数据存储与预编码器和校验位生成器均设有存储和运算两个工作状态,通过Z 分频器的状态选择输出信号来控制数据存储与预编码器和校验位生成器的工作状态。在 状态选择信号的控制下,数据存储与预编码器产生预编码比特和输出信息位,该信息位 直接输入到输出寄存器。在状态选择信号的控制下,校验位生成器产生校验位,该校验 位直接输入到输出寄存器。由输出寄存器将输入的信息位和校验位组合成编码比特进行 输出。
本发明由于将LDPC码的编码器分解成数据存储与预编码器和校验位生成器两个模 块,分别用于产生预编码比特和校验位比特,降低了编码时延;同时由于本发明在数据 存储与预编码器和校验位生成器中采用了双态移位寄存器,因而与传统编码器采用的桶 形移位寄存器相比,具有更低的编码复杂度;此外,由于在校验位生成器中,双态移位 寄存器和模2加法器之间采用了由上至下和由下至上的双向递推连接关系,因而可进一 步提高编码器的吞吐量。
图1是本发明的双路LDPC编码器原理结构示意图; 图2是本发明的单路LDPC编码器原理结构示意图。
具体实施例方式
参照图1,本发明的双路LDPC码编码器包括 '
Z分频器主要完成对输入的时钟进行z分频,该模块有一个时钟输入端口和一个状态选择输出端口,状态选择输出端口用来输出经过Z分频后的时钟。
两个数据存储与预编码器主要用于对数据信息的预编码处理,即产生预编码比特, 并输出信息位比特。每个数据存储与预编码器均有两个输入端口和两个输出端口,即状 态选择输入端口、数据输入端口、信息位输出端口和预编码输出端口。
两个校验位生成器主要根据数据存储与预编码器输出的预编码比特,生成LDPC 码的校验位。每个校验位生成器有两个输入端口和一个输出端口,即状态选择输入端口、 数据输入端口和校验位输出端口。
输出寄存器用于将数据存储与预编码器送出的^个信息位与校验位生成器送出的 W6个校验位组合在一起,形成^+/^="6个最终的编码数据。该输出寄存器包括两个输 入端口和一个输出端口,即信息位输入端口、校验位输入端口和编码输出端口。
二选一选择器用于对信息比特和校验位比特的选择输出。
这些部件的连接关系为
z分频器1的输出端口分别与校验位生成器和数据存储与预编码器连接,控制其工作 的时钟周期,即Z分频器1输出端口的第一根引线与第一数据存储与预编码器2的状态 选择输入端口直接相连,第二根引线通过反相器7与第二数据存储与预编码器3的状态 选择输入端口相连,第三根引线通过反相器7和第一 D触发器8与第一校验位生成器4 的状态选择端口相连,第四根引线分别通过第二 D触发器9和第三D触发器10与第二 校验位生成器5的状态选择端口和两个二选一选择器11与12相连。z分频器1的输入端 口与外部时钟信号相连。
第一数据存储与预编码器2和第二数据存储与预编码器3的数据输入端口均与信源 相连,接收信源输出的数据;第一数据存储与预编码器2的信息位输出端口通过第一个 二选一选择器11与输出寄存器6的信息位输入端口相连;预编码输出端口与第一校验位 生成器4的数据输入端口相连;第二数据存储与预编码器3的信息位输出端口通过第一
个二选一选择器11与输出寄存器6的信息位输入端口相连;预编码输出端口与第二校验
位生成器5的数据输入端口相连。
第一校验位生成器4和第二校验位生成器5的校验位输出端口通过第二个二选一选 择器12均与输出寄存器6的校验位输入端口相连,该输出寄存器的编码输出端口将产生 的编码比特进行输出。
所述的编码器工作原理为
所述的两个数据存储与预编码器和两个校验位生成器均设有存储和运算两个工作状 态,通过z分频器的状态选择输出信号来控制每个数据存储与预编码器和每个校验位生成器的工作状态。在状态选择信号的控制下,两个数据存储与预编码器工作在不同状态, 即一个工作在存储状态时,另一个工作在运算状态,交替产生预编码比特和输出信息位, 该信息位通过第一个二选一选择器输入到输出寄存器。在状态选择信号的控制下,两个 校验位生成器工作在不同状态,即一个工作在存储状态时,另一个工作在运算状态,两 个校验位生成器交替产生校验位,该校验位通过第二个二选一选择器输入到输出寄存器。 由输出寄存器将输入的信息位和校验位组合成编码比特进行输出。 所述的两个数据存储与预编码器的工作原理为
每个数据存储与预编码器均设有存储和运算两个工作状态,且两个工作状态交替出 现。数据存储与预编码器开始工作时,首先处于存储状态,即将要做预编码的&bit数据 依次移入,并将上一次做预编码的&bit原始数据移出。经过Z个时钟后,数据存储与预 编码器中就存储了&xzbit数据,并将上次的&xzbit数据全部移出。所有要进行预编码 的&xzbit数据全部移入后,数据存储与预编码器就变为运算状态,将存储的数据进行逐 比特循环移位,并进行预编码。经过Z个时钟,数据存储与预编码器回到初始状态,同 时产生ZX/^个预编码比特。
本发明编码器中的两个数据存储与预编码器的状态选择端口的输入信号反向,使得两 个数据存储与预编码工作在不同的状态,即当第一数据存储与预编码器2为存储状态时, 第二数据存储与预编码器3为运算状态,第一个二选一选择器11选择第二数据存储与编
码器3输出的信息位,并将该信息位输出至输出寄存器6的信息位输入端;当第二数据
存储与预编码器3为存储状态,第一数据存储与预编码器2为运算状态时,第一个二选 一选择器11选择第一数据存储与编码器2输出的信息位,并将该信息位输出至输出寄存 器6的信息位输入端。
所述的两个校验位生成器的工作原理为
每个校验位生成器均设有存储和运算两个工作状态,且两个工作状态交替出现。校
验位生成器开始工作时,首先处于存储状态,将数据存储与预编码器得到的m6 bit预编 码数据依次移入。经过z个时钟后,校验位生成器中的双态移位寄存器中就存储了/^xz 个数据。所有^xz个预编码比特全部移入校验位生成器中后,校验位生成器转为运算状 态,双态移位寄存器处于循环移位状态,并对存储的预编码数据进行运算产生LDPC码 的校验位。经过z个时钟周期,校验位生成器中的双态移位寄存器回到初始状态,同时 产生了所有^xz个校验比特。本发明设计的两个校验位生成器的状态选择端口的输入信 号反向,使得两个校验位生成器工作在不同的状态。即当第一校验位生成器4为存储状 态时,第二校验位生成器5为运算状态,第二个二选一选择器12选择第二校验位生成器5输出的校验位,并将该校验位输出至输出寄存器6的校验位输入端;当第二校验位生成 器5为存储状态,第一校验位生成器4为运算状态时,第二个二选一选择器12选择第一 校验位生成器4输出的校验位,并将该校验位输出至输出寄存器6的校验位输入端。输 出寄存器将输入的^个信息位和w6个校验位组合在一起,形成^+附a =%个最终的编码 数据,并将该编码数据进行输出。
参照图2,本发明的LDPC码编码器包括
z分频器主要完成对输入的时钟进行z分频,该模块有一个时钟输入端口和一个状
态选择输出端口,状态选择输出端口用来输出经过z分频后的时钟。
数据存储与预编码器主要用于对数据信息的预编码处理,即产生预编码比特,并 输出信息位比特。数据存储与预编码器有两个输入端口和两个输出端口,即状态选择输 入端口、数据输入端口、信息位输出端口和预编码输出端口。
校验位生成器主要根据数据存储与预编码器输出的预编码比特,生成LDPC码的
校验位。校验位生成器有两个输入端口和一个输出端口,即状态选择输入端口、数据输 入端口和校验位输出端口。
输出寄存器用于将数据存储与预编码器送出的^个信息位与校验位生成器送出的 附6个校验位组合在一起,形成^+/^="4个最终的编码数据。该输出寄存器包括两个输 入端口和一个输出端口,即信息位输入端口、校验位输入端口和编码输出端口。
这些部件的连接关系为:Z分频器1的输出端口分别与校验位生成器和数据存储与预 编码器连接,控制其工作的时钟周期,即Z分频器1输出端口的第一根引线与数据存储 与预编码器2的状态选择输入端口直接相连,第二根引线通过反相器7和第一D触发器 8与校验位生成器4的状态选择端口相连。z分频器l的输入端口与外部时钟信号相连。
数据存储与预编码器2的数据输入端口与信源相连,接收信源输出的数据;数据存 储与预编码器2的信息位输出端口与输出寄存器6的信息位输入端口相连;预编码输出 端口与校验位生成器4的数据输入端口相连。校验位生成器4的校验位输出端口与输出 寄存器6的校验位输入端口相连,该输出寄存器的编码输出端口将产生的编码比特进行 输出。
所述的编码器工作原理为
所述的数据存储与预编码器和校验位生成器均设有存储和运算两个工作状态,通过z
分频器的状态选择输出信号来控制数据存储与预编码器和校验位生成器的工作状态。在 状态选择信号的控制下,数据存储与预编码器产生预编码比特和输出信息位,该信息位 直接输入到输出寄存器。在状态选择信号的控制下,校验位生成器产生校验位,该校验位直接输入到输出寄存器。由输出寄存器将输入的信息位和校验位组合成编码比特进行 输出。
所述的数据存储与预编码器的工作原理
数据存储与预编码器有两个工作状态,即存储状态和运算状态,且两个工作状态交 替出现。数据存储与预编码器开始工作时,首先处于存储状态,即将要做预编码的&bit 数据依次移入,并将上一次做预编码的&bit原始数据移出。经过z个时钟后,数据存储 与预编码器中就存储了&xzbit数据,并将上次的i^xzbit数据全部移出。所有要进行 预编码的&xzbit数据全部移入后,数据存储与预编码器就变为运算状态,将存储的数据 进行逐比特循环移位,并进行预编码。经过Z个时钟,数据存储与预编码器回到初始状 态,同时产生zx;^个预编码比特。
所述的校验位生成器的工作原理为
校验位生成器有两个工作状态,即存储状态和运算状态,且两个状态交替出现。校 验位生成器开始工作时,首先处于存储状态,将数据存储与预编码器得到的W6 bit预编 码数据依次移入。经过Z个时钟后,校验位生成器中的双态移位寄存器中就存储了/^XZ 个数据。所有/^xz个预编码比特全部移入校验位生成器中后,校验位生成器转为运算状 态,双态移位寄存器处于循环移位状态,并对存储的预编码数据进行运算产生LDPC码 的校验位。经过z个时钟周期,校验位生成器中的双态移位寄存器回到初始状态,同时
产生了所有A^XZ个校验比特。
上述编码器的整体结构,使用Verilog硬件描述语言按照IEEE.802.16e标准,在Xilinx 公司的XC3S1000芯片上实现,其码长"=2304、码率广=0.5。 本发明的可以通过以下仿真结果进一步说明。
仿真条件使用83.31;1的时钟约束,在ISE上进行综合和布线,并釆用Modelsim软 件进行了后仿真。
仿真结果ISE的布线结果显示,该编码器共使用了 65964个等效门,且在首次编 码时延之后,编码器每个时钟并行输入&个待编码数据,可同步地并行输出&+加6个编 码后的数据,因此编码器的最终编码速率可达到(J^+;^)x50-1200Mb/s。所设计编码器 的编码时延等于数据存储与预编码器和校验位生成器的存储状态所需的2z个时钟再加上 三个模块之间的两个时钟的流水延时,共计2z+2-194个时钟,如表1所示。表1.准并行编码器性能
编码平台编码速率编码时延编码器面积
码长"=2304、码 率 ^0.5的LDPC 准并行编码器50*24Mb/s =1200Mb/s194 elk/ 1.94us65964 等校门
从表1可见,本发明提供的编码器具有占用硬件资源少,实现复杂度低和编码效率高 的优点。
权利要求
1. 一种基于双对角准循环移位LDPC码校验矩阵的编码器,包括z分频器和输出寄存器,其特征在于z分频器与输出寄存器之间连接有两路数据存储与预编码器、校验位生成器和二选一选择器,该数据存储与预编码器用于产生预编码比特,并输出信息位比特,该校验位生成器用于产生LDPC码的校验比特,该二选一选择器用于对信息比特和校验位比特的选择输出。
2. 根据权利要求1所述的编码器,其特征在于z分频器(1)的输出 端口分别与第一数据存储与预编码器(2)、第二数据存储与预编码器(3)和第一校验位生成器(4)、第二校验位生成器(5)的状态选择输入 端口相连,所述的两个数据存储与预编码器和两个校验位生成器的输出端 分别通过第一个二选一选择器(11)和第二个二选一选择器(12)与输出 寄存器(6)相连。
3. 根据权利要求2所述的编码器,其特征在于第一数据存储与预编 码器(2)和第二数据存储与预编码器(3)的信息位输出端口通过第一个 二选一选择器(11)与输出寄存器(6)的信息位输入端口相连;第一数据 存储与预编码器(2)和第二数据存储与预编码器(3)的预编码输出端口 分别通过第一校验位生成器(4)和第二校验位生成器(5)以及第二个二 选一选择器(12)与输出寄存器(6)的校验位输入端口相连。
4. 根据权利要求3所述的编码器,其特征在于第一数据存储与预编 码器(2)和第二数据存储与预编码器(3)的预编码输出端口分别与第一 校验位生成器(4)和第二校验位生成器(5)的数据输入端口相连,第一 校验位生成器(4)和第二校验位生成器(5)的校验位输出端口通过第二 个二选一选择器(12)与输出寄存器(6)的校验位输入端口相连。
5. 根据权利要求2所述的编码器,其特征在于第一数据存储与预编 码器(2)和第二数据存储与预编码器(3)的数据输入端口均与信源相 连,接收信源输出的数据。
6. 根据权利要求2所述的编码器,其特征在于z分频器(1)输出四 路时钟分频信号,第一路时钟分频信号直接输入到第一数据存储与预编码器(2)的状态选择端口,第二路时钟分频信号通过反相器(7)输入到第 二数据存储与预编码器(3)的状态选择端口,第三路时钟分频信号通过反 相器(7)和第一D触发器(8)输入到第一校验位生成器(4)的状态选 择端口,第四路时钟分频信号分别通过第二D触发器(9)和第三D触发 器(10)输入到第二校验位生成器(5)的状态选择端口和两个二选一选择 器(11)与(12)。
7. —种基于双对角准循环移位LDPC码校验矩阵的编码器,包括z分 频器(1)和输出寄存器(6),其特征在于z分频器(1)与输出寄存器(6)之间连接有一个数据存储与预编码器(2)和一个校验位生成器 (4),该数据存储与预编码器用于产生预编码比特,并输出信息位比特, 该校验位生成器用于产生LDPC码的校验比特。
8. 根据权利要求7所述的编码器,其特征在于z分频器(1)的输出端 口输出两路时钟分频信号, 一路时钟分频信号输出到数据存储与预编码器(2)的状态选择输入端口,另一路时钟分频信号通过反相器(7)和D触 发器(8)输出到校验位生成器(4)的状态选择输入端口。
9. 根据权利要求8所述的编码器,其特征在于数据存储与预编码器 (2)输出两路比特信号, 一路比特信号直接输出给输出寄存器(6)的信息位输入端,另一路比特信号输入到校验位生成器(4)的数据输入端,通 过校验位生成器(4)输出到输出寄存器(6)的校验位输入端。
全文摘要
本发明公开了一种基于双对角准循环移位LDPC码校验矩阵的编码器。该编码器包括z分频器和输出寄存器,z分频器与输出寄存器之间连接有两路数据存储与预编码器、校验位生成器和二选一选择器,该数据存储与预编码器用于产生预编码比特,该校验位生成器用于产生LDPC码的校验比特,该二选一选择器用于对信息比特和校验位比特的选择输出。每个数据存储与预编码器和每个校验位生成器均设有存储和运算两个工作状态,两个数据存储与预编码器输出的信息位和两个校验位生成器输出的校验位分别通过二选一选择器输入到输出寄存器,由输出寄存器将输入的信息位和校验位组合成编码比特进行输出。本发明具有结构简单,编码效率高的优点,可用于对LDPC码进行快速编码。
文档编号H03M13/00GK101442319SQ20081023239
公开日2009年5月27日 申请日期2008年11月25日 优先权日2008年11月25日
发明者颖 李, 郭旭东, 卓 马 申请人:西安电子科技大学