58 lines
2.0 KiB
Matlab
58 lines
2.0 KiB
Matlab
% basePath = 'C:\Users\Silas\Documents\MATLAB\Datensätze\sioe_labor\';
|
|
% db = DBHandler("pathToDB",[basePath,'silas_labor.db']);
|
|
if 0
|
|
|
|
uloops = struct;
|
|
uloops.precomp = [0];
|
|
uloops.db_precode = [0];
|
|
uloops.bitrate = [390].*1e9; %[300,330,360,390,420,450,480]
|
|
uloops.laser_wavelength = [1310];
|
|
uloops.M = [4];
|
|
uloops.link_length = [2]; % 1,2,3,5,6,8,10
|
|
uloops.vnle_order1 = [5,10:10:100];
|
|
uloops.vnle_order2 = [0];
|
|
uloops.vnle_order3 = [0];
|
|
|
|
wh = DataStorage(uloops);
|
|
wh.addStorage("ber");
|
|
|
|
wh = submit_simulations(wh,"parallel",1,"simulation_mode",0);
|
|
|
|
end
|
|
|
|
|
|
col = cbrewer2('spectral',6);%
|
|
col=linspecer(5);
|
|
cnt = 1;
|
|
for n3 = uloops.vnle_order3
|
|
|
|
a = wh.getStoValue('ber',uloops.precomp, uloops.db_precode, uloops.bitrate , uloops.laser_wavelength, uloops.M, uloops.link_length,...
|
|
uloops.vnle_order1,...
|
|
uloops.vnle_order2,...
|
|
n3);
|
|
|
|
ber_vnle = cellfun(@(x) x.vnle_pf_package{1,1}.ber_vnle, a);
|
|
ber_mlse = cellfun(@(x) x.vnle_pf_package{1,1}.ber_mlse, a);
|
|
ber_db = cellfun(@(x) x.dbtgt_package{1,1}.ber, a);
|
|
log_bers = log10(ber_vnle + 1e-12);
|
|
|
|
figure(20)
|
|
hold on
|
|
title(sprintf('%d km | %d nm | PAM %d',uloops.link_length,wavelength,uloops.M));
|
|
% plot(uloops.vnle_order1,ber_vnle,'DisplayName',sprintf('Tx precomp. + VNLE'),'LineStyle','-','HandleVisibility','on','Color',col(cnt,:));
|
|
plot(uloops.vnle_order1,ber_mlse,'DisplayName',sprintf('VNLE + Postfilter + ;MLSE'),'LineStyle','-','HandleVisibility','on','Color',col(cnt,:));
|
|
plot(uloops.vnle_order1,ber_db,'DisplayName',sprintf('DB tgt. VNLE + MLSE'),'LineStyle','-','HandleVisibility','on','Color',col(cnt+2,:));
|
|
xticks(uloops.vnle_order1([1:1:end]));
|
|
set(gca, 'YScale', 'log');
|
|
ylim([5e-5 0.4]);
|
|
xlim([min(uloops.vnle_order1), max(uloops.vnle_order1) ]);
|
|
yline([3.8e-3, 2e-2],'HandleVisibility','off');
|
|
legend
|
|
beautifyBERplot();
|
|
xlabel('Number of 1st order coeff.');
|
|
ylabel('BER');
|
|
|
|
cnt = cnt+1;
|
|
end
|
|
|