ldpc译码讲解_LDPC 译码问题
最近开始学习LDPC,还是刚接触有点生疏,现在主要在看LDPC译码
网上有好多LDPC的译码例程,matlab的。
我看了大部分都是一个译码函数,有点看不懂。
求大家指教
问题一:参数f0,f1含义
问题二:这个使用的是什么译码方法 BP?
问题三:有人能讲清楚如何译码的就更好了,哈哈。
先谢谢大家了,和大家学习了。
LDPC译码程序如下
function [x_hat, success, k] = ldpc_decode(f0,f1,H)
[m,n] = size(H);
if m>n, H=H'; [m,n] = size(H);
end
if ~issparse(H) % make H sparse if it is not sparse yet
[ii,jj,sH] = find(H);
H = sparse(ii,jj,sH,m,n);
end
%initialization
[ii,jj] = find(H); % subscript index to nonzero elements of H
indx = sub2ind(size(H),ii,jj); % linear index to nonzero elements of H
q0 = H * spdiags(f0(:),0,n,n);
sq0 = full(q0(indx));
sff0 = sq0;
q1 = H * spdiags(f1(:),0,n,n);
sq1 = full(q1(indx));
sff1 = sq1;
%iterations
k=0;
success = 0;
max_iter = 100;
while ((success == 0) & (k < max_iter)),
k = k+1;
%horizontal step
sdq = sq0 - sq1; sdq(find(sdq==0)) = 1e-20; % if f0 = f1 = .5
dq = sparse(ii,jj,sdq,m,n);
Pdq_v = full(real(exp(sum(spfun('log',dq),2))));
Pdq = spdiags(Pdq_v(:),0,m,m) * H;
sPdq = full(Pdq(indx));
sr0 = (1+sPdq./sdq)./2; sr0(find(abs(sr0) < 1e-20)) = 1e-20;
sr1 = (1-sPdq./sdq)./2; sr1(find(abs(sr1) < 1e-20)) = 1e-20;
r0 = sparse(ii,jj,sr0,m,n);
r1 = sparse(ii,jj,sr1,m,n);
%vertical step
Pr0_v = full(real(exp(sum(spfun('log',r0),1))));
Pr0 = H * spdiags(Pr0_v(:),0,n,n);
sPr0 = full(Pr0(indx));
Q0 = full(sum(sparse(ii,jj,sPr0.*sff0,m,n),1))';
sq0 = sPr0.*sff0./sr0;
Pr1_v = full(real(exp(sum(spfun('log',r1),1))));
Pr1 = H * spdiags(Pr1_v(:),0,n,n);
sPr1 = full(Pr1(indx));
Q1 = full(sum(sparse(ii,jj,sPr1.*sff1,m,n),1))';
sq1 = sPr1.*sff1./sr1;
sqq = sq0+sq1;
sq0 = sq0./sqq;
sq1 = sq1./sqq;
%tentative decoding
QQ = Q0+Q1;
Q0 = Q0./QQ;
Q1 = Q1./QQ;
x_hat = (sign(Q1-Q0)+1)/2;
if rem(H*x_hat,2) == 0, success = 1; end
end
ldpc译码讲解_LDPC 译码问题相关推荐
- ldpc译码讲解_LDPC码及其译码实现
LDPC 码及其译码实现 一. L DPC 码简介 LDPC 码最早在 20 世纪 60 年代由 Gallager 在他的博士论文中提 出,但限于当时的技术条件,缺乏可行的译码算法,此后的 35 年间 ...
- ldpc译码讲解_LDPC码编译码原理及应用
LDPC 码编译码原理及应用 下一代移动通信系统的设计能力将远远超过当前的第三代移动通信系统的 能力 , 其中一个最重要的特点表现在需要在 20M 赫兹的带宽内 , 实现高达 100Mbps 的数据传 ...
- ldpc译码讲解_LDPC码译码方法和编码方法与流程
本申请涉及ldpc码译码方法和编码方法. 背景技术: 在数字通信过程中,数字信号在传输过程中可能出现差错,故对数字信号须采用纠.检错编码技术,以增强数据在信道中传输时抵御各种干扰的能力,从而提高系统的 ...
- ldpc译码讲解_LDPC编译码基本原理
? 1962年Gallager提出了LDPC码的基本概率译码算法,本节将阐述这一思想.从联合条件概率分布到边缘条件概率分布 解决一个大的问题的基本思路在于将其分解为一系列的小问题.对于似然函数而言,如 ...
- 基于FPGA的DVB-S2、DVB-S2X标准的 LDPC 编码IP、译码 IP core
IP Core特点: 1.全部代码由FPGA代码实现: 2.支持DVB-S2.DVB-S2X全部格式: 3.支持编码.译码: 4.支持标标准中16200.32400.64800三种帧长: 5.支持AC ...
- LDPC的信道编译码的matlab仿真——LDPC译码最小和和归一化最小和
1.问题描述: LDPC的信道编译码的matlab仿真--LDPC译码最小和和归一化最小和 2.部分程序: clc; clear all; load H; D=H(1:675,5401:6075); ...
- LDPC码的编译码原理简述
关于fpga调用ldpc IP core的相关参数问题可以看我的另一篇文章 LDPC码由Gallager在1962年提出,全称为 Low Density Parity-check Codes 低密度奇 ...
- 【polar码】polar编译码以及SC译码算法的matlab仿真验证,对比不同编码码率的误码率性能
目录 1.polar编译码以及SC译码理论概述 2.matlab编程实现 3.仿真验证 1.polar编译码以及SC译码理论概述 Polar编译码(Polar coding)是一种新型的编码技术,由E ...
- 【斐波那契LDPC】基于斐波那契序列的QC-LDPC改进,译码采用LLR-BP译码算法
1.软件版本 matlab2013b 2.本算法理论知识 LLRBP算法较为复杂,因此,考虑改进算法的复杂度,加快算法仿真速度.具体方法如下所示: 这里,在改进算法复杂度方面,主要从tanh方面入手, ...
最新文章
- 荣发护肤护甲增强配方 Hair, Skin and Nails Plus 100 tablets
- 在Axure RP 8.0 中使用 Font Awesome 图标库完成设计并能在其他未安装该字体的电脑离线预览的方法...
- JSP的生命周期研究
- 【opencv】【第一玩】坤坤的篮球
- c/c++教程 - 1.2 变量、常量
- element el-autocomplete组件 自定义传参的解决方法
- Android零基础入门第6节:配置优化SDK Manager,正式约会女神
- UE4如何使用下载的资源
- GA遗传算法介绍与实例
- DigitalFilmTools Rays 2.1.2汉化版|丁达尔光束耶稣光滤镜插件
- APP合规-超范围收集个人信息
- 网络笔记--接入网及网络运营商
- 通过UEFI禁用 BD PROCHOT
- 【CUDA 基础】3.4 避免分支分化
- Android Studio 设置打开layout.xml文件的默认视图
- 深度学习AI美颜系列----人像静态/动态贴纸特效算法实现
- ArcGIS中的坐标系
- Python+Appium+夜神模拟器 全流程从环境搭建到实现自动化(APP自动化)
- PHP获取本周一本周日上周一上周日本月一号本月最后一天
- 腾讯研发“未成年防沉迷”系统,手游的社会责任之路已开启
热门文章
- 高级计算机应用软件,商务软件高级应用微课教程(高等职业院校技能应用型教材)/计算机应用系列...
- 办公OA系统毕业设计论文
- 计算机应用基础上机指导 教材,普通高等院校计算机优质平台课系列教材:计算机应用基础上机指导...
- 蓝桥杯 2n皇后(java递归回溯)
- 什么是Restful?
- 第二届国信蓝点杯 c语言 本科组 赛题分析 第8题
- Java学习 第十五章 成员变量和局部变量的区别 / 三大特征之一 (封装性)/构造方法 /private关键字
- 计算机毕设(附源码)JAVA-SSM驾校预约考试管理系统
- [易飞]ERP附件与电子签核集成
- xenserver api java_Xenserver和Vmware