Files
imdd_silas/projects/MPI_August/auswertung/mrds_sir_curve.m
2024-09-02 09:00:41 +02:00

59 lines
1.3 KiB
Matlab

M = wh.parameter.M.values(1);
datarate = wh.parameter.datarate.values(1);
sirs = wh.parameter.sir.values;
laser_linewidths = wh.parameter.laser_linewidth.values;
pnoi = wh.parameter.pn_key.values;
rop = wh.parameter.rop.values;
winlengths = wh.parameter.winlength.values(1);
cols = linspecer(numel(winlengths));
figure(44);
hold on
cntlw = 0;
for laser_linewidth = laser_linewidths
cntlw = cntlw+1;
cntsir = 0;
for sir = sirs
cntsir = cntsir+1;
for pnk = pnoi
%cnt = cnt+1;
ber_ffe = wh.getStoValue('ber_ffe',M,datarate,sir,laser_linewidth,pnk,rop,winlengths);
rrop_ffe(cntsir) = getIntersection(ber_ffe,rop);
end
end
plot(sirs,rrop_ffe,'DisplayName',['Linewidth: ',num2str(laser_linewidth.*1e-6),' MHz'],"LineWidth",1,"LineStyle","-","Marker",".","MarkerSize",10)
xlabel('Signal to Interference Ratio (dB)');
ylabel('Sensitivity in dBm');
title('Receiver Sensitivity vs. SIR');
set(gca,'Box','on');
grid on;
grid minor
legend
end
function i = getIntersection(ber,rop)
%get intersection between rop curve and hd-fec limit
hdfec = 3.8e-3 .* ones(size(ber));
i = InterX([rop;hdfec'],[rop;ber']);
if isempty(i)
i = NaN;
else
i = i(1);
end
end