From 86b8c2e84a065a5cc3d2f960798ca626d391a2f9 Mon Sep 17 00:00:00 2001 From: Eric Kooistra <kooistra@astron.nl> Date: Tue, 5 Apr 2022 14:46:20 +0200 Subject: [PATCH] Use c_wpfb_lofar2_subbands_dts_18b setting. Use func_wpfb_subband_gain() to calculate expected subband ampl. --- .../lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd index faace9dd44..e9e7f6c3ad 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd @@ -139,26 +139,37 @@ PACKAGE sdp_pkg is --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, 16, c_sdp_W_fir_coef, - -- true, false, true, 16, c_sdp_W_subband, 1, 18, 2, - -- true, 54, 2, 195313, c_fft_pipeline, c_fft_pipeline, - -- c_fil_ppf_pipeline); + -- true, false, true, 16, c_sdp_W_subband, 1, 18, 2, true, 54, 2, 195313, + -- c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); + -- LTS 2021-02-03, changes based on results from u_wpfb_stage22 in tb_tb_verify_pfb_wg.vhd: -- . fil_backoff_w = 0 (was 1) -- . fil_out_dat_w = fft_in_dat_w = 17 (was 16) -- . g_fft_out_gain_w = 0 (was 1) -- . g_fft_stage_dat_w = 22 (was 18) -- . g_fft_guard_w = 1 (was 2) + --CONSTANT c_sdp_wpfb_subbands : t_wpfb := + -- (1, c_sdp_N_fft, 0, c_sdp_P_pfb, + -- c_sdp_N_taps, 0, c_sdp_W_adc, 17, c_sdp_W_fir_coef, + -- true, false, true, 17, c_sdp_W_subband, 0, 22, 1, true, 54, c_sdp_W_statistic_sz, 195313, + -- c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); -- = c_wpfb_lofar2_subbands_lts_2021 + + -- DTS 2022-04-04, changes based on results from in tb_tb_verify_pfb_wg.vhd: + -- . fil_backoff_w = 1 + -- . fil_out_dat_w = fft_in_dat_w = 0 (use g_fft_stage_dat_w - g_fft_guard_w) + -- . 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, 0, c_sdp_W_adc, 17, c_sdp_W_fir_coef, - true, false, true, 17, c_sdp_W_subband, 0, 22, 1, - true, 54, c_sdp_W_statistic_sz, 195313, c_fft_pipeline, c_fft_pipeline, - c_fil_ppf_pipeline); + 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 -- 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 - CONSTANT c_sdp_wpfb_fir_filter_dc_gain : REAL := 0.994817; - CONSTANT c_sdp_wpfb_subband_sp_ampl_ratio : REAL := 8.0 * c_sdp_wpfb_fir_filter_dc_gain; -- ~= 8 for unit FIR DC gain, depends on internal WPFB quantization and FIR coefficients + CONSTANT c_sdp_wpfb_fir_filter_dc_gain : REAL := c_fil_lofar1_fir_filter_dc_gain; -- = 0.994817, almost unit DC gain + CONSTANT c_sdp_wpfb_subband_sp_ampl_ratio : REAL := func_wpfb_subband_gain(c_sdp_wpfb_subbands, c_sdp_wpfb_fir_filter_dc_gain); ----------------------------------------------------------------------------- -- Statistics offload -- GitLab