LDPC中变量节点处理单元(VNU)基本原理概述以及FPGA实现

目录

一、理论基础

二、核心程序

三、仿真测试结果

作者ID :fpga和matlab
CSDN主页:https://blog.csdn.net/ccsss22?type=blog
擅长技术:
1.无线基带,无线图传,编解码
2.机器视觉,图像处理,三维重建
3.人工智能,深度学习
4.智能控制,智能优化
5.其他

一、理论基础

码长较长的低速LDPC编码在信噪比较低的应用场合呈现出其他编码无法匹敌的优势,已经证明非规则的LDPC码性能甚至优于Turbo码高速LDPC编码性能也比较好.尤其是在磁记录等一些应用场合,码长较短的高速LDPC编码有着较为广阔的应用前景。在不久的将来,LDPC编码将用于更多高速高质量的通信场合。而UWB通信技术因其传输速率高、功耗低等优点在短距离的网络中得到越来越多的关注。特别是UWB无线通信因其具有良好的时域可分辨性尤其适合于密集多径环境中的短距离多用户接入。本文在SvstemGenerator中对LDPC码整个编译码系统进行了参数化的硬件实现,并构建了超宽带通信系统LDPC码硬件仿真平台,验证了LDPC码在UWB通信中的优异性能。

 VNU的功能为计算"变量一校验"信息以及更新后验对数似然比。其硬件实现图如图2所示,3个"校验一变量"信息和1个比特初始化信息相加减去相对应的1个"校验一变量"信息所得到的值舍人 处理后作为查找表运算的输入,查找表用于计算公式. 变量节点处理单元(Variable Node processing Unit,VNU),其主要功能是处理从变量节点的信息到校验节点的信息。VNU模块的输入数据为校验节点传递给变量节点的信息。在VNU更新过程中,其主要涉及到垂直更新过程,译码判决过程两个环节。VNU模块的实现结构如下图所示:

 

 

二、核心程序

module VNU_6(
output reg signed [31:0] Q1,
output reg signed [31:0] Q2,
output reg signed [31:0] Q3,
output reg signed [31:0] Q4,
output reg signed [31:0] Q5,
output reg signed [31:0] Q6,
input signed [31:0] R1,
input signed [31:0] R2,
input signed [31:0] R3,
input signed [31:0] R4,
input signed [31:0] R5,
input signed [31:0] R6,
input signed [31:0] L,
output P,
input clk,
input rst);

reg signed [31:0] P_sample;



assign P = P_sample[31]? 1'b1 : 1'b0;

always@(posedge clk or posedge rst)
begin

if(rst)
begin
P_sample = L;
Q1 = L;
Q2 = L;
Q3 = L;
Q4 = L;
Q5 = L;
Q6 = L;
end
else
begin
P_sample = R1 + R2 + R3 + R4 + R5 + R6 + L;
........................................

三、仿真测试结果

 

 A14-43

posted @ 2022-10-21 22:08  fpga和matlab  阅读(425)  评论(0编辑  收藏  举报