diff --git a/libraries/dsp/wpfb/src/vhdl/wpfb_pkg.vhd b/libraries/dsp/wpfb/src/vhdl/wpfb_pkg.vhd index 62105ae77db2b3485fdd871a94a657cf725b13e9..df393099f59b8a03f4552ca659018513b4ca3ad2 100644 --- a/libraries/dsp/wpfb/src/vhdl/wpfb_pkg.vhd +++ b/libraries/dsp/wpfb/src/vhdl/wpfb_pkg.vhd @@ -71,11 +71,13 @@ package wpfb_pkg is end record; ----------------------------------------------------------------------------- - -- Map WPFB parameters to FIL parameter and to FFT parameters + -- Map WPFB parameters ----------------------------------------------------------------------------- function func_wpfb_map_wpfb_parameters_to_fil_ppf(g_wpfb : t_wpfb) return t_fil_ppf; function func_wpfb_map_wpfb_parameters_to_fft(g_wpfb : t_wpfb) return t_fft; + function func_wpfb_map_real_input_wpfb_parameters_to_complex_input(g_wpfb : t_wpfb) return t_wpfb; + ----------------------------------------------------------------------------- -- LOFAR2 subband filter ----------------------------------------------------------------------------- @@ -286,6 +288,16 @@ package body wpfb_pkg is return c_fft; end func_wpfb_map_wpfb_parameters_to_fft; + + function func_wpfb_map_real_input_wpfb_parameters_to_complex_input(g_wpfb : t_wpfb) return t_wpfb is + variable v_wpfb : t_wpfb := g_wpfb; + begin + v_wpfb.nof_wb_streams := c_nof_complex * v_wpfb.nof_wb_streams; + v_wpfb.use_separate := false; + return v_wpfb; + end func_wpfb_map_real_input_wpfb_parameters_to_complex_input; + + function func_wpfb_subband_scale_w(wpfb : t_wpfb) return natural is begin return wpfb.fft_out_dat_w + wpfb.fft_out_gain_w - (wpfb.fil_in_dat_w + wpfb.fil_backoff_w);