⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 madhg.m

📁 利用函数MadHG生成规则LDPC码的校验矩阵H
💻 M
字号:
function [ output_a,output_b ] = MadHG(inm,inn,iny)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-------该程序的目的是输入行数列数,生成LDPC码(3,6)需要的无圈校验H和G--------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 最佳使用方法 [H,G] = MadHG(m,n); %%%%%%%%%%%%%%%%%%%%%%%%%%%%Hm = inm;Hn = inn;x = HGrandom2(Hm,Hn);% 调用HGrandom2程序生成一个初始的校验矩阵xy = iny;% 标志位,确定最后生成的G是右边为单位阵(iny = 1),还是左边为单位阵(iny = else)%x = HGrandom2(252,504);for i = 1:3;    x=x(randperm(Hm),:);    x=x(:,randperm(Hn));end;%}[outputH,outputG]=GassianXY(x,y);% 调用GassianXY将x处理,返回一个最终的校验矩阵H和生成矩阵Goutput_a = outputH;% 输出校验矩阵Houtput_b = outputG;% 输出生成矩阵G% p = mod(G*H',2);% 可以用该语句检验生成的H和G满足要求% a = sum(H,1);% 可以用该语句检查H的列重,输出是一个值固定为3的向量则正确% b = sum(H,2);% 可以用该语句检查H的行重,输出是一个值固定为6的向量则正确% flag = tellloop(H(1,:)',H(2:1000,:)');% 可以用该语句检查H是否存在环,输出一个标志位,值为0则说明没有环% flag2 = askloop(H);%可以用该语句检查Ho是否每两行存在度为4的圈,输出一个长度为m/2的列向量% 若该向量某一个元素i值非零,则说明输入矩阵Ho的第(i-1)*2+1行% 与第(i-1)*2+2行存在圈,圈的度为sum(Ho((i-1)*2+1,:).*Ho((i-1)*2+2,:))% 若向量某一元素i值为0,说明上述两行没有圈% flag3 = checkloop(H);可以测试输入矩阵的每行与其他各行是否有环,% 输出是一个与H行数相同的列向量,第i个位置的值代表H的第i行与其他行是否有圈的度量值,若>=2则说明有环

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -