if 0 uloops = struct; uloops.precomp = [0]; uloops.db_precode = [0,1]; uloops.bitrate = [420].*1e9; %[300,330,360,390,420,450,480] % uloops.laser_wavelength = [1293,1297.5,1302,1306.5,1310,1313.4,1318,1322.7,1327.4]; uloops.laser_wavelength = [1293, 1302,1310,1318,1327.4]; uloops.M = [4,6,8]; uloops.link_length = [5]; % 1,2,3,5,6,8,10 wh = DataStorage(uloops); wh.addStorage("ber"); wh = submit_simulations(wh,"parallel",1,"simulation_mode",0); end col = cbrewer2('Set2',6);% col=linspecer(5); cnt = 1; m = 8; % a = wh.getStoValue('ber',1, 0, uloops.bitrate , uloops.laser_wavelength, m, uloops.link_length); % ber_vnle = cellfun(@(x) x.vnle_pf_package{1,1}.ber_vnle, a); a = wh.getStoValue('ber',0, 0, uloops.bitrate , uloops.laser_wavelength, m, uloops.link_length); ber_mlse = cellfun(@(x) x.vnle_pf_package{1,1}.ber_mlse, a); a = wh.getStoValue('ber',0, 1, uloops.bitrate , uloops.laser_wavelength, m, uloops.link_length); ber_db = cellfun(@(x) x.dbtgt_package{1,1}.ber, a); x_ax = uloops.laser_wavelength; figure(21) hold on % title(sprintf('%d km | %d GBd | PAM %d',uloops.link_length,uloops.bitrate/log2(m).*1e-9,m)); % plot(x_ax,ber_vnle,'DisplayName',sprintf('Tx precomp. + VNLE'),'LineStyle','-','HandleVisibility','on','Color',col(cnt+1,:)); plot(x_ax,ber_mlse,'DisplayName',sprintf('VNLE + Postfilter + MLSE'),'LineStyle','-','HandleVisibility','on','Color',colorsets.DeepRed.RGB); % plot(x_ax,ber_db,'DisplayName',sprintf('DB tgt. VNLE + MLSE'),'LineStyle','-','HandleVisibility','on','Color',col(cnt,:)); xticks(x_ax([1:1:end])); set(gca, 'YScale', 'log'); ylim([5e-5 0.4]); xlim([min(x_ax)-3, max(x_ax)+3 ]); yline([3.8e-3, 2e-2],'HandleVisibility','off'); legend beautifyBERplot(); xlabel('Number of 1st order coeff.'); ylabel('BER'); cnt = cnt+1;