während Diss, 400G plots

This commit is contained in:
Silas Oettinghaus
2026-08-13 10:22:01 +02:00
parent 7a9deaeb0c
commit c77327d39f
27 changed files with 1769 additions and 248 deletions

View File

@@ -50,10 +50,10 @@ eq_signal_hd = PAMmapper(M, 0).quantize(eq_signal_sd);
%% Calculate performance metrics
[snr, snr_lvl] = calc_snr(tx_symbols.signal, eq_noise.signal);
% [gmi] = calc_air(eq_signal_sd, tx_symbols, "skip_front", 10000, "skip_end", 10000);
[gmi] = calc_ngmi(eq_signal_sd,tx_symbols);
[gmi,ngmi] = calc_ngmi(eq_signal_sd,tx_symbols);
gmi = max(gmi,0);
air = tx_symbols.fs .* floor(log2(double(M))*10)/10 .* gmi ./ log2(double(M));
air = tx_symbols.fs .* floor(log2(double(M))*10)/10 .* ngmi;
[evm_total, evm_lvl] = calc_evm(eq_signal_sd, tx_symbols);
[std_total, std_lvl] = calc_std(eq_signal_sd, tx_symbols);
[std_rxraw_total, std_rxraw_lvl] = calc_std(rx_signal.resample("fs_out", tx_symbols.fs), tx_symbols);

View File

@@ -86,7 +86,7 @@ if options.duob_mode ~= db_mode.db_encoded
[vnle_results, equalized_signal] = runFfe(eq_vnle, "VNLE", ...
Scpe_sig, Symbols, Tx_bits, options);
vnle_results.config.equalizer_structure = equalizer_structure.ffe;
ffe_results.recipe_config = collectRecipeConfig("vnle", eq_ffe, p, options);
ffe_results.recipe_config = collectRecipeConfig("vnle", eq_vnle, p, options);
output.vnle_package = vnle_results;
if p.plot_output_signals
@@ -273,14 +273,14 @@ end
function p = defaultRecipeParameters()
p = struct();
p.run_ffe = false;
p.run_vnle = false;
p.run_dfe = false;
p.run_vnle_mlse = true;
p.run_dbtgt = true;
p.run_ml_mlse = false; % non-encoded and precoded branches
p.run_ml_mlse_db = false; % db_encoded: ML-based MLSE
p.run_mlse_db = true; % db_encoded: conventional MLSE
p.run_ffe = 0;
p.run_vnle = 0;
p.run_dfe = 0;
p.run_vnle_mlse = 1;
p.run_dbtgt = 0;
p.run_ml_mlse = 0; % non-encoded and precoded branches
p.run_ml_mlse_db = 0; % db_encoded: ML-based MLSE
p.run_mlse_db = 1; % db_encoded: conventional MLSE
p.preprocess_mode = "auto";