summaryrefslogtreecommitdiff
path: root/cesar/ce/rx/bitloading/test
diff options
context:
space:
mode:
authorJalil Chemseddine2012-06-13 16:57:46 +0200
committerJalil Chemseddine2012-06-28 17:15:00 +0200
commitb57a45d6d46d88e641c97610c5ae7bc43852527f (patch)
tree58ff1a9c584b267c705089cde35a50d7d314b853 /cesar/ce/rx/bitloading/test
parent885d4b9077234b8db00f08210348b6853b4143ad (diff)
cesar/ce/rx/bl: remove FEC rate from BERvsNSR polynomials, closes #3101
BER vs NSR polynomials are not FEC rate dependent. Only BER target polynomials depends on FEC rate.
Diffstat (limited to 'cesar/ce/rx/bitloading/test')
-rw-r--r--cesar/ce/rx/bitloading/test/src/test_bl.c15
-rw-r--r--cesar/ce/rx/bitloading/test/src/test_poly.c89
2 files changed, 46 insertions, 58 deletions
diff --git a/cesar/ce/rx/bitloading/test/src/test_bl.c b/cesar/ce/rx/bitloading/test/src/test_bl.c
index 9de9c6f525..27593766bf 100644
--- a/cesar/ce/rx/bitloading/test/src/test_bl.c
+++ b/cesar/ce/rx/bitloading/test/src/test_bl.c
@@ -259,8 +259,8 @@ test_suite_ce_rx_bl_nsr_sum (test_t t)
test_begin (t, "initial tone map (non optimized)")
{
- ce_rx_bl_update_tone_map_under_ber_consign (ber_pt, &ti, fec_rate,
- &bl, tm, opti, &tone_en);
+ ce_rx_bl_update_tone_map_under_ber_consign (ber_pt, &ti, &bl, tm,
+ opti, &tone_en);
uint tone, i = 0, j = 0;
uint tone_diff = 0;
#define TONEMAP_READ_OPEN {
@@ -305,8 +305,7 @@ test_suite_ce_rx_bl_nsr_sum (test_t t)
u64 ber_pt = ce_rx_bl_ber_pt_bpt (fec_rate, ti.carrier_nb,
ce_rx_bl_initial_bpt[fec_rate]);
u64 ber_weighted_sum =
- ce_rx_bl_update_tone_map_under_ber_consign (ber_pt, &ti,
- fec_rate, &bl, tm,
+ ce_rx_bl_update_tone_map_under_ber_consign (ber_pt, &ti, &bl, tm,
opti, &tone_en);
ce_rx_bl_sort_optimization (opti, ti.carrier_nb);
ce_rx_bl_update_tone_map_at_ber_consign (ber_pt, &ti, &bl, tm, opti,
@@ -435,7 +434,7 @@ test_suite_ce_rx_bl_ber (test_t t)
i < polynomial_nsr_height; i++, nsr += nsr_step)
{
/* Compute BER. */
- s64 ber = ce_rx_bl_ber_for_mod_initial (nsr, 1, PHY_FEC_RATE_1_2);
+ s64 ber = ce_rx_bl_ber_for_mod_initial (nsr, 1);
/* Test failed if difference over tolerated error. */
test_fail_if (ABS (ber - polynomial_nsr[i][0]) != 0);
}
@@ -459,8 +458,7 @@ test_suite_ce_rx_bl_ber (test_t t)
if (mean_on_sound_nsr[i][0])
{
/* Get lower modulation. */
- ce_rx_bl_ber_vs_nsr
- (ce_rx_bl_ber_poly_coef[fec_rate],
+ ce_rx_bl_ber_vs_nsr (ce_rx_bl_ber_poly_coef,
mean_on_sound_nsr[i][0], ber_pt,
&mod_lower, &ber_lower, &ber_upper);
/* Check from vector. */
@@ -885,8 +883,7 @@ test_suite_ce_rx_bl_nsr_margin (test_t t)
uint tone_en;
u64 ber_weighted_sum =
ce_rx_bl_update_tone_map_under_ber_consign (ber_pt, &ti,
- fec_rate, &bl,
- tm, opti,
+ &bl, tm, opti,
&tone_en);
ce_rx_bl_sort_optimization (opti, ti.carrier_nb);
ce_rx_bl_update_tone_map_at_ber_consign (ber_pt, &ti, &bl, tm,
diff --git a/cesar/ce/rx/bitloading/test/src/test_poly.c b/cesar/ce/rx/bitloading/test/src/test_poly.c
index acfdc1fa69..9cce55c75e 100644
--- a/cesar/ce/rx/bitloading/test/src/test_poly.c
+++ b/cesar/ce/rx/bitloading/test/src/test_poly.c
@@ -22,39 +22,33 @@ test_ce_rx_poly (test_t t)
u64 ber, ber_prev = 0;
u32 nsr;
u8 mod_index;
- phy_fecrate_t fec_rate;
ce_rx_bl_ber_poly_coef_t *poly;
test_begin (t, "output BER values should increase when NSR increase")
{
for (mod_index = 1; mod_index < CE_MOD_COUNT; mod_index++)
{
- for (fec_rate = 0; fec_rate < PHY_FEC_RATE_NB; fec_rate++)
- {
- poly = &ce_rx_bl_ber_poly_coef[fec_rate][mod_index - 1];
- ber_prev = 0;
+ poly = &ce_rx_bl_ber_poly_coef[mod_index - 1];
+ ber_prev = 0;
- for (nsr = poly->range[0];
- nsr <= poly->range[poly->poly_count];
- nsr++)
- {
- ber = ce_rx_bl_ber_for_mod
- (ce_rx_bl_ber_poly_coef[fec_rate], nsr, mod_index);
- test_fail_if (ber_prev > ber,
- "previous BER is over current one ("
- "fec_rate = %d, mod_index = %d, nsr = %d, "
- "ber_prev = %lld, ber_value = %lld)",
- fec_rate, mod_index, nsr, ber_prev, ber);
- test_fail_if (ber >= CE_RX_BL_BER_DEFAULT_OVER,
- "BER at max (fec_rate = %d, "
- "mod_index = %d, nsr = %d)",
- fec_rate, mod_index, nsr);
- test_fail_if (ber <= CE_RX_BL_BER_DEFAULT_UNDER,
- "BER at min (fec_rate = %d, "
- "mod_index = %d, nsr = %d)",
- fec_rate, mod_index, nsr);
- ber_prev = ber;
- }
+ for (nsr = poly->range[0];
+ nsr <= poly->range[poly->poly_count];
+ nsr++)
+ {
+ ber = ce_rx_bl_ber_for_mod
+ (ce_rx_bl_ber_poly_coef, nsr, mod_index);
+ test_fail_if (ber_prev > ber,
+ "previous BER is over current one ("
+ "mod_index = %d, nsr = %d, "
+ "ber_prev = %lld, ber_value = %lld)",
+ mod_index, nsr, ber_prev, ber);
+ test_fail_if (ber >= CE_RX_BL_BER_DEFAULT_OVER,
+ "BER at max (mod_index = %d, nsr = %d)",
+ mod_index, nsr);
+ test_fail_if (ber <= CE_RX_BL_BER_DEFAULT_UNDER,
+ "BER at min (mod_index = %d, nsr = %d)",
+ mod_index, nsr);
+ ber_prev = ber;
}
}
} test_end;
@@ -62,32 +56,29 @@ test_ce_rx_poly (test_t t)
test_begin (t, "output BER values should increase when modulation "
"increase (with fixed NSR)")
{
- for (fec_rate = 0; fec_rate < PHY_FEC_RATE_NB; fec_rate++)
+ /* Get NSR range min, max. */
+ uint nsr_min = (uint) -1, nsr_max = 0;
+ for (mod_index = 1; mod_index < CE_MOD_COUNT; mod_index++)
{
- /* Get NSR range min, max. */
- uint nsr_min = (uint) -1, nsr_max = 0;
+ poly = &ce_rx_bl_ber_poly_coef[mod_index - 1];
+ nsr_min = MIN (nsr_min, poly->range[0]);
+ nsr_max = MAX (nsr_max, poly->range[poly->poly_count]);
+ }
+ /* Go through all supported NSR. */
+ for (nsr = nsr_min; nsr < nsr_max; nsr++)
+ {
+ ber_prev = 0;
for (mod_index = 1; mod_index < CE_MOD_COUNT; mod_index++)
{
- poly = &ce_rx_bl_ber_poly_coef[fec_rate][mod_index - 1];
- nsr_min = MIN (nsr_min, poly->range[0]);
- nsr_max = MAX (nsr_max, poly->range[poly->poly_count]);
- }
- /* Go through all supported NSR. */
- for (nsr = nsr_min; nsr < nsr_max; nsr++)
- {
- ber_prev = 0;
- for (mod_index = 1; mod_index < CE_MOD_COUNT; mod_index++)
- {
- ber = ce_rx_bl_ber_for_mod
- (ce_rx_bl_ber_poly_coef[fec_rate], nsr, mod_index);
- test_fail_if (ber_prev > ber,
- "previous BER is over current one ("
- "fec_rate = %d, mod_index = %d, nsr = %d, "
- "ber_prev = %lld, ber_value = %lld)",
- fec_rate, mod_index, nsr, ber_prev, ber);
- test_fail_if (ber > CE_RX_BL_BER_DEFAULT_OVER);
- ber_prev = ber;
- }
+ ber = ce_rx_bl_ber_for_mod
+ (ce_rx_bl_ber_poly_coef, nsr, mod_index);
+ test_fail_if (ber_prev > ber,
+ "previous BER is over current one ("
+ "mod_index = %d, nsr = %d, "
+ "ber_prev = %lld, ber_value = %lld)",
+ mod_index, nsr, ber_prev, ber);
+ test_fail_if (ber > CE_RX_BL_BER_DEFAULT_OVER);
+ ber_prev = ber;
}
}
} test_end;