simulate LDPC simulink & LDPC Matlab using same script

1 vue (au cours des 30 derniers jours)
taamouch abdelhak
taamouch abdelhak le 27 Fév 2019
hello, I want to simulate a Simulink model from a Matlab script. so I use the script below but I do not get the good results.
the inputs
Lci changes each frame and I get the outputs at each frame too. is there another method that is used
global Lc1;
global Lc2;
global Lc3;
global Lc4;
global Lc5;
global Lc6;
global Lc7;
global Lc8;
global Lc9;
global Lc10;
R=1/2;
Mo=2;
numerrmin =1000;
SNRdB=1:1:6;
BER_bit=zeros(size(SNRdB));
BER_bit2=zeros(size(SNRdB));%MSA
codewordH=[0,0,0,0,0,0,0,0,0,0];
modulatedsig=1-2*codewordH;
format long;
for k=1:length(SNRdB)
fprintf('SNR:%d\n',SNRdB(k))
frame=0;
numerr=0;
numerr2=0;
rat_err=0;
rat_err2=0;
EbN0_lin=10^(SNRdB(k)/10);
EsN0_lin=EbN0_lin*R*log2(Mo);
Es= 1 ;
N0=Es/EsN0_lin;
sigma=sqrt(N0/2);
while(numerr2 < numerrmin)
frame = frame + 1;
fprintf('frame : %d\n',frame)
bruit= randn(size(modulatedsig));
receivedsig =modulatedsig+sigma.*bruit;
Lci = (4.*(receivedsig./N0));
Lc1=Lci(1);
Lc2= Lci(2);
Lc3=Lci(3);
Lc4=Lci(4);
Lc5=Lci(5);
Lc6=Lci(6);
Lc7=Lci(7);
Lc8=Lci(8);
Lc9=Lci(9);
Lc10=Lci(10);
Lc1=timeseries(Lc1);
Lc2=timeseries(Lc2);
Lc3=timeseries(Lc3);
Lc4=timeseries(Lc4);
Lc5=timeseries(Lc5);
Lc6=timeseries(Lc6);
Lc7=timeseries(Lc7);
Lc8=timeseries(Lc8);
Lc9=timeseries(Lc9);
Lc10=timeseries(Lc10);
s=sim('LDPCMatlabSimulink');
%pause(5);
%sim('LDPCMatlabSimulink',');
x1=getdatasamples(x1,1);
x2=getdatasamples(x2,1);
x3=getdatasamples(x3,1);
x4=getdatasamples(x4,1);
x5=getdatasamples(x5,1);
x6=getdatasamples(x6,1);
x7=getdatasamples(x7,1);
x8=getdatasamples(x8,1);
x9=getdatasamples(x9,1);
x10=getdatasamples(x10,1);
SMS=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];%%%%%[0 0 0 0 0 0 0 0 0 0];%%
% %iteration=it;
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% [decodedmsg2,n]= minsum_sfixed(receivedsig,N0, H,num_iter);
% [Num2,Rat2] = biterr(codewordH,decodedmsg2);
% numerr2=numerr2+Num2;
% rat_err2=rat_err2+Rat2;
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[Num1,Rat1] = biterr(codewordH,SMS);
numerr=numerr+Num1;
rat_err=rat_err+Rat1;
if frame>5
break;
end
end
BER_bit(k)=rat_err/frame;
BER_bit2(k)=rat_err2/frame;
end
figure(1)
semilogy(SNRdB, BER_bit,'ro-','LineWidth',2);
hold on;
semilogy(SNRdB, BER_bit2,'*-g','LineWidth',2);
grid on;
xlabel('SNR,(dB)')
ylabel('Bit-Error-Rate(BER)')
legend('MSA-Simulink','matlab')
gives these results!!!!!
fault.PNG
the good results(the green )
ritte.PNG
i don't know wher's the problème??

Réponses (0)

Catégories

En savoir plus sur Software Development Tools dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by