# Conflicts:
#	projects/ECOC_2025/dsp_run_id.m
#	projects/ECOC_2025/dsp_standalone.m
This commit is contained in:
Silas Labor Zizou
2025-04-16 09:21:52 +02:00
4 changed files with 140 additions and 17 deletions

View File

@@ -12,7 +12,8 @@ arguments
options.storage_path
end
database = DBHandler("pathToDB",[options.database_path,options.database_name],"type",'mysql');
% database = DBHandler("pathToDB",[options.database_path,options.database_name],"type","sqlite");
database = DBHandler("type","mysql");
filterParams = database.tables;
filterParams.Configurations = struct('run_id', run_id);
@@ -47,6 +48,12 @@ mu_ffe3 = 0.001;
mu_dfe = 0.0004;
mu_dc = 0.00;
% mu_ffe1 = 0;
% mu_ffe2 = 0;
% mu_ffe3 = 0;
% mu_dfe =0;
% mu_dc = 0.00;
mu_ffe = [mu_ffe1 mu_ffe2 mu_ffe3];
vnle_order=[vnle_order1,vnle_order2,vnle_order3];
@@ -74,9 +81,6 @@ vnle_pf_package = {};
vnle_dfe_package = {};
dbtgt_package = {};
vnle_pf =1;
db_tgt = 0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Tx_signal = load([options.storage_path, char(dataTable.tx_signal_path)]);
@@ -133,6 +137,8 @@ for occ = 1:record_realizations
if duob_mode ~= db_mode.db_encoded
vnle_pf = 1;
dbtgt = 0;
% %%%%% VNLE + DFE %%%%
if 0
@@ -157,7 +163,7 @@ for occ = 1:record_realizations
end
%%%%% Duobinary Targeting %%%%
if db_tgt
if dbtgt
[result] = duobinary_target(eq_, mlse_db_, M, Scpe_sig, Symbols, Tx_bits, "precode_mode", duob_mode,'showAnalysis',0,"postFFE",[]);
dbtgt_package{occ} = result;
@@ -169,19 +175,18 @@ for occ = 1:record_realizations
% fprintf("BER VNLE: %.2e | %.2e; BER MLSE: %.2e | %.2e; BER DB tgt: %.2e | %.2e \n",vnle_pf_package{occ}.resultsVNLE.BER,vnle_pf_package{occ}.resultsVNLE.BER_precoded ,vnle_pf_package{occ}.resultsMLSE.BER,vnle_pf_package{occ}.resultsMLSE.BER_precoded,dbtgt_package{occ}.resultsDBtgt.BER,dbtgt_package{occ}.resultsDBtgt.BER_precoded)
% % fprintf("BER VNLE: %.2e | %.2e; BER MLSE: %.2e | %.2e \n",vnle_pf_package{occ}.resultsVNLE.BER,vnle_pf_package{occ}.resultsVNLE.BER_precoded ,vnle_pf_package{occ}.resultsMLSE.BER,vnle_pf_package{occ}.resultsMLSE.BER_precoded);
occ = 1; % or whatever your loop index is
if vnle_pf
occ = 1; % or whatever your loop index is
% Extract VNLE results for readability
vnle = vnle_pf_package{occ}.resultsVNLE;
mlse = vnle_pf_package{occ}.resultsMLSE;
end
if db_tgt
dbtgt = dbtgt_package{occ}.resultsDBtgt;
end
% Print header
fprintf("==== EQUALIZATION RUN-ID %d | PAM-%d | %.2f GBd ====\n\n", run_id, M, Symbols.fs.*1e-9);
if vnle_pf
% Print header
fprintf("==== EQUALIZATION RUN-ID %d | PAM-%d | %.2f GBd ====\n\n", run_id, M, Symbols.fs.*1e-9);
% VNLE Results
fprintf(">> VNLE Results:\n");
fprintf(" BER %.2e\n", vnle.BER);
@@ -199,7 +204,9 @@ for occ = 1:record_realizations
fprintf(" Channel Alpha : %.2f\n", mlse.Alpha);
fprintf("\n");
end
if db_tgt
if dbtgt
dbtgt = dbtgt_package{occ}.resultsDBtgt;
% DB Target Results
fprintf(">> DB Target Results:\n");
fprintf(" BER: %.2e\n", dbtgt.BER);