From f24ae228ddfaa6e8157b6f69af59d7738cc8ecc0 Mon Sep 17 00:00:00 2001 From: Eric Kooistra <kooistra@astron.nl> Date: Fri, 25 Mar 2022 16:34:52 +0100 Subject: [PATCH] Added c_exp_sub_a_ampl. --- libraries/dsp/verify_pfb/tb_verify_pfb_wg.vhd | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libraries/dsp/verify_pfb/tb_verify_pfb_wg.vhd b/libraries/dsp/verify_pfb/tb_verify_pfb_wg.vhd index 41d5479636..d688ef1fd7 100644 --- a/libraries/dsp/verify_pfb/tb_verify_pfb_wg.vhd +++ b/libraries/dsp/verify_pfb/tb_verify_pfb_wg.vhd @@ -239,9 +239,6 @@ ARCHITECTURE tb OF tb_verify_pfb_wg IS CONSTANT c_nof_channels : NATURAL := 2**c_wpfb.nof_chan; -- = 2**0 = 1, so no time multiplexing of inputs CONSTANT c_nof_sync : NATURAL := 5; -- nof sync intervals to simulate - -- Expected subband amplitude gain relative to input WG amplitude -1 for divide by 2 in two real input separate (Ampl --> Ampl/2) - CONSTANT c_pfb_sub_scaling : REAL := 2.0**REAL((g_fft_out_dat_w + g_fft_out_gain_w) - (g_fil_in_dat_w + g_fil_backoff_w) - 1); - -- Subband at WG frequency CONSTANT c_bin_a : NATURAL := NATURAL(FLOOR(g_subband_index_a)); CONSTANT c_bin_a_frac_en : BOOLEAN := g_subband_index_a > REAL(c_bin_a); @@ -277,7 +274,13 @@ ARCHITECTURE tb OF tb_verify_pfb_wg IS -- subband index / c_N_fft = 64 / 1024 = 1/16 -- SST - + -- Expected subband amplitude gain relative to input WG amplitude -1 for divide by 2 in two real input separate (Ampl --> Ampl/2) + -- . assume fir_filter_dc_gain ~= 1.0, like with c_wpfb_lofar1_fir_filter_dc_gain 0.994817 + CONSTANT c_pfb_sub_scaling : REAL := func_wpfb_subband_gain(c_wpfb); + + CONSTANT c_exp_sub_a_ampl : REAL := c_wg_ampl_a * c_pfb_sub_scaling; + CONSTANT c_exp_sub_b_ampl : REAL := c_wg_ampl_a * c_pfb_sub_scaling; + -- TB SIGNAL bs_end : STD_LOGIC := '0'; SIGNAL tb_end : STD_LOGIC := '0'; @@ -1017,6 +1020,7 @@ BEGIN print_str(". sub_a_re = " & int_to_str(sub_a_re)); print_str(". sub_a_im = " & int_to_str(sub_a_im)); print_str(". sub_a_ampl = " & real_to_str(sub_a_ampl, 10, 3)); + print_str(". sub_a_ampl/c_exp_sub_a_ampl = " & real_to_str(sub_a_ampl/c_exp_sub_a_ampl, 10, 6)); print_str(". sub_a_re_frac = " & int_to_str(sub_a_re_frac)); print_str(". sub_a_im_frac = " & int_to_str(sub_a_im_frac)); print_str(". sub_a_ampl_frac = " & real_to_str(sub_a_ampl_frac, 10, 3)); @@ -1060,6 +1064,7 @@ BEGIN print_str(". sub_b_re = " & int_to_str(sub_b_re)); print_str(". sub_b_im = " & int_to_str(sub_b_im)); print_str(". sub_b_ampl = " & real_to_str(sub_b_ampl, 10, 3)); + print_str(". sub_b_ampl/c_exp_sub_b_ampl = " & real_to_str(sub_b_ampl/c_exp_sub_b_ampl, 10, 6)); print_str(". sub_b_re_frac = " & int_to_str(sub_b_re_frac)); print_str(". sub_b_im_frac = " & int_to_str(sub_b_im_frac)); print_str(". sub_b_ampl_frac = " & real_to_str(sub_b_ampl_frac, 10, 3)); -- GitLab