physicalConfigDedicated may be legitimately NULL at some places
with the current code.
A cleaner solution is needed (we should always have a dedicated
config, initialized with values from the 3GPP specs, not have
a NULL as we do now).
phy_init_lte_ue_signal was renamed init_lte_ue_signal in openair1/PHY/INIT/defs.h
maybe it's the opposite that should have been done?
Functions used in one file and defined in another may have been
declared in the wrong header file.
- change target values
- change upper/lower limit to trigger a tpc
- don't use ul_cqi from SR
The value of ul_cqi is not convincing, for both PUSCH and PUCCH,
more work/analysis is required.
- re-use ta_timer
- when ta_timer is running:
- no TA sent to UE
- no TA from UE (for UE to have time to apply previous TA command)
- decrease ta_timer every TTI
- be careful to use correct value of ta_update (31 means no TA)
Maybe not correct, to be checked.
- don't use o_flip anymore in ulsch_decoding
- remove dl_cqi from eNB_UE_STATS
- put dl_cqi[NFAPI_CC_MAX] in UE_sched_ctrl
- adapt code for this dl_cqi change (from eNB_UE_STATS to UE_sched_ctrl)
- extract_pusch_csi has been fixed for CQI_ReportModeAperiodic_rm30,
the others need to be done. Program will exit if one uses them.
Not sure if setting sched_ctl->dl_cqi[CC_idP] has to be done in this
function...
This bug happens when we detect uplink failure for one UE.
In this case, a DCI format 1A is sent to the UE to ask it
to do random acces.
The way this DCI is generated was not compatible with how
the software is organized. It was expected that the DCI are
added (with add_ue_spec_dci and add_common_dci) in a very
specific order: first all DCIs in common space are added
(with add_common_dci) then all DCIs in UE specific space
are added (with add_ue_spec_dci).
The problem was that the DCI format 1A DCI sent to the UE
for it to do random access is added (with add_ue_spec_dci)
before the DCIs in common space.
That totally messed up the logic in add_common_dci and
add_ue_spec_dci.
The solution is to get rid of Num_common_dci and Num_ue_spec_dci,
replace those two counters by only one (Num_dci) and add
"search_space" in the dci_alloc structure to be used later by
the function "allocate_CCEs" when calling "get_nCCE_offset".
The software had to be adapted to the new variables, everywhere.
I am not sure that the simulators work. It seems that some
of them didn't use Num_common_dci and Num_ue_spec_dci to
decide on what space (common or UE specific) to put the DCI,
but relied on the rnti (comparing with SI_RNTI). To be tested
properly.
The modified simulators are:
- openair1/SIMULATION/LTE_PHY/dlsim.c
- openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
- openair1/SIMULATION/LTE_PHY/dlsim_tm7.c
- openair1/SIMULATION/LTE_PHY/framegen.c
- openair1/SIMULATION/LTE_PHY/pdcchsim.c
- openair1/SIMULATION/LTE_PHY/syncsim.c