% 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