In TDD mode, CQI requests are not possible in special subframes (at
least for some TDD configurations, see 36.213 7.2.3 that says "a
DL subframe is valid if it does not contain a DwPTS field if the
length is less than 7680 Ts").
In the code, we simply disable CQI requests in special subframes,
no matter what the length of DwPTS.
A problem can arise if the DCI0 for a given UE are sent only in
those special subframes. In this case the UE will never report
CQI and the eNB will use low MCS for this UE, impacting performances.
Another, related, problem is when there are several UEs. There again
one UE might always get its DCI0 in special subframes and thus never
report CQI. There again, performance issues.
This commit is an attempt to improve the situation.
It does two things.
1 - tag the UE as schedulable in the function UE_is_to_be_scheduled
if the cqi_req_timer is expired
2 - use cqi_req_timer as a criterium when ordering UEs for UL scheduling
The value chosen for the expiration of the cqi_req_timer in
UE_is_to_be_scheduled is quite high (300) because as the code is
today we may overschedule the UE for short bursts until we receive
a CQI from the UE. [TODO: fix the code properly to avoid this behavior.]
Note: the fairRR scheduler has not been analyzed and this commit may
not fix anything in case the fairRR scheduler is used.
Functionalities Added:
- Modify RAR message to use number of repetitions configuration added in last commit
- Configure msg3 with number of repetitions
- DCI configuration for repetitions
- Repeat MAC UL config each SF for the number of repetitions
- PHY combining of repeated SF
Signed-off-by: Mohamed Gamal <mohammed.abdelkhalek.ext@orange.com>
To control along with pusch_maxNumRepetitionCEmodeA_r13 the actual number of repetitions for PUSCH according to 36.213 table 8.2b
Scope of commit: Parsing parameter's value. The value should be used in future commits.
Signed-off-by: Mohamed Gamal <mohammed.abdelkhalek.ext@orange.com>
Some computation has been fixed in PUCCH reception.
SNR has been fixed, uses measurement instead of
a fixed value for the noise.
normalized_rx_power and target_rx_power have been removed,
replaced by snr and target_snr. All the files using those
variables have been updated.
This commit is workaround. This issue realy occures with the following log.
lte-softmodem: ../nptl/pthread_mutex_lock.c:81: _pthread_mutex_lock: Assertion `mutex->_data.__owner == 0' failed.
The 5G phone OPPO has a very big UE capability (> 2KB).
We need bigger buffers to transfer this, especially in x2 handover.
Also the sctp messages need a bigger buffer.
Note: in sctp, we didn't check for partial messages, it's now
done. When detected, we exit. To be redone differently
if needed. (Look for "if (!(flags & MSG_EOR))".)
The value was set to 20 which means -120 dB. Setting this value means
that the UE reports an event only if the RSRP of the serving cell
is lower than -120 dB.
In the lab, we get values of around -70, and to go as low as -120
means a very degraded environment. This is not practical.
Let's disactivate the setting of this parameter for the moment so that
the UE reports an event without taking into consideration the RSRP
of the serving cell.
With this hotfix, the X2 handover works much better.