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
Michael Black
OpenXG-RAN
Commits
78e96664
Commit
78e96664
authored
May 18, 2022
by
Sagar Parsawar
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/nr_prs' into nr_prs_merge
parents
0ef771a6
f2c60f44
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
676 additions
and
28 deletions
+676
-28
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
+10
-8
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+9
-8
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf2
...NERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf2
+320
-0
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.prs.usrpn310.conf
...IC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.prs.usrpn310.conf
+12
-9
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.prs.usrpn310.conf2
...C-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.prs.usrpn310.conf2
+322
-0
No files found.
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
78e96664
...
@@ -162,7 +162,7 @@ void phy_procedures_gNB_TX(processingData_L1tx_t *msgTx,
...
@@ -162,7 +162,7 @@ void phy_procedures_gNB_TX(processingData_L1tx_t *msgTx,
is_prs_slot
=
check_prs_slot_gNB
(
&
rsc_id
,
&
gNB
->
prs_vars
,
slot
);
is_prs_slot
=
check_prs_slot_gNB
(
&
rsc_id
,
&
gNB
->
prs_vars
,
slot
);
if
(
is_prs_slot
)
if
(
is_prs_slot
)
{
{
LOG_
I
(
PHY
,
"gNB_TX: frame %d, slot %d, slots_per_frame %d, PRS Resource ID %d
\n
"
,
frame
,
slot
,
fp
->
slots_per_frame
,
rsc_id
);
LOG_
D
(
PHY
,
"gNB_TX: frame %d, slot %d, slots_per_frame %d, PRS Resource ID %d
\n
"
,
frame
,
slot
,
fp
->
slots_per_frame
,
rsc_id
);
nr_generate_prs
(
gNB
->
nr_gold_prs
[
slot
],
&
gNB
->
common_vars
.
txdataF
[
0
][
txdataF_offset
],
AMP
,
&
gNB
->
prs_vars
.
prs_cfg
[
rsc_id
],
cfg
,
fp
);
nr_generate_prs
(
gNB
->
nr_gold_prs
[
slot
],
&
gNB
->
common_vars
.
txdataF
[
0
][
txdataF_offset
],
AMP
,
&
gNB
->
prs_vars
.
prs_cfg
[
rsc_id
],
cfg
,
fp
);
}
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
View file @
78e96664
...
@@ -71,7 +71,7 @@ void clear_nr_nfapi_information(gNB_MAC_INST * gNB,
...
@@ -71,7 +71,7 @@ void clear_nr_nfapi_information(gNB_MAC_INST * gNB,
nfapi_nr_dl_tti_request_t
*
DL_req
=
&
gNB
->
DL_req
[
0
];
nfapi_nr_dl_tti_request_t
*
DL_req
=
&
gNB
->
DL_req
[
0
];
nfapi_nr_dl_tti_pdcch_pdu_rel15_t
**
pdcch
=
(
nfapi_nr_dl_tti_pdcch_pdu_rel15_t
**
)
gNB
->
pdcch_pdu_idx
[
CC_idP
];
nfapi_nr_dl_tti_pdcch_pdu_rel15_t
**
pdcch
=
(
nfapi_nr_dl_tti_pdcch_pdu_rel15_t
**
)
gNB
->
pdcch_pdu_idx
[
CC_idP
];
nfapi_nr_ul_tti_request_t
*
future_ul_tti_req
=
nfapi_nr_ul_tti_request_t
*
future_ul_tti_req
=
&
gNB
->
UL_tti_req_ahead
[
CC_idP
][(
slotP
+
6
)];
//
+ num_slots - 1) % num_slots];
&
gNB
->
UL_tti_req_ahead
[
CC_idP
][(
slotP
+
num_slots
-
1
)
%
num_slots
];
nfapi_nr_ul_dci_request_t
*
UL_dci_req
=
&
gNB
->
UL_dci_req
[
0
];
nfapi_nr_ul_dci_request_t
*
UL_dci_req
=
&
gNB
->
UL_dci_req
[
0
];
nfapi_nr_tx_data_request_t
*
TX_req
=
&
gNB
->
TX_req
[
0
];
nfapi_nr_tx_data_request_t
*
TX_req
=
&
gNB
->
TX_req
[
0
];
...
@@ -89,7 +89,7 @@ void clear_nr_nfapi_information(gNB_MAC_INST * gNB,
...
@@ -89,7 +89,7 @@ void clear_nr_nfapi_information(gNB_MAC_INST * gNB,
UL_dci_req
[
CC_idP
].
numPdus
=
0
;
UL_dci_req
[
CC_idP
].
numPdus
=
0
;
/* advance last round's future UL_tti_req to be ahead of current frame/slot */
/* advance last round's future UL_tti_req to be ahead of current frame/slot */
future_ul_tti_req
->
SFN
=
(
(
slotP
+
6
<
num_slots
)
?
frameP
:
frameP
+
1
)
%
1024
;
future_ul_tti_req
->
SFN
=
(
slotP
==
0
?
frameP
:
frameP
+
1
)
%
1024
;
LOG_D
(
NR_MAC
,
"In %s: UL_tti_req_ahead SFN.slot = %d.%d for slot %d
\n
"
,
__FUNCTION__
,
future_ul_tti_req
->
SFN
,
future_ul_tti_req
->
Slot
,
(
slotP
+
num_slots
-
1
)
%
num_slots
);
LOG_D
(
NR_MAC
,
"In %s: UL_tti_req_ahead SFN.slot = %d.%d for slot %d
\n
"
,
__FUNCTION__
,
future_ul_tti_req
->
SFN
,
future_ul_tti_req
->
Slot
,
(
slotP
+
num_slots
-
1
)
%
num_slots
);
/* future_ul_tti_req->Slot is fixed! */
/* future_ul_tti_req->Slot is fixed! */
future_ul_tti_req
->
n_pdus
=
0
;
future_ul_tti_req
->
n_pdus
=
0
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
View file @
78e96664
...
@@ -49,17 +49,19 @@ void nr_fill_nfapi_pucch(module_id_t mod_id,
...
@@ -49,17 +49,19 @@ void nr_fill_nfapi_pucch(module_id_t mod_id,
nfapi_nr_ul_tti_request_t
*
future_ul_tti_req
=
nfapi_nr_ul_tti_request_t
*
future_ul_tti_req
=
&
RC
.
nrmac
[
mod_id
]
->
UL_tti_req_ahead
[
0
][
pucch
->
ul_slot
];
&
RC
.
nrmac
[
mod_id
]
->
UL_tti_req_ahead
[
0
][
pucch
->
ul_slot
];
AssertFatal
(
future_ul_tti_req
->
SFN
==
pucch
->
frame
&&
future_ul_tti_req
->
Slot
==
pucch
->
ul_slot
,
if
(
future_ul_tti_req
->
SFN
!=
pucch
->
frame
||
future_ul_tti_req
->
Slot
!=
pucch
->
ul_slot
)
"Current %d.%d : future UL_tti_req's frame.slot %4d.%2d does not match PUCCH %4d.%2d
\n
"
,
LOG_W
(
MAC
,
frame
,
slot
,
"Current %d.%d : future UL_tti_req's frame.slot %4d.%2d does not match PUCCH %4d.%2d
\n
"
,
future_ul_tti_req
->
SFN
,
frame
,
slot
,
future_ul_tti_req
->
Slot
,
future_ul_tti_req
->
SFN
,
pucch
->
frame
,
future_ul_tti_req
->
Slot
,
pucch
->
ul_slot
);
pucch
->
frame
,
pucch
->
ul_slot
);
AssertFatal
(
future_ul_tti_req
->
n_pdus
<
AssertFatal
(
future_ul_tti_req
->
n_pdus
<
sizeof
(
future_ul_tti_req
->
pdus_list
)
/
sizeof
(
future_ul_tti_req
->
pdus_list
[
0
]),
sizeof
(
future_ul_tti_req
->
pdus_list
)
/
sizeof
(
future_ul_tti_req
->
pdus_list
[
0
]),
"Invalid future_ul_tti_req->n_pdus %d
\n
"
,
future_ul_tti_req
->
n_pdus
);
"Invalid future_ul_tti_req->n_pdus %d
\n
"
,
future_ul_tti_req
->
n_pdus
);
future_ul_tti_req
->
pdus_list
[
future_ul_tti_req
->
n_pdus
].
pdu_type
=
NFAPI_NR_UL_CONFIG_PUCCH_PDU_TYPE
;
future_ul_tti_req
->
pdus_list
[
future_ul_tti_req
->
n_pdus
].
pdu_type
=
NFAPI_NR_UL_CONFIG_PUCCH_PDU_TYPE
;
future_ul_tti_req
->
pdus_list
[
future_ul_tti_req
->
n_pdus
].
pdu_size
=
sizeof
(
nfapi_nr_pucch_pdu_t
);
future_ul_tti_req
->
pdus_list
[
future_ul_tti_req
->
n_pdus
].
pdu_size
=
sizeof
(
nfapi_nr_pucch_pdu_t
);
nfapi_nr_pucch_pdu_t
*
pucch_pdu
=
&
future_ul_tti_req
->
pdus_list
[
future_ul_tti_req
->
n_pdus
].
pucch_pdu
;
nfapi_nr_pucch_pdu_t
*
pucch_pdu
=
&
future_ul_tti_req
->
pdus_list
[
future_ul_tti_req
->
n_pdus
].
pucch_pdu
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
78e96664
...
@@ -1740,17 +1740,18 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot)
...
@@ -1740,17 +1740,18 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot)
/* PUSCH in a later slot, but corresponding DCI now! */
/* PUSCH in a later slot, but corresponding DCI now! */
nfapi_nr_ul_tti_request_t
*
future_ul_tti_req
=
&
RC
.
nrmac
[
module_id
]
->
UL_tti_req_ahead
[
0
][
sched_pusch
->
slot
];
nfapi_nr_ul_tti_request_t
*
future_ul_tti_req
=
&
RC
.
nrmac
[
module_id
]
->
UL_tti_req_ahead
[
0
][
sched_pusch
->
slot
];
AssertFatal
(
future_ul_tti_req
->
SFN
==
sched_pusch
->
frame
if
(
future_ul_tti_req
->
SFN
!=
sched_pusch
->
frame
||
future_ul_tti_req
->
Slot
!=
sched_pusch
->
slot
)
&&
future_ul_tti_req
->
Slot
==
sched_pusch
->
slot
,
LOG_W
(
MAC
,
"%d.%d future UL_tti_req's frame.slot %d.%d does not match PUSCH %d.%d
\n
"
,
"%d.%d future UL_tti_req's frame.slot %d.%d does not match PUSCH %d.%d
\n
"
,
frame
,
slot
,
frame
,
slot
,
future_ul_tti_req
->
SFN
,
future_ul_tti_req
->
SFN
,
future_ul_tti_req
->
Slot
,
future_ul_tti_req
->
Slot
,
sched_pusch
->
frame
,
sched_pusch
->
frame
,
sched_pusch
->
slot
);
sched_pusch
->
slot
);
AssertFatal
(
future_ul_tti_req
->
n_pdus
<
AssertFatal
(
future_ul_tti_req
->
n_pdus
<
sizeof
(
future_ul_tti_req
->
pdus_list
)
/
sizeof
(
future_ul_tti_req
->
pdus_list
[
0
]),
sizeof
(
future_ul_tti_req
->
pdus_list
)
/
sizeof
(
future_ul_tti_req
->
pdus_list
[
0
]),
"Invalid future_ul_tti_req->n_pdus %d
\n
"
,
future_ul_tti_req
->
n_pdus
);
"Invalid future_ul_tti_req->n_pdus %d
\n
"
,
future_ul_tti_req
->
n_pdus
);
future_ul_tti_req
->
pdus_list
[
future_ul_tti_req
->
n_pdus
].
pdu_type
=
NFAPI_NR_UL_CONFIG_PUSCH_PDU_TYPE
;
future_ul_tti_req
->
pdus_list
[
future_ul_tti_req
->
n_pdus
].
pdu_type
=
NFAPI_NR_UL_CONFIG_PUSCH_PDU_TYPE
;
future_ul_tti_req
->
pdus_list
[
future_ul_tti_req
->
n_pdus
].
pdu_size
=
sizeof
(
nfapi_nr_pusch_pdu_t
);
future_ul_tti_req
->
pdus_list
[
future_ul_tti_req
->
n_pdus
].
pdu_size
=
sizeof
(
nfapi_nr_pusch_pdu_t
);
nfapi_nr_pusch_pdu_t
*
pusch_pdu
=
&
future_ul_tti_req
->
pdus_list
[
future_ul_tti_req
->
n_pdus
].
pusch_pdu
;
nfapi_nr_pusch_pdu_t
*
pusch_pdu
=
&
future_ul_tti_req
->
pdus_list
[
future_ul_tti_req
->
n_pdus
].
pusch_pdu
;
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf2
0 → 100644
View file @
78e96664
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.prs.usrpn310.conf
View file @
78e96664
...
@@ -217,18 +217,21 @@ MACRLCs = (
...
@@ -217,18 +217,21 @@ MACRLCs = (
prs_config
= (
prs_config
= (
{
{
PRSResourceSetPeriod0
=
40
;
NumPRSResources
=
1
;
PRSResourceSetPeriod
1
=
0
;
PRSResourceSetPeriod
= [
40
,
0
]
;
SymbolStart
=
7
;
SymbolStart
=
[
7
]
;
NumPRSSymbols
=
7
;
NumPRSSymbols
=
[
7
]
;
NumRB
=
2
72
;
NumRB
=
2
40
;
RBOffset
=
0
;
RBOffset
=
0
;
CombSize
=
4
;
CombSize
=
4
;
REOffset
=
0
;
REOffset
=
[
0
]
;
PRSResourceOffset
=
0
;
PRSResourceOffset
=
[
0
]
;
PRSResourceRepetition
=
1
;
PRSResourceRepetition
=
1
;
PRSResourceTimeGap
=
1
;
PRSResourceTimeGap
=
1
;
NPRS_ID
=
0
;
NPRS_ID
= [
0
];
MutingPattern1
= [];
MutingPattern2
= [];
MutingBitRepetition
=
1
;
}
}
);
);
...
@@ -258,7 +261,7 @@ RUs = (
...
@@ -258,7 +261,7 @@ RUs = (
#beamforming 1x4 matrix:
#beamforming 1x4 matrix:
bf_weights
= [
0
x00007fff
,
0
x0000
,
0
x0000
,
0
x0000
];
bf_weights
= [
0
x00007fff
,
0
x0000
,
0
x0000
,
0
x0000
];
#clock_src = "internal";
#clock_src = "internal";
sdr_addrs
=
"addr=192.168.10.2,
second_addr=192.168.20.2,clock_source=external,time_source=external
"
sdr_addrs
=
"addr=192.168.10.2,
clock_source=gpsdo,time_source=gpsdo
"
}
}
);
);
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.prs.usrpn310.conf2
0 → 100644
View file @
78e96664
This diff is collapsed.
Click to expand it.
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