database_type = 'mysql'; dataBase = 'labor_highspeed';%'C:\Users\Silas\Documents\MATLAB\Datensätze\sioe_labor\silas_labor_newdsp_newstructure.db'; db = DBHandler("dataBase", [dataBase], "type", database_type); M = 4; fp = QueryFilter(); % fp.where('Runs', 'run_id','EQUALS', 987); fp.where('Runs', 'pam_level','EQUALS', M); % fp.where('Runs', 'symbolrate','EQUALS', 150e9); % fp.where('Runs', 'fiber_length','EQUALS', 10); fp.where('Runs', 'is_mpi','EQUALS', 0); % fp.where('Runs', 'interference_path_length','EQUALS', 1000); % fp.where('Runs', 'loop_id','GREATER_THAN', 11); % fp.where('Runs', 'sir','EQUALS',18); % fp.where('Runs', 'wavelength','EQUALS', 1310); fp.where('Runs', 'db_mode','EQUALS', 1); % 0 == high preemphasis // 1 == low preemphasis fp.where('Runs', 'rop_attenuation','EQUALS', 0); fields = db.getTableFieldNames('power_state_info'); fields = [fields; db.getTableFieldNames('dashboard_ungrouped_new')]; [dataTable,~] = db.queryDB(fp, fields); cfg = struct; cfg.x_axis = 'accumulated_dispersion'; % 'symbolrate' | 'baudrate' | 'bitrate' | 'wavelength' cfg.y_axis = 'BER'; % 'BER' | 'GMI' | 'AIR' | ... cfg.group_by = {'equalizer_structure','pre_emph'}; cfg.filters = struct('is_mpi',0,'pam_level',M,'equalizer_structure',[equalizer_structure.vnle,equalizer_structure.ffe,equalizer_structure.vnle_pf_mlse,equalizer_structure.vnle_db_mlse,equalizer_structure.dfe]); cfg.y_scale = 'auto'; % auto -> log for BER*, linear otherwise cfg.outlier = 'mad'; % simple, robust; 'none' or 'pctl' also available cfg.show_raw = true; cfg.show_spread = 'none'; % 'none' or 'iqr' cfg.agg = 'mean'; % or 'median' cfg.show_precoded = 0; cfg.fec_lines = [2.2e-4 4.85e-3 2e-2]; % optional % New styling knobs cfg.plot.use_cbrewer2 = true; cfg.plot.colormap = 'Paired'; cfg.plot.paired_dark_first = false; % dark for lines, light for scatter cfg.plot.lineWidth = 2.0; cfg.plot.errWidth = 1.2; cfg.plot.scatterAlpha = 0.35; cfg.plot.legendLocation = 'best'; cfg.plot.fecLineWidth = 2.4; % thicker FEC limits plot_measurements_gpt(dataTable, cfg);