Changes from mwork PC.

PDP 2025

MPI analysis

new focus on database and SQL
This commit is contained in:
Silas Oettinghaus
2025-03-21 08:11:40 +01:00
parent 402e491506
commit 74066d0669
36 changed files with 2234 additions and 620 deletions

View File

@@ -0,0 +1,68 @@
% 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 = [330,390,450].*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.alpha = [0:0.1:1];
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 br = uloops.bitrate
a = wh_burg.getStoValue('ber',uloops.precomp, uloops.db_precode, br , uloops.laser_wavelength, uloops.M, uloops.link_length);
ber_mlse = cellfun(@(x) x.vnle_pf_package{1,1}.ber_mlse, a);
alpha = cellfun(@(x) x.vnle_pf_package{1,1}.pf.coefficients, a,'UniformOutput', false);
figure(23)
hold on
scatter(alpha{1}(2),ber_mlse,100,'MarkerEdgeColor',col(cnt,:),'Marker','x','LineWidth',2,'HandleVisibility','off');
cnt = cnt+1;
end
cnt = 1;
alpha = [];
for br = uloops.bitrate
a = wh_alphas.getStoValue('ber',uloops.precomp, uloops.db_precode, br , uloops.laser_wavelength, uloops.M, uloops.link_length, [0:0.1:1]);
ber_mlse = cellfun(@(x) x.vnle_pf_package{1,1}.ber_mlse, a);
x_ax = [0:0.1:1];
figure(23)
hold on
% title(sprintf('%d km | %d nm | PAM %d',uloops.link_length,wavelength,uloops.M));
plot(x_ax,ber_mlse,'DisplayName',sprintf(' %d GBps PAM 4',br.*1e-9),'LineStyle','-','HandleVisibility','on','Color',col(cnt,:));
xticks(x_ax);
set(gca, 'YScale', 'log');
ylim([1e-5 0.4]);
xlim([min(x_ax), max(x_ax) ]);
yline([3.8e-3, 2e-2],'HandleVisibility','off');
legend
beautifyBERplot();
xlabel('Channel $\alpha$');
ylabel('BER');
cnt = cnt+1;
end

View File

@@ -0,0 +1,57 @@
% 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

View File

@@ -0,0 +1,50 @@
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;

View File

@@ -0,0 +1,70 @@
% 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 = [300,330,360,390,420,450,480].*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 = [50];
uloops.vnle_order2 = [7];
uloops.vnle_order3 = [7];
uloops.pf_ncoeffs = [1,2,3];
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;
alpha = [];
for n = uloops.pf_ncoeffs
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,...
uloops.vnle_order3,...
n);
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);
% PF = cellfun(@(x) x.vnle_pf_package{1,1}.pf.coefficients, a,'UniformOutput',false);
%
% showTransferFunction(PF{3}.coefficients,"fignum",12,"color",clr.Set1.red,"DisplayName",['360 GBd']);
%
% showTransferFunction(PF{4}.coefficients,"fignum",12,"color",clr.Set1.blue,"DisplayName",['390 GBd']);
%
% showTransferFunction(PF{5}.coefficients,"fignum",12,'color',clr.Set1.green,"DisplayName",['420 GBd']);
% ber_db = cellfun(@(x) x.dbtgt_package{1,1}.ber, a);
x_ax = uloops.bitrate.*1e-9;
figure(23)
hold on
title(sprintf('%d km | %d nm | PAM %d',uloops.link_length,wavelength,uloops.M));
if n==1
plot(x_ax,ber_vnle,'DisplayName',sprintf('Tx precomp. + VNLE'),'LineStyle','-','HandleVisibility','on','Color',col(cnt+4,:));
end
plot(x_ax,ber_mlse,'DisplayName',sprintf('VNLE + Postfilter + ;MLSE'),'LineStyle','-','HandleVisibility','on','Color',col(cnt,:));
% plot(x_ax,ber_db,'DisplayName',sprintf('DB tgt. VNLE + MLSE'),'LineStyle','-','HandleVisibility','on','Color',col(cnt+2,:));
xticks(x_ax([1:1:end]));
set(gca, 'YScale', 'log');
ylim([1e-5 0.4]);
xlim([min(x_ax(2:end)), max(x_ax) ]);
yline([3.8e-3, 2e-2],'HandleVisibility','off');
legend
beautifyBERplot();
xlabel('Gross Bitrate in Gbps');
ylabel('BER');
cnt = cnt+1;
end