diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
index bd89e862a8341b28fb16beb46add1f5542650b8a..7f70daca8d1223545073f01c552a3bf3afe69ba7 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
@@ -92,7 +92,6 @@ PACKAGE sdp_pkg is
   CONSTANT c_sdp_W_adc_jesd                : NATURAL := 16;
   CONSTANT c_sdp_W_fir_coef                : NATURAL := 16;
   CONSTANT c_sdp_W_subband                 : NATURAL := 18;
-  CONSTANT c_sdp_W_subband_fraction        : NATURAL := 0;  -- extra bits beteen FSub and subband equalizer / beamformer
   CONSTANT c_sdp_W_crosslet                : NATURAL := 16;
   CONSTANT c_sdp_W_beamlet_sum             : NATURAL := 18;
   CONSTANT c_sdp_W_beamlet                 : NATURAL := 8;
@@ -108,9 +107,9 @@ PACKAGE sdp_pkg is
   CONSTANT c_sdp_W_bf_weight               : NATURAL := 16;  -- = w in s(w, p), s = signed
   CONSTANT c_sdp_W_bf_weight_fraction      : NATURAL := 14;  -- = p in s(w, p)
   CONSTANT c_sdp_W_bf_weight_magnitude     : NATURAL := c_sdp_W_bf_weight - c_sdp_W_bf_weight_fraction - 1;  -- = 1
-  CONSTANT c_sdp_W_fsub_wg                 : NATURAL := 16;  -- = w in s(w, p), s = signed
-  CONSTANT c_sdp_W_fsub_wg_fraction        : NATURAL := 15;  -- = p in s(w, p)
-  CONSTANT c_sdp_W_fsub_wg_magnitude       : NATURAL := c_sdp_W_fsub_wg - c_sdp_W_fsub_wg_fraction - 1;  -- = 0
+  CONSTANT c_sdp_W_local_oscillator           : NATURAL := 16;  -- = w in s(w, p), s = signed
+  CONSTANT c_sdp_W_local_oscillator_fraction  : NATURAL := 15;  -- = p in s(w, p)
+  CONSTANT c_sdp_W_local_oscillator_magnitude : NATURAL := c_sdp_W_local_oscillator - c_sdp_W_local_oscillator_fraction - 1;  -- = 0
   CONSTANT c_sdp_N_ring_nof_mac10g         : NATURAL := 3; -- for sdp_station_xsub_ring design.
 
   -- Derived constants
@@ -130,8 +129,6 @@ PACKAGE sdp_pkg is
   CONSTANT c_sdp_P_pfb                   : NATURAL := c_sdp_S_pn / c_sdp_Q_fft;  -- = 6 PFB units, for 6 signal input pairs
   CONSTANT c_sdp_T_adc                   : TIME    := (10**6 / c_sdp_f_adc_MHz) * 1 ps;  -- = 5 ns @ 200MHz
   CONSTANT c_sdp_T_sub                   : TIME    := c_sdp_N_fft * c_sdp_T_adc;  -- = 5.12 us @ 200MHz
-  CONSTANT c_sdp_W_equalizer_product     : NATURAL := c_sdp_W_sub_weight + c_sdp_W_subband + c_sdp_W_subband_fraction - 1;  -- -1 to skip double sign bit in product
-  CONSTANT c_sdp_W_bf_product            : NATURAL := c_sdp_W_bf_weight + c_sdp_W_subband + c_sdp_W_subband_fraction - 1;  -- -1 to skip double sign bit in product
   CONSTANT c_sdp_X_sq                    : NATURAL := c_sdp_S_pn * c_sdp_S_pn;  -- = 144
   CONSTANT c_sdp_block_period            : NATURAL := c_sdp_N_fft * 1000 / c_sdp_f_adc_MHz;  -- = 5120 [ns]
   CONSTANT c_sdp_N_beamlets_sdp          : NATURAL := c_sdp_N_beamsets * c_sdp_S_sub_bf;  -- = 976
@@ -178,11 +175,7 @@ PACKAGE sdp_pkg is
     true, false, true, 23, c_sdp_W_subband, 1, 24, 1, true, 54, c_sdp_W_statistic_sz, 195313,
     c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);  -- = c_wpfb_lofar2_subbands_dts_18b
 
-  CONSTANT c_sdp_wpfb_complex_subbands : t_wpfb :=
-    (1, c_sdp_N_fft, 0, c_sdp_S_pn,
-    c_sdp_N_taps, 1, c_sdp_W_adc, 23, c_sdp_W_fir_coef,
-    true, false, false, 23, c_sdp_W_subband, 1, 24, 1, true, 54, c_sdp_W_statistic_sz, 195313,
-    c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);  -- = c_wpfb_lofar2_subbands_dts_18b
+  CONSTANT c_sdp_wpfb_complex_subbands : t_wpfb := func_wpfb_map_real_input_wpfb_parameters_to_complex_input(c_sdp_wpfb_subbands);
 
   -- DC gain of WPFB FIR filter obtained from applications/lofar2/model/run_pfir_coef.m using application = 'lofar_subband'
   -- Not used in RTL, only used in test benches to verify expected suband levels