% 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