发明内容
本发明的目的是提供一种基于双对角准循环移位LDPC码校验矩阵的编码器,以解决上述编码器复杂度高,编码效率低,编码时延大的问题,实现快速编码。
为实现上述目的,本发明提供了两种编码器的技术方案:
技术方案1,本发明的编码器包括z分频器和输出寄存器,其特征在于:z分频器与输出寄存器之间连接有两路数据存储与预编码器、校验位生成器和二选一选择器,该数据存储与预编码器用于产生预编码比特,并输出信息位比特,该校验位生成器用于产生LDPC码的校验比特,该二选一选择器用于对信息比特和校验位比特进行选择输出。
上述编码器,其中z分频器的输出端口分别与第一数据存储与预编码器、第二数据存储与预编码器和第一校验位生成器、第二校验位生成器的状态选择输入端口相连,所述的两个数据存储与预编码器和两个校验位生成器的输出端分别通过两个二选一选择器与输出寄存器相连。
上述编码器,其中z分频器输出四路时钟分频信号,第一路时钟分频信号直接输入到第一数据存储与预编码器的状态选择端口,第二路时钟分频信号通过反相器输入到第二数据存储与预编码器的状态选择端口,第三路时钟分频信号通过反相器和第一D触发器输入到第一校验位生成器的状态选择端口,第四路时钟分频信号分别通过第二D触发器和第三D触发器输入到第二校验位生成器的状态选择端口和两个二选一选择器。
上述编码器,其中第一数据存储与预编码器和第二数据存储与预编码器的数据输入端口均与信源相连,接收信源输出的数据;第一数据存储与预编码器和第二数据存储与预编码器的信息位输出端口通过第一个二选一选择器与输出寄存器的信息位输入端口相连;第一数据存储与预编码器和第二数据存储与预编码器的预编码输出端口分别通过第一校验位生成器和第二校验位生成器以及第二个二选一选择器与输出寄存器的校验位输入端口相连。
上述编码器,其中第一数据存储与预编码器和第二数据存储与预编码器的预编码输出端口分别与第一校验位生成器和第二校验位生成器的数据输入端口相连,第一校验位生成器和第二校验位生成器的校验位输出端口通过第二个二选一选择器与输出寄存器的校验位输入端口相连。
技术方案2,本发明的编码器包括:z分频器和输出寄存器,其中:z分频器与输出寄存器之间连接有一个数据存储与预编码器和一个校验位生成器,该数据存储与预编码器用于产生预编码比特,并输出信息位比特,该校验位生成器用于产生LDPC码的校验比特。
上述编码器,其中z分频器的输出端口输出两路时钟分频信号,一路时钟分频信号输出到数据存储与预编码器的状态选择输入端口,另一路时钟分频信号通过反相器和D触发器输出到校验位生成器的状态选择输入端口。
上述编码器,其中数据存储与预编码器输出两路比特信号,一路比特信号直接输出给输出寄存器的信息位输入端,另一路比特信号输入到校验位生成器的数据输入端,通过校验位生成器输出到输出寄存器的校验位输入端。
所述技术方案1中的编码器工作原理为:
所述的两个数据存储与预编码器和两个校验位生成器均设有存储和运算两个工作状态,通过z分频器的状态选择输出信号来控制每个数据存储与预编码器和每个校验位生成器的工作状态。在状态选择信号的控制下,两个数据存储与预编码器工作在不同状态,即一个工作在存储状态时,另一个工作在运算状态,交替产生预编码比特和输出信息位。该信息位通过第一个二选一选择器输入到输出寄存器。在状态选择信号的控制下,两个校验位生成器工作在不同状态,即一个工作在存储状态时,另一个工作在运算状态,两个校验位生成器交替产生校验位,该校验位通过第二个二选一选择器输入到输出寄存器。由输出寄存器将输入的信息位和校验位组合成编码比特进行输出。
所述技术方案2中的编码器工作原理为:
所述的数据存储与预编码器和校验位生成器均设有存储和运算两个工作状态,通过z分频器的状态选择输出信号来控制数据存储与预编码器和校验位生成器的工作状态。在状态选择信号的控制下,数据存储与预编码器产生预编码比特和输出信息位,该信息位直接输入到输出寄存器。在状态选择信号的控制下,校验位生成器产生校验位,该校验位直接输入到输出寄存器。由输出寄存器将输入的信息位和校验位组合成编码比特进行输出。
本发明由于将LDPC码的编码器分解成数据存储与预编码器和校验位生成器两个模块,分别用于产生预编码比特和校验位比特,降低了编码时延;同时由于本发明在数据存储与预编码器和校验位生成器中采用了双态移位寄存器,因而与传统编码器采用的桶形移位寄存器相比,具有更低的编码复杂度;此外,由于在校验位生成器中,双态移位寄存器和模2加法器之间采用了由上至下和由下至上的双向递推连接关系,因而可进一步提高编码器的吞吐量。
具体实施方式
参照图1,本发明的双路LDPC码编码器包括:
z分频器:主要完成对输入的时钟进行z分频,该模块有一个时钟输入端口和一个状态选择输出端口,状态选择输出端口用来输出经过z分频后的时钟。
两个数据存储与预编码器:主要用于对数据信息的预编码处理,即产生预编码比特,并输出信息位比特。每个数据存储与预编码器均有两个输入端口和两个输出端口,即状态选择输入端口、数据输入端口、信息位输出端口和预编码输出端口。
两个校验位生成器:主要根据数据存储与预编码器输出的预编码比特,生成LDPC码的校验位。每个校验位生成器有两个输入端口和一个输出端口,即状态选择输入端口、数据输入端口和校验位输出端口。
输出寄存器:用于将数据存储与预编码器送出的kb个信息位与校验位生成器送出的mb个校验位组合在一起,形成kb+mb=nb个最终的编码数据。该输出寄存器包括两个输入端口和一个输出端口,即信息位输入端口、校验位输入端口和编码输出端口。
二选一选择器:用于对信息比特和校验位比特的选择输出。
这些部件的连接关系为:
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分频器的状态选择输出信号来控制每个数据存储与预编码器和每个校验位生成器的工作状态。在状态选择信号的控制下,两个数据存储与预编码器工作在不同状态,即一个工作在存储状态时,另一个工作在运算状态,交替产生预编码比特和输出信息位,该信息位通过第一个二选一选择器输入到输出寄存器。在状态选择信号的控制下,两个校验位生成器工作在不同状态,即一个工作在存储状态时,另一个工作在运算状态,两个校验位生成器交替产生校验位,该校验位通过第二个二选一选择器输入到输出寄存器。由输出寄存器将输入的信息位和校验位组合成编码比特进行输出。
所述的两个数据存储与预编码器的工作原理为:
每个数据存储与预编码器均设有存储和运算两个工作状态,且两个工作状态交替出现。数据存储与预编码器开始工作时,首先处于存储状态,即将要做预编码的kb bit数据依次移入,并将上一次做预编码的kb bit原始数据移出。经过z个时钟后,数据存储与预编码器中就存储了kb×z bit数据,并将上次的kb×z bit数据全部移出。所有要进行预编码的kb×z bit数据全部移入后,数据存储与预编码器就变为运算状态,将存储的数据进行逐比特循环移位,并进行预编码。经过z个时钟,数据存储与预编码器回到初始状态,同时产生z×mb个预编码比特。
本发明编码器中的两个数据存储与预编码器的状态选择端口的输入信号反向,使得两个数据存储与预编码工作在不同的状态,即当第一数据存储与预编码器2为存储状态时,第二数据存储与预编码器3为运算状态,第一个二选一选择器11选择第二数据存储与编码器3输出的信息位,并将该信息位输出至输出寄存器6的信息位输入端;当第二数据存储与预编码器3为存储状态,第一数据存储与预编码器2为运算状态时,第一个二选一选择器11选择第一数据存储与编码器2输出的信息位,并将该信息位输出至输出寄存器6的信息位输入端。
所述的两个校验位生成器的工作原理为:
每个校验位生成器均设有存储和运算两个工作状态,且两个工作状态交替出现。校验位生成器开始工作时,首先处于存储状态,将数据存储与预编码器得到的mb bit预编码数据依次移入。经过z个时钟后,校验位生成器中的双态移位寄存器中就存储了mb×z个数据。所有mb×z个预编码比特全部移入校验位生成器中后,校验位生成器转为运算状态,双态移位寄存器处于循环移位状态,并对存储的预编码数据进行运算产生LDPC码的校验位。经过z个时钟周期,校验位生成器中的双态移位寄存器回到初始状态,同时产生了所有mb×z个校验比特。本发明设计的两个校验位生成器的状态选择端口的输入信号反向,使得两个校验位生成器工作在不同的状态。即当第一校验位生成器4为存储状态时,第二校验位生成器5为运算状态,第二个二选一选择器12选择第二校验位生成器5输出的校验位,并将该校验位输出至输出寄存器6的校验位输入端;当第二校验位生成器5为存储状态,第一校验位生成器4为运算状态时,第二个二选一选择器12选择第一校验位生成器4输出的校验位,并将该校验位输出至输出寄存器6的校验位输入端。输出寄存器将输入的kb个信息位和mb个校验位组合在一起,形成kb+mb=nb个最终的编码数据,并将该编码数据进行输出。
参照图2,本发明的LDPC码编码器包括:
z分频器:主要完成对输入的时钟进行z分频,该模块有一个时钟输入端口和一个状态选择输出端口,状态选择输出端口用来输出经过z分频后的时钟。
数据存储与预编码器:主要用于对数据信息的预编码处理,即产生预编码比特,并输出信息位比特。数据存储与预编码器有两个输入端口和两个输出端口,即状态选择输入端口、数据输入端口、信息位输出端口和预编码输出端口。
校验位生成器:主要根据数据存储与预编码器输出的预编码比特,生成LDPC码的校验位。校验位生成器有两个输入端口和一个输出端口,即状态选择输入端口、数据输入端口和校验位输出端口。
输出寄存器:用于将数据存储与预编码器送出的kb个信息位与校验位生成器送出的mb个校验位组合在一起,形成kb+mb=nb个最终的编码数据。该输出寄存器包括两个输入端口和一个输出端口,即信息位输入端口、校验位输入端口和编码输出端口。
这些部件的连接关系为:z分频器1的输出端口分别与校验位生成器和数据存储与预编码器连接,控制其工作的时钟周期,即z分频器1输出端口的第一根引线与数据存储与预编码器2的状态选择输入端口直接相连,第二根引线通过反相器7和第一D触发器8与校验位生成器4的状态选择端口相连。z分频器1的输入端口与外部时钟信号相连。
数据存储与预编码器2的数据输入端口与信源相连,接收信源输出的数据;数据存储与预编码器2的信息位输出端口与输出寄存器6的信息位输入端口相连;预编码输出端口与校验位生成器4的数据输入端口相连。校验位生成器4的校验位输出端口与输出寄存器6的校验位输入端口相连,该输出寄存器的编码输出端口将产生的编码比特进行输出。
所述的编码器工作原理为:
所述的数据存储与预编码器和校验位生成器均设有存储和运算两个工作状态,通过z分频器的状态选择输出信号来控制数据存储与预编码器和校验位生成器的工作状态。在状态选择信号的控制下,数据存储与预编码器产生预编码比特和输出信息位,该信息位直接输入到输出寄存器。在状态选择信号的控制下,校验位生成器产生校验位,该校验位直接输入到输出寄存器。由输出寄存器将输入的信息位和校验位组合成编码比特进行输出。
所述的数据存储与预编码器的工作原理:
数据存储与预编码器有两个工作状态,即存储状态和运算状态,且两个工作状态交替出现。数据存储与预编码器开始工作时,首先处于存储状态,即将要做预编码的kb bit数据依次移入,并将上一次做预编码的kb bit原始数据移出。经过z个时钟后,数据存储与预编码器中就存储了kb×z bit数据,并将上次的kb×z bit数据全部移出。所有要进行预编码的kb×z bit数据全部移入后,数据存储与预编码器就变为运算状态,将存储的数据进行逐比特循环移位,并进行预编码。经过z个时钟,数据存储与预编码器回到初始状态,同时产生z×mb个预编码比特。
所述的校验位生成器的工作原理为:
校验位生成器有两个工作状态,即存储状态和运算状态,且两个状态交替出现。校验位生成器开始工作时,首先处于存储状态,将数据存储与预编码器得到的mb bit预编码数据依次移入。经过z个时钟后,校验位生成器中的双态移位寄存器中就存储了mb×z个数据。所有mb×z个预编码比特全部移入校验位生成器中后,校验位生成器转为运算状态,双态移位寄存器处于循环移位状态,并对存储的预编码数据进行运算产生LDPC码的校验位。经过z个时钟周期,校验位生成器中的双态移位寄存器回到初始状态,同时产生了所有mb×z个校验比特。
上述编码器的整体结构,使用Verilog硬件描述语言按照IEEE.802.16e标准,在Xilinx公司的XC3S1000芯片上实现,其码长n=2304、码率r=0.5。
本发明的可以通过以下仿真结果进一步说明。
仿真条件:使用83.3M的时钟约束,在ISE上进行综合和布线,并采用Modelsim软件进行了后仿真。
仿真结果:ISE的布线结果显示,该编码器共使用了65964个等效门,且在首次编码时延之后,编码器每个时钟并行输入kb个待编码数据,可同步地并行输出kb+mb个编码后的数据,因此编码器的最终编码速率可达到(kb+mb)×50=1200Mb/s。所设计编码器的编码时延等于数据存储与预编码器和校验位生成器的存储状态所需的2z个时钟再加上三个模块之间的两个时钟的流水延时,共计2z+2=194个时钟,如表1所示。
表1.准并行编码器性能
编码平台 | 编码速率 | 编码时延 | 编码器面积 |
码长n=2304、码率r=0.5的LDPC准并行编码器 | 50*24Mb/s=1200Mb/s | 194clk/1.94us | 65964等校门 |
从表1可见,本发明提供的编码器具有占用硬件资源少,实现复杂度低和编码效率高的优点。