Code for Deliverable 05
This commit is contained in:
71
projects/MPI_August/auswertung/dc_removal_window_length.m
Normal file
71
projects/MPI_August/auswertung/dc_removal_window_length.m
Normal file
@@ -0,0 +1,71 @@
|
||||
M = wh.parameter.M.values(1);
|
||||
datarate = wh.parameter.datarate.values(1);
|
||||
sirs = wh.parameter.sir.values;
|
||||
laser_linewidth = wh.parameter.laser_linewidth.values(1);
|
||||
pnoi = wh.parameter.pn_key.values;
|
||||
rop = wh.parameter.rop.values;
|
||||
winlengths = wh.parameter.winlength.values;
|
||||
|
||||
cols = linspecer(numel(winlengths));
|
||||
figure(44);
|
||||
hold on
|
||||
|
||||
cnt = 0;
|
||||
for winlength = winlengths
|
||||
cnt = cnt+1;
|
||||
for sir = sirs
|
||||
|
||||
for pnk = pnoi
|
||||
|
||||
|
||||
|
||||
%cnt = cnt+1;
|
||||
ber_ffe = wh.getStoValue('ber_ffe',M,datarate,sir,laser_linewidth,pnk,rop,winlength);
|
||||
rrop_ffe(cnt,pnk) = getIntersection(ber_ffe,rop);
|
||||
|
||||
|
||||
if sum(ber_ffe)
|
||||
|
||||
plot(rop,ber_ffe',"LineWidth",0.5,"LineStyle","-","Marker",".","MarkerSize",15,"DisplayName",['win len: ',num2str(winlength), ' '],"Color",cols(cnt,:));
|
||||
yline(3.8e-3,'DisplayName','HD-FEC','LineStyle','--','HandleVisibility','off');
|
||||
xlabel('Received Optical Power (dBm)');
|
||||
ylabel('Bit Error Rate (BER)');
|
||||
title('Bit Error Rate vs. ROP');
|
||||
set(gca,'yscale','log');
|
||||
set(gca,'Box','on');
|
||||
grid on;
|
||||
grid minor
|
||||
legend
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
figure(123)
|
||||
hold on
|
||||
plot(winlengths,mean(rrop_ffe,2),'DisplayName',['Linewidth: 10 MHz'],"LineWidth",1,"LineStyle","-","Marker",".","MarkerSize",10)
|
||||
xlabel('Window Length');
|
||||
ylabel('Sensitivity in dBm');
|
||||
title('Receiver Sensitivity vs. Window Length');
|
||||
set(gca,'Box','on');
|
||||
grid on;
|
||||
grid minor
|
||||
legend
|
||||
|
||||
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user