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
26f5d0d9
Commit
26f5d0d9
authored
Mar 15, 2016
by
gauthier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
more changes to uplink scheduling and vcd logging
parent
d9e40977
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
59 additions
and
30 deletions
+59
-30
openair1/PHY/LTE_TRANSPORT/pucch.c
openair1/PHY/LTE_TRANSPORT/pucch.c
+8
-2
openair1/PHY/TOOLS/lte_phy_scope.c
openair1/PHY/TOOLS/lte_phy_scope.c
+1
-1
openair1/PHY/impl_defs_top.h
openair1/PHY/impl_defs_top.h
+1
-1
openair1/PHY/vars.h
openair1/PHY/vars.h
+1
-1
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+9
-8
openair2/LAYER2/MAC/eNB_scheduler_RA.c
openair2/LAYER2/MAC/eNB_scheduler_RA.c
+3
-0
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+8
-1
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+2
-1
openair2/UTIL/LOG/vcd_signal_dumper.c
openair2/UTIL/LOG/vcd_signal_dumper.c
+2
-2
openair2/UTIL/LOG/vcd_signal_dumper.h
openair2/UTIL/LOG/vcd_signal_dumper.h
+2
-0
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
+2
-2
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
...TS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
+2
-2
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
...PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
+2
-2
targets/RT/USER/eNB_usrp.gtkw
targets/RT/USER/eNB_usrp.gtkw
+16
-7
No files found.
openair1/PHY/LTE_TRANSPORT/pucch.c
View file @
26f5d0d9
...
...
@@ -41,6 +41,9 @@
#include "PHY/extern.h"
#include "LAYER2/MAC/extern.h"
#include "UTIL/LOG/log.h"
#include "UTIL/LOG/vcd_signal_dumper.h"
//uint8_t ncs_cell[20][7];
//#define DEBUG_PUCCH_TX
//#define DEBUG_PUCCH_RX
...
...
@@ -446,7 +449,7 @@ uint32_t rx_pucch(PHY_VARS_eNB *phy_vars_eNB,
LTE_eNB_COMMON
*
eNB_common_vars
=
&
phy_vars_eNB
->
lte_eNB_common_vars
;
LTE_DL_FRAME_PARMS
*
frame_parms
=
&
phy_vars_eNB
->
lte_frame_parms
;
// PUCCH_CONFIG_DEDICATED *pucch_config_dedicated = &phy_vars_eNB->pucch_config_dedicated[UE_id];
int8_t
sigma2_dB
=
phy_vars_eNB
->
PHY_measurements_eNB
[
0
].
n0_subband_power_tot_dB
[
6
]
;
int8_t
sigma2_dB
=
phy_vars_eNB
->
PHY_measurements_eNB
[
0
].
n0_subband_power_tot_dB
[
0
]
-
10
;
uint32_t
*
Po_PUCCH
=
&
(
phy_vars_eNB
->
eNB_UE_stats
[
UE_id
].
Po_PUCCH
);
int32_t
*
Po_PUCCH_dBm
=
&
(
phy_vars_eNB
->
eNB_UE_stats
[
UE_id
].
Po_PUCCH_dBm
);
uint32_t
*
Po_PUCCH1_below
=
&
(
phy_vars_eNB
->
eNB_UE_stats
[
UE_id
].
Po_PUCCH1_below
);
...
...
@@ -815,7 +818,10 @@ uint32_t rx_pucch(PHY_VARS_eNB *phy_vars_eNB,
}
LOG_D
(
PHY
,
"[eNB] PUCCH fmt1: stat_max : %d, sigma2_dB %d (I0 %d dBm, thres %d), Po_PUCCH1_below/above : %d / %d
\n
"
,
dB_fixed
(
stat_max
),
sigma2_dB
,
phy_vars_eNB
->
PHY_measurements_eNB
[
0
].
n0_subband_power_tot_dBm
[
6
],
pucch1_thres
,
dB_fixed
(
*
Po_PUCCH1_below
),
dB_fixed
(
*
Po_PUCCH1_above
));
*
Po_PUCCH_update
=
1
;
if
(
UE_id
==
0
)
{
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_UE0_SR_ENERGY
,
dB_fixed
(
stat_max
));
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_UE0_SR_THRES
,
sigma2_dB
+
pucch1_thres
);
}
}
else
if
((
fmt
==
pucch_format1a
)
||
(
fmt
==
pucch_format1b
))
{
stat_max
=
0
;
#ifdef DEBUG_PUCCH_RX
...
...
openair1/PHY/TOOLS/lte_phy_scope.c
View file @
26f5d0d9
...
...
@@ -355,7 +355,7 @@ void phy_scope_eNB(FD_lte_phy_scope_enb *form,
fl_set_xyplot_ybounds
(
form
->
pucch_comp
,
-
5000
,
5000
);
fl_set_xyplot_xbounds
(
form
->
pucch_comp
,
-
5000
,
5000
);
fl_set_xyplot_ybounds
(
form
->
pucch_comp1
,
2
0
,
80
);
fl_set_xyplot_ybounds
(
form
->
pucch_comp1
,
0
,
80
);
}
...
...
openair1/PHY/impl_defs_top.h
View file @
26f5d0d9
...
...
@@ -263,7 +263,7 @@
#define AMP_OVER_2 (AMP>>1)
/// Threshold for PUCCH Format 1 detection
#define PUCCH1_THRES
7
#define PUCCH1_THRES
0
/// Threshold for PUCCH Format 1a/1b detection
#define PUCCH1a_THRES 4
...
...
openair1/PHY/vars.h
View file @
26f5d0d9
...
...
@@ -77,7 +77,7 @@ unsigned char NB_RN_INST=0;
unsigned
char
NB_INST
=
0
;
#endif
unsigned
int
ULSCH_max_consecutive_errors
=
1
0
;
unsigned
int
ULSCH_max_consecutive_errors
=
2
0
;
int
number_of_cards
;
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
26f5d0d9
...
...
@@ -3630,7 +3630,12 @@ void phy_procedures_eNB_RX(const unsigned char sched_subframe,PHY_VARS_eNB *phy_
phy_vars_eNB
->
eNB_UE_stats
[
i
].
ulsch_decoding_attempts
[
harq_pid
][
0
]);
#endif
}
// dump stats to VCD
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_UE0_MCS0
+
harq_pid
,
phy_vars_eNB
->
pusch_stats_mcs
[
0
][(
frame
*
10
)
+
subframe
]);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_UE0_RB0
+
harq_pid
,
phy_vars_eNB
->
pusch_stats_rb
[
0
][(
frame
*
10
)
+
subframe
]);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_UE0_ROUND0
+
harq_pid
,
phy_vars_eNB
->
pusch_stats_round
[
0
][(
frame
*
10
)
+
subframe
]);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_UE0_RSSI0
+
harq_pid
,
dB_fixed
(
phy_vars_eNB
->
lte_eNB_pusch_vars
[
0
]
->
ulsch_power
[
0
]));
}
// ulsch_eNB[0] && ulsch_eNB[0]->rnti>0 && ulsch_eNB[0]->subframe_scheduling_flag == 1
else
if
((
phy_vars_eNB
->
dlsch_eNB
[
i
][
0
])
&&
(
phy_vars_eNB
->
dlsch_eNB
[
i
][
0
]
->
rnti
>
0
))
{
// check for PUCCH
...
...
@@ -3930,12 +3935,8 @@ void phy_procedures_eNB_RX(const unsigned char sched_subframe,PHY_VARS_eNB *phy_
SR_payload
);
}
}
// dump stats to VCD
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_UE0_MCS0
+
harq_pid
,
phy_vars_eNB
->
pusch_stats_mcs
[
0
][(
frame
*
10
)
+
subframe
]);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_UE0_RB0
+
harq_pid
,
phy_vars_eNB
->
pusch_stats_rb
[
0
][(
frame
*
10
)
+
subframe
]);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_UE0_ROUND0
+
harq_pid
,
phy_vars_eNB
->
pusch_stats_round
[
0
][(
frame
*
10
)
+
subframe
]);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_UE0_RSSI0
+
harq_pid
,
dB_fixed
(
phy_vars_eNB
->
lte_eNB_pusch_vars
[
0
]
->
ulsch_power
[
0
]));
}
// ulsch_eNB[0] && ulsch_eNB[0]->rnti>0 && ulsch_eNB[0]->subframe_scheduling_flag == 1
}
if
((
frame
%
100
==
0
)
&&
(
subframe
==
4
))
{
for
(
harq_idx
=
0
;
harq_idx
<
8
;
harq_idx
++
)
{
...
...
openair2/LAYER2/MAC/eNB_scheduler_RA.c
View file @
26f5d0d9
...
...
@@ -739,6 +739,9 @@ void initiate_ra_proc(module_id_t module_idP, int CC_id,frame_t frameP, uint16_t
LOG_D
(
MAC
,
"[eNB %d][RAPROC] CC_id %d Frame %d Initiating RA procedure for preamble index %d
\n
"
,
module_idP
,
CC_id
,
frameP
,
preamble_index
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC
,
1
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC
,
0
);
for
(
i
=
0
;
i
<
NB_RA_PROC_MAX
;
i
++
)
{
if
(
RA_template
[
i
].
RA_active
==
FALSE
)
{
RA_template
[
i
].
RA_active
=
TRUE
;
...
...
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
View file @
26f5d0d9
...
...
@@ -707,7 +707,12 @@ uint8_t UE_is_to_be_scheduled(module_id_t module_idP,int CC_id,uint8_t UE_id)
(
UE_template
->
bsr_info
[
LCGID2
]
>
0
)
||
(
UE_template
->
bsr_info
[
LCGID3
]
>
0
)
||
(
UE_template
->
ul_SR
>
0
)
||
// uplink scheduling request
((
UE_sched_ctl
->
ul_inactivity_timer
>
100
)
&&
(
UE_sched_ctl
->
ul_scheduled
==
0
)))
{
((
UE_sched_ctl
->
ul_inactivity_timer
>
50
)
&&
(
UE_sched_ctl
->
ul_scheduled
==
0
))
||
// every 2 frames when RRC_CONNECTED
((
UE_sched_ctl
->
ul_inactivity_timer
>
10
)
&&
(
UE_sched_ctl
->
ul_scheduled
==
0
)
&&
(
mac_eNB_get_rrc_status
(
module_idP
,
UE_RNTI
(
module_idP
,
UE_id
))
<
RRC_CONNECTED
)))
// every Frame when not RRC_CONNECTED
{
LOG_D
(
MAC
,
"[eNB %d][PUSCH] UE %d/%x should be scheduled
\n
"
,
module_idP
,
UE_id
,
UE_RNTI
(
module_idP
,
UE_id
));
return
(
1
);
...
...
@@ -1109,6 +1114,8 @@ void SR_indication(module_id_t mod_idP, int cc_idP, frame_t frameP, rnti_t rntiP
LOG_I
(
MAC
,
"[eNB %d][SR %x] Frame %d subframeP %d Signaling SR for UE %d on CC_id %d
\n
"
,
mod_idP
,
rntiP
,
frameP
,
subframeP
,
UE_id
,
cc_idP
);
UE_list
->
UE_template
[
cc_idP
][
UE_id
].
ul_SR
=
1
;
UE_list
->
UE_template
[
cc_idP
][
UE_id
].
ul_active
=
TRUE
;
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_SR_INDICATION
,
1
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_SR_INDICATION
,
0
);
}
else
{
// AssertFatal(0, "find_UE_id(%u,rnti %d) not found", enb_mod_idP, rntiP);
// AssertError(0, 0, "Frame %d: find_UE_id(%u,rnti %d) not found\n", frameP, enb_mod_idP, rntiP);
...
...
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
View file @
26f5d0d9
...
...
@@ -321,7 +321,8 @@ void rx_sdu(
LOG_I
(
MAC
,
"[eNB %d][RAPROC] CC_id %d Frame %d, Received CCCH: %x.%x.%x.%x.%x.%x, Terminating RA procedure for UE rnti %x
\n
"
,
enb_mod_idP
,
CC_idP
,
frameP
,
payload_ptr
[
0
],
payload_ptr
[
1
],
payload_ptr
[
2
],
payload_ptr
[
3
],
payload_ptr
[
4
],
payload_ptr
[
5
],
rntiP
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TERMINATE_RA_PROC
,
1
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TERMINATE_RA_PROC
,
0
);
for
(
ii
=
0
;
ii
<
NB_RA_PROC_MAX
;
ii
++
)
{
LOG_D
(
MAC
,
"[eNB %d][RAPROC] CC_id %d Checking proc %d : rnti (%x, %x), active %d
\n
"
,
enb_mod_idP
,
CC_idP
,
ii
,
...
...
openair2/UTIL/LOG/vcd_signal_dumper.c
View file @
26f5d0d9
...
...
@@ -122,6 +122,8 @@ const char* eurecomVariablesNames[] = {
"ue0_BSR"
,
"ue0_BO"
,
"ue0_scheduled"
,
"ue0_SR_ENERGY"
,
"ue0_SR_THRES"
,
"ue0_rssi0"
,
"ue0_rssi1"
,
"ue0_rssi2"
,
...
...
@@ -243,8 +245,6 @@ const char* eurecomFunctionsNames[] = {
"phy_enb_ulsch_decoding5"
,
"phy_enb_ulsch_decoding6"
,
"phy_enb_ulsch_decoding7"
,
"phy_enb_ulsch_decoding8"
,
"phy_enb_ulsch_decoding9"
,
"phy_enb_sfgen"
,
"phy_enb_prach_rx"
,
"phy_enb_pdcch_tx"
,
...
...
openair2/UTIL/LOG/vcd_signal_dumper.h
View file @
26f5d0d9
...
...
@@ -94,6 +94,8 @@ typedef enum {
VCD_SIGNAL_DUMPER_VARIABLES_UE0_BSR
,
VCD_SIGNAL_DUMPER_VARIABLES_UE0_BO
,
VCD_SIGNAL_DUMPER_VARIABLES_UE0_SCHEDULED
,
VCD_SIGNAL_DUMPER_VARIABLES_UE0_SR_ENERGY
,
VCD_SIGNAL_DUMPER_VARIABLES_UE0_SR_THRES
,
VCD_SIGNAL_DUMPER_VARIABLES_UE0_RSSI0
,
VCD_SIGNAL_DUMPER_VARIABLES_UE0_RSSI1
,
VCD_SIGNAL_DUMPER_VARIABLES_UE0_RSSI2
,
...
...
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
View file @
26f5d0d9
...
...
@@ -622,7 +622,7 @@ extern "C" {
openair0_cfg
[
0
].
tx_sample_advance
=
113
;
openair0_cfg
[
0
].
tx_bw
=
10e6
;
openair0_cfg
[
0
].
rx_bw
=
10e6
;
openair0_cfg
[
0
].
tx_scheduling_advance
=
5
*
openair0_cfg
[
0
].
samples_per_packet
;
openair0_cfg
[
0
].
tx_scheduling_advance
=
10240
;
break
;
case
7680000
:
s
->
usrp
->
set_master_clock_rate
(
30.72e6
);
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
View file @
26f5d0d9
...
...
@@ -140,10 +140,10 @@ eNBs =
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"eth0"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.12.21
5
/24"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.12.21
3
/24"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"eth0"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.168.12.21
5
/24"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.168.12.21
3
/24"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
View file @
26f5d0d9
...
...
@@ -143,10 +143,10 @@ eNBs =
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"eth0"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.12.21
5
/24"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.12.21
3
/24"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"eth0"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.168.12.21
5
/24"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.168.12.21
3
/24"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
...
...
targets/RT/USER/eNB_usrp.gtkw
View file @
26f5d0d9
[*]
[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI
[*]
Sun Mar 13 08:08:42
2016
[*]
Mon Mar 14 12:40:13
2016
[*]
[dumpfile] "/tmp/openair_dump_eNB.vcd"
[dumpfile_mtime] "
Sun Mar 13 08:07:27
2016"
[dumpfile_size]
273954069
[savefile] "/home/
papillon
/openairinterface5g/targets/RT/USER/eNB_usrp.gtkw"
[timestart] 0
[dumpfile_mtime] "
Mon Mar 14 11:08:33
2016"
[dumpfile_size]
54022345
[savefile] "/home/
abeille
/openairinterface5g/targets/RT/USER/eNB_usrp.gtkw"
[timestart]
1259260000
0
[size] 1535 876
[pos] -1 -1
*-2
2.793451 63031840000
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
*-2
5.793451 12619679774
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
[sst_width] 284
[signals_width] 23
0
[signals_width] 23
8
[sst_expanded] 1
[sst_vpaned_height] 294
@24
...
...
@@ -55,6 +55,15 @@ variables.ue0_BO[63:0]
@420
variables.ue0_BSR[63:0]
@28
functions.macxface_initiate_ra_proc
@29
functions.macxface_terminate_ra_proc
@28
functions.macxface_SR_indication
@420
variables.ue0_SR_ENERGY[63:0]
variables.ue0_SR_THRES[63:0]
@28
functions.phy_enb_ulsch_decoding0
@420
variables.ue0_rssi0[63: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