summaryrefslogtreecommitdiff
path: root/cesar/ce/rx/bitloading/src
diff options
context:
space:
mode:
authorJérémy Dufour2011-07-06 17:47:47 +0200
committerJérôme Jutteau2011-08-17 14:35:29 +0200
commit27a4cdc5a856fc70a27526091aa621a64c3d7889 (patch)
treef72df8e3e16a48a1cdf7975ad3c2986490767a41 /cesar/ce/rx/bitloading/src
parentaa47189fbc0e7c52ba8a86abdfdcad4affef3a4c (diff)
cesar/ce/rx: initialize PB error rate mean to fixed value, closes #2622
This commit temporary allows to configure the fixed value using the internal.conf system. This should be removed in the near future (see #2626).
Diffstat (limited to 'cesar/ce/rx/bitloading/src')
-rw-r--r--cesar/ce/rx/bitloading/src/bitloading.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/cesar/ce/rx/bitloading/src/bitloading.c b/cesar/ce/rx/bitloading/src/bitloading.c
index 649fcb09c2..d09061fac6 100644
--- a/cesar/ce/rx/bitloading/src/bitloading.c
+++ b/cesar/ce/rx/bitloading/src/bitloading.c
@@ -30,6 +30,11 @@ uint ce_rx_bl_min_pb_per_frame_ = 2;
uint ce_rx_bl_min_frame_with_high_pb_err_rate_ = 4;
uint ce_rx_bl_ber_lower_bound_ = 70;
+/**
+ * According to TNS specification (revision r15409).
+ */
+uint ce_rx_bl_pberr_mean_init_ = 655;
+
blk_t *
ce_rx_bl_get_nsr (ce_rx_bitloading_t *bl)
{
@@ -552,6 +557,8 @@ ce_rx_bl_pber_sliding_mean_update (ce_rx_bitloading_t *bt,
dbg_assert (bt);
dbg_assert (pb_count > 0);
dbg_assert (false_pb_count <= pb_count);
+
+ /* Compute actual PB error rate quantified. */
/* The maximum pb_count value given by hardware can't be over
* MAC_MAX_PB_PER_MPDU. */
dbg_assert (pb_count <= MAC_MAX_PB_PER_MPDU);
@@ -559,15 +566,10 @@ ce_rx_bl_pber_sliding_mean_update (ce_rx_bitloading_t *bt,
* CE_RX_BL_UPDATE_PBER_SLIDING_MEAN_QUANTIFICATION / pb_count;
dbg_assert (pber_quantified
<= CE_RX_BL_UPDATE_PBER_SLIDING_MEAN_QUANTIFICATION);
- /* Init PB Error Rate sliding mean. */
- if (bt->pber_sliding_mean < 0)
- bt->pber_sliding_mean = pber_quantified;
- /* Add current measure. */
- else
- {
- dbg_assert (bt->pber_sliding_mean
- <= CE_RX_BL_UPDATE_PBER_SLIDING_MEAN_QUANTIFICATION);
- bt->pber_sliding_mean = (255 * bt->pber_sliding_mean
- + 1 * pber_quantified) / 256;
- }
+
+ /* Update PB error rate sliding mean. */
+ dbg_assert (bt->pber_sliding_mean
+ <= CE_RX_BL_UPDATE_PBER_SLIDING_MEAN_QUANTIFICATION);
+ bt->pber_sliding_mean = (255 * bt->pber_sliding_mean
+ + 1 * pber_quantified) / 256;
}