function output = mpi_recipe_dev(Scpe_sig_raw, Symbols, Tx_bits, options) %mpi_recipe_dev Minimal example recipe for the DSP job framework. % This recipe intentionally performs only light preprocessing and records % summary values. It demonstrates the recipe interface without running a % full equalizer chain. arguments Scpe_sig_raw Symbols Tx_bits options.fsym options.M options.duob_mode options.dataTable table options.userParameters struct = struct() options.debug_plots (1,1) logical = false end Scpe_sig = preprocessSignal(Scpe_sig_raw, Symbols, options.fsym, ... "mode", "auto", ... "debug_plots", options.debug_plots); mu_dc = 0; % 1e-5 dc_buffer_len = 0; ffe_buffer_len = 0; smoothing_buffer_length = options.userParameters.smoothing_length; smoothing_buffer_update = 1; eq_settings = { ... "epochs_tr", 5, ... "epochs_dd", 5, ... "len_tr", 4096*2, ... "mu_dd", 1e-1, ... "mu_tr", 0.4, ... "order", 25, ... "sps", 2, ... "decide", 0, ... "optmize_mus", 0, ... "dd_mode", 1, ... "adaption_technique", "nlms", ... "mu_dc", mu_dc}; eq_ffe = FFE(eq_settings{:}); % showLevelScatter(Scpe_sig_raw, Symbols, ... % "fsym", options.fsym, ... % "fignum", options.dataTable.run_id, ... % "normalize", true); %% % tic % ffe_results = ffe(eq_ffe, options.M, Scpe_sig, Symbols, Tx_bits, ... % "precode_mode", options.duob_mode, ... % 'showAnalysis', options.debug_plots, ... % "postFFE", [], ... % "eth_style_symbol_mapping", 0); % toc % ffe_results.metrics.print("description",'FFE'); % output.ffe_package = ffe_results; %% eq_ffe_dcr = FFE_DCremoval_adaptive_mu(eq_settings{:}, ... "dc_buffer_len",dc_buffer_len, ... "ffe_buffer_len",ffe_buffer_len,... "smoothing_buffer_length",smoothing_buffer_length,... "smoothing_buffer_update",smoothing_buffer_update); tic ffe_results_dcr = ffe(eq_ffe_dcr, options.M, Scpe_sig, Symbols, Tx_bits, ... "precode_mode", options.duob_mode, ... 'showAnalysis', options.debug_plots, ... "postFFE", [], ... "eth_style_symbol_mapping", 0); toc ffe_results_dcr.metrics.print("description",'FFE DCR'); output.ffe_dcr_package = ffe_results_dcr; end