summaryrefslogtreecommitdiff
path: root/cesar
diff options
context:
space:
mode:
authorYacine Belkadi2011-12-14 08:46:56 +0100
committerYacine Belkadi2012-01-12 10:22:31 +0100
commitb944950bc42abe2c0471586fa5508d1da2fd7996 (patch)
tree6a057e6e37513ac76ed5a3e79c3fdd52a0ffa9d7 /cesar
parentd2617fdde159644deda9fb9c7be6517251114112 (diff)
cesar/ce/rx/bl: some fixes in the documentation
Diffstat (limited to 'cesar')
-rw-r--r--cesar/ce/rx/bitloading/doc/bitloading.rst40
1 files changed, 21 insertions, 19 deletions
diff --git a/cesar/ce/rx/bitloading/doc/bitloading.rst b/cesar/ce/rx/bitloading/doc/bitloading.rst
index b49868009f..1f0fa82901 100644
--- a/cesar/ce/rx/bitloading/doc/bitloading.rst
+++ b/cesar/ce/rx/bitloading/doc/bitloading.rst
@@ -126,11 +126,11 @@ In order to estimate the noise on the channel, the RX uses the NSR based on
sound frames, which is more accurate than the NSR computed on data, simply
because the RX knows exactly the content of the sound frames.
-For each sound frame received except the last one, the RX adds it to a table
-of NSR sum, each entry in the table representing a carrier.
+For each sound frame received, the RX adds it to a table of NSR sum, each entry
+in the table representing a carrier.
-When the RX receives the last sound frame, i.e. a sound frame with the flag
-'completed', it computes the NSR mean as following::
+When the RX has received enough sound frames, it computes the NSR mean as
+following::
nsr_count // Number of NSR accumulated (number of sound frames received).
It is usally set to 21
@@ -285,7 +285,7 @@ Sort the optimization table
The BER impact on the overall BER is not the same for all carriers.
-This steps simply sorts the optimization table by BER impact: the first entry
+This step simply sorts the optimization table by BER impact: the first entry
of the table must have the lowest impact on the overall BER if its modulation
was increased of one bit.
@@ -311,7 +311,8 @@ order defined by the sorted optimization table until we reach the BER target::
// Get the index of the carrier to increase.
carrier = opti[pos].carrier
- // Get actual modulation.mod = tm.modulation[carrier]
+ // Get actual modulation.
+ mod = tm.modulation[carrier]
// If modulation is the maximum one, all other remaining entries in the table
// are going to be the same. We can stop this step.
@@ -393,7 +394,7 @@ parameters:
- the frame counters are reset to 0
- the deadlines after which the RX is allowed to restart the CE are computed
- the PBER sliding mean is set to a predefined value
-- the BER sliding means are initialized to invalid value, in order to
+- the BER sliding means are initialized to invalid values, in order to
initialize them to the BER of the first frame received
Tracking
@@ -403,7 +404,7 @@ General principles
------------------
In the 'tracking' state, for compliance with the HomePlugAV standard, the CE
RX restarts when it receives a frame sound without the flag 'completed'.
-It is used when the a new channel estimation has been initiated by the TX
+It is used when a new channel estimation has been initiated by the TX
peer.
The CE RX can receive several sound frames with the flag 'completed', since
@@ -424,7 +425,7 @@ For each data received and based on the default TMI, the RX updates:
- the BER sliding means (slow & fast)
- the PBER sliding mean
-- the statistics on the CE, i.e. the results sent by the CE when it received
+- the statistics on the CE, i.e. the results sent by the CE when it receives
MMEs of statistics requests
@@ -435,7 +436,7 @@ Information maintained about actual channel characteristics
BER sliding means
^^^^^^^^^^^^^^^^^
-The hardware returns the number of bits which has been corrected on PBs with a
+The hardware returns the number of bits which have been corrected on PBs with a
good CRC.
This is what is called the BER sum.
@@ -450,7 +451,8 @@ The BER sliding means are computed using the following algorithm (see ยง
2.2.1.2.1 of TNS specification)::
// BER fast is 0, BER slow is 1.
- // BER division factor.ber_factor_div = 256
+ // BER division factor.
+ ber_factor_div = 256
// Table of factors for previous BER sliding mean, different for slow & fast.
ber_factor_prev[2] = {122 * 2, 253}
@@ -519,7 +521,7 @@ Also, the RX does not evaluate this criteria on ROBO tone maps::
// Configuration of the PBER criteria:
// Frame with not many PB are ignored.
min_pb_per_frame = 2
- // Ratio to consider the frame with an high PBER
+ // Ratio to consider the frame with a high PBER
pber_false_factor = 1
pber_total_factor = 4
pber_min_consecutive_frame = 4
@@ -531,7 +533,7 @@ Also, the RX does not evaluate this criteria on ROBO tone maps::
&& (pber_total_factor * measure.crc_false_pb_count
> pber_false_factor * measure.pb_count))
- // We consider the frame with an high PBER.
+ // We consider the frame with a high PBER.
// Increase high PBER frame counter.
pber_high_frame_counter += 1
@@ -576,13 +578,13 @@ BER sliding means are only evaluated when PBER is not considered as high::
// information on this computation).
ber_target_q53 = ber_target (1/2, carrier_enabled, 2 * 28)
- // Compute BER lower bound.
- lower_bound = ber_target_q53 - (ber_target_q53 * ber_lower / 128)
+ // Compute BER lower bound.
+ lower_bound = ber_target_q53 - (ber_target_q53 * ber_lower / 128)
- // Restart if both sliding means are under BER lower bound.
- if ((ber_sliding_mean_q53[slow] < lower_bound)
- && (ber_sliding_mean_q53[fast] < lower_bound))
- // Reset CE RX & CE TX.
+ // Restart if both sliding means are under BER lower bound.
+ if ((ber_sliding_mean_q53[slow] < lower_bound)
+ && (ber_sliding_mean_q53[fast] < lower_bound))
+ // Reset CE RX & CE TX.
Channel Estimation in TX
************************