From 6f3d7ad7228026f0f517e1d97ecef182e99f75e5 Mon Sep 17 00:00:00 2001 From: Eric Kooistra <kooistra@astron.nl> Date: Mon, 9 Jan 2023 10:11:59 +0100 Subject: [PATCH] Use fft_out_gain_w = 2b, to have W_fsub_gain = W_fft_proc = 5b. --- .../lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd | 13 ++++++++++--- libraries/dsp/wpfb/src/vhdl/wpfb_pkg.vhd | 10 +++++++++- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd index cfd9043204..c9f096d437 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd @@ -99,7 +99,7 @@ PACKAGE sdp_pkg is CONSTANT c_sdp_W_statistic : NATURAL := 64; CONSTANT c_sdp_W_statistic_sz : NATURAL := 2; -- = c_sdp_W_statistic / c_word_w CONSTANT c_sdp_W_sub_weight : NATURAL := 16; -- = w in s(w, p), s = signed - CONSTANT c_sdp_W_sub_weight_fraction : NATURAL := 13; -- = p in s(w, p) + CONSTANT c_sdp_W_sub_weight_fraction : NATURAL := 14; -- = p in s(w, p) CONSTANT c_sdp_W_sub_weight_magnitude : NATURAL := c_sdp_W_sub_weight - c_sdp_W_sub_weight_fraction - 1; -- = 2 CONSTANT c_sdp_W_beamlet_scale : NATURAL := 16; -- = w in u(w, p), u = unsigned CONSTANT c_sdp_W_beamlet_scale_fraction : NATURAL := 15; -- = p in u(w, p) @@ -169,11 +169,18 @@ PACKAGE sdp_pkg is -- . g_fft_out_gain_w = 1 (compensate for fil_backoff_w = 1) -- . g_fft_stage_dat_w = 24 -- . g_fft_guard_w = 1 + --CONSTANT c_sdp_wpfb_subbands : t_wpfb := + -- (1, c_sdp_N_fft, 0, c_sdp_P_pfb, + -- c_sdp_N_taps, 1, c_sdp_W_adc, 23, c_sdp_W_fir_coef, + -- 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 + + -- L2TS CONSTANT c_sdp_wpfb_subbands : t_wpfb := (1, c_sdp_N_fft, 0, c_sdp_P_pfb, c_sdp_N_taps, 1, c_sdp_W_adc, 23, c_sdp_W_fir_coef, - 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 + true, false, true, 23, c_sdp_W_subband, 2, 24, 1, true, 54, c_sdp_W_statistic_sz, 195313, + c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); -- = c_wpfb_lofar2_subbands_l2ts_18b CONSTANT c_sdp_wpfb_complex_subbands : t_wpfb := func_wpfb_map_real_input_wpfb_parameters_to_complex_input(c_sdp_wpfb_subbands); diff --git a/libraries/dsp/wpfb/src/vhdl/wpfb_pkg.vhd b/libraries/dsp/wpfb/src/vhdl/wpfb_pkg.vhd index df393099f5..b175a1a1cf 100644 --- a/libraries/dsp/wpfb/src/vhdl/wpfb_pkg.vhd +++ b/libraries/dsp/wpfb/src/vhdl/wpfb_pkg.vhd @@ -82,6 +82,8 @@ package wpfb_pkg is -- LOFAR2 subband filter ----------------------------------------------------------------------------- + -- Can use guard_w = 1, because fil_backoff_w = 1 already provides sufficient input margin + -- Fsub settings: -- . Settings used on LTS and DTS until at least March 2022 constant c_wpfb_lofar2_subbands_lts_2021 : t_wpfb := (1, 1024, 0, 6, @@ -97,7 +99,7 @@ package wpfb_pkg is true, false, true, 23, 18, 1, 24, 1, true, 54, 2, 195313, c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); - -- . Settings used on DTS with fft_out_dat_w = 19b, to preserve FFT processing gain of 4.5 bits + -- . Settings used in tb_tb_verify_pfb_wg with fft_out_dat_w = 19b, to preserve FFT processing gain of 4.5 bits -- - use stage_dat_w = 25 --> fil_out_dat_w = fft_in_dat_w = 24 -- - with fft_out_dat_w = 19 --> stat_data_w = 2*19 + 18 = 56 b constant c_wpfb_lofar2_subbands_dts_19b : t_wpfb := (1, 1024, 0, 6, @@ -105,6 +107,12 @@ package wpfb_pkg is true, false, true, 24, 19, 1, 25, 1, true, 56, 2, 195313, c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); + -- . Settings for L2TS with fft_out_gain_w = 2b, to have W_fsub_gain = W_fft_proc = 5b + constant c_wpfb_lofar2_subbands_l2ts_18b : t_wpfb := (1, 1024, 0, 6, + 16, 1, 14, 23, 16, + true, false, true, 23, 18, 2, 24, 1, true, 54, 2, 195313, + c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); + constant c_wpfb_lofar2_subbands : t_wpfb := c_wpfb_lofar2_subbands_dts_18b; -- The FFT output has more bits to be able to preserve the sensitivity of -- GitLab