基于FPGA的规则36LDPC码译码器
基于FPGA实现LDPC解码
基于,-./的规则0123456-7码译码器
厦门大学电子工程系!F*!GGH"李智明
摘
王琳范雷肖旻
要!基于软判决译码规则#采用完全并行的解码结构#使用U/0;-8.硬件描述语言#在V;-;<W
公司的X&+Y$U;0C/WB"W?:!GGG%上实现了码率为!Z"&帧长为"G7;C的规则$F3*%$%&’码的译码器#最大传输速率可达"G[7D>’对$%&’码的实际应用具有重要的推动作用(
关键词!$%&’码变量节点校
验检点因子图译码
在通信系统中纠错码被用来提高信道传输的可靠性和功率利用率!低密度奇偶校验码#$%&’码(是目前最逼近香农限的一类纠错码"!)*"年!+,--,./01!2首次提出了$%&’码的古典模型3即规则#0/.4-,0$的$%&’码%
#!"#"$5!校验矩阵%具有恒定的列重量和行重量&$%&’
码由于比64078码更接近香农限的误码率性能1"2和完全并行的迭代译码算法使其比64078码在部分场合具有更广泛的应用前景!从而使$%&’码成为当前纠错编码的一个研究热点&基于良好的译码性能!$%&’码被认为是通信系统的下一代纠错码&
上升!本论文采用改进的$8.BJ&算法1!21K2!把大量的乘运算转换成加运算!从而降低硬件复杂度及生产成本&
首先定义可能用到的几个变量及符号的意义%%表示一个’!(的$%&’校验矩阵!%)*&表示矩阵%中第)
有两类顶点!分别为变量节点9:,0;,7-/
行第&列的元素&定义校验节点+上的第!个变量节点为(#+$$L!M%+*!N!O!关联在变量节点!上的第+个校验节点为,#!5NL+M%+!N!O&定义校验节点+上关联的除了第!个变量节点以外的所有变量节点为(#,5P!!变量节点!上关联的除了第+个校验节点外的所有校验节点为,#!5P+&
!规则"#$%码
!&!因子图描述
因子图
1"2
<8=/>3用空的圆点表示5和校验节点9?@/?A<8=/>3用方框表
示5&6,<</0图就是这两类顶点之间的二部图!即每条边的一端与变量节点相连!另一端与校验节点相连&变量节点代表实际的变量!校验节点代表这些变量节点之间的约束&对于#&!$$B$%&’码的每个变量#7;C$都受&个校验
9?@/?A5的约束!因此每个变量节点应该连接&个校验节
点&每个校验方程有$个变量!因此每个校验节点应与$个变量节点相连&由于$%&’是一种线性码!使得它的因子图一边为变量节点!一边为校验节点!故$%&’码的因子图表示有专用的定义%二部图#7;D,0C;C/.0,D@>$&
图!表示了校验矩阵为E的规则#F!*$$%&’码的因子图!它是由!G个变量定点和H个校验定点组成的二部图!边刚好对应于矩阵中!的位置!这种因子图是
$8.%J&算法的译码过程%
输入数据%初始概率-!$-#.!NG5和-!$-#.!N!5N!B-!!
G
!
G
!N!3’3(Q
"$L."!3(3."(OQ输出数据%硬判决结果.
译码过程%
初始化%对于接收到的每个变量节点!计算初始信道信息!!N-8.
-!-!
!
G
$%&’迭代译码算法的基础&
!&’"($)码的译码算法
$%&’码的译码采用信度传播#7/-;/IBD08D,.,C;8<或J&$算法!它与因子图相对应!如图!所示!利用J&算
法获得好的译码性能!$%&’码的因子图中环的长度必须尽可能地长!长度为K的环会降低J&算法的性能!E矩阵设计时应避免出现&如果直接使用J&算法!由于在迭代过程中存在大量的乘运算!将使硬件的复杂度大幅度
1!2
!并对每个点计算初始信息!其中)+3
!$!L#)*&5R/)&N!O&!+*!N>;.<#!!5-8.#!S0B
!B0
迭代译码%
B!!
!!
5!其中>;.<#!!5N
S!当!"G时#B!当!TG时
!!
#!5校验节点计算"+*!$-8.)!S0!B0
B#$
!$1#+5P!
$
>;.<#!+*!5
HK
欢迎网上投稿!!!"#$%&$%"’&!!!"($%&$%"’)*+’&!电子技术应用"!""#年第!"期
基于FPGA实现LDPC解码
其中!1"!%#"2#34!!$%!%
2"5变量节点计算’!$%!
!$%!16789:!$%!5;<82!=&!>&
$%!
5
其中!$%!&!!="$%$):!54#"#%!
对于每个变量节点!!在完成变量节点计算后!对
;<8似然率#!进行更新"#!&!!’
#!"
#?!
$)*!5
:05判决条件
:@5如果#!A)?则+
!,&)B反之如果#!")?则+!,&!B:C5如果-#+
!&)!则迭代结束!否则跳到第"步迭代译码部分!直至校验成功或者达到最大迭代次数$
上面算法中的!$%!和"$?!都被称为外部信息!其中
!$%!是从变量节点向校验节点传递的信息!"$?!是从变
量节点向校验节点传递的信息$通过;<8(DE算法和DE算法的比较可以发现!;<8(DE算法中除了.:+51;<8
>+:!=/+
的都是加法运算!从而避免了!>/
>5运算?剩下DE算
法中乘运算过多的弊病$在本文中函数.:+5利用FEG-中的查找表%H<<I>JKL@C;M?H%L&实现$
!"矩阵的生成
G@;;@8MN提出的HOE/码的P矩阵&!*必须满足以下两点"
2!5-矩阵的每一列有0个!!1A10B2"5-矩阵的每一行有2个!!3AQB
本文中选择110?31R?通过编程用S@T@;@C软件生成若干满足条件的-矩阵!选择其中一个性能最好的-矩阵进行HOE/码的UK8@译码实现$当!1")时!最终选择-矩阵如图"所示$
#$%&’码完全平行译码结构
由二部图可以直观地看出!变量节点计算需要的信息只需由校验节点来提供!校验节点计算需要的信息只需要由变量节点来提供!译码器在设计时可以给每个变量节点分配一个变量节点处理单元%#@N7@C;M$<VMKN<)
WM66798%97T!#$%&!给每个校验节点分配一个校验节点
处理单元%/XMWI$<VMKN<WM66798%97T!/$%&!从而实现译码器的完全并行结构$
译码器的核心模块是迭代译码部分!迭代译码的结构与算法是紧密相连的!译码结构的确定必须在仔细分
!电子技术应用"!""#年第!"期析算法的基础上!迭代译码的过程是/$%和#$%模块计算结果的相互传递和更新$如果直接将/$%和#$%
连接!不但不容易控制迭代的过程并且可能出现不稳定状态!所以需要在/$%和#$%之间安插,-.以起到数据的缓冲和控制作用$输入’输出模块分别控制数据的输入和输出!当条件满足或者是迭代完成时!读入数据并把迭代结果输出$
()*迭代译码结构
图0表示平行迭代译码结构&+*&R*$其中只画出两个节点之间一条数据通路的连接方式!因为是完全平行迭代译码结构!其他节点之间数据通路的连接方式与此相同$信道初始化数据送入#$%模块进行数据处理后!送入,-.模块!数据经过/$%模块!最后再送入#$%模块!这样就完成一次迭代$数据信息从#$%到/$%与数据信息从
/$%到#$%分别在不同的数据线上传输%图!&$
控制信号控制信号
数据输入&’()*
#$%
数据&+()*
,-.
*
)(+&据数数据&’()*
相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




