CN100462986C - 基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统 - Google Patents

基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统 Download PDF

Info

Publication number
CN100462986C
CN100462986C CNB2007101322854A CN200710132285A CN100462986C CN 100462986 C CN100462986 C CN 100462986C CN B2007101322854 A CNB2007101322854 A CN B2007101322854A CN 200710132285 A CN200710132285 A CN 200710132285A CN 100462986 C CN100462986 C CN 100462986C
Authority
CN
China
Prior art keywords
module
data
sign indicating
indicating number
pci interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2007101322854A
Other languages
English (en)
Other versions
CN101131710A (zh
Inventor
李丽
张仲金
高明伦
何书专
李伟
董岚
张川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Ningqi Intelligent Computing Chip Research Institute Co ltd
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CNB2007101322854A priority Critical patent/CN100462986C/zh
Publication of CN101131710A publication Critical patent/CN101131710A/zh
Application granted granted Critical
Publication of CN100462986C publication Critical patent/CN100462986C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种基于FPGA的LDPC编解码硬件仿真系统,该系统包括PC端控制软件和基于FPGA的硬件部分,硬件部分包括了PCI接口控制模块,随机数发生器,高斯噪声发生器,LDPC编/解码等主要模块。本发明基于FPGA硬件实现了对LDPC码的仿真研究,同时,该系统具有很好的可控性、可观测性和可重用性,并大大提高仿真速度(为软件仿真速度的300多倍),为更好地研究同类纠错码提供良好的实验环境。

Description

基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统
技术领域
本发明属于数字通信技术领域,涉及一种可应用于LDPC(Low-Density ParityCheck,低密度奇偶校验)码的研究以及LDPC码解码器的验证中,对数字通信实现方案的硬件仿真系统,具体地说是一种基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统。
背景技术
在目前已有的编码方法中,LDPC编码方法在某些情况下已显现出接近香农极限的编码性能。LDPC码因其卓越的性能引起了世界广泛关注,并且被认为是通信系统应用中很有前景的纠错编码方法之一。LDPC码的研究成为数字通信领域的一个研究热点。
目前,LDPC码的研究领域主要围绕着两个方面:一是解码器的设计;二是码的性能,尤其是在高信噪比区域,对误差平底(error floor)的研究。误差平底:即信噪比达到一定程度之后,再增加信噪比并不能显著提升纠错性能的现象。LDPC码是否像其他信道编码方案一样存在着误差平底,一直是个重大疑问。但要得到LDPC码在高信噪比区域的性能是非常麻烦的,人们往往用软件仿真的方法来评估LDPC码的纠错能力,然而用高档PC进行软件模拟,仿真到10-10的比特误码率水平需要几个月的计算时间,这使得用软件方法对误差平底进行实验研究成为几乎不可能的事情。而基于硬件加速的仿真方法则能够大大加快仿真速度,使误差平底的实验研究成为可能。建立一个LDPC码性能硬件仿真平台对深入研究误差平底现象是大有帮助的。
同时,在LDPC码的研究中,对LDPC解码器的验证也是一项重要的工作,由于验证工作需要花费大量的时间,也给LDPC码研究的快速发展带来了困扰。
发明内容
为了克服现有技术中,LDPC码研究中存在的问题,本发明的目的在于提供一种基于FPGA(Field Programmable Gate Array的缩写,即现场可编程门阵列)的LDPC编解码硬件仿真系统。该基于FPGA的LDPC编解码硬件仿真系统大大提高了仿真速度,加快了研究进程,降低了实验成本。
本发明目的是通过以下技术方案来实现的:
一种基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统,其特征在于:它包括PC端控制软件和基于FPGA的硬件部分;其中,FPGA硬件部分包括PCI接口控制模块和LDPC码仿真模块,LDPC码仿真模块包括随机数发生器、高斯噪声发生器、LDPC码编码器、LDPC码解码器、检验模块以及源数据模块(FIFO1)和待解码数据模块(FIFO2);对仿真环境等进行设置、并显示仿真进度以及仿真过程中状态(误码率、误比特率等)的PC端控制软件部分通过PCI接口与FPGA硬件部分进行通信;在LDPC码仿真模块中,随机数发生器生成仿真源数据,送至LDPC码编码器进行编码,同时源数据暂存于源数据模块内,高斯噪声随机数发生器根据PC端控制软件设定的噪声方差产生相应的加性高斯白噪声信号,施加于编码后的数据,生成的数据暂存待解码数据模块内;LDPC码解码器从待解码数据模块内提取数据,进行解码并将解码后的数据输送至校验模块;校验模块根据源数据和解码后数据计算校验结果并将校验结果信息存于PCI接口控制模块中。
本发明所述PCI接口控制模块包括接口、RAM、预取功能模块和目标控制逻辑模块,校验模块根据源数据和解码后数据计算校验结果并将校验结果信息存于RAM内;PCI接口控制模块通过目标控制逻辑模块完成对PCI接口以及LDPC码仿真模块的控制;所述接口采用Altera的pci_compiler-v4.1.1 IP核。
本发明所述的基于FPGA的硬件部分采用美国Altera公司的带PCI接口的Cyclone II系列开发板,FPGA芯片为Cyclone II EP2C35芯片。
本发明所述LDPC码仿真模块中的随机数发生器、高斯噪声发生器、LDPC码编/解码器、检验模块以及PCI接口控制模块集成于一块FPGA芯片中。
所述高斯噪声发生器采用Box-Muller方法,利用查找表方式实现;查找表采用改进的非均匀分段方式,用较小的查找表实现较高的量化精度。该模块生成高质量的加性白高斯噪声信号。
与现有技术相比,本发明具有如下优点:
(1)在一块低成本的FPGA芯片中,集成了LDPC码仿真所需的所有模块以及用于通信的PCI接口,实现了对LDPC码的硬件仿真,大大提高了仿真速度(速度为软件仿真速度的300多倍),加快了研究进程,降低了实验成本。
(2)整个仿真系统通过PC端控制软件进行控制,可以方便的设定仿真条件,并及时的将仿真运行结果返回计算机显示,具有很好的可控性。
(3)高斯噪声发生器采用Box-Muller方法,对其函数运算采用非均匀分段的查找表法,并对分段进行特别的优化。用较小的查找表实现了较高的量化精度,具有很好的噪声质量。
(4)本发明具有一定的通用性,对不同的LDPC码或不同的解码器架构,只需要对LDPC编码器和LDPC解码器做相应的改动,即可建立相应的仿真平台。可大大缩短对不同LDPC码编解码器进行仿真验证的时间。
附图说明
图1 是本发明的结构示意框图;
图2 是本发明中高斯噪声发生器的结构示意框图;
图3 是本发明中校验模块的结构示意框图;
图4 是本发明中PC端控制软件的界面图;
图5 是实例方案中采用的Array LDPC码结果示意图。
具体实施方式
下面结合附图对本发明做进一步的详细描述。在本实施例中,选用码长N=2209的(2209,2021)Array LDPC码,该LDPC码的结构如附图5所示。其中I是47×47的单位矩阵,αi是单位矩阵I偏移i位后形成的矩阵。
仿真系统的输入时钟为100MHz,经FPGA内部的数字锁相环(DPLL)处理得到120MHz和40Hz两个时钟。整个FPGA硬件部分除解码器部分工作在40MHz下,其它部分的工作频率都为120MHz。
图1是本发明基于FPGA的LDPC编解码硬件仿真系统的结构示意图,该系统包括PC端控制软件部分和基于FPGA的硬件部分。FPGA硬件部分包括PCI接口控制模块和LDPC码仿真模块。LDPC码仿真模块包括随机数发生器、高斯噪声发生器、LDPC码编码器、LDPC码解码器、检验模块以及FIFO1模块和FIFO2模块。PC端控制软件部分通过PCI接口与FPGA硬件部分进行通信,对仿真环境等进行设置,并显示仿真进度以及仿真过程中的状态(误码率、误比特率等)。LDPC码仿真模块中,由随机数发生器生成仿真源数据,送至LDPC码编码器进行编码,同时源数据暂存于FIFO1中。高斯噪声随机数发生器根据软件设定的噪声方差产生相应的加性高斯白噪声信号,施加于编码后的数据,生成的数据暂存于FIFO2中。LDPC码解码器从FIFO2中提取数据,进行解码,解码的输出送至校验模块。由校验模块根据源数据和解码后数据计算校验结果,校验结果信息输出给PCI接口控制模块的RAM中。
PCI接口控制模块采用Altera的pci_compiler-v4.1.1 IP核,配置为32位的target模式PCI接口。其中目标控制逻辑完成对PCI接口以及内侧逻辑(即LDPC码仿真模块)的控制。该模块根据PCI接口和内部LDPC模块运行的状态,给出相应的响应,完成对数据的存取以及相关控制信号的发生。预取功能模块用于配合完成PCI接口的突发式读操作。
随机数发生器模块利用线性反馈移位寄存器,产生0、1随机数。产生的数据作为源发送数据。线性反馈移位寄存器(LFSR)的特征多项为f(x)=x64+x63+x61+x60+1,产生的伪随机数序列最大周期为264—1。充分保证测试数据的随机性。
高斯噪声发生器采用Box-Muller方法产生标准正态分布的随机数,并进行噪声功率调整,产生系统所需噪声。Box-Muller方法所需完成的计算由式(1)至(5)描述。u1,u2为(0,1]均匀随机数。由Box-Muller方法可知,
Figure C200710132285D00061
Figure C200710132285D00062
都服从标准正态高斯分布。为提高高斯噪声的质量,利用中心极限定理,取相邻两项即可得式(4)、(5),x即为最终产生的高斯信号,服从N(0,1)分布。
f ( u 1 ) = - ln ( u 1 ) - - - ( 1 )
g1(u2)=sin(2πu2)               (2)
g2(u2)=cos(2πu2)               (3)
x=f(u1)g1(u2)+f(u1’)g1(u2’)   (4)
x=f(u1)g2(u2)+f(u1’)g2(u2’)   (5)
图2是本发明高斯噪声发生器的结构示意框图。随机数发生器采用改进的线性移位反馈寄存器的方法,每个时钟周期输出一个50位的随机数。其中18位作为正弦函数和余弦函数的输入,另外32位为f(x)的输入。
f(u1),g1(u2),g2(u2)由查找表方式实现,查找表采用非均匀分段方式。f(u1)的输入在0至1区间上分割为非均匀的60段;正弦和余弦函数由其对称性,只需要对其中的一个在0到1/4区间上划分非均匀的24段。利用这种非均匀的区间划分方式,用较小的查找表实现了较高的量化精度。查找表的求值采用y(u)=(c1×u)+c0的方式。对f(x)在接近0点时的斜率c1取量化精度范围内的最大值,因区间非常小,这样的近似对结果影响不大,满足精度需要。这样,实现了在尽可能存储少的比特数的情况下保证量化精度。具体参数见表1。
 
函数 分段 分段点 c<sub>1</sub>/bit c<sub>0</sub>/bit
f(x)x∈(0,1] 60 2<sup>n-30</sup>和1-2<sup>-n</sup>n∈[0,30] 11 32
g(x)x∈[0,1/4] 24 (m+2<sup>n-3</sup>)/16和(m+1-2<sup>-n</sup>)/16m、n∈[0,3] 12 16
表1
LDPC码编码器模块针对该实例LDPC码具有准循环的特点,只需要存储43个188×1的矩阵,通过循环移位就可以得到一个完整的生成因子。编码采用串行的方式,计算出一帧数据(2021 bits)的校验码(188 bits)需要2021个时钟周期,校验码的输出也采用串行方式,即一个时钟周期输出1比特。因此,一帧数据的编码到发送完毕需要2209个时钟周期。
LDPC码解码器采用高速的减少存储需求的低密度校验码解码器架构,该架构目前已申请专利(申请号:200610037918.9)。解码器工作频率为40MHz。
图3为校验模块结构示意图。在最后一次解码迭代开始,每个时钟周期,从FIFO1中取出一块数据(47bits)与解码输出结果比较,对比较结果的每一位进行累加,并给出比较标志ERROR(0为相同,1为不同)。在经过43个时钟周期后,数据校验完成,对47个累加结果进行求和(采用3级流水线操作),输出本次解码总错误比特数。
如图1的LDPC码仿真模块中,有两个FIFO用于暂存数据。其中FIFO1存储源数据,FIFO2存储经过AWGN(加性高斯白噪声)信道后的待解码数据。FIFO1容量为256×47bits,FIFO2容量为256×282bits。FIFO1中,一帧源数据存储在43个地址单元中,每个存储单元为47比特。FIFO2中,一帧待解码数据存储在47个地址单元中,每个存储单元为47×6比特。通过FIFO产生的空、满信号,来协调编解码之间的平衡:
(1)当解码速度小于编码速度时,利用FIFO1产生的满信号控制解码过程。满信号有效时,停止向FIFO1,FIFO2中打入数据;满信号无效时,向FIFO1,FIFO2中打入数据。
(2)当解码速度大于编码速度时,利用FIFO2的产生的空信号控制解码过程。空信号有效时,解码进入空闲状态,等待输入;空信无效时,对FIFO2中取出数据进行迭代解码处理。
通过对FIFO的空、满信号的控制,保证了解码模块与其它模块在不同时钟域下的数据交换平衡。
图4是本发明的PC端控制软件的界面图。通过该控制软件,可对仿真环境进行设置,并显示仿真进度以及仿真过程中的状态。
下面简述基于FPGA的LDPC编解码硬件仿真系统的工作过程如下:
(a)将PCI卡插入PC主板的PCI插槽中,启动主机;
(b)在PC上启动控制软件,设定所需仿真高斯信道下的高斯噪声的方差;
(c)确定输入后,噪声方差由PCI接口传递给LDPC模块,整个系统开始运行。运行过程中的数据(解码总帧数,错误帧数,错误比特数)实时地保存到PCI接口模块的RAM中。系统每隔两秒从RAM中读取一次数据,更新软件界面的显示结果,直至本次仿真结束;
(d)当本次仿真达到指定要求(错误帧数达100)时,硬件系统进入复位状态,同时产生一个中断信号通知PC端软件仿真结束,将本次仿真结果记录于文件。在仿真过程中,可通过“save data”来保存当前运行结果。
通过对基于FPGA的LDPC编解码硬件仿真系统的运行状态的观测分析,系统运行稳定,系统吞吐量为120Mbps,仿真速度是软件仿真速度的300多倍。

Claims (5)

1.一种基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统,其特征在于:它包括PC端控制软件和基于FPGA的硬件两部分;其中,基于FPGA的硬件部分包括PCI接口控制模块和LDPC码仿真模块,LDPC码仿真模块包括随机数发生器、高斯噪声发生器、LDPC码编码器、LDPC码解码器、校验模块以及源数据模块和待解码数据模块;对仿真环境进行设置、并显示仿真进度以及仿真过程中状态的PC端控制软件部分通过PCI接口与基于FPGA的硬件部件进行通信;在LDPC码仿真模块中,随机数发生器生成仿真源数据,送至LDPC码编码器进行编码,同时源数据暂存于源数据模块内,高斯噪声发生器根据PC端控制软件设定的噪声方差产生相应的加性高斯白噪声信号,施加于编码后的数据,生成的数据暂存待解码数据模块内;LDPC码解码器从待解码数据模块内提取数据,进行解码并将解码后的数据输送至校验模块;校验模块根据源数据和解码后数据计算校验结果并将校验结果信息存于PCI接口控制模块中。
2.根据权利要求1所述的基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统,其特征在于:所述PCI接口控制模块包括PCI接口、RAM、预取功能模块和目标控制逻辑模块,校验模块根据源数据和解码后数据计算校验结果并将校验结果信息存于RAM内;预取功能模块用于配合完成PCI接口的突发式读操作;PCI接口控制模块通过目标控制逻辑模块完成对PCI接口以及LDPC码仿真模块的控制;所述接口采用Altera的pci_compiler-v4.1.1IP核。
3.根据权利要求1所述的基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统,其特征在于:所述的基于FPGA的硬件部分采用美国Altera公司的带PCI接口的Cyclone II系列开发板,FPGA芯片为Cyclone II EP2C35芯片。
4.根据权利要求1所述的基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统,其特征在于:所述LDPC码仿真模块中的随机数发生器、高斯噪声发生器、LDPC码编码器、LDPC码解码器、校验模块以及PCI接口控制模块集成于一块FPGA芯片中。
5.根据权利要求1所述的基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统,其特征在于:所述高斯噪声发生器采用Box-Muller方法,利用查找表方式实现;查找表采用非均匀分段方式,用较小的查找表实现较高的量化精度。
CNB2007101322854A 2007-09-13 2007-09-13 基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统 Active CN100462986C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007101322854A CN100462986C (zh) 2007-09-13 2007-09-13 基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007101322854A CN100462986C (zh) 2007-09-13 2007-09-13 基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统

Publications (2)

Publication Number Publication Date
CN101131710A CN101131710A (zh) 2008-02-27
CN100462986C true CN100462986C (zh) 2009-02-18

Family

ID=39128977

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101322854A Active CN100462986C (zh) 2007-09-13 2007-09-13 基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统

Country Status (1)

Country Link
CN (1) CN100462986C (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150130813A (ko) * 2014-05-14 2015-11-24 에스케이하이닉스 주식회사 노이즈 생성기 및 그것을 포함하는 ecc 유닛 검증 회로
CN104393952A (zh) * 2014-10-29 2015-03-04 苏州市职业大学 一种纠错码译码器
CN104375496B (zh) * 2014-12-08 2018-01-05 中国石油天然气集团公司 分布式控制系统及其控制方法
CN107342847B (zh) * 2017-07-10 2020-04-10 中国电子科技集团公司第五十四研究所 一种基于以太网通信的物理层安全编码系统
CN108390648A (zh) * 2018-01-16 2018-08-10 四川安迪科技实业有限公司 一种基于fpga的高斯白噪声发生器
CN108564983A (zh) * 2018-04-10 2018-09-21 南京扬贺扬微电子科技有限公司 一种用于nand flash的ldpc测试平台
CN113177388B (zh) * 2021-06-30 2021-10-29 北京智芯微电子科技有限公司 用于ip核测试与验证的装置、系统及方法
CN114553325A (zh) * 2022-01-12 2022-05-27 中国地质大学(武汉) 一种高斯信道模拟电路及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6715121B1 (en) * 1999-10-12 2004-03-30 Thomson-Csf Simple and systematic process for constructing and coding LDPC codes
CN1578201A (zh) * 2003-07-03 2005-02-09 直视集团公司 通过ldpc解码器对低密度奇偶校验码进行编码
CN1739244A (zh) * 2002-11-21 2006-02-22 韩国电子通信研究院 使用低密度奇偶校验码的编码器及其编码方法
CN1976238A (zh) * 2006-12-21 2007-06-06 复旦大学 基于块填充算法的准循环低密度奇偶校验码的构造方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6715121B1 (en) * 1999-10-12 2004-03-30 Thomson-Csf Simple and systematic process for constructing and coding LDPC codes
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
CN1739244A (zh) * 2002-11-21 2006-02-22 韩国电子通信研究院 使用低密度奇偶校验码的编码器及其编码方法
CN1578201A (zh) * 2003-07-03 2005-02-09 直视集团公司 通过ldpc解码器对低密度奇偶校验码进行编码
CN1976238A (zh) * 2006-12-21 2007-06-06 复旦大学 基于块填充算法的准循环低密度奇偶校验码的构造方法

Also Published As

Publication number Publication date
CN101131710A (zh) 2008-02-27

Similar Documents

Publication Publication Date Title
CN100462986C (zh) 基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统
CN102075198B (zh) 准循环低密度奇偶校验卷积码编译码系统及其编译码方法
CN101478314B (zh) 一种里德-所罗门编码译码器及其译码的方法
CN100425000C (zh) 双涡轮结构低密度奇偶校验码解码器及解码方法
Lee et al. A flexible hardware encoder for low-density parity-check codes
CN100414841C (zh) 一种ldpc编码的实现方法
US20080195913A1 (en) Decoder for Low-Density Parity-Check Convolutional Codes
CN108540139A (zh) 一种通用的准循环ldpc码编码器的fpga实现方法及装置
CN109586732A (zh) 中短码ldpc编解码系统和方法
KR100669152B1 (ko) 저밀도 패리티 검사 코드의 부호화 장치 및 방법
CN104092470A (zh) 一种Turbo码译码装置及方法
CN101162908A (zh) 一种基于DVB-RCS标准的双二元Turbo码译码方法及译码器
CN101567696B (zh) 一种参数可变的bch码编码器及译码器
CN102820892A (zh) 一种用于并行bch编码的电路、编码器及方法
CN106603082A (zh) 通用型高速ldpc码编码方法及编码器
CN102355331B (zh) 一种通用多模式译码装置
Semerenko Iterative hard-decision decoding of combined cyclic codes
CN111313910B (zh) 空间通信应用的低密度奇偶校验码编码器装置
CN107196666A (zh) 一种通用Turbo编译码器快速验证方法
CN103763064A (zh) 适用于超高速通讯系统的循环冗余校验码生成方法与电路
CN100557983C (zh) 一种准循环低密度奇偶校验码编码器和校验位生成方法
CN100355211C (zh) 基于改进Tanner图的LDPC迭代编码方法
CN101510782A (zh) 译码方法和系统
CN101667839B (zh) 交织方法
CN100586029C (zh) 一种结构化奇偶校验码的编码方法及其编码器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200521

Address after: 210049 second floor, unit B, No. 300, Zhihui Road, Qilin science and Technology Innovation Park, Jiangning District, Nanjing City, Jiangsu Province

Patentee after: NANJING NINGQI INTELLIGENT COMPUTING CHIP RESEARCH INSTITUTE Co.,Ltd.

Address before: 210093 Hankou Road, Jiangsu city of Nanjing province No. 22 Mong Man Wai Building

Patentee before: NANJING University

TR01 Transfer of patent right