Dmb-t解调芯片中前向纠错解码的硬件构架及解码方法

文档序号:7651559阅读:225来源:国知局
专利名称:Dmb-t解调芯片中前向纠错解码的硬件构架及解码方法
技术领域
本发明涉及数字电视地面广播传输系统,特别是涉及一种用于DMB-T 解调芯片的前向纠错(FEC)解码的硬件构架;本发明还涉及利用所述硬 件构架进行前向纠错解码的方法。
背景技术
地面数字广播近几年来一直都是无线领域关注的热点。2007年8月1 曰起,我国实施数字电视地面广播传输系统强制标准一国标DMB-T。DMB-T 系统中的前向纠错编码,是指在发送端弓I入数据冗余性的信道编码技术, 籍此在接收端获得一定的纠错能力。前向纠错编码由外码(BCH码)和内 码(LDPC码)级联实现。BCH码是一种应用广泛的能纠正多重错误的分组 码。LDPC码是一种逼近香农限的,易实现和系统复杂度低的优秀的线性 纠错码。LDPC码应用于采用正交频分复用技术的无线局域网及高速光纤 通信领域取得了良好的性能,相比传统的纠错码有很优异的特点,具有良 好的应用前景。
相应的,在DMB-T接收机中,FEC解码包含LDPC解码和BCH解码两 部分,其解码算法都相对稳定。LDPC解码算法中广泛使用的是SPA算法 和Min-Sum算法。相对Min-Sum算法,SPA算法有较好的纠错性能,但是, 其设计复杂度较高并需要付出较高的硬件代价。BCH码的编码取决于其生 成多项式。有了生成多项式,BCH编解码与普通的循环码编码相同,使用除法电路可以实现。BCH解码实现的功能有BCH验证和BCH校正。BCH验 证实现的功能是指出数据块中是否有错误比特。BCH校正实现的功能是找 出数据块中错误比特的位置,并将其校正。
因为解码算法的相对稳定性,FEC解码的硬件设计难点在于,如何对 数据吞吐率和硬件成本进行折衷;如何使用最小的硬件代价,在可以容忍 的数据吞吐率内,完成较高性能的LDPC解码运算。
由于LDPC迭代过程中需要存储大量的中间数据,LDPC解码的硬件设 计难点在于,如何合理的使用SRAM存储中间计算结果,减少SRAM的数量, 减轻芯片后端设计的压力,降低设计风险。

发明内容
本发明要解决的技术问题是提供一种DMB-T解调芯片中前向纠错解 码的硬件构架,它能够有效降低硬件实现的复杂度,并提高FEC性能。为 此,本发明还要提供一种利用所述硬件构架实现前向纠错解码的方法。
为解决上述技术问题,本发明的DMB-T解调芯片中前向纠错解码的硬 件构架,包括1个输入数据串并转换模块,8个并行的FEC数据处理模块, 1个LDPC状态控制模块,1个BCH状态控制模块;其中,每个FEC数据处 理模块包括1个LDPC数据处理模块和1个BCH数据处理模块,在每个FEC 数据处理模块内,采用LDPC迭代、BCH验证、BCH校正,前向纠错数据输 出的流水线结构;
所述输入数据串并转换模块,用于接收输入数据,并将输入的32bit 的串行数据转换成32x8bits数据宽度的并行数据流,每32bits数据输送 给一个LDPC数据处理模块;所述LDPC数据处理模块,用于实现LDPC解码时的迭代运算;
所述LDPC状态控制模块,用于控制所述8个FEC数据处理模块中LDPC 数据处理模块的运算使能和LDPC—SRAM存储器控制使能,控制8个LDPC 数据处理模块同时进行LDPC迭代,同时对SRAM存储器进行读写;
所述BCH数据处理模块,用于在其所属的FEC数据处理模块中LDPC 数据处理模块迭代到信息bit后,实现BCH验证和校正;
所述BCH状态控制模块,控制所述8个FEC数据处理模块中BCH数据 处理模块的运算使能和BCH—SRAM存储器控制使能,控制8个BCH数据处 理rf块同时进行BCH验证处理或BCH校正处理,同时对SRAM存储器进行 读写。
所述8个并行的FEC数据处理模块共用SRAM存储器,所述8个并行 的FEC数据处理模块在LDPC迭代时产生的同一类型的中间数据,即行信 息和列信息存入对应的SRAM存储器的相同地址。
本发明的进行向前纠错解码的方法,包括如下步骤 步骤一、由输入数据串并转换模块接收8个LDPC数据处理模块所需 的连续32bit数据宽度的数据源,串并转换成32x8bits宽度的数据,每 32bits输送给一个LDPC数据处理模块,所述8个LDPC数据处理模块皆 获得数据;
步骤二、由LDPC状态控制模块控制8个LDPC数据处理模块的运算使 能,使LDPC数据处理模块在同一时间对获得的数据开始LDPC迭代,在 LDPC迭代过程中,在计算出节点列信息并进行更新的时候,同时使用节 点的列信息计算出节点的行信息,并更新节点的行信息;所述LDPC状态控制模块同时控制8个LDPC数据处理模块的 LDPC—SRAM存储器控制使能,实现同时控制8个并行的LDPC数据处理模 块对共用的SRAM的读写;
在开始进行第一次LDPC迭代及其迭代过程中,由输入数据串并转换 模块继续向8个LDPC数据处理模块输送数据,直至第一次LDPC迭代结束;
步骤三、在LDPC迭代到信息bit后,BCH状态控制模块控制8个BCH 数据处理模块的运算使能,同时开始BCH验证处理;并且BCH状态控制模 块控制8个BCH数据处理模块的BCH—SRAM存储器控制使能,实现同时控 制8个并行的BCH数据处理模块对共用的SRAM存储器的读写;
步骤四、如果通过BCH验证,则停止迭代,输出数据,如果没有通过 BCH验证,则继续进行下一次的LDPC迭代;
步骤五、在一次LDPC迭代结束时,如果所有的BCH数据处理模块都 通过BCH验证,表明经过本次迭代后,数据纠错全部完成,则迭代结束, 整个前向纠错解码过程结束,否则,判断迭代次数是否已经等于硬件允许 的最大迭代次数,如果小于,则转至步骤二,进行下一轮迭代;如果等于, 则继续进行BCH校正;
步骤六、在BCH校正过程中,如果发现任何一个BCH数据处理模块的 错误bit的位置,则所有BCH数据处理模块的BCH校正停止,将其错误 bit纠正,如果所有BCH数据处理模块的错误bit的位置都已找到,则校 正结束,整个前向纠错解码结束;若没有找到错误bit的位置,则继续校 正过程,直至BCH数据处理模块找不到错误bit的位置,整个前向纠错解 码过程结束。本发明从实现低成本,高性能的目的出发,使用8个FEC数据处理模 块的并行结构。这样每个数据处理模块处理时间就扩展为8倍,LDPC迭 代次数可以提高8倍以上。而且8块并行FEC数据处理模块内部的状态转 换一致,可以使用相同的控制逻辑,因此降低硬件复杂度。
为了达到较好的性能指标,在LDPC解码算法中本发明釆用SPA算法。 根据SPA算法的特点,可以使得解调芯片纠错性能大大提高。为了进一步 提高时间的利用率,本发明使用LDPC迭代、BCH验证、BCH校正和数据输 出的流水线结构,进一步增加有效的迭代时间,进一步提高系统性能。
本发明采用8个FEC数据处理模块共用SRAM的结构,8个FEC数据 处理模块产生的同一类型中间数据(行信息和列信息)存入对应的SRAM 的相同地址。不仅减少了SRAM的数量,减轻后端设计的压力,也减少了 SRAM的控制逻辑,降低设计成本。
为了达到DMB-T系统需要的性能指标,本发明将每次LDPC迭代计算 中的每个节点的更新时间减少一半,节省了每次迭代所需要的时间,将 LDPC迭代次数提高l倍。


下面结合附图与具体实施方式
对本发明作进一步详细的说明 图1是本发明的硬件构架结构框图2是采用本发明的硬件构架进行LDPC迭代,BCH验证,BCH校正的 流水线结构图3是采用本发明的硬件构架输入数据顺序示意图4是采用本发明的硬件构架存储行信息的SP—SRAM的结构图;图5是采用本发明的硬件构架存储列信息的LBQ一SRAM的结构图; 图6是利用本发明的硬件构架实现前向纠错解码的方法控制流程图。
具体实施例方式
由于FEC的纠错性能与LDPC迭代次数呈指数正比例关系,所以硬件 结构所能实现的LDPC最大迭代次数决定了硬件结构的性能特点。在DMB-T 的性能需求下,本发明选择SPA算法进行LDPC迭代,采用8个FEC数据 处理模块并行处理数据的结构,因为BCH验证和BCH校正是在LDPC迭代 的过程中进行的,所以,LDPC的并行结构决定了BCH的并行结构。
为了节省BCH验证和BCH校正占用的LDPC迭代时间,在每个FEC数 据处理模块中,使用LDPC迭代,BCH验证,BCH校正和前向纠错数据输出 的流水线结构(参见图2)。因此,帧间隔的全部时间可以全部用于LDPC 迭代运算,提高时间的利用率,从而提高了系统性能。
参见图1所示,本发明的DMB-T解调芯片中前向纠错解码的硬件构架, 包括
一个FEC状态控制器,其包括一个输入数据串并转换模块, 一个LDPC 状态控制模块, 一个BCH状态控制模块。
8个并行的FEC数据处理模块,每个FEC数据处理模块包括1个LDPC 数据处理模块和1个BCH数据处理模块。
SRAM存储器,由所述的8个并行的FEC数据处理模块共用。所述8 个并行的FEC数据处理模块在LDPC迭代时产生的同一类型的中间数据, 即行信息和列信息存入对应的SR層存储器的相同地址。
在LDPC迭代中,需要存储大量的中间数据,用来进行下一次的LDPC迭代,本发明使用SRAM来实现数据存储。但是为了减少后端设计压力, 需要使用尽可能少的SRAM。在本发明的LDPC迭代的硬件构架中,使用的 SRAM有两种,存储行信息的SP_SRAM和按列储存每个节点值信息的LBQ —SRAM。 SP—SRAM的结构如图4所示。每个FEC数据处理模块需要8个 SP—SRAM来存储行信息以达到8个并行,而本发明又是8个FEC数据处理 模块在并行工作,则一共需要64个SP—SRAM。为了减少SRAM的数量,本 发明将8个不同LDPC迭代产生的行信息放入同一块SP_SRAM中。这样分 别属于8个LDPC迭代的8个SP—SRAM可以被合并,最终只需要8个 SP_SRAM。本发明的LBQ_SRAM的结构如图5所示。将8个FEC数据处理模 块需要的8块LBQ一SRAM降低为4块LBQ—SRAM,即每两个LDPC迭代的节 点值信息共用一个LBQ_SRAM。同时,由于8块FEC数据处理模块的处理 过程完全一致,则对SRAM的存储和取出的控制也完全一致。本发明通过 一个控制模块控制公共的SRAM,在减少SRAM数量的同时,也减小芯片成 本。
所述输入数据串并转换模块,用于接收输入数据,并将输入的32bit 的串行数据转换成32x8bits数据宽度的并行数据流,每32bits数据输送 给一个LDPC数据处理模块。
所述LDPC数据处理模块,用于实现LDPC解码时的迭代运算。 所述LDPC状态控制模块,用于控制所述8个FEC数据处理模块中LDPC 数据处理模块的运算使能和LDPC—SRAM存储器控制使能,控制8个LDPC 数据处理模块同时进行LDPC迭代,同时对SRAM存储器进行读写。LDPC 状态控制模块,使用同一组控制逻辑,同时控制8个LDPC数据处理模块,减少控制逻辑的冗余,降低设计复杂度。
所述BCH数据处理模块,用于在其所属的FEC数据处理模块中LDPC 数据处理模块迭代到信息bit后,实现BCH验证和BCH校正。
所述BCH状态控制模块,控制所述8个FEC数据处理模块中BCH数据 处理模块的运算使能和BCH一SRAM存储器控制使能,控制8个BCH数据处 理模块同时进行BCH验证处理或BCH校正处理,同时对SRAM存储器进行 读写。BCH状态控制模块,使用同一组控制逻辑,同时控制8个BCH数据 处理模块,减少控制逻辑的冗余,降低设计复杂度。
FEC解码包含LDPC解码和BCH解码两部分。如图6所示,本发明的
进行向前纠错解码的方法,包括如下步骤
步骤一、由输入数据串并转换模块接收8个LDPC数据处理模块所需 的连续32bit数据宽度的数据源,串并转换成32x8bits宽度的数据,每 32bits输送给一个LDPC数据处理模块,所述8个LDPC数据处理模块皆 获得数据。
步骤二、由LDPC状态控制模块控制8个LDPC数据处理模块的运算使 能,使LDPC数据处理模块在同一时间对获得的数据开始LDPC迭代,在 LDPC迭代过程中,在计算出节点列信息并进行更新的时候,同时使用节 点的列信息计算出节点的行信息,并更新节点的行信息。
所述LDPC状态控制模块同时控制8个LDPC数据处理模块的 LDPC—SRAM存储器控制使能,实现同时控制8个并行的LDPC数据处理模 块对共用的SRAM的读写。
结合图3所示,在开始进行第一次LDPC迭代及其迭代过程中,由输入数据串并转换模块继续向8个LDPC数据处理模块输送数据,直至第一
次LDPC迭代结束。
步骤三、在LDPC迭代到信息bit后,BCH状态控制模块控制8个BCH 数据处理模块的运算使能,同时开始BCH验证处理或BCH校正处理;并且 BCH状态控制模块控制8个BCH数据处理模块的BCH—SRAM存储器控制使 能,实现同时控制8个并行的BCH数据处理模块对共用的SRAM存储器的 读写。
步骤四、如果通过BCH验证,则停止迭代,输出数据,如果没有通过 BCH验证,则继续进行下一次的LDPC迭代。
步骤五、在一次LDPC迭代运算结束时,如果所有的BCH数据处理模 块都通过BCH验证,表明经过本次迭代后,数据纠错全部完成,则迭代结 束,整个前向纠错解码过程结束,否则,判断迭代次数是否已经等于硬件 允许的最大迭代次数,如果小于,则转至步骤二,进行下一轮迭代;如果 等于,则继续进行BCH校正。
步骤六、在BCH校正过程中,如果发现任何一个BCH数据处理模块的 错误bit的位置,则所有BCH数据处理模块的BCH校正停止,将其错误 bit纠正,如果所有BCH数据处理模块的错误bit的位置都已找到,则校 正结束,整个前向纠错解码结束;若没有找到错误bit的位置,则继续校 正过程,直至BCH数据处理模块找不到错误bit的位置,整个前向纠错解 码过程结束。所述的找不到错误bit的位置,是指进行BCH校正时,检测 出错误的bit的位置大于762,超过一个BCH数据处理模块的bit位数。 LDPC的迭代次数与帧间隔时间周期和LDPC校验矩阵的节点个数有关。在LDPC迭代过程中,需要对LDPC校验矩阵的每个节点分别进行列信
息和行信息的更新。计算节点的列信息时,需要从SRAM里读出相应行的
信息,通过行信息计算出列信息,再将列信息写入对应的SRAM中。即一
个节点的行更新需要2个时钟周期。类似,节点的行信息的更新需要2
个时钟周期。此时计算出最大可迭代次数为-
曰+化化*躲_ 帧间隔时间周期 ,i ,、
取力迭代次数-,c校验矩阵节点个数x 2 x 2(式1)
为了进一步提高LDPC的迭代次数,本发明将LDPC的行信息和列信息 的更新合并。在计算出节点的列信息的同时,更新节点的行信息。从存储 节点值的SRAM (LBQ—SRAM)里按列读出每个节点值,同时把每一点所在 行的信息从行信息的SRAM (SP_SRAM)读出来,然后计算得到每个节点新 的值以及相应的行信息,并分别写回LBQ—SRAM和SP_SRAM。这样在按列 处理每个节点的同时更新了行信息,不需要再按行处理每个节点,节省了 一半时间,即一个节点在每次迭代过程中只花2个时钟周期。这样,最大 可迭代次数为
最大迭代次数=帧隱國_ (式2) 丄Z^C校验矩阵节点个数x2 Q瓦」)
可见LDPC的最大可迭代次数可提高一倍。
为了达到一定的性能指标,本发明采取并行处理的结构。则LDPC最 大迭代次数变为
最大迭微数=,,=,,^ ,x將处理的个数(式3)。 iX^C校验矩阵节点个数x 2 、
本发明的向前纠错解码的硬件构架,不仅提高FEC解码性能,更降低
硬件复杂度,适用于所有需要LDPC解码的系统,尤其是DMB-T数字地面广播的解调芯片<
权利要求
1、一种DMB-T解调芯片中前向纠错解码的硬件构架,其特征在于包括1个输入数据串并转换模块,8个并行的FEC数据处理模块,1个LDPC状态控制模块,1个BCH状态控制模块;其中,每个FEC数据处理模块包括1个LDPC数据处理模块和1个BCH数据处理模块,在每个FEC数据处理模块内,采用LDPC迭代、BCH验证、BCH校正,前向纠错数据输出的流水线结构;所述输入数据串并转换模块,用于接收输入数据,并将输入的32bit的串行数据转换成32x8bits数据宽度的并行数据流,每32bits数据输送给一个LDPC数据处理模块;所述LDPC数据处理模块,用于实现LDPC解码时的迭代运算;所述LDPC状态控制模块,用于控制所述8个FEC数据处理模块中LDPC数据处理模块的运算使能和LDPC_SRAM存储器控制使能,控制8个LDPC数据处理模块同时进行LDPC迭代,同时对SRAM存储器进行读写;所述BCH数据处理模块,用于在其所属的FEC数据处理模块中LDPC数据处理模块迭代到信息bit后,实现BCH验证和BHC校正;所述BCH状态控制模块,控制所述8个FEC数据处理模块中BCH数据处理模块的运算使能和BCH_SRAM存储器控制使能,控制8个BCH数据处理模块同时进行BCH验证处理或BCH校正处理,同时对SRAM存储器进行读写。
2、 如权利要求1所述的DMB-T解调芯片中前向纠错解码的硬件构架, 其特征在于所述8个并行的FEC数据处理模块共用SRAM存储器,所述8个并行的FEC数据处理模块在LDPC迭代时产生的同一类型的中间数据, 即行信息和列信息存入对应的SRAM存储器的相同地址。
3、一种利用权利要求1-2所述的硬件构架进行向前纠错解码的方法, 其特征在于包括如下步骤步骤一、由输入数据串并转换模块接收8个LDPC数据处理模块所需 的连续32bit数据宽度的数据源,串并转换成32x8bits宽度的数据,每 32bits输送给一个LDPC数据处理模块,所述8个LDPC数据处理模块皆 获得数据;步骤二、由LDPC状态控制模块控制8个LDPC数据处理模块的运算使 能,使LDPC数据处理模块在同一时间对获得的数据开始LDPC迭代,在 LDPC迭代过程中,在计算出节点列信息并进行更新的时候,同时使用节 点的列信息计算出节点的行信息并更新节点的行信息;所述LDPC状态控制模块同时控制8个LDPC数据处理模块的 LDPC一SRAM存储器控制使能,实现同时控制8个并行的LDPC数据处理模 块对共用的SRAM的读写;在开始进行第一次LDPC迭代及其迭代过程中,由输入数据串并转换 模块继续向8个LDPC数据处理模块输送数据,直至第一次LDPC迭代结束;步骤三、在LDPC迭代到信息bit后,BCH状态控制模块控制8个BCH 数据处理模块的运算使能,同时开始BCH验证处理和BCH校正处理;并且 BCH状态控制模块控制8个BCH数据处理模块的BCH_SRAM存储器控制使 能,实现同时控制8个并行的BCH数据处理模块对共用的SRAM存储器的 读写;步骤四、如果通过BCH验证,则停止迭代,输出数据,如果没有通过 BCH验证,则继续进行下一次的LDPC迭代;步骤五、在一次LDPC迭代结束时,如果所有的BCH数据处理模块都 通过BCH验证,表明经过本次迭代后,数据纠错全部完成,则迭代结束, 整个前向纠错解码过程结束,否则,判断迭代次数是否已经等于硬件允许 的最大迭代次数,如果小于,则转至步骤二,进行下一轮迭代;如果等于, 则继续进行BCH校正;步骤六、在BCH校正过程中,如果发现任何一个BCH数据处理模块的 错误bit的位置,则所有BCH数据处理模块的BCH校正停止,将其错误 bit纠正,如果所有BCH数据处理模块的错误bit的位置都已找到,则校 正结束,整个前向纠错解码结束;若没有找到错误bit的位置,则继续校 正过程,直至BCH数据处理模块找不到错误bit的位置,整个前向纠错解 码过程结束。
4、根据权利要求3所述的方法,其特征在于步骤四所述的找不到 错误bit的位置,是指进行BCH校正时,检测出错误的bit的位置大于 762,超过一个BCH数据处理模块的bit位数。
全文摘要
本发明公开了一种DMB-T解调芯片中前向纠错解码的硬件构架及解码方法。硬件构架包括8个并行的FEC数据处理模块,每个FEC数据处理模块包括1个LDPC数据处理模块和1个BCH数据处理模块;输入数据串并转换模块用于接收输入数据;LDPC数据处理模块用于实现LDPC解码时的迭代运算;LDPC状态控制模块用于控制LDPC数据处理模块的运算使能和LDPC_SRAM存储器控制使能;BCH数据处理模块用于实现BCH验证和BCH校正;BCH状态控制模块控制BCH数据处理模块的运算使能和BCH SRAM存储器控制使能。本发明能够有效降低前向纠错解码的硬件实现的复杂度,并提高前向纠错性能。适用于所有需要LDPC解码的系统,尤其是DMB-T数字地面广播的解调芯片。
文档编号H04N7/64GK101442677SQ20071009427
公开日2009年5月27日 申请日期2007年11月23日 优先权日2007年11月23日
发明者奚肇卿, 潘国振, 晶 王 申请人:卓胜微电子(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1