diff --git a/libraries/base/diag/tb/vhdl/tb_diag_pkg.vhd b/libraries/base/diag/tb/vhdl/tb_diag_pkg.vhd
index 47474faa2976ab7ae41a01136cecd27f837299cf..790e7d959bb6fba217a07a32f776ad3f01ffe029 100644
--- a/libraries/base/diag/tb/vhdl/tb_diag_pkg.vhd
+++ b/libraries/base/diag/tb/vhdl/tb_diag_pkg.vhd
@@ -566,7 +566,7 @@ PACKAGE BODY tb_diag_pkg IS
     CONSTANT c_Q     : REAL := COS(c_angle);  -- Q = quadrature reference
     CONSTANT c_dat   : REAL := REAL(TO_SINT(in_dat));
     CONSTANT c_phase : REAL := ARCTAN(accum_Q, accum_I + c_eps);
-    CONSTANT c_ampl  : REAL := SQRT((ABS(accum_I))**2.0 + (ABS(accum_Q))**2.0) * 2.0 / c_Nsamples;
+    CONSTANT c_ampl  : REAL := COMPLEX_RADIUS(accum_I, accum_Q) * 2.0 / c_Nsamples;
   BEGIN
     IF rising_edge(dp_clk) THEN
       -- Output reference I and Q for debugging in wave window