99 lines
3.5 KiB
Matlab
99 lines
3.5 KiB
Matlab
|
|
|
|
|
|
% 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");
|
|
% db = DBHandler("pathToDB", [databasePath, database_name],"type","sqlite");
|
|
dsp_options.append_to_db = 0;
|
|
dsp_options.max_occurences = 15;
|
|
dsp_options.database_type = 'mysql';
|
|
dsp_options.dataBase = 'labor';
|
|
dsp_options.storage_path = 'W:\labdata\ECOC Silas\ecoc_2025\';
|
|
dsp_options.server = "192.168.178.192";% "134.245.243.254";
|
|
dsp_options.user = "silas";
|
|
dsp_options.password = "silas";
|
|
|
|
db = DBHandler("dataBase", [dsp_options.dataBase],...
|
|
"type", dsp_options.database_type,...
|
|
"server", dsp_options.server,...
|
|
"user", dsp_options.user, "password", dsp_options.password);
|
|
|
|
fp = QueryFilter();
|
|
fp.where('Runs', 'symbolrate', 'EQUALS', 112e9); % [224,336,360,390,420,448]
|
|
fp.where('Runs', 'fiber_length', 'EQUALS', 0);
|
|
fp.where('Runs', 'db_mode', 'EQUALS', '"no_db"');
|
|
% fp.where('Runs', 'interference_attenuation', 'EQUALS', []);
|
|
% fp.where('Runs', 'interference_path_length', 'EQUALS', []);
|
|
fp.where('Runs', 'is_mpi', 'EQUALS', 1);
|
|
fp.where('Runs', 'pam_level', 'EQUALS', 4);
|
|
fp.where('Runs', 'wavelength', 'EQUALS', 1310);
|
|
% fp.where('Runs', 'precomp_amp', 'EQUALS', []);
|
|
% fp.where('Runs', 'signal_attenuation', 'EQUALS', []);
|
|
% fp.where('Runs', 'v_awg', 'EQUALS', []);
|
|
fp.where('Runs', 'v_bias', 'EQUALS', 2.65);
|
|
|
|
[dataTable, ~] = db.queryDB(fp, db.getTableFieldNames('Runs'));
|
|
|
|
|
|
num_occ = 15;
|
|
run_par = false;
|
|
run_id = dataTable.run_id;
|
|
params = struct();
|
|
|
|
% slow DC tracking
|
|
params.dc_buffer_len = 224;
|
|
params.ffe_buffer_len = 1;
|
|
params.smoothing_buffer_length = 0;
|
|
params.smoothing_buffer_update = 0;
|
|
params.mu_dc = 0.005;
|
|
|
|
futures_list = parallel.FevalFuture.empty();
|
|
for id = 1:length(dataTable.run_id)
|
|
run_id = dataTable.run_id(id);
|
|
[out, futures_list(id)] = submit_dsp(run_id, databasePath, database_name, savePath,"parallel",run_par,'max_occurences',num_occ,'paramstruct',params);
|
|
end
|
|
|
|
% ideal DC tracking
|
|
params.dc_buffer_len = 1;
|
|
params.ffe_buffer_len = 1;
|
|
params.smoothing_buffer_length = 0;
|
|
params.smoothing_buffer_update = 0;
|
|
params.mu_dc = 0.005;
|
|
|
|
|
|
futures_list = parallel.FevalFuture.empty();
|
|
for id = 1:length(dataTable.run_id)
|
|
run_id = dataTable.run_id(id);
|
|
[out, futures_list(id)] = submit_dsp(run_id, databasePath, database_name, savePath,"parallel",run_par,'max_occurences',num_occ,'paramstruct',params);
|
|
end
|
|
|
|
% DC smoothing
|
|
params.dc_buffer_len = 1;
|
|
params.ffe_buffer_len = 1;
|
|
params.smoothing_buffer_length = 4096;
|
|
params.smoothing_buffer_update = 224;
|
|
params.mu_dc = 0.00;
|
|
|
|
futures_list = parallel.FevalFuture.empty();
|
|
for id = 1:length(dataTable.run_id)
|
|
run_id = dataTable.run_id(id);
|
|
[out, futures_list(id)] = submit_dsp(run_id, databasePath, database_name, savePath,"parallel",run_par,'max_occurences',num_occ,'paramstruct',params);
|
|
end
|
|
|
|
% only FFE
|
|
params.dc_buffer_len = 1;
|
|
params.ffe_buffer_len = 1;
|
|
params.smoothing_buffer_length = 0;
|
|
params.smoothing_buffer_update = 0;
|
|
params.mu_dc = 0.00;
|
|
|
|
futures_list = parallel.FevalFuture.empty();
|
|
for id = 1:length(dataTable.run_id)
|
|
run_id = dataTable.run_id(id);
|
|
[out, futures_list(id)] = submit_dsp(run_id, databasePath, database_name, savePath,"parallel",run_par,'max_occurences',num_occ,'paramstruct',params);
|
|
end
|
|
|
|
|