function vHat = BP4(rx, H,sigma, iteration)
[M N] = size(H);
P0 = (1 + exp(-2*(sigma^(-2)).*rx)).^(-1);
P1 = (1 + exp(2*(sigma^(-2)).*rx)).^(-1);
K0 = zeros(M, N);
K1 = zeros(M, N);
rji0 = zeros(M, N);
rji1 = zeros(M, N);
a=repmat(P0, M, 1);
qij0 = H.*repmat(P0, M, 1);%得到初始的概率矩阵,元素为0或P0
qij1 = H.*repmat(P1, M, 1);%得到初始的概率矩阵,元素为0或P1
% Iteration迭代
for n = 1:iteration
for i = 1:M
% Find non-zeros in the column
c1 = find(H(i, :));
for k = 1:length(c1)
drji = 1;
for l = 1:length(c1)
if l~= k
drji = drji*(qij0(i, c1(l)) - qij1(i, c1(l)));%%%%%%%%%%%%%%%%
end
end % for l
rji0(i, c1(k)) = (1 + drji)/2;%由证明算出的rij0的更新方式。drji是联合概率值(乘积形式),由上面的循环得到。
rji1(i, c1(k)) = (1 - drji)/2;
end % for k
end % for i以上应该是将rij初始化完毕
% ------ Vertical step ------
for j = 1:N
% Find non-zeros in the row
r1 = find(H(:, j));
for k = 1:length(r1)
prodOfrij0 = 1;
prodOfrij1 = 1;
for l = 1:length(r1)
if l~= k
prodOfrij0 = prodOfrij0*rji0(r1(l), j);
prodOfrij1 = prodOfrij1*rji1(r1(l), j);
end
end % for 1
% Update constants每次更新P(a)*rij(a),其他信息节点已知条件下,信息比特为0/1,校验式满足的概率
K0(r1(k), j) = P0(j)*prodOfrij0;%信息比特为0,校验式满足的概率
K1(r1(k), j) = P1(j)*prodOfrij1;%信息比特为1,校验式满足的概率
% Update qij0 and qij1其他校验式已知下,信息比特为0/1的概率
qij0(r1(k), j) = K0(r1(k), j)./(K0(r1(k), j) + K1(r1(k), j));
qij1(r1(k), j) = K1(r1(k), j)./(K0(r1(k), j) + K1(r1(k), j));
end % for k第J行的k个元素,即在每个校验式里,每个信息比特为0/1的概率
% Update constants
Ki0 = P0(j)*prod(rji0(r1, j));%每列的成率乘积,即每个信息比特参加的校验式的联合概率值
Ki1 = P1(j)*prod(rji1(r1, j));
Qi0 = Ki0/(Ki0 + Ki1);
Qi1 = Ki1/(Ki0 + Ki1);
% Decode Qj判决
if Qi1 > Qi0
vHat(j) = 1;
else
vHat(j) = 0;
end
end % for j
end % for n
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1.版本:matlab2021a,包含仿真操作录像,操作录像使用windows media player播放。 2.领域:LDPC译码 3.内容:LDPC译码算法性能对比,对比BP译码和BF译码两种译码算法,对比两种算法的误码率曲线。 4.注意事项:注意MATLAB左侧当前文件夹路径,必须是程序所在文件夹位置,具体可以参考视频录。
资源推荐
资源详情
资源评论
收起资源包目录
LDPC译码算法性能对比,对比BP译码和BF译码两种译码算法.rar (9个子文件)
matlab
main.m 2KB
func
bianma.m 2KB
BF.m 1KB
BP4.m 2KB
bianma1.m 2KB
H.mat 16KB
d1.mat 82KB
12.jpg 42KB
操作录像0039.avi 47.45MB
共 9 条
- 1
资源评论
- fanghui1072023-04-03感谢大佬分享的资源,对我启发很大,给了我新的灵感。
- 2301_766129072024-04-27资源内容总结地很全面,值得借鉴,对我来说很有用,解决了我的燃眉之急。
fpga和matlab
- 粉丝: 17w+
- 资源: 2628
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功