From a5aab96a54378e32daca80deb446890d03b1630f Mon Sep 17 00:00:00 2001 From: Eric Kooistra <kooistra@astron.nl> Date: Tue, 26 Jan 2021 16:46:14 +0100 Subject: [PATCH] Added results for Coeffs16384Kaiser-quant-nodc. --- .../dsp/verify_pfb/tb_tb_verify_pfb_wg.vhd | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/libraries/dsp/verify_pfb/tb_tb_verify_pfb_wg.vhd b/libraries/dsp/verify_pfb/tb_tb_verify_pfb_wg.vhd index f0d10e41d1..38394d6f6b 100644 --- a/libraries/dsp/verify_pfb/tb_tb_verify_pfb_wg.vhd +++ b/libraries/dsp/verify_pfb/tb_tb_verify_pfb_wg.vhd @@ -56,7 +56,8 @@ END ENTITY tb_tb_verify_pfb_wg; ARCHITECTURE tb OF tb_tb_verify_pfb_wg IS - CONSTANT c_fil_coefs : STRING := "data/Coeffs16384Kaiser-quant_1wb"; -- PFIR coefficients file access + --CONSTANT c_fil_coefs : STRING := "data/Coeffs16384Kaiser-quant_1wb"; -- PFIR coefficients file access + CONSTANT c_fil_coefs : STRING := "data/Coeffs16384Kaiser-quant-nodc_1wb"; -- PFIR coefficients file access CONSTANT c_fil_bypass : STRING := "data/run_pfir_coeff_m_bypass_16taps_1024points_16b_1wb"; -- bypass PFIR SIGNAL tb_end : STD_LOGIC := '0'; -- tb_end is used to end a tb if it cannot end itself, but is not needed for tb_verify_pfb_wg @@ -157,32 +158,34 @@ gen_ref : IF c_gen_ref GENERATE -- . . -- WPFB . . . . . . . . . . . . . . . . . . . . u_apertif : ENTITY work.tb_verify_pfb_wg GENERIC MAP (1001, "WPFB", 61.0, 61.0, 1.0, 0.0, 0.0, 0.0, c_fil_coefs, 16, 1, 8, 16, 18, 1, 18, 2, '0', 0, 0); u_lts_2020_11_23 : ENTITY work.tb_verify_pfb_wg GENERIC MAP (1002, "WPFB", 61.0, 61.0, 1.0, 0.0, 0.0, 0.0, c_fil_coefs, 16, 1, 14, 16, 18, 1, 18, 2, '0', 0, 0); - -- PFB2 +-- -- PFB2 u_lofar1_12b : ENTITY work.tb_verify_pfb_wg GENERIC MAP (1003, "PFB2", 61.0, 61.0, 1.0, 0.0, 0.0, 0.0, c_fil_coefs, 16, 0, 12, 18, 18, 0, 20, 0, '0', 0, 0); u_lofar1_14b : ENTITY work.tb_verify_pfb_wg GENERIC MAP (1004, "PFB2", 61.0, 61.0, 1.0, 0.0, 0.0, 0.0, c_fil_coefs, 16, 0, 14, 18, 18, 0, 20, 0, '0', 0, 0); u_lofar1_14b_22 : ENTITY work.tb_verify_pfb_wg GENERIC MAP (1005, "PFB2", 61.0, 61.0, 1.0, 0.0, 0.0, 0.0, c_fil_coefs, 16, 0, 14, 18, 18, 0, 22, 0, '0', 0, 0); u_lofar1_14b_24 : ENTITY work.tb_verify_pfb_wg GENERIC MAP (1006, "PFB2", 61.0, 61.0, 1.0, 0.0, 0.0, 0.0, c_fil_coefs, 16, 0, 14, 18, 18, 0, 24, 0, '0', 0, 0); - -- WPFB +-- -- WPFB u_wpfb_stage18 : ENTITY work.tb_verify_pfb_wg GENERIC MAP (1007, "WPFB", 61.0, 61.0, 1.0, 0.0, 0.0, 0.0, c_fil_coefs, 16, 0, 14, 17, 18, 0, 18, 1, '0', 0, 0); u_wpfb_stage20 : ENTITY work.tb_verify_pfb_wg GENERIC MAP (1008, "WPFB", 61.0, 61.0, 1.0, 0.0, 0.0, 0.0, c_fil_coefs, 16, 0, 14, 17, 18, 0, 20, 1, '0', 0, 0); u_wpfb_stage22 : ENTITY work.tb_verify_pfb_wg GENERIC MAP (1009, "WPFB", 61.0, 61.0, 1.0, 0.0, 0.0, 0.0, c_fil_coefs, 16, 0, 14, 17, 18, 0, 22, 1, '0', 0, 0); u_wpfb_stage23 : ENTITY work.tb_verify_pfb_wg GENERIC MAP (1010, "WPFB", 61.0, 61.0, 1.0, 0.0, 0.0, 0.0, c_fil_coefs, 16, 0, 14, 17, 18, 0, 23, 1, '0', 0, 0); u_wpfb_stage24 : ENTITY work.tb_verify_pfb_wg GENERIC MAP (1011, "WPFB", 61.0, 61.0, 1.0, 0.0, 0.0, 0.0, c_fil_coefs, 16, 0, 14, 17, 18, 0, 24, 1, '0', 0, 0); -- Results: --- WPFB ---tb-1001 . wpfb_measured_proc_gain_a_dB = 25.54 [dB] ---tb-1002 . wpfb_measured_proc_gain_a_dB = -0.80 [dB] +-- Coeffs16384Kaiser-quant +-- . Coeffs16384Kaiser-quant-nodc +-- WPFB . . +--tb-1001 . wpfb_measured_proc_gain_a_dB = 25.54 [dB] 25.65 [dB] +--tb-1002 . wpfb_measured_proc_gain_a_dB = -0.80 [dB] 2.67 [dB] -- PFB2 ---tb-1003 . wpfb_measured_proc_gain_a_dB = 23.18 [dB], = u_lofar1_12b ---tb-1004 . wpfb_measured_proc_gain_a_dB = 15.24 [dB], = u_lofar1_14b ---tb-1005 . wpfb_measured_proc_gain_a_dB = 17.03 [dB], = u_lofar1_14b_22, improvement is < 3 dB ---tb-1006 . wpfb_measured_proc_gain_a_dB = 17.00 [dB], = u_lofar1_14b_24 +--tb-1003 . wpfb_measured_proc_gain_a_dB = 23.18 [dB] , = u_lofar1_12b +--tb-1004 . wpfb_measured_proc_gain_a_dB = 15.24 [dB] , = u_lofar1_14b +--tb-1005 . wpfb_measured_proc_gain_a_dB = 17.03 [dB] , = u_lofar1_14b_22, improvement is < 3 dB +--tb-1006 . wpfb_measured_proc_gain_a_dB = 17.00 [dB] , = u_lofar1_14b_24 -- WPFB ---tb-1007 . wpfb_measured_proc_gain_a_dB = 6.11 [dB], = u_wpfb_stage18 ---tb-1008 . wpfb_measured_proc_gain_a_dB = 12.38 [dB], = u_wpfb_stage20 : ~3.1 dB per extra g_fft_stage_dat_w bit ---tb-1009 . wpfb_measured_proc_gain_a_dB = 18.79 [dB], = u_wpfb_stage22 : ~3.2 dB per extra g_fft_stage_dat_w bit ---tb-1010 . wpfb_measured_proc_gain_a_dB = 19.86 [dB], = u_wpfb_stage23 : ~1.1 dB per extra g_fft_stage_dat_w bit ---tb-1011 . wpfb_measured_proc_gain_a_dB = 20.08 [dB], = u_wpfb_stage24 : ~0.2 dB per extra g_fft_stage_dat_w bit +--tb-1007 . wpfb_measured_proc_gain_a_dB = 6.11 [dB] 9.94 [dB], = u_wpfb_stage18 +--tb-1008 . wpfb_measured_proc_gain_a_dB = 12.38 [dB] 16.48 [dB], = u_wpfb_stage20 : ~3.1 dB per extra g_fft_stage_dat_w bit +--tb-1009 . wpfb_measured_proc_gain_a_dB = 18.79 [dB] 24.29 [dB], = u_wpfb_stage22 : ~3.2 dB per extra g_fft_stage_dat_w bit +--tb-1010 . wpfb_measured_proc_gain_a_dB = 19.86 [dB] 26.58 [dB], = u_wpfb_stage23 : ~1.1 dB per extra g_fft_stage_dat_w bit +--tb-1011 . wpfb_measured_proc_gain_a_dB = 20.08 [dB] 28.17 [dB], = u_wpfb_stage24 : ~0.2 dB per extra g_fft_stage_dat_w bit --Conclusion: --* For g_fft_stage_dat_w <= 22 the processing gain increases ~3 dB per extra g_fft_stage_dat_w bit, therefore choose 22, 23 or 24, more than 24 bit has not benefit. END GENERATE; -- GitLab