The case of a CRC == 0 is legal.
After discussion with Raymond, it is also possible to have all
bits at 0 (and so a CRC==0) if there is no transmission and thus
not much energy.
So this hotfix may introduce new problems (false decoding).
A future work is to handle this case properly by not calling the
turbo decoder if there is not enough energy received.
The problem might manifest itself more in the UE part, especially
when it tries to decode MIB and/or SIB (if I understood correctly).
Autotest Framework modifications:
-> paramiko.Transport((hostname, ports)) : issue on my configuration
-> add --test-suite command line parameter to select a different test suite XML file (default is test_case_list.xml)
-> add patch file functionnality when installing remote machine : required to add LOG printing for pass/fail evaluation
-> add lte-softmodem-noS1 test class - fork of lte-softmodem with the following modification
- no EPC management on lte-softmodem-noS1 class
- add cell synchronization detection as a precondition for test results analysis
- add metric extraction for pass/fail criteria (metrics are defined in XML file)
- generate graphics for performances metrics (used in the HTML report -> not available in this delivery)
Patch files:
-> autotest_ue_cell_synch_event.patch : Add log for cell synchronization detection
-> autotest_ue_dlsch_bitrate_metric.patch : Add log for DLSCH bitrate capture
-> 3gpplte_turbo_decoder_sse_8bit.patch : hotfix for turbo decoder in autotest (issue followed in oai1B project)
-> phy_test__target_dl_mcs.patch : hotfix for --phy-test configuration (MCS)
The RBs were not marked as used. A later UE downlink scheduling
could use those RBs, messing up everything.
Not sure this is the right place to mark them used. Maybe better
to do it in the "if (!CCE_allocation_infeasible" test.
This hack was probably put in place in an attempt to circumvent
problems solved by previous commits.
As far as I checked (with my knowledge of the day) we can't exhaust
uplink physical bits with ULSCH data bits when there is CQI reporting
at the same time.
To be refined if this idea is proved wrong.
RI bits are present only in some transmission modes.
For aperiodic reporting (the mode we do as of today),
36.213 7.2.1 (release 10) says:
"RI is only reported for transmission modes 3 and 4,
as well as transmission modes 8 and 9 with PMI/RI reporting"
This commit activates decoding of RI bits only for transmission
modes 3 and 4. 8 and 9 are not done today (as far as I know).
G was wrongly computed in some places, not taking into account
CQI and RI bits. This commit saves the correct value computed
in ulsch_decoding so we can reuse it in ulsch_decoding_data
(and the like).
Only the file openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c has
been checked. If the computation is done somewhere else the
problem might still exist.