Plots here now

This commit is contained in:
Silas Oettinghaus
2026-07-15 17:54:48 +02:00
parent eef5d2f2ea
commit 9455084711
19 changed files with 1574 additions and 1474 deletions

View File

@@ -15,11 +15,12 @@ end
%% Execution toggles
run_conventional_ffe = 1;
run_a2_tracked_levels = 1;
run_a2_residual = 1;
run_a1 = 1;
run_tracking_adaptive = 1;
run_conventional_ffe = 0;
run_hpf = 1;
run_a2_tracked_levels = 0;
run_a2_residual = 0;
run_a1 = 0;
run_tracking_adaptive = 0;
plot_output_signals = 0;
%% Shared fixed EQ settings
@@ -49,6 +50,7 @@ if plot_output_signals
"fignum", 400, ...
"normalize", true);
end
%% Conventional FFE
if run_conventional_ffe
eq_ffe = FFE_plain( ...
@@ -78,6 +80,41 @@ if run_conventional_ffe
end
end
%% Conventional FFE
if run_hpf
eq_ffe = FFE_plain( ...
"sps", eq_sps, ...
"order", eq_order, ...
"decide", false, ...
"adaption_technique", eq_adaption, ...
"len_tr", eq_len_tr, ...
"epochs_tr", eq_epochs_tr, ...
"mu_tr", eq_mu_tr, ...
"dd_mode", true, ...
"epochs_dd", eq_epochs_dd, ...
"mu_dd", 0.0012, ...
"optmize_mus", false, ...
"plot_mu_optimization", options.debug_plots, ...
"save_debug", eq_save_debug);
%%% APPLY HPF in MHZ order
f = Filter("f_cutoff",options.userParameters.hpf,"filterType","butterworth","lowpass",0,"filtdegree",4,"fs",options.fsym*2);
Scpe_sig = f.process(Scpe_sig);
storageName = "HPF_plus_conventional_FFE";
[ffe_results,equalized_signal] = runFfe(eq_ffe, "Conventional FFE", ...
Scpe_sig, Symbols, Tx_bits, options);
ffe_results = attachMpiReductionConfig(ffe_results, eq_ffe, storageName, ...
"HPF_plus_conventional_FFE", "hpf", block_update);
output.(char(storageName)) = ffe_results;
if plot_output_signals
plotEqSignals(equalized_signal,Symbols,options,400,-1);
end
end
%% A2 tracked-level decision
if run_a2_tracked_levels
eq_ffe = FFE_A2TrackedLevels( ...
@@ -92,8 +129,8 @@ if run_a2_tracked_levels
"epochs_dd", eq_epochs_dd, ...
"mu_dd", 0.012, ...
"dc_smoothing_a2", 1, ...
"dc_level_avg_bufferlength_a2", 112, ...
"dc_level_update_blocklength_a2", block_update, ...
"dc_level_avg_bufferlength_a2", 112, ... %war 112
"dc_level_update_blocklength_a2", block_update, ... % war block_update
"dc_level_weights_a2", [1], ...
"save_debug", eq_save_debug);
@@ -190,7 +227,7 @@ if run_tracking_adaptive
"optmize_mus", false, ...
"optimize_dc_tracking_params", true, ...
"dc_tracking_optimization_len", 2^15, ...
"dc_tracking_optimization_max_evals", 20, ...
"dc_tracking_optimization_max_evals", 30, ...
"plot_mu_optimization", options.debug_plots, ...
"save_debug", eq_save_debug);

View File

@@ -6,10 +6,12 @@ function beautifyBERplot(options)
% beautifyBERplot
% beautifyBERplot("polyfit",true,"polyorder",1)
% beautifyBERplot("polyfit",true,"fitmethod","pchip")
% beautifyBERplot("changemarkers",true)
arguments
options.logscale (1,1) logical = 1
options.setmarkers (1,1) logical = 1
options.changemarkers (1,1) logical = 0
options.setcolors (1,1) logical = 1
options.polyfit (1,1) logical = 0
options.polyorder (1,1) double = 2
@@ -42,9 +44,11 @@ if n > 0
end
end
markers = {'o','s','o','o','^','v','d','>'};
lw = 0.8;
ms = 2;
% Simple marker set that exports cleanly with common MATLAB-to-TikZ workflows.
markers = {'o','square','diamond','^','v','>','<','pentagram'};
lw = 1;
ms = 5;
applyMarkers = options.setmarkers || options.changemarkers;
% ---------------------------------------------------------
% Apply line/scatter + marker styling
@@ -59,8 +63,8 @@ for i = 1:n
dataObj.Color = cmap(i,:);
end
if options.setmarkers
if strcmp(dataObj.Marker,'none')
if applyMarkers
if options.changemarkers || strcmp(dataObj.Marker,'none')
dataObj.Marker = markers{mod(i-1,numel(markers))+1};
end
dataObj.MarkerSize = ms;
@@ -80,11 +84,11 @@ for i = 1:n
end
end
if options.setmarkers
if strcmp(dataObj.Marker,'none')
if applyMarkers
if options.changemarkers || strcmp(dataObj.Marker,'none')
dataObj.Marker = markers{mod(i-1,numel(markers))+1};
end
dataObj.SizeData = ms^2;
dataObj.SizeData = ms;
end
end
end

View File

@@ -22,24 +22,8 @@ matlab2tikz(char(filename), ...
'tick label style={/pgf/number format/fixed, /pgf/number format/1000 sep={}}', ...
'every axis/.append style={font=\scriptsize}', ...
'legend columns=1', ...
'legend style={at={(0.02,0.98)}, anchor=north west, font=\scriptsize, draw=black!100, rounded corners=2pt, inner sep=1pt, fill=white, column sep=2pt}' ...
'legend style={at={(0.98,0.98)}, anchor=north east, font=\scriptsize, draw=black!100, rounded corners=2pt, inner sep=1pt, fill=white, column sep=2pt}' ...
});
% matlab2tikz(char(filename), ...
% 'width','\fwidth', ...
% 'height','\fheight', ...
% 'showInfo',false, ...
% 'extraAxisOptions',{ ...
% 'legend style={font=\footnotesize}', ...
% 'xlabel style={font=\color{white!15!black},font=\small},',...
% 'ylabel style={font=\color{white!15!black},font=\small},',...
% 'legend columns=1', ...
% 'every axis/.append style={font=\scriptsize}',...
% 'legend columns=1',...
% 'legend style={at={(0.02,0.98)},font=\footnotesize,draw=black!60,rounded corners=2pt,inner sep=1pt,fill=white,column sep=6pt,anchor= north west}',...
% 'legend style={at={(0.02,0.98)},draw=white!0!white,font=\scriptsize,inner sep=0.1pt,fill=white,column sep=1pt,anchor= north west}',...
% 'every axis/.append style={font=\scriptsize}',...
% 'scaled ticks=false', ...
% 'tick label style={/pgf/number format/fixed, /pgf/number format/1000 sep={}}' ...
% });
end