ldpc.m

来自「对数字信号进行分析」· M 代码 · 共 37 行

M
37
字号
function [ldpc1]=ldpc(bch1,tb)
fid = fopen('D:\data\data1\data33.txt','r');
[a1 count]= fread(fid,24*35*127,'uchar'); 
a1=a1.';
fclose(fid);
runum1=length(bch1);
runum2=fix(runum1/3048);
ldpc1=zeros(1,runum2*7488);
for cycle=1-1:1:runum2-1
ldpc2=zeros(3048,7493);     %ldpc2为生成矩阵   
a2=zeros(127,127);
for i=0:1:23
    for j=0:1:34
       a2(1,1:127)=a1(1,(i*35+j)*127+1:(i*35+j)*127+127);%  
        for k=2:1:127
            for ll=2:1:127
                a2(k,ll)=a2(k-1,ll-1);
                a2(k,1)=a2(k-1,127);
            end
        end
        ldpc2(i*127+1:i*127+127,j*127+1:j*127+127)=a2;
    end
end

i1=eye(127);
for i=0:1:23
    j=i+35;
    ldpc2(i*127+1:i*127+127,j*127+1:j*127+127)=i1;
end
m5=bch1(1,cycle*3048+1:cycle*3048+3048);
m6=m5*ldpc2;
for j=1:1:7493
   m6(1,j)=rem(m6(1,j),2);%进行模2运算
end 
N5=127*59;
ldpc1(1,cycle*7488+1:cycle*7488+7488)=m6(:,6:N5);%前向纠错编码
end

⌨️ 快捷键说明

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