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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
1f788f0e
Commit
1f788f0e
authored
Jun 01, 2022
by
Sagar Parsawar
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'nr_prs_merge' of
https://gitlab.eurecom.fr/oai/openairinterface5g
into nr_prs_merge
parents
2a341472
fdb0f4cd
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
343 additions
and
24 deletions
+343
-24
executables/nr-ru.c
executables/nr-ru.c
+1
-1
executables/nr-ue.c
executables/nr-ue.c
+1
-1
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
+3
-3
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
+3
-3
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
+10
-13
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.prs.usrpn310.conf
...IC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.prs.usrpn310.conf
+3
-3
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.prs.usrpn310.conf2
...C-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.prs.usrpn310.conf2
+322
-0
No files found.
executables/nr-ru.c
View file @
1f788f0e
...
...
@@ -712,7 +712,7 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) {
unsigned
int
txs
;
int
i
;
T
(
T_ENB_PHY_OUTPUT_SIGNAL
,
T_INT
(
0
),
T_INT
(
0
),
T_INT
(
frame
),
T_INT
(
slot
),
T_INT
(
0
),
T_BUFFER
(
&
ru
->
common
.
txdata
[
0
][
fp
->
get_samples_slot_timestamp
(
slot
,
fp
,
0
)],
fp
->
samples_per_subframe
*
4
));
T_INT
(
0
),
T_BUFFER
(
&
ru
->
common
.
txdata
[
0
][
fp
->
get_samples_slot_timestamp
(
slot
,
fp
,
0
)],
fp
->
get_samples_per_slot
(
slot
,
fp
)
*
4
));
int
sf_extension
=
0
;
int
siglen
=
fp
->
get_samples_per_slot
(
slot
,
fp
);
int
flags
=
0
;
...
...
executables/nr-ue.c
View file @
1f788f0e
...
...
@@ -666,7 +666,7 @@ void processSlotRX(void *arg) {
if
(
rx_slot_type
==
NR_DOWNLINK_SLOT
||
rx_slot_type
==
NR_MIXED_SLOT
){
if
(
UE
->
if_inst
!=
NULL
&&
UE
->
if_inst
->
dl_indication
!=
NULL
)
{
if
(
UE
->
if_inst
!=
NULL
&&
UE
->
if_inst
->
dl_indication
!=
NULL
&&
get_softmodem_params
()
->
phy_test
==
0
)
{
nr_downlink_indication_t
dl_indication
;
nr_fill_dl_indication
(
&
dl_indication
,
NULL
,
NULL
,
proc
,
UE
,
gNB_id
,
&
phy_pdcch_config
);
UE
->
if_inst
->
dl_indication
(
&
dl_indication
,
NULL
);
...
...
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
View file @
1f788f0e
...
...
@@ -686,9 +686,9 @@ int32_t nr_rx_pdcch(PHY_VARS_NR_UE *ue,
// Pointers to extracted PDCCH symbols in frequency-domain.
int32_t
rx_size
=
4
*
273
*
12
;
int32_t
rxdataF_ext
[
4
*
frame_parms
->
nb_antennas_rx
][
rx_size
];
int32_t
rxdataF_comp
[
4
*
frame_parms
->
nb_antennas_rx
][
rx_size
];
int32_t
pdcch_dl_ch_estimates_ext
[
4
*
frame_parms
->
nb_antennas_rx
][
rx_size
];
__attribute__
((
aligned
(
32
)))
int32_t
rxdataF_ext
[
4
*
frame_parms
->
nb_antennas_rx
][
rx_size
];
__attribute__
((
aligned
(
32
)))
int32_t
rxdataF_comp
[
4
*
frame_parms
->
nb_antennas_rx
][
rx_size
];
__attribute__
((
aligned
(
32
)))
int32_t
pdcch_dl_ch_estimates_ext
[
4
*
frame_parms
->
nb_antennas_rx
][
rx_size
];
// Pointer to llrs, 4-bit resolution.
int32_t
llr_size
=
2
*
4
*
100
*
12
;
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
View file @
1f788f0e
...
...
@@ -430,8 +430,8 @@ int nr_rx_pbch( PHY_VARS_NR_UE *ue,
for
(
symbol
=
1
;
symbol
<
4
;
symbol
++
)
{
const
uint16_t
nb_re
=
symbol
==
2
?
72
:
180
;
struct
complex16
rxdataF_ext
[
frame_parms
->
nb_antennas_rx
][
PBCH_MAX_RE_PER_SYMBOL
];
struct
complex16
dl_ch_estimates_ext
[
frame_parms
->
nb_antennas_rx
][
PBCH_MAX_RE_PER_SYMBOL
];
__attribute__
((
aligned
(
32
)))
struct
complex16
rxdataF_ext
[
frame_parms
->
nb_antennas_rx
][
PBCH_MAX_RE_PER_SYMBOL
];
__attribute__
((
aligned
(
32
)))
struct
complex16
dl_ch_estimates_ext
[
frame_parms
->
nb_antennas_rx
][
PBCH_MAX_RE_PER_SYMBOL
];
memset
(
dl_ch_estimates_ext
,
0
,
sizeof
dl_ch_estimates_ext
);
nr_pbch_extract
(
nr_ue_common_vars
->
common_vars_rx_data_per_thread
[
proc
->
thread_id
].
rxdataF
,
estimateSz
,
...
...
@@ -456,7 +456,7 @@ int nr_rx_pbch( PHY_VARS_NR_UE *ue,
#ifdef DEBUG_PBCH
LOG_I
(
PHY
,
"[PHY] PBCH log2_maxh = %d (%d)
\n
"
,
nr_ue_pbch_vars
->
log2_maxh
,
max_h
);
#endif
struct
complex16
rxdataF_comp
[
frame_parms
->
nb_antennas_rx
][
PBCH_MAX_RE_PER_SYMBOL
];
__attribute__
((
aligned
(
32
)))
struct
complex16
rxdataF_comp
[
frame_parms
->
nb_antennas_rx
][
PBCH_MAX_RE_PER_SYMBOL
];
nr_pbch_channel_compensation
(
rxdataF_ext
,
dl_ch_estimates_ext
,
nb_re
,
...
...
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
View file @
1f788f0e
...
...
@@ -201,16 +201,6 @@ static int sync_to_gps(openair0_device *device) {
LOG_W
(
HW
,
"WARNING: GPS not locked - time will not be accurate until locked
\n
"
);
}
//wait for next pps
uhd
::
time_spec_t
last
=
s
->
usrp
->
get_time_last_pps
();
uhd
::
time_spec_t
next
=
s
->
usrp
->
get_time_last_pps
();
while
(
next
==
last
)
{
boost
::
this_thread
::
sleep
(
boost
::
posix_time
::
milliseconds
(
50
));
last
=
next
;
next
=
s
->
usrp
->
get_time_last_pps
();
}
boost
::
this_thread
::
sleep
(
boost
::
posix_time
::
milliseconds
(
200
));
//Set to GPS time
uhd
::
time_spec_t
gps_time
=
uhd
::
time_spec_t
(
time_t
(
s
->
usrp
->
get_mboard_sensor
(
"gps_time"
,
mboard
).
to_int
()));
s
->
usrp
->
set_time_next_pps
(
gps_time
+
1.0
,
mboard
);
...
...
@@ -306,11 +296,18 @@ static int trx_usrp_start(openair0_device *device) {
//s->first_rx = 1;
s
->
rx_timestamp
=
0
;
uhd
::
time_spec_t
time_last_pps
=
s
->
usrp
->
get_time_last_pps
();
LOG_I
(
HW
,
"last pps at %f, starting streaming at %f
\n
"
,
time_last_pps
.
get_real_secs
(),
time_last_pps
.
get_real_secs
()
+
1.0
);
//wait for next pps
uhd
::
time_spec_t
last_pps
=
s
->
usrp
->
get_time_last_pps
();
uhd
::
time_spec_t
current_pps
=
s
->
usrp
->
get_time_last_pps
();
while
(
current_pps
==
last_pps
)
{
boost
::
this_thread
::
sleep
(
boost
::
posix_time
::
milliseconds
(
1
));
current_pps
=
s
->
usrp
->
get_time_last_pps
();
}
LOG_I
(
HW
,
"current pps at %f, starting streaming at %f
\n
"
,
current_pps
.
get_real_secs
(),
current_pps
.
get_real_secs
()
+
1.0
);
uhd
::
stream_cmd_t
cmd
(
uhd
::
stream_cmd_t
::
STREAM_MODE_START_CONTINUOUS
);
cmd
.
time_spec
=
uhd
::
time_spec_t
(
time_las
t_pps
+
1.0
);
cmd
.
time_spec
=
uhd
::
time_spec_t
(
curren
t_pps
+
1.0
);
cmd
.
stream_now
=
false
;
// start at constant delay
s
->
rx_stream
->
issue_stream_cmd
(
cmd
);
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.prs.usrpn310.conf
View file @
1f788f0e
...
...
@@ -218,9 +218,9 @@ MACRLCs = (
prs_config
= (
{
NumPRSResources
=
1
;
PRSResourceSetPeriod
= [
40
,
0
];
PRSResourceSetPeriod
= [
20
,
2
];
SymbolStart
= [
7
];
NumPRSSymbols
= [
7
];
NumPRSSymbols
= [
6
];
NumRB
=
106
;
RBOffset
=
0
;
CombSize
=
4
;
...
...
@@ -261,7 +261,7 @@ RUs = (
#beamforming 1x4 matrix:
bf_weights
= [
0
x00007fff
,
0
x0000
,
0
x0000
,
0
x0000
];
#clock_src = "internal";
sdr_addrs
=
"addr=192.168.10.2,
second_addr=192.168.20.2,clock_source=internal,time_source=internal
"
sdr_addrs
=
"addr=192.168.10.2,
clock_source=gpsdo,time_source=gpsdo
"
}
);
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.prs.usrpn310.conf2
0 → 100644
View file @
1f788f0e
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