ldpc码译码器通用模块的fpga设计

ldpc码译码器通用模块的fpga设计

ID:25077327

大小:78.50 KB

页数:7页

时间:2018-11-18

ldpc码译码器通用模块的fpga设计_第1页
ldpc码译码器通用模块的fpga设计_第2页
ldpc码译码器通用模块的fpga设计_第3页
ldpc码译码器通用模块的fpga设计_第4页
ldpc码译码器通用模块的fpga设计_第5页
资源描述:

《ldpc码译码器通用模块的fpga设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、LDPC码译码器通用模块的FPGA设计摘要在介绍LDPC(LowDensityParityCode)低密度校验码的基本迭代译码原理的基础上,针对FPGA技术,专门设计了译码器中通用的变量节点以及校验节点处理单元,其中分别包括全并行与全串行的实现方式。编译结果表明,这些模块可以实现高速的处理速度,以及占用合理的硬件资源。【关键词】低密度校验码FPGA串行并行1引言LDPC码(LowDensityParityCheckcode)是由Gallagher在1962年于其博士论文所发表,只不过当时由于VLSI技术尚未

2、成熟,所以逐渐被人们所遗忘,但在90年代后由于VLSI技术的快速发展LDPCcode又逐渐的被人们所广为讨论。LDPC码的译码算法,是一种基于稀疏矩阵的并行迭代译码算法,运算量要低于Turbo译码算法,并且由于结构并行的特点,在硬件实现上比较容易。因此在大容量通信应用中,LDPC码更具有优势。通过仿真发现,专门设计的LDPC码在中场度码长时,具有优越的纠错性能,是距离香农限最近的码字之一,而且有较低的无码平层(errorfloor)。因此对LDPC码译码器的硬件实现,已经成为一个很有价值的研宄方向。本文拟在

3、介绍译码和积算法(SumProductAlgorithm,简称SPA)的基础上,分别对译码器变量节点处理单元和校验节点进行分析,并分别进行串行以及并行的硬件实现,最后根据综合结果对串行以及并行实现方式进行资源比较。2LDPC码的软迭代译码给定一个LDPC码字(n,k),设发送码字向量为,经过BPSK调制后得到的向量为(调制规则),信道模型采用二元输入连续输出平稳无记忆AGWN信道模型,噪声服从高斯分布,接收向量为。符号说明如下:,以下所有的讨论都是建立在对数域LLR之上的。LPn:变量节点(BN)n的先验信

4、息,由初始信道似然指得来。Lrmn:从校验节点(CN)m传递给变量节点(BN)n的信息。Lqnm:从变量节点n传递给校验节点m的信息。和积算法译码的步骤如下:初始化:;(1)迭代部分:(1)计算从CNm到BNn的信息:其中以及计算从BNn到CNm的信息:(2)达到最大迭代次数后,译码输出:3变量节点运算单元的实现变量节点运算单元的主要作用是计算某个变量节点(BN)传递给与他相邻的校验节点(CN)的LLR值。计算过程如公式(3)所示。假设某个变量节点的度为O,也就是有w个校验节点与其相邻,则该变量节点应分别对

5、这w个校验节点返回《个值,即完成《次公式(3)的运算,显然存在着很多次的重复加法,假如直接采用这种实现方案的话,将占用很多的资源。观察公式(3)以及公式(4),显然有下面的关系:(6)由公式(6),很自然的想到,先计算出总和,继而在进行判决的同时,减去相应的Lnnn,依次得到o个返回值,一举实现变量节点消息更新与判决两个功能,而且节省资源。计算LQn的过程,又可以分为全并行与全串行实现,因此整个变量节点运算单元又分为并行和串行两种实现方式,见图1和图2所示。变量节点运算单元并行实现时,需要一个同时计算《个加

6、数的加法器,与此同时,将这《个加数进行寄存,在计算出和LQn后,并行《路加法,实现值的返回。这样做的好处是,可以实现非常高的吞吐速率,代价是多使用了很多的加法器(二进制的减法可以使用加法器来实现,本文中加法器和减法器统称加法器)。与变量节点的并行实现不同,串行实现时,充分利用了已有的硬件资源。除去sum寄存器以及FIFO寄存器外,只使用了两个加法器,而且这两个加法器都只有两个输入端口,直接调用FPGA芯片厂商提供的IP核即可实现,综合后,亦有很高的运算速度。基于图2,返回的o个值,将以串行方式依次输出;串行

7、实现的另一个好处是,当◦变化时,本模块仍然可不做任何改动的调用,这一点是并行实现所无法比拟的。4校验节点运算单元的实现校验节点运算单元的主要作用是计算某个校验节点(CN)传递给与他相邻的变量节点(BN)的LLR值。计算过程如公式(2)所示。与变量节点的实现方式类似,我们仍然设计了先计算出总的“和”,继而“减去”相应的,得到多个返回值。其中“加法”和“减法”运算的规则如下:我们定义这样的“加法”运算为广义加法,相应的“减法”运算为广义减法。类似的,根据求“和”的实现方式不同,校验节点运算单元的实现也有全并行和

8、全串行两种实现方式。见图3和图4所示。从图3与图4的比较,很显然看出校验节点运算单元的全并行实现与全串行实现的区别,几乎与变量节点实现时并行与串行的区别相同,即并行实现时,占用了较多的硬件资源,但是可以实现很高的时钟频率,进而实现很高的数据吞吐量,或者在要求的数据吞吐速率下,以较低的时钟频率实现设计,简而言之即“面积换速度”;串行实现时,充分利用了已有的资源,因此占用资源较少,但要求很高的吞吐速率时,需要提高时钟

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。