• 大小: 8KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: Matlab
  • 标签:

资源简介

自己做的LDPC simulink仿真,通过M文件调用SIMULINK,实现对不同误码率下LDPC信道编码的仿真

资源截图

代码片段和文件信息





clear all;
close all;
clc;
tic;

% parameter initialization

fid = fopen(‘ber_ldpc.dat‘‘w+‘);
fprintf(fid‘%s\n‘‘Concatenated codes LDPC CODE‘);
fclose(fid);




% code rate  1/41/32/51/23/52/33/44/55/68/99/10
CRate=[1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 5/6 8/9 9/10];

EBN0=0:0.1:8;
BER=zeros(length(CRate)length(EBN0));

% start simulation




open(‘BPSK_LDPC_ALLRATE_BERSIM.mdl‘);



for cr=1:length(CRate)
    
    
    CODRATE=CRate(cr);    
fid = fopen(‘ber_ldpc.dat‘‘a+‘);
fprintf(fid‘%f \n‘ CODRATE  );
fclose(fid); 
    
    

    for inumebn0=1:length(EBN0)

        berout=[];
        R=CRate(cr);
        BlockSz = 64800*R ;
        EbNo =EBN0(inumebn0);
        EbNoVar =10^(- EbNo/10)/R;
        Hmatrix=dvbs2ldpc(R);

        sim(‘BPSK_LDPC_ALLRATE_BERSIM.mdl‘);

        R
        EbNo
        berout(end)

        BER(crinumebn0)=berout(end);
        
        BERRECORD=berout(end);    
fid = fopen(‘ber_ldpc.dat‘‘a+‘);
fprintf(fid‘%f   %e\n‘ EbNoBERRECORD  );
fclose(fid);  
        
        

        if (berout(end)<1e-7)
            break;
        end;

    end;


    save LDPCBERFULL   BER;
end;

save LDPCBERFULL   BER;


% ########################## plot figure ###########



for cr=1:length(CRate)
    rng=EBN0;

    switch cr

        case   1
            semilogy(rngBER(cr:)‘-h‘);
            hold on;

        case  2
            semilogy(rngBER(cr:)‘-+‘);
            hold on;

        case   3
            semilogy(rngBER(cr:)‘-s‘);
            hold on;

        case   4
            semilogy(rngBER(cr:)‘-*‘);
            hold on;

        case   5
            semilogy(rngBER(cr:)‘-p‘);
            hold on;

        case   6
            semilogy(rngBER(cr:)‘-o‘);
            hold on;

        case   7
            semilogy(rngBER(cr:)‘-x‘);
            hold on;

        case   8
            semilogy(rngBER(cr:)‘-<‘);
            hold on;

        case   9
            semilogy(rngBER(cr:)‘-v‘);
            hold on;

        case   10
            semilogy(rngBER(cr:)‘-^‘);
            hold on;

        otherwise
            semilogy(rngBER(cr:)‘-d‘);
            hold on;
    end;

end;

UNCODEEbN0=0:0.1:12;
UNCODEDBER=0.5*erfc((10.^(UNCODEEbN0./20)));

 % uncoded plot
  semilogy(UNCODEEbN0UNCODEDBER‘-c‘);
  hold on;
 %‘Uncoded BPSK‘


title(‘The Relationship of BER~SNR for DVB-S2 LDPC codes‘);
xlabel(‘E_b/N_0(dB) ‘);
ylabel(‘BER(Bit-error-ratio)‘);
legend(‘LDPC R=1/4‘‘LDPC R=1/3‘‘LDPC R=2/5‘‘LDPC R=1/2‘‘LDPC R=3/5‘‘LDPC R=2/3‘‘LDPC R=3/4‘‘LDPC R=4/5‘‘LDPC R=5/6‘‘LDPC R=8/9‘‘LDPC R=9/10‘‘Uncoded BPSK‘);
axis([0    12    1e-8     1]);
grid on;


toc;















 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      29721  2008-06-11 21:55  LDPC_BPSK\BPSK_LDPC_ALLRATE_BERSIM.mdl

     文件       2851  2008-06-18 20:33  LDPC_BPSK\ldpc_BPSK_ALL_RATE_BERSIM.m

     目录          0  2013-10-03 16:38  LDPC_BPSK

----------- ---------  ---------- -----  ----

                32572                    3


评论

共有 条评论