Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
littleBu
OpenXG-RAN
Commits
65698f6a
Commit
65698f6a
authored
Jan 17, 2022
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
some improvements in ul-mimo code
parent
d36079c9
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
203 additions
and
209 deletions
+203
-209
executables/nr-uesoftmodem.c
executables/nr-uesoftmodem.c
+0
-2
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scf.h
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scf.h
+0
-1
nfapi/open-nFAPI/nfapi/src/nfapi_p7.c
nfapi/open-nFAPI/nfapi/src/nfapi_p7.c
+0
-2
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
+1
-1
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
+127
-152
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+4
-4
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+31
-7
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
+4
-0
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+36
-39
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+0
-1
No files found.
executables/nr-uesoftmodem.c
View file @
65698f6a
...
...
@@ -493,8 +493,6 @@ int main( int argc, char **argv ) {
set_options
(
CC_id
,
UE
[
CC_id
]);
NR_UE_MAC_INST_t
*
mac
=
get_mac_inst
(
0
);
NR_DL_FRAME_PARMS
*
fp
=
&
UE
[
CC_id
]
->
frame_parms
;
mac
->
phy_config
.
config_req
.
carrier_config
.
num_tx_ant
=
fp
->
nb_antennas_tx
;
if
(
get_softmodem_params
()
->
sa
)
{
// set frame config to initial values from command line and assume that the SSB is centered on the grid
uint16_t
nr_band
=
get_band
(
downlink_frequency
[
CC_id
][
0
],
uplink_frequency_offset
[
CC_id
][
0
]);
...
...
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scf.h
View file @
65698f6a
...
...
@@ -1213,7 +1213,6 @@ typedef struct
uint8_t
transformPrecoder
;
uint16_t
data_scrambling_id
;
uint8_t
nrOfLayers
;
uint8_t
Tpmi
;
//DMRS
uint16_t
ul_dmrs_symb_pos
;
uint8_t
dmrs_config_type
;
...
...
nfapi/open-nFAPI/nfapi/src/nfapi_p7.c
View file @
65698f6a
...
...
@@ -950,7 +950,6 @@ static uint8_t pack_ul_tti_request_pusch_pdu(nfapi_nr_pusch_pdu_t *pusch_pdu, ui
push8
(
pusch_pdu
->
transformPrecoder
,
ppWritePackedMsg
,
end
)
&&
push16
(
pusch_pdu
->
data_scrambling_id
,
ppWritePackedMsg
,
end
)
&&
push8
(
pusch_pdu
->
nrOfLayers
,
ppWritePackedMsg
,
end
)
&&
push8
(
pusch_pdu
->
Tpmi
,
ppWritePackedMsg
,
end
)
&&
push16
(
pusch_pdu
->
ul_dmrs_symb_pos
,
ppWritePackedMsg
,
end
)
&&
push8
(
pusch_pdu
->
dmrs_config_type
,
ppWritePackedMsg
,
end
)
&&
push16
(
pusch_pdu
->
ul_dmrs_scrambling_id
,
ppWritePackedMsg
,
end
)
&&
...
...
@@ -4449,7 +4448,6 @@ static uint8_t unpack_ul_tti_request_pusch_pdu(void *tlv, uint8_t **ppReadPacked
pull8
(
ppReadPackedMsg
,
&
pusch_pdu
->
transformPrecoder
,
end
)
&&
pull16
(
ppReadPackedMsg
,
&
pusch_pdu
->
data_scrambling_id
,
end
)
&&
pull8
(
ppReadPackedMsg
,
&
pusch_pdu
->
nrOfLayers
,
end
)
&&
pull8
(
ppReadPackedMsg
,
&
pusch_pdu
->
Tpmi
,
end
)
&&
pull16
(
ppReadPackedMsg
,
&
pusch_pdu
->
ul_dmrs_symb_pos
,
end
)
&&
pull8
(
ppReadPackedMsg
,
&
pusch_pdu
->
dmrs_config_type
,
end
)
&&
pull16
(
ppReadPackedMsg
,
&
pusch_pdu
->
ul_dmrs_scrambling_id
,
end
)
&&
...
...
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
View file @
65698f6a
...
...
@@ -285,7 +285,7 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx,
start_meas
(
&
gNB
->
dlsch_resource_mapping_stats
);
for
(
int
ap
=
0
;
ap
<
rel15
->
nrOfLayers
;
ap
++
)
{
// DMRS params for this
ap
// DMRS params for this
poir
get_Wt
(
Wt
,
ap
,
dmrs_Type
);
get_Wf
(
Wf
,
ap
,
dmrs_Type
);
delta
=
get_delta
(
ap
,
dmrs_Type
);
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
View file @
65698f6a
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
65698f6a
...
...
@@ -369,10 +369,10 @@ void nr_ulsch_procedures(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx, int ULSCH
nr_ulsch_layer_demapping
(
gNB
->
pusch_vars
[
ULSCH_id
]
->
llr
,
pusch_pdu
->
nrOfLayers
,
pusch_pdu
->
qam_mod_order
,
G
,
gNB
->
pusch_vars
[
ULSCH_id
]
->
llr_layers
);
pusch_pdu
->
nrOfLayers
,
pusch_pdu
->
qam_mod_order
,
G
,
gNB
->
pusch_vars
[
ULSCH_id
]
->
llr_layers
);
//----------------------------------------------------------
//------------------- ULSCH unscrambling -------------------
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
65698f6a
...
...
@@ -33,6 +33,7 @@
#include "LAYER2/NR_MAC_gNB/mac_proto.h"
#include "common/utils/nr/nr_common.h"
#include <limits.h>
#include <executables/softmodem-common.h>
#define reserved 0xffff
...
...
@@ -2531,6 +2532,30 @@ uint8_t get_transformPrecoding(const NR_BWP_UplinkCommon_t *initialUplinkBWP,
return
-
1
;
}
uint8_t
get_pusch_nb_antenna_ports
(
NR_PUSCH_Config_t
*
pusch_Config
,
NR_SRS_Config_t
*
srs_config
,
dci_field_t
srs_resource_indicator
)
{
uint8_t
n_antenna_port
=
1
;
if
(
get_softmodem_params
()
->
phy_test
==
1
)
{
// temporary hack to allow UL-MIMO in phy-test mode without SRS
n_antenna_port
=
*
pusch_Config
->
maxRank
;
}
else
{
if
(
srs_config
!=
NULL
&&
srs_resource_indicator
.
nbits
>
0
)
{
for
(
int
rs
=
0
;
rs
<
srs_config
->
srs_ResourceSetToAddModList
->
list
.
count
;
rs
++
)
{
NR_SRS_ResourceSet_t
*
srs_resource_set
=
srs_config
->
srs_ResourceSetToAddModList
->
list
.
array
[
rs
];
if
(
srs_resource_set
->
usage
==
NR_SRS_ResourceSet__usage_codebook
)
{
NR_SRS_Resource_t
*
srs_resource
=
srs_config
->
srs_ResourceToAddModList
->
list
.
array
[
srs_resource_indicator
.
val
];
AssertFatal
(
srs_resource
!=
NULL
,
"SRS resource indicated by DCI does not exist
\n
"
);
n_antenna_port
=
1
<<
srs_resource
->
nrofSRS_Ports
;
}
}
}
}
return
n_antenna_port
;
}
uint16_t
nr_dci_size
(
const
NR_BWP_DownlinkCommon_t
*
initialDownlinkBWP
,
const
NR_BWP_UplinkCommon_t
*
initialUplinkBWP
,
const
NR_CellGroupConfig_t
*
cg
,
...
...
@@ -2544,17 +2569,16 @@ uint16_t nr_dci_size(const NR_BWP_DownlinkCommon_t *initialDownlinkBWP,
uint16_t
numRBG
=
0
;
long
rbg_size_config
;
int
num_entries
=
0
;
int
pusch_antenna_ports
=
1
;
// TODO hardcoded number of antenna ports for pusch
const
NR_BWP_DownlinkDedicated_t
*
bwpd
=
NULL
;
const
NR_BWP_UplinkDedicated_t
*
ubwpd
=
NULL
;
const
NR_BWP_DownlinkCommon_t
*
bwpc
=
NULL
;
const
NR_BWP_UplinkCommon_t
*
ubwpc
=
NULL
;
const
NR_PDSCH_Config_t
*
pdsch_Config
=
NULL
;
const
NR_PUSCH_Config_t
*
pusch_Config
=
NULL
;
const
NR_PUCCH_Config_t
*
pucch_Config
=
NULL
;
const
NR_PDCCH_Config_t
*
pdcch_Config
=
NULL
;
const
NR_SRS_Config_t
*
srs_config
=
NULL
;
NR_PDSCH_Config_t
*
pdsch_Config
=
NULL
;
NR_PUSCH_Config_t
*
pusch_Config
=
NULL
;
NR_PUCCH_Config_t
*
pucch_Config
=
NULL
;
NR_PDCCH_Config_t
*
pdcch_Config
=
NULL
;
NR_SRS_Config_t
*
srs_config
=
NULL
;
if
(
bwp_id
>
0
)
{
AssertFatal
(
cg
!=
NULL
,
"Cellgroup is null and bwp_id!=0"
);
bwpd
=
cg
->
spCellConfig
->
spCellConfigDedicated
->
downlinkBWP_ToAddModList
->
list
.
array
[
bwp_id
-
1
]
->
bwp_Dedicated
;
...
...
@@ -2709,7 +2733,7 @@ uint16_t nr_dci_size(const NR_BWP_DownlinkCommon_t *initialDownlinkBWP,
// Precoding info and number of layers
long
transformPrecoder
=
get_transformPrecoding
(
initialUplinkBWP
,
pusch_Config
,
ubwpd
,
(
uint8_t
*
)
&
format
,
rnti_type
,
0
);
pusch_antenna_ports
=
*
pusch_Config
->
maxRank
;
uint8_t
pusch_antenna_ports
=
get_pusch_nb_antenna_ports
(
pusch_Config
,
srs_config
,
dci_pdu
->
srs_resource_indicator
)
;
dci_pdu
->
precoding_information
.
nbits
=
0
;
if
(
pusch_Config
&&
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
View file @
65698f6a
...
...
@@ -144,6 +144,10 @@ void get_info_from_tda_tables(int default_abc,
void
fill_coresetZero
(
NR_ControlResourceSet_t
*
coreset0
,
NR_Type0_PDCCH_CSS_config_t
*
type0_PDCCH_CSS_config
);
void
fill_searchSpaceZero
(
NR_SearchSpace_t
*
ss0
,
NR_Type0_PDCCH_CSS_config_t
*
type0_PDCCH_CSS_config
);
uint8_t
get_pusch_nb_antenna_ports
(
NR_PUSCH_Config_t
*
pusch_Config
,
NR_SRS_Config_t
*
srs_config
,
dci_field_t
srs_resource_indicator
);
uint16_t
compute_pucch_prb_size
(
uint8_t
format
,
uint8_t
nr_prbs
,
uint16_t
O_tot
,
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
65698f6a
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
65698f6a
...
...
@@ -691,7 +691,6 @@ void config_uldci(const NR_BWP_Uplink_t *ubwp,
"Non Codebook configuration non supported
\n
"
);
dci_pdu_rel15
->
srs_resource_indicator
.
val
=
0
;
// taking resource 0 for SRS
}
AssertFatal
((
pusch_pdu
->
Tpmi
==
0
),
"unsupport Tpmi
\n
"
);
dci_pdu_rel15
->
precoding_information
.
val
=
0
;
if
(
pusch_pdu
->
nrOfLayers
==
2
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment