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
wangjie
OpenXG-RAN
Commits
d08355a9
Commit
d08355a9
authored
Jan 31, 2020
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
testing beamforming
parent
9e1c9483
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
28 additions
and
17 deletions
+28
-17
executables/nr-ru.c
executables/nr-ru.c
+8
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
+1
-1
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
+14
-8
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band257.tm1.32PRB.usrpx300.conf
.../GENERIC-LTE-EPC/CONF/gnb.band257.tm1.32PRB.usrpx300.conf
+2
-2
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
.../GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
+1
-2
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.217PRB.usrpn300.conf
.../GENERIC-LTE-EPC/CONF/gnb.band78.tm1.217PRB.usrpn300.conf
+2
-2
No files found.
executables/nr-ru.c
View file @
d08355a9
...
@@ -756,8 +756,14 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) {
...
@@ -756,8 +756,14 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) {
}
}
// the beam index is written in bits 8-10 of the flags
// the beam index is written in bits 8-10 of the flags
// the following choice cycles through the beams every slot, starting with beam 3
// beam index>3 will be ignored for now
flags
|=
((
3
+
slot
)
&
7
)
<<
8
;
int
beam
=
7
;
if
(
slot
==
0
)
beam
=
0
;
if
(
slot
==
10
)
beam
=
1
;
if
(
slot
==
20
)
beam
=
2
;
if
(
slot
==
40
)
beam
=
3
;
flags
|=
beam
<<
8
;
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_TRX_WRITE_FLAGS
,
flags
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_TRX_WRITE_FLAGS
,
flags
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX0_RU
,
frame
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX0_RU
,
frame
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
View file @
d08355a9
...
@@ -384,7 +384,7 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
...
@@ -384,7 +384,7 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
if
(
is_nr_UL_slot
(
cc
->
ServingCellConfigCommon
,
slot_rxP
))
{
if
(
is_nr_UL_slot
(
cc
->
ServingCellConfigCommon
,
slot_rxP
))
{
if
(
phy_test
&&
slot_rxP
==
8
){
if
(
phy_test
&&
slot_rxP
==
8
){
nr_schedule_uss_ulsch_phytest
(
module_idP
,
frame_rxP
,
slot_rxP
);
//
nr_schedule_uss_ulsch_phytest(module_idP, frame_rxP, slot_rxP);
}
}
}
}
...
...
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
View file @
d08355a9
...
@@ -285,7 +285,7 @@ static int trx_usrp_start(openair0_device *device) {
...
@@ -285,7 +285,7 @@ static int trx_usrp_start(openair0_device *device) {
// (we use full duplex here, because our RX is on all the time - this might need to change later)
// (we use full duplex here, because our RX is on all the time - this might need to change later)
s
->
usrp
->
set_gpio_attr
(
"FP0"
,
"ATR_XX"
,
(
1
<<
5
),
0x7f
);
s
->
usrp
->
set_gpio_attr
(
"FP0"
,
"ATR_XX"
,
(
1
<<
5
),
0x7f
);
// set the output pins to 0
// set the output pins to 0
s
->
usrp
->
set_gpio_attr
(
"FP0"
,
"OUT"
,
3
<<
7
,
0xf80
);
s
->
usrp
->
set_gpio_attr
(
"FP0"
,
"OUT"
,
7
<<
7
,
0xf80
);
// init recv and send streaming
// init recv and send streaming
uhd
::
stream_cmd_t
cmd
(
uhd
::
stream_cmd_t
::
STREAM_MODE_START_CONTINUOUS
);
uhd
::
stream_cmd_t
cmd
(
uhd
::
stream_cmd_t
::
STREAM_MODE_START_CONTINUOUS
);
...
@@ -482,8 +482,6 @@ static int trx_usrp_write(openair0_device *device,
...
@@ -482,8 +482,6 @@ static int trx_usrp_write(openair0_device *device,
last_packet_state
=
true
;
last_packet_state
=
true
;
}
}
// push GPIO bits 7-9 from flags_msb
int
gpio789
=
(
flags_msb
&
7
)
<<
7
;
s
->
tx_md
.
has_time_spec
=
true
;
s
->
tx_md
.
has_time_spec
=
true
;
s
->
tx_md
.
start_of_burst
=
(
s
->
tx_count
==
0
)
?
true
:
first_packet_state
;
s
->
tx_md
.
start_of_burst
=
(
s
->
tx_count
==
0
)
?
true
:
first_packet_state
;
...
@@ -491,10 +489,14 @@ static int trx_usrp_write(openair0_device *device,
...
@@ -491,10 +489,14 @@ static int trx_usrp_write(openair0_device *device,
s
->
tx_md
.
time_spec
=
uhd
::
time_spec_t
::
from_ticks
(
timestamp
,
s
->
sample_rate
);
s
->
tx_md
.
time_spec
=
uhd
::
time_spec_t
::
from_ticks
(
timestamp
,
s
->
sample_rate
);
s
->
tx_count
++
;
s
->
tx_count
++
;
s
->
usrp
->
set_command_time
(
s
->
tx_md
.
time_spec
);
if
(
flags_msb
<
4
)
{
s
->
usrp
->
set_gpio_attr
(
"FP0"
,
"OUT"
,
gpio789
,
0xfff
);
// push GPIO bits 7-9 from flags_msb
s
->
usrp
->
clear_command_time
();
int
gpio789
=
(
flags_msb
&
7
)
<<
7
;
s
->
usrp
->
set_command_time
(
s
->
tx_md
.
time_spec
);
s
->
usrp
->
set_gpio_attr
(
"FP0"
,
"OUT"
,
gpio789
,
0x380
);
s
->
usrp
->
clear_command_time
();
}
if
(
cc
>
1
)
{
if
(
cc
>
1
)
{
std
::
vector
<
void
*>
buff_ptrs
;
std
::
vector
<
void
*>
buff_ptrs
;
...
@@ -502,7 +504,11 @@ static int trx_usrp_write(openair0_device *device,
...
@@ -502,7 +504,11 @@ static int trx_usrp_write(openair0_device *device,
buff_ptrs
.
push_back
(
&
(((
int16_t
*
)
buff_tx
[
i
])[
0
]));
buff_ptrs
.
push_back
(
&
(((
int16_t
*
)
buff_tx
[
i
])[
0
]));
ret
=
(
int
)
s
->
tx_stream
->
send
(
buff_ptrs
,
nsamps
,
s
->
tx_md
);
ret
=
(
int
)
s
->
tx_stream
->
send
(
buff_ptrs
,
nsamps
,
s
->
tx_md
);
}
else
ret
=
(
int
)
s
->
tx_stream
->
send
(
&
(((
int16_t
*
)
buff_tx
[
0
])[
0
]),
nsamps
,
s
->
tx_md
);
}
else
{
ret
=
(
int
)
s
->
tx_stream
->
send
(
&
(((
int16_t
*
)
buff_tx
[
0
])[
0
]),
nsamps
,
s
->
tx_md
);
}
if
(
ret
!=
nsamps
)
LOG_E
(
HW
,
"[xmit] tx samples %d != %d
\n
"
,
ret
,
nsamps
);
if
(
ret
!=
nsamps
)
LOG_E
(
HW
,
"[xmit] tx samples %d != %d
\n
"
,
ret
,
nsamps
);
return
ret
;
return
ret
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band257.tm1.32PRB.usrpx300.conf
View file @
d08355a9
...
@@ -237,8 +237,8 @@ RUs = (
...
@@ -237,8 +237,8 @@ RUs = (
max_pdschReferenceSignalPower
= -
27
;
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
114
;
max_rxgain
=
114
;
eNB_instances
= [
0
];
eNB_instances
= [
0
];
sdr_addrs
=
"
type=x300
"
;
sdr_addrs
=
"
addr=192.168.10.2,second_addr=192.168.20.2
"
;
if_freq
=
30
00000000
;
if_freq
=
53
00000000
;
}
}
);
);
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
View file @
d08355a9
...
@@ -237,8 +237,7 @@ RUs = (
...
@@ -237,8 +237,7 @@ RUs = (
max_pdschReferenceSignalPower
= -
27
;
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
114
;
max_rxgain
=
114
;
eNB_instances
= [
0
];
eNB_instances
= [
0
];
sdr_addrs
=
"addr=192.168.10.2,mgmt_addr=192.168.10.2"
;
sdr_addrs
=
"addr=192.168.10.2,second_addr=192.168.20.2"
;
clock_src
=
"external"
;
}
}
);
);
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.217PRB.usrpn300.conf
View file @
d08355a9
...
@@ -251,8 +251,8 @@ RUs = (
...
@@ -251,8 +251,8 @@ RUs = (
max_pdschReferenceSignalPower
= -
27
;
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
114
;
max_rxgain
=
114
;
eNB_instances
= [
0
];
eNB_instances
= [
0
];
sdr_addrs
=
"addr=192.168.10.2,
mgmt_addr=192.168.10
.2"
;
sdr_addrs
=
"addr=192.168.10.2,
second_addr=192.168.20.2,mgmt_addr=192.168.12
.2"
;
clock_src
=
"external"
;
#
clock_src = "external";
}
}
);
);
...
...
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