首页 / 专利分类库 / 基本电子电路 / 一种基于非正则校验矩阵的LDPC译码器优化方法

一种基于非正则校验矩阵的LDPC译码器优化方法

申请号 CN202310762353.4 申请日 2023-06-26 公开(公告)号 CN117914329A 公开(公告)日 2024-04-19
申请人 北京理工大学; 中国人民解放军32802部队; 发明人 叶舒啸; 叶能; 侯超群; 程波铭; 王爱华; 齐斌; 池佃婷;
摘要 本 发明 公开的一种基于非正则校验矩阵LDPC译码器优化方法,属于LDPC 软判决 译码领域。本发明实现方法为:根据对不同行秩或列秩大小对消耗时钟最高行或最高列并行、其余行或列串行的译码器结构,实现对译码器结构优化,避免处理 节点 之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少对节点数量、便于译码器的紧凑布局和布线;此外本发明还采用基于最大化互信息的低比特非均匀量化方法,对输入 信号 进截位量化,通过分幅处理实现低比特量化下的信息量提高,减少量化对译码器带来的性能损失,并与信号幅值软信息直接初始化方式协同提高译码器的资源利用率,减少对节点数量、便于译码器的紧凑布局和布线。
权利要求

1.一种基于非正则校验矩阵LDPC译码器优化方法,其特征在于:利用LDPC非正则校验矩阵不同行秩不同且不同列秩的特点,根据每行秩计算相应行通过校验模所需时钟个数,将所有行根据时钟个数的不同进行分类,为消耗时钟最高的行分配专用校验节点更新模块并行处理,对低秩行根据冗余时钟个数分配公共校验节点更新模块串行处理;将不同列按通过变量模块所需时钟个数的不同进行分类,将不同列按通过变量模块所需时钟个数的不同进行分类,为消耗时钟最高列分配专用变量节点更新模块并行处理,对低秩列根据冗余时钟个数分配公共变量节点更新模块串行处理;即根据对不同行秩或列秩大小对消耗时钟最高行或最高列列并行、其余行或列串行的译码器结构,实现对译码器结构优化,避免处理节点之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少对节点数量、便于译码器的紧凑布局和布线。
2.如权利要求1所述的一种基于非正则校验矩阵LDPC译码器优化方法,其特征在于:对于低幅值采用低间隔、高幅值采用高间隔的方式对输入信号进截位量化,通过分幅处理实现低比特量化下的信息量提高,减少量化对译码器带来的性能损失,在达到相同的误码性能下使用更少的位宽实现译码通信,进一步减少译码器硬件开销,与信号幅值软信息直接初始化方式协同提高译码器的资源利用率,便于译码器的紧凑布局和布线。
3.如权利要求2所述的一种基于非正则校验矩阵LDPC译码器优化方法,其特征在于:用信号幅值软信息直接初始化方式,将译码器的输入幅值软信息直接作为译码器迭代计算的初始信息,在不损失译码器译码性能的情况下,降低信息处理复杂度,减少译码器硬件开销,便于译码器的紧凑布局和布线。
4.如权利要求3所述的一种基于非正则校验矩阵LDPC译码器优化方法,其特征在于:包括以下步骤,
步骤一、采用基于最大化互信息的低比特非均匀量化方法,对于低幅值采用低间隔、高幅值采用高间隔的方式对输入信号进截位量化,利用相同的位宽承载更多信息,通过分幅处理尽量提高信息量减少量化对译码器带来的性能损失,在达到相同的误码性能下使用更少的位宽实现译码通信,进一步减少译码器硬件开销,便于译码器的紧凑布局和布线;
在量化映射模块中,对于信源X,接收端Y,以及量化后输出Z,接收端与发送端之间的平均互信息为:
I(X;Y)=H(Y)‑H(Y∣X)
经量化后的平均互信息是:
令 解得Zi(i=1,2,…n)使I(X;Z)达到最大的量化间隔,即为
最佳量化间隔;而后将初始量化位宽为Qini,幅值数据范围在 的信号,非均匀量化为位宽为Qnon,数据范围在 的译码器初始化数据;根据信号幅值大小取值来确定量化间隔进行非均匀量化,对于信号取值小的区间,其量化间隔ΔV也小,在达到相同的误码性能下能够使用更少的位宽,大幅降低硬件资源开销,降低布局布线困难;
步骤二、用解调后幅值软信息直接初始化方法,将经过量化的译码器输入幅值直接作为译码器计算的初始信息,在不损失译码器译码性能的情况下,降低信息处理复杂度,减少译码器硬件开销,便于译码器的紧凑布局和布线;
经信道传输后受到噪声干扰的接收序列为y=(y1,y2,...,yn),根据接收消息解调得到软信息
2
在加性高斯白噪声(Add White Gauss Noise,AWGN)信道下,噪声为方差σ的高斯随机变量,在信源分布等概率的情况下
其中系数 对译码器迭代运算过程中涉及的加法、比较以及根据符号位信息判决均没有影响,故忽略该系数,将信号的幅值yi作为译码器初始信息进行迭代计算,实现在不损失译码器译码性能的情况下,降低信息处理复杂度,减少译码器硬件开销,便于译码器的紧凑布局和布线;
步骤三、利用LDPC非正则校验矩阵不同行秩不同的特点,根据每行秩计算相应行通过校验模块所需时钟个数,将所有行根据时钟个数的不同进行分类,为消耗时钟最高的行分配校验专用节点更新模块并行处理,对低秩行根据冗余时钟个数分配公共校验节点更新模块串行处理,实现对译码器校验节点更新模块数量优化,避免处理节点之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少对节点数量、便于译码器的紧凑布局和布线;
根据最小和算法Min Sum更新第i行校验节点信息:
其中,
对于非正则校验矩阵 第i行元素Hri上非零元素集合为Hr'i,逐行计算校验矩阵各行非零元素个数
而后根据每行非零元素个数 计算该行通过校验节点更新模块时,搜索次小值所需要的时钟个数
其中 表示向上取整;需要4选2比较单元(Abs Compare4to2)个数Ncmp42:
根据每行校验节点更新所要求的时钟数目 不同与非零元素个数 将校验节点行分为不同的集合
对于全并行的LDPC译码器,单次迭代中校验节点信息更新所用时钟个数 取决于行秩最大行 即非零元素最多行,故有:
其中c表示模值分离、数据预处理以及数据更新输出所消耗的时钟个数,通常为2‑4;
对于校验节点行 每行单独使用一个校验节点更新模块,在搜索次小值算法中配置 级,共 个4选2比较单元;
对于校验节点行 的更新模块,配置 级,共 个4选2比较单元,有冗余
时钟
另外从 中选取 个校验节点行,利用冗余时钟 添加 级流,使得
行检验节点共用一个校验节点更新模块串行计算;由于部分校验节点行使用公共校验节点更新模块,而全部校验节点更新完成所需时钟个数保持不变,即通过对译码器校验节点更新模块数量优化,避免处理节点之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少对节点数量、便于译码器的紧凑布局和布线;
步骤四、利用LDPC非正则校验矩阵不同列秩不同的特点,根据每列秩计算相应行通过变量节点更新模块所需时钟个数,将所有列根据时钟个数的不同进行分类,为消耗时钟最高的列分配专用变量节点更新模块并行处理,对低秩列根据冗余时钟个数分配公共变量节点更新模块串行处理,实现对译码器变量节点更新模块数量优化,避免处理节点之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少对节点数量、便于译码器的紧凑布局和布线;
根据最小和算法(Min Sum)计算第t次迭代后译码结果,并更新第j列变量节点信息:
对于第t次迭代后译码结果 只需取符号位,即所用寄存器最高位输出即可;
对于非正则校验矩阵 第j列元素Hcj上非零元素集合为Hc'j,逐列计算校验矩阵各行非零元素个数
而后根据每列非零元素个数 计算该列通过变量节点更新模块时,所有元素求和所需要的时钟个数
其中 表示向上取整;需要加法器个数Nadd:
根据每列变量节点更新所要求的时钟数目 不同与非零元素个数 将变量节点行分为不同的集合
对于全并行的LDPC译码器,一次迭代中变量节点信息更新所用时钟个数 取决于列秩最大列 即非零元素最多列,故有:
其中c表示赋值,截位等操作消耗的的时钟个数,通常为1‑3;
对于变量节点列 每列单独使用一个变量节点更新模块,在树形级联累加单元中配置 级,共 个加法器;
对于变量节点列 的更新模块,配置 级,共 个加法器,有冗余时钟
另外从 中选取 个变量节点列,利用冗余时钟 添加 级流水,使得
列变量节点共用一个变量节点更新模块串行计算;由于部分变量节点行使用公共变量节点更新模块,而全部变量节点更新所需时钟个数保持不变,即通过对译码器变量节点更新模块数量优化,避免处理节点之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少对节点数量、便于译码器的紧凑布局和布线。

说明书全文

一种基于非正则校验矩阵的LDPC译码器优化方法

技术领域

[0001] 本发明涉及一种针对于非正则校验矩阵的LDPC译码器优化方法,属于LDPC软判决译码领域。技术背景
[0002] 众所周知,信道编码是通信系统中不可或缺的重要组成部分。1948年香农发表了《通信的数学理论》,提出了信道编码定理之后,众多学者致于研究逼近香农极限、硬件实现复杂度低的编码方案,信道编码这一领域取得了辉煌的成就。低密度奇偶校验(Low Density Parity Check,LDPC)码具有逼近香农极限的性能,编码增益高,抗干扰能力强,其可高度并行实现的硬件结构适合高吞吐率的编译码器设计,目前已经成为纠正通信系统中传输错误的首选前向纠错码(Forward Error Correction,FEC)。
[0003] 随着5G/6G的提出以及高通量卫星的应用,空间通信资源荷载受限与高速、大容量通信之间的需求矛盾日益突出,为了适应高速数据需求,近年来已经实现了许多高吞吐量的LDPC译码器,然而设计一个具有低功耗、小面积的高性能LDPC译码器仍然是一个巨大的挑战,在高速译码器设计中需要综合考虑纠错性能、硬件成本和吞吐量这三个方面。
[0004] LDPC的译码算法主要有概率BP译码算法、对数似然比LLR(Log Likely Rate)BP译码算法、最小和(Min Sum)译码算法等。硬件实现时,最小和算法只需比较运算和加法操作,虽然带来了一些译码性能的损失,但极大地降低了计算复杂度,是最主要的硬件算法。另外,LDPC码在硬件实现时译码复杂度会随着量化比特数增加呈指数增长,使用低量化比特数又会使信息量化范围变窄,导致大量信息出现量化饱和,削弱译码性能。因此,在一定的误码条件下,用尽可能少的量化比特数达到最优译码性能是硬件实现的关键。
[0005] LDPC译码器在实现过程中,主要有以下三类实现结构:全并行架构、行并行架构和并行架构。对于码长为N,信息比特为K的LDPC码,全并行架构一共包括N个变量节点更新模块和N‑K个校验节点更新模块,这种架构的特点是所有奇偶校验方程同时运行,可以最大程度的减少译码所需时间,实现最高的译码吞吐量。但是资源占用较多、布局布线复杂、处理节点之间存在路由拥塞,实现复杂度高。因此,针对译码器硬件实现的优化一直是译码器设计领域的关键问题之一。

发明内容

[0006] 针对于全并行低密度奇偶校验(Low Density Parity Check,LDPC)译码器硬件实现中,资源占用较多、布局布线复杂、处理节点之间存在路由拥塞,实现复杂度高的问题,本发明的主要目的是提供一种基于非正则校验矩阵LDPC译码器优化方法,利用LDPC非正则校验矩阵不同行的秩不同且不同列的秩也不同的特点,根据不同行秩或列秩大小,设计对消耗时钟最高行或最高列并行、其余行或列串行的译码器结构,实现对译码器结构优化,避免处理节点之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少节点数量,便于译码器的紧凑布局和布线;此外本发明还采用基于最大化互信息的低比特非均匀量化方法,对于低幅值采用低间隔、高幅值采用高间隔的方式对输入信号进截位量化,通过分幅处理实现低比特量化下的信息量提高,减少量化对译码器带来的性能损失,在达到相同的误码性能下使用更少的位宽实现译码通信,进一步减少译码器硬件开销,与信号幅值软信息直接初始化方式协同提高译码器的资源利用率,减少节点数量,便于译码器的紧凑布局和布线。
[0007] 为达成上述目的,本发明采用以下技术方案。
[0008] 本发明公开的一种基于非正则校验矩阵LDPC译码器优化方法,利用LDPC非正则校验矩阵不同行的行秩不同且不同列的列秩也不同的特点,根据每行秩计算相应行通过校验模块所需时钟个数,将所有行根据时钟个数的不同进行分类,为消耗时钟最高的行分配专用校验节点更新模块并行处理,对低秩行根据冗余时钟个数分配公共校验节点更新模块串行处理;将不同列按通过变量模块所需时钟个数的不同进行分类,将不同列按通过变量模块所需时钟个数的不同进行分类,为消耗时钟最高列分配专用变量节点更新模块并行处理,对低秩列根据冗余时钟个数分配公共变量节点更新模块串行处理;即根据对不同行秩和列秩大小对消耗时钟最高行和最高列并行、其余行和列串行的译码器结构,实现对译码器结构优化,避免处理节点之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少节点数量,便于译码器的紧凑布局和布线。
[0009] 作为优选,本发明还采用基于最大化互信息的低比特非均匀量化方法,对于低幅值采用低间隔、高幅值采用高间隔的方式对输入信号进截位量化,通过分幅处理实现低比特量化下的信息量提高,减少量化对译码器带来的性能损失,在达到相同的误码性能下使用更少的位宽实现译码通信,进一步减少译码器硬件开销,与信号幅值软信息直接初始化方式协同提高译码器的资源利用率,便于译码器的紧凑布局和布线。
[0010] 作为优选,本发明用信号幅值软信息直接初始化方式,将译码器的输入幅值软信息直接作为译码器迭代计算的初始信息,在不损失译码器译码性能的情况下,降低信息处理复杂度,减少译码器硬件开销,便于译码器的紧凑布局和布线。
[0011] 本发明公开的一种基于非正则校验矩阵LDPC译码器优化方法,包括以下步骤:
[0012] 步骤一、采用基于最大化互信息的低比特非均匀量化方法,对于低幅值采用低间隔、高幅值采用高间隔的方式对输入信号进截位量化,利用相同的位宽承载更多信息,通过分幅处理尽量提高信息量减少量化对译码器带来的性能损失,在达到相同的误码性能下使用更少的位宽实现译码通信,进一步减少译码器硬件开销,便于译码器的紧凑布局和布线。
[0013] 在工程实现上,其接收到的码序列精度是受限的,即会经过量化处理,对于不同硬件结构,其量化精度不同,量化的有效位宽会越大,其性能越接近理论性能,但量化位宽增大会带来硬件复杂度的提升。现有技术中均匀量化方式简单,但在低比特的情况下对性能损失较大;而根据信号幅值大小取值来确定量化间隔进行非均匀量化,对于信号取值小的区间,其量化间隔ΔV也小。
[0014] 在量化映射模块中,对于信源X,接收端Y,以及量化后输出Z,接收端与发送端之间的平均互信息为:
[0015] I(X;Y)=H(Y)‑H(Y∣X)
[0016] 经量化后的平均互信息是:
[0017]
[0018] 令 解得Zi(i=1,2,…n)使I(X;Z)达到最大的量化间隔,即为最佳量化间隔。而后将初始量化位宽为Qini、幅值数据范围在 的信号,非均匀量化为位宽为Qnon、数据范围在 的译码器初始化数据。在达到相同的误码性能下使用更少的位宽,大幅降低硬件资源开销,降低布局布线困难。
[0019] 步骤二、用解调后幅值软信息直接初始化方法,将经过量化的译码器输入幅值直接作为译码器计算的初始信息,在不损失译码器译码性能的情况下,降低信息处理复杂度,减少译码器硬件开销,便于译码器的紧凑布局和布线。
[0020] 经信道传输后受到噪声干扰的接收序列为y=(y1,y2,…,yn),根据接收消息解调得到软信息
[0021]
[0022] 在加性高斯白噪声(Add White Gauss Noise,AWGN)信道下,噪声为方差σ2的高斯随机变量,在信源分布等概率的情况下
[0023]
[0024] 其中系数 对译码器迭代运算过程中涉及的加法、比较以及根据符号位信息判决均没有影响,故忽略该系数,将信号的幅值yi作为译码器初始信息进行迭代计算,实现在不损失译码器译码性能的情况下,降低信息处理复杂度,减少译码器硬件开销,便于译码器的紧凑布局和布线。
[0025] 步骤三、利用LDPC非正则校验矩阵不同行秩不同的特点,根据每行秩计算相应行通过校验模块所需时钟个数,将所有行根据时钟个数的不同进行分类,为消耗时钟最高的行分配专用校验节点更新模块并行处理,对低秩行根据冗余时钟个数分配公共校验节点更新模块串行处理,实现对译码器校验节点更新模块数量优化,避免处理节点之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少节点数量,便于译码器的紧凑布局和布线。
[0026] 根据最小和算法Min Sum更新第i行校验节点信息:
[0027]
[0028] 其中,
[0029] 对于非正则校验矩阵 第i行元素Hri上非零元素集合为Hr'i,逐行计算校验矩阵各行非零元素个数
[0030]
[0031] 而后根据每行非零元素个数 计算该行通过校验节点更新模块时,搜索次小值所需要的时钟个数
[0032]
[0033] 其中 表示向上取整。需要4选2比较单元(Abs Compare4to2)个数Ncmp42:
[0034]
[0035] 根据每行校验节点更新所要求的时钟数目 不同与非零元素个数 将校验节点行分为不同的集合
[0036]
[0037]
[0038] 对于全并行的LDPC译码器,单次迭代中校验节点信息更新所用时钟个数 取决于行秩最大行 即非零元素最多行,故有:
[0039]
[0040] 其中c表示模值分离、数据预处理以及数据更新输出所消耗的时钟个数,通常为2‑4。
[0041] 对于校验节点行 每行单独使用一个校验节点更新模块,在搜索次小值算法中配置 级,共 个4选2比较单元。
[0042] 对于校验节点行 的更新模块,配置 级,共 个4选2比较单元,有冗余时钟
[0043]
[0044] 另外从 中选取 个校验节点行,利用冗余时钟 添加 级流,使得 行检验节点共用一个校验节点更新模块串行计算。由于部分校验节点行使用公共校验节点更新模块,而全部校验节点更新完成所需时钟个数保持不变,使得译码器总体所需校验节点更新模块数目相比于传统全并行译码器大幅减少,即通过对译码器校验节点更新模块数量优化,避免处理节点之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少节点数量,便于译码器的紧凑布局和布线。
[0045] 步骤四、利用LDPC非正则校验矩阵不同列秩不同的特点,根据每列秩计算相应行通过变量节点更新模块所需时钟个数,将所有列根据时钟个数的不同进行分类,为消耗时钟最高的列分配专用变量节点更新模块并行处理,对低秩列根据冗余时钟个数分配公共变量节点更新模块串行处理,实现对译码器变量节点更新模块数量优化,避免处理节点之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少节点数量,便于译码器的紧凑布局和布线。
[0046] 根据最小和算法(Min Sum)计算第t次迭代后译码结果,并更新第j列变量节点信息:
[0047]
[0048] 对于第t次迭代后译码结果 只需取符号位,即所用寄存器最高位输出即可。
[0049] 对于非正则校验矩阵 第j列元素Hcj上非零元素集合为Hc'j,逐列计算校验矩阵各行非零元素个数
[0050]
[0051] 而后根据每列非零元素个数 计算该列通过变量节点更新模块时,所有元素求和所需要的时钟个数
[0052]
[0053] 其中 表示向上取整。需要加法器个数Nadd:
[0054]
[0055] 根据每列变量节点更新所要求的时钟数目 不同与非零元素个数 将变量节点行分为不同的集合
[0056]
[0057]
[0058] 对于全并行的LDPC译码器,一次迭代中变量节点信息更新所用时钟个数 取决于列秩最大列 即非零元素最多列,故有:
[0059]
[0060] 其中c表示赋值,截位等操作消耗的的时钟个数,通常为1‑3。
[0061] 对于变量节点列 每列单独使用一个变量节点更新模块,在树形级联累加单元中配置 级,共 个加法器。
[0062] 对于变量节点列 的更新模块,配置 级,共 个加法器,有冗余时钟
[0063]
[0064] 另外从 中选取 个变量节点列,利用冗余时钟 添加 级流水,使得 列变量节点共用一个变量节点更新模块串行计算。由于部分变量节点行使用公共变量节点更新模块,而全部变量节点更新所需时钟个数保持不变,使得译码器总体所需变量节点更新模块数目相比于传统全并行译码器大幅减少,即通过对译码器变量节点更新模块数量优化,避免处理节点之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少节点数量,便于译码器的紧凑布局和布线。
[0065] 有益效果:·
[0066] 1、本发明公开的一种基于非正则校验矩阵LDPC译码器优化方法,利用LDPC非正则校验矩阵不同行的行秩不同且不同列的列秩的特点,根据对不同行秩或列秩大小对消耗时钟最高行或最高列列并行、其余行或列串行的译码器结构,实现对译码器结构优化,避免处理节点之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少节点数量,便于译码器的紧凑布局和布线。
[0067] 2、本发明公开的一种基于非正则校验矩阵LDPC译码器优化方法,采用基于最大化互信息的低比特非均匀量化方法,对于低幅值采用低间隔、高幅值采用高间隔的方式对输入信号进截位量化,利用相同的位宽承载更多信息,通过分幅处理尽量提高信息量减少量化对译码器带来的性能损失,在达到相同的误码性能下使用更少的位宽实现译码通信,进一步减少译码器硬件开销。
[0068] 3、本发明公开的一种基于非正则校验矩阵LDPC译码器优化方法,用解调后软信息直接初始化,将译码器的输入幅值直接作为译码器计算的初始信息,在不损失译码器译码性能的情况下,降低信息处理复杂度,减少译码器硬件开销,便于译码器的紧凑布局和布线。
[0069] 4、本发明公开的一种基于非正则校验矩阵LDPC译码器优化方法,通过有益效果1、2、3的协同,能够在达到相同的误码性能下使用更少的位宽实现译码通信,降低信息处理复杂度、减少译码器硬件开销、实现对译码器结构优化、避免处理节点之间存在路由拥塞;在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少节点数量,便于译码器的紧凑布局和布线。
附图说明
[0070] 图1为本发明的一种基于非正则校验矩阵LDPC译码器优化方法流程图
[0071] 图2为实施实例LDPC校验矩阵图;
[0072] 图3为实施实例比特非均匀量化参数图;
[0073] 图4为实施实例LDPC校验矩阵图行秩分布图;
[0074] 图5为实施实例LDPC校验节点行搜索时钟分布图;
[0075] 图6为实施实例校验节点搜索单元结构示意图;
[0076] 图7为实施实例LDPC校验矩阵图列秩分布图;
[0077] 图8为实施实例变量节点列累加单元结构示意图;
[0078] 图9为实施实例LDPC变量节点列累加时钟分布图。

具体实施方式

[0079] 为了使本技术领域的人员更深刻的理解本发明方案的实施思路,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行仔细、清晰的描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施案例,都应当属于本发明保护的范围。
[0080] 下面结合具体场景对本发明实施例的具体步骤进行说明:
[0081] 选择3GPP 5G‑NR标准中提升值128、1/3码率的5888×8704LPDC校验矩阵,如图2所示。
[0082] 如图1所示,本实施实例公开的一种基于非正则校验矩阵LDPC译码器优化方法,具体实现步骤如下:
[0083] 步骤一、采用基于最大化互信息的低比特非均匀量化方法,对于低幅值采用低间隔、高幅值采用高间隔的方式对输入信号进截位量化,利用相同的位宽承载更多信息,通过分幅处理尽量提高信息量减少量化对译码器带来的性能损失,在达到相同的误码性能下使用更少的位宽实现译码通信,进一步减少译码器硬件开销,便于译码器的紧凑布局和布线。
[0084] 在工程实现上,其接收到的码序列精度是受限的,也即会经过量化处理,对于不同硬件结构,其量化精度不同,量化的有效位宽会越大,其性能越接近理论性能,但量化位宽增大会带来硬件复杂度的提升。现有技术中均匀量化方式简单,但在低比特的情况下对性能损失较大;而根据信号幅值大小取值来确定量化间隔进行非均匀量化,对于信号取值小的区间,其量化间隔ΔV也小。
[0085] 在量化映射模块中,对于信源X,接收端Y,以及量化后输出Z,接收端与发送端之间的平均互信息为:
[0086] I(X;Y)=H(Y)‑H(Y∣X)
[0087] 经量化后的平均互信息是:
[0088]
[0089] 令 可解得Zi(i=1,2,…n)使I(X;Z)达到最大的量化间隔,即为最佳量化间隔。本实施实例将初始量化位宽为Qini=6,幅值数据范围在[‑31,31]的信号,非均匀量化为位宽为Qnon=4,数据范围在[‑7,7]的译码器初始化数据,具体量化参数如图3所示。最终实现相较于传统均匀量化方式,在达到相同的误码性能下使用更少的位宽,大幅降低硬件资源开销,降低布局布线困难。
[0090] 步骤二、用解调后幅值软信息直接初始化方法,将经过量化的译码器输入幅值直接作为译码器计算的初始信息,在不损失译码器译码性能的情况下,降低信息处理复杂度,减少译码器硬件开销,便于译码器的紧凑布局和布线。
[0091] 经信道传输后受到噪声干扰的接收序列为y=(y1,y2,…,yn),根据接收消息解调得到软信息
[0092]
[0093] 在加性高斯白噪声(Add White Gauss Noise,AWGN)信道下,噪声为方差σ2的高斯随机变量,在信源分布等概的情况下
[0094]
[0095] 其中系数 对译码器迭代运算过程中涉及的加法、比较以及根据符号位信息判决均没有影响,故忽略该系数,将信号的幅值yi作为译码器初始信息进行迭代计算,实现在不损失译码器译码性能的情况下,降低信息处理复杂度,减少译码器硬件开销,便于译码器的紧凑布局和布线。
[0096] 步骤三、利用LDPC非正则校验矩阵不同行秩不同的特点,根据每行秩计算相应行通过校验模块所需时钟个数,将所有行根据时钟个数的不同进行分类,为消耗时钟最高的行分配校验专用节点更新模块并行处理,对低秩行根据冗余时钟个数分配公共校验节点更新模块串行处理,实现对译码器校验节点更新模块数量优化,避免处理节点之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少节点数量,便于译码器的紧凑布局和布线。
[0097] 根据最小和算法(Min Sum)更新第i行校验校验节点信息:
[0098]
[0099] 其中,
[0100] 对于非正则校验矩阵 第i行元素Hri上非零元素集合为Hr'i,逐行计算校验矩阵各行非零元素个数
[0101]
[0102] 各行行秩如图4所示,而后根据每行非零元素个数 计算该行通过校验节点更新模块时,搜索次小值所需要的时钟个数
[0103]
[0104] 其中 表示向上取整,各行搜索所需时钟如图5所示。需要4选2比较单元(Abs Compare4to2)个数Ncmp42:
[0105]
[0106] 校验节点搜索次小值的单元结构如图6所示,根据每行校验节点更新所要求的时钟数目 不同与非零元素个数 将校验节点行分为不同的集合
[0107]
[0108] 对于全并行的LDPC译码器,一次迭代中校验节点信息更新所用时钟个数 取决于行秩最大行 即非零元素最多行,故有:
[0109]
[0110] 其中c表示模值分离,数据预处理,以及数据更新输出所消耗的时钟个数,通常为2‑4。
[0111] 对于第k1=1,2,…,512的校验节点行 每行单独使用一个校验节点更新模块,在搜索次小值算法中配置 级,共 个4选2比较单元。
[0112] 对于第Rk=513的校验节点行更新模块, 需配置 级,共个4选2比较单元,有冗余时钟
[0113]
[0114] 另外从 中选取 个校验节点行,利用冗余时钟 添加3级流水,使得 行检验节点共用一个校验节点更新模块串行计算。由于部分校验节点行使用了相同的校验节点更新模块,而全部校验节点更新所需时钟个数保持不变,这样使得译码器总体所需校验节点更新模块数目相比于传统全并行译码器大幅减少,降低资源开销而吞吐量保持不变。
[0115] 步骤四、利用LDPC非正则校验矩阵不同列秩不同的特点,根据每列秩计算相应行通过变量节点更新模块所需时钟个数,将所有列根据时钟个数的不同进行分类,为消耗时钟最高的列分配专用变量节点更新模块并行处理,对低秩列根据冗余时钟个数分配公共变量节点更新模块串行处理,实现对译码器变量节点更新模块数量优化,避免处理节点之间存在路由拥塞,在达到全并行译码器相同吞吐量的情况下,提高译码器的资源利用率,减少节点数量,便于译码器的紧凑布局和布线。
[0116] 根据最小和算法(Min Sum)计算第t次迭代后译码结果,并更新第j列变量节点信息:
[0117]
[0118]
[0119] 对于第t次迭代后译码结果 只需取符号位,即所用寄存器最高位输出即可。
[0120] 对于非正则校验矩阵 第j列元素Hcj上非零元素集合为Hc'j,逐列计算校验矩阵各行非零元素个数
[0121]
[0122] 各列列秩如图7所示,而后根据每列非零元素个数 计算该列通过变量节点更新模块时,利用树形级联累加单元求和,结构如图8所示,所有元素求和所需要的时钟个数[0123]
[0124] 其中 表示向上取整,各列求和所需时钟如图9所示。需要加法器个数Nadd:
[0125]
[0126] 根据每列变量节点更新所要求的时钟数目 不同与非零元素个数 将变量节点行分为不同的集合
[0127]
[0128] 对于全并行的LDPC译码器,一次迭代中变量节点信息更新所用时钟个数 取决于列秩最大列 即非零元素最多列,故有:
[0129]
[0130] 其中c表示赋值,截位等操作消耗的的时钟个数,通常为1‑3。
[0131] 对于k1=1,…,256的变量节点列 每列单独使用一个变量节点更新模块,在树形级联累加单元中配置 共 个加法器。
[0132] 对于变量节点列 的更新模块,如第k=3329,3330,…,8708列,树形级联累加单元需要 个时钟,则配置1级,共1个加法器,有冗余时钟
[0133]
[0134] 另外从 中选取4个变量节点列,添加4级流水,使得5列变量节点共用一个变量节点更新模块串行计算。
[0135] 在实施上述实例步骤下,基于3GPP 5G‑NR标准中提升值128、1/3码率的5888×8704LPDC校验矩阵所实现的针对于非正则LDPC校验矩阵译码器的所需要的加法器与4选2比较单元个数与传统全并行译码器比较如下表所示:
[0136]译码器类型 4选2比较单元 加法器
传统全并行 26112 51200
基于非正则校验矩阵 14560 26766
[0137] 从上表中可以看出,本实施例公开的一种基于非正则校验矩阵LDPC译码器优化方法的硬件资源开销较传统方法有明显提升,有利于解决布局布线的困难。
[0138] 以上所述的具体描述,对发明的目的、技术方案进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
QQ群二维码
意见反馈