58 lines
2.3 KiB
Matlab
58 lines
2.3 KiB
Matlab
|
|
|
|
Scpe_sig = load("imdd_simulation\projects\ECOC_2025\dsp_test\pam4_scopesignal.mat");Scpe_sig = Scpe_sig.Scpe_sig;
|
|
Tx_bits = load("imdd_simulation\projects\ECOC_2025\dsp_test\pam4_bits.mat");Tx_bits = Tx_bits.Tx_bits;
|
|
Symbols = load("imdd_simulation\projects\ECOC_2025\dsp_test\pam4_symbols.mat");Symbols = Symbols.Symbols;
|
|
|
|
eq_ = FFE_DCremoval("epochs_tr",5,"epochs_dd",3,"len_tr",4096*2,"mu_dd",1e-5,"mu_tr",0,"order",50,"sps",2,"decide",0,"mu_dc",0.005,"dc_buffer_len",1);
|
|
|
|
savePath = 'Z:\2025\ECOC Silas\ecoc_2025\';
|
|
databasePath = 'C:\Users\Silas\Documents\MATLAB\imdd_simulation\projects\ECOC_2025\';
|
|
database_name = 'ecoc2025_loops.db';
|
|
db = DBHandler("type","mysql");
|
|
|
|
params = (logspace(-6,-2,20));
|
|
params = floor((logspace(2,3,20)));
|
|
params = 224;
|
|
|
|
for i = 1:length(params)
|
|
|
|
eq_ = FFE_DCremoval_adaptive_mu("epochs_tr",5,"epochs_dd",3,"len_tr",4096*2,"mu_dd",...
|
|
0.0002,"mu_tr",0,"order",25,"sps",2,"decide",0,...
|
|
"mu_dc",0.005,"dc_buffer_len",224, ...
|
|
"ffe_buffer_len",1,...
|
|
"smoothing_buffer_length",0,...
|
|
"smoothing_buffer_update",224);
|
|
|
|
result = vnle(eq_,4,Scpe_sig,Symbols,Tx_bits,"precode_mode",db_mode.no_db,'showAnalysis',1,"postFFE",[],"eth_style_symbol_mapping",0);
|
|
ber_ffe(i) = result.ber_vnle;
|
|
fprintf(" FFE Results: %.2e\n", ber_ffe(i));
|
|
|
|
db.addProcessingResult(run_id, result.resultsVNLE, result.equalizerConfigVNLE);
|
|
|
|
% eq_ = FFE_adaptive_decision("epochs_tr",5,"epochs_dd",3,"len_tr",4096*2,"mu_dd",...
|
|
% 0.0003,"mu_tr",0,"order",50,"sps",2,"decide",1,"buffer_length",params(i));
|
|
%
|
|
% result = vnle(eq_,4,Scpe_sig,Symbols,Tx_bits,"precode_mode",db_mode.no_db,'showAnalysis',1,"postFFE",[],"eth_style_symbol_mapping",0);
|
|
% ber_dc(i) = result.ber_vnle;
|
|
%
|
|
% fprintf(" FFE+dc tr. Results: %.2e\n", ber_dc(i));
|
|
|
|
end
|
|
|
|
figure(103435)
|
|
hold on;
|
|
% scatter(params,ber_dc,15,'Marker','o','LineWidth',1,'DisplayName','DC tracking');
|
|
% [a,b]=min(ber_dc);
|
|
% scatter(params(b),a,45,'Marker','x','MarkerEdgeColor','r','LineWidth',1);
|
|
|
|
scatter(params,ber_ffe,15,'Marker','square','LineWidth',1);
|
|
[a,b]=min(ber_ffe);
|
|
scatter(params(b),a,45,'Marker','x','MarkerEdgeColor','r','LineWidth',1,'DisplayName','FFE');
|
|
|
|
legend('Interpreter', 'latex');
|
|
xlabel('Occurences');
|
|
ylabel('BER');
|
|
grid on;
|
|
beautifyBERplot;
|
|
ylim([1e-4,0.1 ]) |