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
promise
OpenXG-RAN
Commits
57421caa
Commit
57421caa
authored
Nov 04, 2019
by
Wang Tsu-Han
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
adding tracer for tx fronthaul
parent
d88ab2f9
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
19 additions
and
5 deletions
+19
-5
common/utils/LOG/vcd_signal_dumper.c
common/utils/LOG/vcd_signal_dumper.c
+1
-0
common/utils/LOG/vcd_signal_dumper.h
common/utils/LOG/vcd_signal_dumper.h
+1
-0
common/utils/T/T_defs.h
common/utils/T/T_defs.h
+1
-1
common/utils/T/T_messages.txt
common/utils/T/T_messages.txt
+5
-0
executables/nr-gnb.c
executables/nr-gnb.c
+3
-0
executables/nr-ru.c
executables/nr-ru.c
+1
-3
openair1/PHY/INIT/nr_init_ru.c
openair1/PHY/INIT/nr_init_ru.c
+4
-0
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
+1
-0
openair1/PHY/NR_TRANSPORT/nr_tbs_tools.c
openair1/PHY/NR_TRANSPORT/nr_tbs_tools.c
+1
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpx300.conf
.../GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpx300.conf
+1
-1
No files found.
common/utils/LOG/vcd_signal_dumper.c
View file @
57421caa
...
@@ -504,6 +504,7 @@ const char* eurecomFunctionsNames[] = {
...
@@ -504,6 +504,7 @@ const char* eurecomFunctionsNames[] = {
"pdcch_interleaving"
,
"pdcch_interleaving"
,
"pdcch_tx"
,
"pdcch_tx"
,
/*NR softmodem signal*/
/*NR softmodem signal*/
"wakeup_txfh"
"gNB_thread_rxtx0"
,
"gNB_thread_rxtx0"
,
"gNB_thread_rxtx1"
"gNB_thread_rxtx1"
};
};
...
...
common/utils/LOG/vcd_signal_dumper.h
View file @
57421caa
...
@@ -496,6 +496,7 @@ typedef enum {
...
@@ -496,6 +496,7 @@ typedef enum {
VCD_SIGNAL_DUMPER_FUNCTIONS_PDCCH_TX
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PDCCH_TX
,
/*NR softmodem signal*/
/*NR softmodem signal*/
VCD_SIGNAL_DUMPER_FUNCTIONS_WAKEUP_TXFH
,
VCD_SIGNAL_DUMPER_FUNCTIONS_gNB_PROC_RXTX0
,
VCD_SIGNAL_DUMPER_FUNCTIONS_gNB_PROC_RXTX0
,
VCD_SIGNAL_DUMPER_FUNCTIONS_gNB_PROC_RXTX1
,
VCD_SIGNAL_DUMPER_FUNCTIONS_gNB_PROC_RXTX1
,
...
...
common/utils/T/T_defs.h
View file @
57421caa
...
@@ -73,7 +73,7 @@ typedef struct {
...
@@ -73,7 +73,7 @@ typedef struct {
}
T_cache_t
;
}
T_cache_t
;
/* number of VCD functions (to be kept up to date! see in T_messages.txt) */
/* number of VCD functions (to be kept up to date! see in T_messages.txt) */
#define VCD_NUM_FUNCTIONS (23
8
)
#define VCD_NUM_FUNCTIONS (23
9
)
/* number of VCD variables (to be kept up to date! see in T_messages.txt) */
/* number of VCD variables (to be kept up to date! see in T_messages.txt) */
#define VCD_NUM_VARIABLES (186)
#define VCD_NUM_VARIABLES (186)
...
...
common/utils/T/T_messages.txt
View file @
57421caa
...
@@ -3240,6 +3240,11 @@ ID = VCD_FUNCTION_PDCCH_TX
...
@@ -3240,6 +3240,11 @@ ID = VCD_FUNCTION_PDCCH_TX
VCD_NAME = pdcch_tx
VCD_NAME = pdcch_tx
#function for gNB
#function for gNB
ID = VCD_FUNCTION_WAKEUP_TXFH
DESC = VCD function WAKEUP_TXFH
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = wakeup_txfh
ID = VCD_FUNCTION_gNB_PROC_RXTX0
ID = VCD_FUNCTION_gNB_PROC_RXTX0
DESC = VCD function gNB_PROC_RXTX0
DESC = VCD function gNB_PROC_RXTX0
GROUP = ALL:VCD:ENB:VCD_FUNCTION
GROUP = ALL:VCD:ENB:VCD_FUNCTION
...
...
executables/nr-gnb.c
View file @
57421caa
...
@@ -288,6 +288,8 @@ static void *gNB_L1_thread_tx(void *param) {
...
@@ -288,6 +288,8 @@ static void *gNB_L1_thread_tx(void *param) {
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_SLOT_NUMBER_TX1_GNB
,
slot_tx
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_SLOT_NUMBER_TX1_GNB
,
slot_tx
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX1_GNB
,
frame_tx
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX1_GNB
,
frame_tx
);
phy_procedures_gNB_TX
(
gNB
,
frame_tx
,
slot_tx
,
1
);
phy_procedures_gNB_TX
(
gNB
,
frame_tx
,
slot_tx
,
1
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_WAKEUP_TXFH
,
1
);
pthread_mutex_lock
(
&
L1_proc_tx
->
mutex
);
pthread_mutex_lock
(
&
L1_proc_tx
->
mutex
);
L1_proc_tx
->
instance_cnt
=
-
1
;
L1_proc_tx
->
instance_cnt
=
-
1
;
...
@@ -299,6 +301,7 @@ static void *gNB_L1_thread_tx(void *param) {
...
@@ -299,6 +301,7 @@ static void *gNB_L1_thread_tx(void *param) {
pthread_mutex_unlock
(
&
L1_proc_tx
->
mutex
);
pthread_mutex_unlock
(
&
L1_proc_tx
->
mutex
);
wakeup_txfh
(
gNB
,
L1_proc_tx
,
frame_tx
,
slot_tx
,
timestamp_tx
);
wakeup_txfh
(
gNB
,
L1_proc_tx
,
frame_tx
,
slot_tx
,
timestamp_tx
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_WAKEUP_TXFH
,
0
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_gNB_PROC_RXTX1
,
0
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_gNB_PROC_RXTX1
,
0
);
}
}
...
...
executables/nr-ru.c
View file @
57421caa
...
@@ -680,9 +680,6 @@ void rx_rf(RU_t *ru,int *frame,int *slot) {
...
@@ -680,9 +680,6 @@ void rx_rf(RU_t *ru,int *frame,int *slot) {
proc
->
frame_rx
=
(
proc
->
timestamp_rx
/
(
fp
->
samples_per_slot
*
fp
->
slots_per_frame
))
&
1023
;
proc
->
frame_rx
=
(
proc
->
timestamp_rx
/
(
fp
->
samples_per_slot
*
fp
->
slots_per_frame
))
&
1023
;
proc
->
tti_rx
=
(
proc
->
timestamp_rx
/
fp
->
samples_per_slot
)
%
fp
->
slots_per_frame
;
proc
->
tti_rx
=
(
proc
->
timestamp_rx
/
fp
->
samples_per_slot
)
%
fp
->
slots_per_frame
;
// synchronize first reception to frame 0 subframe 0
// synchronize first reception to frame 0 subframe 0
proc
->
timestamp_tx
=
proc
->
timestamp_rx
+
(
sl_ahead
*
fp
->
samples_per_slot
);
proc
->
tti_tx
=
(
proc
->
tti_rx
+
sl_ahead
)
%
fp
->
slots_per_frame
;
proc
->
frame_tx
=
(
proc
->
tti_rx
>
(
fp
->
slots_per_frame
-
1
-
sl_ahead
))
?
(
proc
->
frame_rx
+
1
)
&
1023
:
proc
->
frame_rx
;
LOG_D
(
PHY
,
"RU %d/%d TS %llu (off %d), frame %d, slot %d.%d / %d
\n
"
,
LOG_D
(
PHY
,
"RU %d/%d TS %llu (off %d), frame %d, slot %d.%d / %d
\n
"
,
ru
->
idx
,
ru
->
idx
,
0
,
0
,
...
@@ -783,6 +780,7 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) {
...
@@ -783,6 +780,7 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) {
}
}
/*!
/*!
* \brief The Asynchronous RX/TX FH thread of RAU/RCC/gNB/RRU.
* \brief The Asynchronous RX/TX FH thread of RAU/RCC/gNB/RRU.
* This handles the RX FH for an asynchronous RRU/UE
* This handles the RX FH for an asynchronous RRU/UE
...
...
openair1/PHY/INIT/nr_init_ru.c
View file @
57421caa
...
@@ -157,6 +157,10 @@ void nr_phy_free_RU(RU_t *ru)
...
@@ -157,6 +157,10 @@ void nr_phy_free_RU(RU_t *ru)
for
(
i
=
0
;
i
<
ru
->
nb_rx
;
i
++
)
free_and_zero
(
ru
->
common
.
rxdata_7_5kHz
[
i
]);
for
(
i
=
0
;
i
<
ru
->
nb_rx
;
i
++
)
free_and_zero
(
ru
->
common
.
rxdata_7_5kHz
[
i
]);
free_and_zero
(
ru
->
common
.
rxdata_7_5kHz
);
free_and_zero
(
ru
->
common
.
rxdata_7_5kHz
);
// free beamforming input buffers (TX)
for
(
i
=
0
;
i
<
15
;
i
++
)
free_and_zero
(
ru
->
common
.
txdataF
[
i
]);
free_and_zero
(
ru
->
common
.
txdataF
);
// free IFFT input buffers (TX)
// free IFFT input buffers (TX)
for
(
i
=
0
;
i
<
ru
->
nb_tx
;
i
++
)
free_and_zero
(
ru
->
common
.
txdataF_BF
[
i
]);
for
(
i
=
0
;
i
<
ru
->
nb_tx
;
i
++
)
free_and_zero
(
ru
->
common
.
txdataF_BF
[
i
]);
free_and_zero
(
ru
->
common
.
txdataF_BF
);
free_and_zero
(
ru
->
common
.
txdataF_BF
);
...
...
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
View file @
57421caa
...
@@ -90,6 +90,7 @@ uint8_t nr_generate_pdsch(NR_gNB_DLSCH_t *dlsch,
...
@@ -90,6 +90,7 @@ uint8_t nr_generate_pdsch(NR_gNB_DLSCH_t *dlsch,
uint8_t
Qm
=
rel15
->
modulation_order
;
uint8_t
Qm
=
rel15
->
modulation_order
;
uint16_t
encoded_length
=
nb_symbols
*
Qm
;
uint16_t
encoded_length
=
nb_symbols
*
Qm
;
/// CRC, coding, interleaving and rate matching
/// CRC, coding, interleaving and rate matching
AssertFatal
(
harq
->
pdu
!=
NULL
,
"harq->pdu is null
\n
"
);
AssertFatal
(
harq
->
pdu
!=
NULL
,
"harq->pdu is null
\n
"
);
start_meas
(
dlsch_encoding_stats
);
start_meas
(
dlsch_encoding_stats
);
...
...
openair1/PHY/NR_TRANSPORT/nr_tbs_tools.c
View file @
57421caa
...
@@ -168,6 +168,7 @@ void nr_get_tbs(nfapi_nr_dl_config_dlsch_pdu *dlsch_pdu,
...
@@ -168,6 +168,7 @@ void nr_get_tbs(nfapi_nr_dl_config_dlsch_pdu *dlsch_pdu,
dlsch_rel15
->
nb_re_dmrs
=
N_PRB_DMRS
;
dlsch_rel15
->
nb_re_dmrs
=
N_PRB_DMRS
;
dlsch_rel15
->
nb_mod_symbols
=
N_RE_prime
*
dlsch_rel15
->
n_prb
*
dlsch_rel15
->
nb_codewords
;
dlsch_rel15
->
nb_mod_symbols
=
N_RE_prime
*
dlsch_rel15
->
n_prb
*
dlsch_rel15
->
nb_codewords
;
LOG_D
(
MAC
,
"TBS %d : N_RE %d N_PRB_DMRS %d N_sh_symb %d N_PRB_oh %d Ninfo %d Ninfo_prime %d R %d Qm %d table %d scale %d nb_symbols %d
\n
"
,
LOG_D
(
MAC
,
"TBS %d : N_RE %d N_PRB_DMRS %d N_sh_symb %d N_PRB_oh %d Ninfo %d Ninfo_prime %d R %d Qm %d table %d scale %d nb_symbols %d
\n
"
,
TBS
,
N_RE
,
N_PRB_DMRS
,
N_sh_symb
,
N_PRB_oh
,
Ninfo
,
Ninfo_prime
,
R
,
Qm
,
table_idx
,
scale
,
dlsch_rel15
->
nb_mod_symbols
);
TBS
,
N_RE
,
N_PRB_DMRS
,
N_sh_symb
,
N_PRB_oh
,
Ninfo
,
Ninfo_prime
,
R
,
Qm
,
table_idx
,
scale
,
dlsch_rel15
->
nb_mod_symbols
);
}
}
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpx300.conf
View file @
57421caa
...
@@ -246,7 +246,7 @@ L1s = (
...
@@ -246,7 +246,7 @@ L1s = (
RUs
= (
RUs
= (
{
{
local_rf
=
"yes"
local_rf
=
"yes"
nb_tx
=
8
nb_tx
=
1
nb_rx
=
1
nb_rx
=
1
att_tx
=
0
att_tx
=
0
att_rx
=
0
;
att_rx
=
0
;
...
...
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