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
lizhongxiao
OpenXG-RAN
Commits
3fcf6433
Commit
3fcf6433
authored
Jul 20, 2023
by
111
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cap data local
parent
a9c8b1b6
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
774 additions
and
37 deletions
+774
-37
cmake_targets/output_flag.txt
cmake_targets/output_flag.txt
+1
-0
executables/ric-interface.c
executables/ric-interface.c
+77
-7
openair1/PHY/NR_TRANSPORT/srs_rx.c
openair1/PHY/NR_TRANSPORT/srs_rx.c
+5
-3
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+3
-2
openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c
openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c
+1
-1
openair2/RRC/NR/nr_rrc_config.c
openair2/RRC/NR/nr_rrc_config.c
+4
-0
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x4.36192.oxgrf.conf
...NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x4.36192.oxgrf.conf
+324
-0
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x4.3818340.oxgrf.conf
...-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x4.3818340.oxgrf.conf
+334
-0
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x4.oxgrf.conf
...NERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x4.oxgrf.conf
+9
-9
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.2x2.oxgrf.conf
...NERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.2x2.oxgrf.conf
+9
-8
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.oxgrf.conf
...S/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.oxgrf.conf
+7
-7
No files found.
cmake_targets/output_flag.txt
0 → 100644
View file @
3fcf6433
1
executables/ric-interface.c
View file @
3fcf6433
...
...
@@ -15,7 +15,12 @@ used to send PDSCH/PUSCH DMRS to client
sem_t
ric_send_sem
;
//uint8_t ric_test_data[]={0,1,2,3,4,5,6,7,8,9};
uint8_t
*
ric_send_buf
;
uint8_t
*
ric_send_buf_tmp
;
int
ric_send_len
;
extern
int
g_dmrs_cnt
;
#define CAP_DATA_LOCAL
#define RIC_INTERFACE_PORT 7788
#define RIC_INTERFACE_SOCKET_MAX_LEN (100+4*273*12)*4 //52516
//#define RIC_INTERFACE_SOCKET_MAX_LEN 65536
...
...
@@ -36,16 +41,22 @@ void *ric_interface_task(void *args_p)
char
buf
[
4096
]
=
{
0
};
//
struct
sockaddr_in
stLocalAddr
=
{
0
};
//本地地址信息结构图,下面有具体的属性赋值
struct
sockaddr_in
stRemoteAddr
=
{
0
};
//对方地址信息
socklen_t
socklen
=
0
;
socklen_t
socklen
=
0
;
int
cnt
=
0
;
int
outputdata
=
1
;
char
c
;
ric_send_buf_tmp
=
malloc
(
RIC_INTERFACE_SOCKET_MAX_LEN
);
#ifdef RIC_TEST_SERVER
int
gnb_flag
=
0
;
ric_send_buf
=
malloc
(
RIC_INTERFACE_SOCKET_MAX_LEN
);
ric_send_buf
[
0
]
=
0x1E
;
ric_send_buf
[
10
]
=
0x20
;
ric_send_buf
_tmp
[
0
]
=
0x1E
;
ric_send_buf
_tmp
[
10
]
=
0x20
;
ric_send_len
=
RIC_INTERFACE_SOCKET_MAX_LEN
;
#else
int
gnb_flag
=
*
(
int
*
)
args_p
;
#endif
#ifndef CAP_DATA_LOCAL
iSocketFD
=
socket
(
AF_INET
,
SOCK_STREAM
,
0
);
//建立socket
if
(
0
>
iSocketFD
)
{
...
...
@@ -64,10 +75,11 @@ void *ric_interface_task(void *args_p)
perror
(
"绑定失败!"
);
return
;
}
#endif
while
(
1
)
{
#ifndef CAP_DATA_LOCAL
//开启监听 ,第二个参数是最大监听数
if
(
0
>
listen
(
iSocketFD
,
1
))
{
...
...
@@ -95,8 +107,16 @@ void *ric_interface_task(void *args_p)
// }else{
// printf("buf: %s\n", buf);
// }
#else
printf
(
"bigin to capture data
\n
"
);
#endif
int
send_len
;
int
log_cnt
=
0
;
char
filename
[
1024
];
FILE
*
output_fd
=
NULL
;
sprintf
(
filename
,
"srs_data_4ant_freq_%d.am"
,
0
);
output_fd
=
fopen
(
filename
,
"w+"
);
fclose
(
output_fd
);
while
(
1
)
{
// printf ("wait for ric_send_sem \n");
...
...
@@ -105,16 +125,66 @@ void *ric_interface_task(void *args_p)
#else
sem_wait
(
&
ric_send_sem
);
#endif
memcpy
(
ric_send_buf_tmp
,
ric_send_buf
,
ric_send_len
);
printf
(
"got ric_send_sem ric_send_buf_tmp addr %p ric_send_buf %p
\n
"
,
ric_send_buf_tmp
,
ric_send_buf
);
#ifdef CAP_DATA_LOCAL
{
if
(
cnt
%
4
==
0
)
{
FILE
*
input_fd
=
NULL
;
int
readlen
;
input_fd
=
fopen
(
"output_flag.txt"
,
"r"
);
if
(
input_fd
==
NULL
){
printf
(
"Error opening0
\n
"
);
}
else
{
c
=
fgetc
(
input_fd
);
if
((
outputdata
==
0
)
&&
(
c
-
'0'
==
1
))
{
log_cnt
=
0
;
}
outputdata
=
c
-
'0'
;
if
(
outputdata
==
0
)
printf
(
"~~~~~~~~outputdata is %d, log_cnt %d"
,
outputdata
,
log_cnt
);
fclose
(
input_fd
);
}
}
//if ((outputdata == 1) && (log_cnt < 10))
if
((
outputdata
==
1
)
&&
((
cnt
%
2
)
==
1
))
{
char
filename
[
1024
];
FILE
*
output_fd
=
NULL
;
sprintf
(
filename
,
"srs_data_4ant_freq_%d.am"
,
0
);
output_fd
=
fopen
(
filename
,
"a+"
);
if
(
output_fd
==
NULL
){
printf
(
"Error opening1
\n
"
);
}
if
(
output_fd
)
{
printf
(
"log srs data, cnt %d, size(byte) %d, g_dmrs_cnt %d
\n
"
,
cnt
,
ric_send_len
,
g_dmrs_cnt
);
fwrite
(
ric_send_buf_tmp
,
sizeof
(
int16_t
),
ric_send_len
/
2
,
output_fd
);
fclose
(
output_fd
);
}
log_cnt
++
;
}
cnt
++
;
}
#else
struct
tcp_info
info
;
int
len
=
sizeof
(
info
);
getsockopt
(
new_fd
,
IPPROTO_TCP
,
TCP_INFO
,
&
info
,
(
socklen_t
*
)
&
len
);
if
((
info
.
tcpi_state
==
1
))
{
send_len
=
send
(
new_fd
,
ric_send_buf
,
ric_send_len
,
0
);
send_len
=
send
(
new_fd
,
ric_send_buf
_tmp
,
ric_send_len
,
0
);
printf
(
"send data %p, size %d to client. %d OK
\n
"
,
ric_send_buf
,
ric_send_len
,
send_len
);
}
else
break
;
#endif
}
}
...
...
openair1/PHY/NR_TRANSPORT/srs_rx.c
View file @
3fcf6433
...
...
@@ -260,10 +260,12 @@ int nr_cap_srs_signal(PHY_VARS_gNB *gNB,
}
#ifdef SEND_BY_SOCKET
ric_send_buf
=
ns_srs_cap
;
ric_send_len
=
40
*
2
+
273
*
12
*
ant_num
*
N_symb_SRS
*
4
;
//for test
//ric_send_buf = ns_srs_cap;
//ric_send_len = 40*2+273*12*ant_num*N_symb_SRS*4;//for test
ric_send_buf
=
ns_srs_cap
->
dmrsData
;
ric_send_len
=
273
*
12
*
ant_num
*
N_symb_SRS
*
4
;
//for test
sem_post
(
&
ric_send_sem
);
//LOG_I(PHY,"sem_post(&ric_send_sem) buf %p, size %d pos %d \n\n\n",ric_send_buf,ric_send_len, pos
);
LOG_I
(
PHY
,
"sem_post(&ric_send_sem) buf %p, size %d, port %d, ant %d
\n\n\n
"
,
ric_send_buf
,
ric_send_len
,
ns_srs_cap
->
num_ant_ports
,
ant_num
);
g_dmrs_cnt
++
;
#else
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
3fcf6433
...
...
@@ -882,11 +882,12 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
int
srs_est
=
nr_get_srs_signal
(
gNB
,
frame_rx
,
slot_rx
,
srs_pdu
,
gNB
->
nr_srs_info
[
i
],
srs_received_signal
);
static
int
log_first
=
0
;
//if ((log_first == 0) && ((1<<srs_pdu->num_ant_ports)== 2))
if
(
log_first
==
0
)
if
(
(
log_first
%
20
==
0
)
&&
((
1
<<
srs_pdu
->
num_ant_ports
)
<=
2
)
)
{
nr_cap_srs_signal
(
gNB
,
frame_rx
,
slot_rx
,
srs_pdu
,
gNB
->
nr_srs_info
[
i
]);
log_first
++
;
}
log_first
++
;
if
(
srs_est
>=
0
)
{
nr_srs_channel_estimation
(
gNB
,
frame_rx
,
...
...
openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c
View file @
3fcf6433
...
...
@@ -56,7 +56,7 @@ int dl_rrc_message(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc)
break
;
case
NR_DL_CCCH_MessageType__c1_PR_rrcReject
:
LOG_D
(
NR_MAC
,
"DL-CCCH/SRB0, received rrcReject for RNTI %04x
\n
"
,
dl_rrc
->
rnti
);
AssertFatal
(
0
,
"rrcReject not implemented yet
\n
"
);
//
AssertFatal(0, "rrcReject not implemented yet\n");
break
;
case
NR_DL_CCCH_MessageType__c1_PR_rrcSetup
:
LOG_I
(
NR_MAC
,
"DL-CCCH/SRB0, received rrcSetup for RNTI %04x
\n
"
,
dl_rrc
->
rnti
);
...
...
openair2/RRC/NR/nr_rrc_config.c
View file @
3fcf6433
...
...
@@ -543,6 +543,7 @@ void config_srs(const NR_ServingCellConfigCommon_t *scc,
NR_SRS_Resource_t
*
srs_res0
=
calloc
(
1
,
sizeof
(
*
srs_res0
));
srs_res0
->
srs_ResourceId
=
res_id
;
srs_res0
->
nrofSRS_Ports
=
NR_SRS_Resource__nrofSRS_Ports_port1
;
//srs_res0->nrofSRS_Ports = NR_SRS_Resource__nrofSRS_Ports_ports2;
if
(
do_srs
)
{
long
nrofSRS_Ports
=
1
;
if
(
uecap
&&
...
...
@@ -564,7 +565,10 @@ void config_srs(const NR_ServingCellConfigCommon_t *scc,
LOG_E
(
NR_RRC
,
"Max Number of SRS Ports Per Resource %ld is invalid!
\n
"
,
ul_feature_setup
->
supportedSRS_Resources
->
maxNumberSRS_Ports_PerResource
);
}
LOG_I
(
NR_RRC
,
"change SRS configured with %d ports mimolayers %d
\n
"
,
nrofSRS_Ports
,
maxMIMO_Layers
);
nrofSRS_Ports
=
min
(
nrofSRS_Ports
,
maxMIMO_Layers
);
//nrofSRS_Ports = 2;
switch
(
nrofSRS_Ports
)
{
case
1
:
srs_res0
->
nrofSRS_Ports
=
NR_SRS_Resource__nrofSRS_Ports_port1
;
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x4.36192.oxgrf.conf
0 → 100644
View file @
3fcf6433
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x4.3818340.oxgrf.conf
0 → 100644
View file @
3fcf6433
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x4.oxgrf.conf
View file @
3fcf6433
...
...
@@ -49,10 +49,10 @@ gNBs =
# downlinkConfigCommon
#frequencyInfoDL
# this is 3300.24 + 134*12*30e3 = 3348.48 MHz (5G NR GSCN: 7741)
absoluteFrequencySSB
=
623232
;
#652608;
absoluteFrequencySSB
=
623232
;
#6
23232; #6
52608;
dl_frequencyBand
=
78
;
# this is 3300.24 MHz
dl_absoluteFrequencyPointA
=
620016
;
#651280;
dl_absoluteFrequencyPointA
=
620016
;
#6
20016; #6
51280;
#scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
# subcarrierSpacing
...
...
@@ -95,7 +95,7 @@ gNBs =
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
12
;
preambleReceivedTargetPower
= -
9
0
;
preambleReceivedTargetPower
= -
8
0
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
#powerRampingStep
...
...
@@ -125,14 +125,14 @@ gNBs =
restrictedSetConfig
=
0
,
msg3_DeltaPreamble
=
1
;
p0_NominalWithGrant
=-
9
0
;
p0_NominalWithGrant
=-
8
0
;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping
=
0
;
hoppingId
=
40
;
p0_nominal
= -
7
0
;
p0_nominal
= -
8
0
;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR
=
2
;
...
...
@@ -238,8 +238,8 @@ MACRLCs = (
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
pusch_TargetSNRx10
=
25
0
;
pucch_TargetSNRx10
=
30
0
;
pusch_TargetSNRx10
=
30
0
;
pucch_TargetSNRx10
=
25
0
;
pusch_FailureThres
=
1000
;
ulsch_max_frame_inactivity
=
0
;
}
...
...
@@ -259,12 +259,12 @@ RUs = (
local_rf
=
"yes"
nb_tx
=
1
;
nb_rx
=
4
;
att_tx
=
8
5
;
att_tx
=
8
9
;
att_rx
=
0
;
bands
= [
78
];
num_tp_cores
=
8
;
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
1
5
;
max_rxgain
=
5
5
;
eNB_instances
= [
0
];
##beamforming 1x2 matrix: 1 layer x 2 antennas
#bf_weights = [0x00007fff, 0x0000];
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.2x2.oxgrf.conf
View file @
3fcf6433
...
...
@@ -30,7 +30,7 @@ gNBs =
pdsch_AntennaPorts_XP
=
2
;
pusch_AntennaPorts
=
2
;
do_CSIRS
=
1
;
do_SRS
=
1
;
#
do_SRS = 1;
ul_prbblacklist
=
"135,136,137,138"
pdcch_ConfigSIB1
= (
...
...
@@ -49,10 +49,10 @@ gNBs =
# downlinkConfigCommon
#frequencyInfoDL
# this is 3300.24 + 134*12*30e3 = 3348.48 MHz (5G NR GSCN: 7741)
absoluteFrequencySSB
=
623232
;
absoluteFrequencySSB
=
623232
;
#652608;
dl_frequencyBand
=
78
;
# this is 3300.24 MHz
dl_absoluteFrequencyPointA
=
620016
;
dl_absoluteFrequencyPointA
=
620016
;
#651280;
#scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
# subcarrierSpacing
...
...
@@ -238,8 +238,8 @@ MACRLCs = (
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
pusch_TargetSNRx10
=
1
50
;
pucch_TargetSNRx10
=
2
00
;
pusch_TargetSNRx10
=
2
50
;
pucch_TargetSNRx10
=
3
00
;
pusch_FailureThres
=
1000
;
ulsch_max_frame_inactivity
=
0
;
}
...
...
@@ -249,7 +249,7 @@ L1s = (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
prach_dtx_threshold
=
1
20
;
prach_dtx_threshold
=
2
20
;
pucch0_dtx_threshold
=
80
;
}
);
...
...
@@ -262,13 +262,14 @@ RUs = (
att_tx
=
85
;
att_rx
=
0
;
bands
= [
78
];
num_tp_cores
=
2
;
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
2
5
;
max_rxgain
=
1
5
;
eNB_instances
= [
0
];
##beamforming 1x2 matrix: 1 layer x 2 antennas
#bf_weights = [0x00007fff, 0x0000];
bf_weights
= [
0
x00007fff
,
0
x0000
,
0
x0000
,
0
x0000
];
sdr_addrs
=
"dev=pciex:0,auxdac1=
315
"
;
sdr_addrs
=
"dev=pciex:0,auxdac1=
1660
"
;
clock_src
=
"internal"
;
}
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.oxgrf.conf
View file @
3fcf6433
...
...
@@ -83,7 +83,7 @@ gNBs =
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
13
;
preambleReceivedTargetPower
= -
9
6
;
preambleReceivedTargetPower
= -
8
6
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
#powerRampingStep
...
...
@@ -113,14 +113,14 @@ gNBs =
restrictedSetConfig
=
0
,
msg3_DeltaPreamble
=
1
;
p0_NominalWithGrant
=-
9
0
;
p0_NominalWithGrant
=-
8
0
;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping
=
0
;
hoppingId
=
40
;
p0_nominal
= -
9
0
;
p0_nominal
= -
8
0
;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR
=
2
;
...
...
@@ -193,8 +193,8 @@ MACRLCs = (
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
pusch_TargetSNRx10
=
1
50
;
pucch_TargetSNRx10
=
2
00
;
pusch_TargetSNRx10
=
2
50
;
pucch_TargetSNRx10
=
3
00
;
ulsch_max_frame_inactivity
=
1
;
}
);
...
...
@@ -219,12 +219,12 @@ RUs = (
att_rx
=
0
;
bands
= [
78
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
2
5
;
max_rxgain
=
4
5
;
sf_extension
=
0
;
eNB_instances
= [
0
];
#beamforming 1x4 matrix:
bf_weights
= [
0
x00007fff
,
0
x0000
,
0
x0000
,
0
x0000
];
sdr_addrs
=
"dev=pciex:0,auxdac1=
34
0"
;
sdr_addrs
=
"dev=pciex:0,auxdac1=
166
0"
;
clock_src
=
"internal"
;
}
);
...
...
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