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
0477e881
Commit
0477e881
authored
Nov 28, 2020
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
removed most new warnings
parent
18756c35
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
24 additions
and
18 deletions
+24
-18
openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c
openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c
+9
-2
openair1/PHY/LTE_TRANSPORT/if5_tools.c
openair1/PHY/LTE_TRANSPORT/if5_tools.c
+4
-7
openair1/PHY/defs_eNB.h
openair1/PHY/defs_eNB.h
+2
-0
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+9
-9
No files found.
openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c
View file @
0477e881
...
...
@@ -47,6 +47,7 @@ void lte_eNB_I0_measurements(PHY_VARS_eNB *eNB,
uint32_t
rb
;
int32_t
*
ul_ch
;
int32_t
n0_power_tot
;
int64_t
n0_power_tot2
;
int
len
;
int
offset
;
// noise measurements
...
...
@@ -75,12 +76,15 @@ void lte_eNB_I0_measurements(PHY_VARS_eNB *eNB,
}
n0_power_tot2
=
0
;
int
nb_rb
=
0
;
for
(
rb
=
0
;
rb
<
frame_parms
->
N_RB_UL
;
rb
++
)
{
n0_power_tot
=
0
;
int
offset0
=
(
frame_parms
->
first_carrier_offset
+
(
rb
*
12
))
%
frame_parms
->
ofdm_symbol_size
;
if
((
rb_mask
[
rb
>>
5
]
&
(
1
<<
(
rb
&
31
)))
==
0
)
{
// check that rb was not used in this subframe
nb_rb
++
;
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
measurements
->
n0_subband_power
[
aarx
][
rb
]
=
0
;
for
(
int
s
=
0
;
s
<
14
-
(
frame_parms
->
Ncp
<<
1
);
s
++
)
{
...
...
@@ -105,11 +109,14 @@ void lte_eNB_I0_measurements(PHY_VARS_eNB *eNB,
n0_power_tot
+=
measurements
->
n0_subband_power
[
aarx
][
rb
];
}
measurements
->
n0_subband_power_tot_dB
[
rb
]
=
dB_fixed
(
n0_power_tot
);
n0_power_tot
/=
frame_parms
->
nb_antennas_rx
;
n0_power_tot2
+=
n0_power_tot
;
measurements
->
n0_subband_power_tot_dB
[
rb
]
=
dB_fixed
(
n0_power_tot
/
frame_parms
->
nb_antennas_rx
);
measurements
->
n0_subband_power_tot_dBm
[
rb
]
=
measurements
->
n0_subband_power_tot_dB
[
rb
]
-
eNB
->
rx_total_gain_dB
-
dB_fixed
(
frame_parms
->
N_RB_UL
);
}
}
if
(
nb_rb
>
0
)
measurements
->
n0_subband_power_avg_dB
=
dB_fixed
(
n0_power_tot2
/
nb_rb
);
}
void
lte_eNB_srs_measurements
(
PHY_VARS_eNB
*
eNB
,
...
...
openair1/PHY/LTE_TRANSPORT/if5_tools.c
View file @
0477e881
...
...
@@ -1317,7 +1317,7 @@ void recv_IF5(RU_t *ru, openair0_timestamp *proc_timestamp, int subframe, uint16
LTE_DL_FRAME_PARMS
*
fp
=
ru
->
frame_parms
;
int32_t
*
txp
[
ru
->
nb_tx
],
*
rxp
[
ru
->
nb_rx
];
uint16_t
packet_id
=
0
,
i
=
0
,
element_id
=
0
;
uint16_t
packet_id
=
0
,
i
=
0
;
#ifdef DEBUG_UL_MOBIPASS
//int8_t dummy_buffer_rx[fp->samples_per_tti*2];
uint8_t
rxe
;
...
...
@@ -1326,9 +1326,6 @@ void recv_IF5(RU_t *ru, openair0_timestamp *proc_timestamp, int subframe, uint16
int32_t
spp_eth
=
(
int32_t
)
ru
->
ifdevice
.
openair0_cfg
->
samples_per_packet
;
int32_t
spsf
=
(
int32_t
)
ru
->
ifdevice
.
openair0_cfg
->
samples_per_frame
/
10
;
void
*
alaw_buffer
=
ru
->
ifbuffer
.
rx
;
uint16_t
*
data_block
=
NULL
;
uint16_t
*
j
=
NULL
;
openair0_timestamp
timestamp
[
ru
->
nb_rx
*
spsf
/
spp_eth
];
long
timein
[
ru
->
nb_rx
*
spsf
/
spp_eth
];
...
...
@@ -1441,7 +1438,7 @@ void recv_IF5(RU_t *ru, openair0_timestamp *proc_timestamp, int subframe, uint16
rxp
[
i
]
=
&
ru
->
common
.
rxdata
[
i
][
subframe
*
fp
->
samples_per_tti
];
int
aid
;
int
firstTS
=
1
;
openair0_timestamp
oldTS
;
openair0_timestamp
oldTS
=
0
;
for
(
packet_id
=
0
;
packet_id
<
ru
->
nb_rx
*
spsf
/
spp_eth
;
packet_id
++
)
{
//VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_SEND_IF5_PKT_ID, packet_id );
...
...
@@ -1460,8 +1457,8 @@ void recv_IF5(RU_t *ru, openair0_timestamp *proc_timestamp, int subframe, uint16
if
(
aid
==
0
)
{
if
(
firstTS
==
1
)
firstTS
=
0
;
else
if
(
oldTS
+
256
!=
timestamp
[
packet_id
])
{
LOG_I
(
PHY
,
"oldTS %llu, newTS %llu, diff %llu, timein %lu, timeout %lu
\n
"
,
oldTS
,
timestamp
[
packet_id
],
timestamp
[
packet_id
]
-
oldTS
,
timein
[
packet_id
],
timeout
[
packet_id
]);
for
(
int
i
=
0
;
i
<=
packet_id
;
i
++
)
LOG_I
(
PHY
,
"packet %d TS %llu, timein %lu, timeout %lu
\n
"
,
i
,
timestamp
[
i
],
timein
[
i
],
timeout
[
i
]);
LOG_I
(
PHY
,
"oldTS %llu, newTS %llu, diff %llu, timein %lu, timeout %lu
\n
"
,
(
long
long
unsigned
int
)
oldTS
,(
long
long
unsigned
int
)
timestamp
[
packet_id
],(
long
long
unsigned
int
)
timestamp
[
packet_id
]
-
oldTS
,
timein
[
packet_id
],
timeout
[
packet_id
]);
for
(
int
i
=
0
;
i
<=
packet_id
;
i
++
)
LOG_I
(
PHY
,
"packet %d TS %llu, timein %lu, timeout %lu
\n
"
,
i
,
(
long
long
unsigned
int
)
timestamp
[
i
],
timein
[
i
],
timeout
[
i
]);
AssertFatal
(
1
==
0
,
"fronthaul problem
\n
"
);
}
...
...
openair1/PHY/defs_eNB.h
View file @
0477e881
...
...
@@ -389,6 +389,8 @@ typedef struct {
short
n0_subband_power_tot_dB
[
100
];
//! estimated avg noise power per RB (dBm)
short
n0_subband_power_tot_dBm
[
100
];
//! etimated avg noise power over all RB (dB)
short
n0_subband_power_avg_dB
;
// eNB measurements (per user)
//! estimated received spatial signal power (linear)
unsigned
int
rx_spatial_power
[
NUMBER_OF_UE_MAX
][
2
][
2
];
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
0477e881
...
...
@@ -757,8 +757,8 @@ void fill_sr_indication(int UEid, PHY_VARS_eNB *eNB,uint16_t rnti,int frame,int
// pdu->rx_ue_information.handle = handle;
pdu
->
rx_ue_information
.
tl
.
tag
=
NFAPI_RX_UE_INFORMATION_TAG
;
pdu
->
rx_ue_information
.
rnti
=
rnti
;
int
SNRtimes10
=
dB_fixed_times10
(
stat
)
-
10
*
eNB
->
measurements
.
n0_subband_power_
dB
[
0
][
0
]
;
LOG_D
(
PHY
,
"stat %d subband
power %d, SNRtimes10 %d
\n
"
,
stat
,
eNB
->
measurements
.
n0_subband_power_dB
[
0
][
0
]
,
SNRtimes10
);
int
SNRtimes10
=
dB_fixed_times10
(
stat
)
-
10
*
eNB
->
measurements
.
n0_subband_power_
avg_dB
;
LOG_D
(
PHY
,
"stat %d subband
n0 %d, SNRtimes10 %d
\n
"
,
stat
,
eNB
->
measurements
.
n0_subband_power_avg_dB
,
SNRtimes10
);
pdu
->
ul_cqi_information
.
tl
.
tag
=
NFAPI_UL_CQI_INFORMATION_TAG
;
if
(
SNRtimes10
<
-
640
)
pdu
->
ul_cqi_information
.
ul_cqi
=
0
;
...
...
@@ -1604,8 +1604,8 @@ void fill_rx_indication(PHY_VARS_eNB *eNB,
timing_advance_update
=
63
;
pdu
->
rx_indication_rel8
.
timing_advance
=
timing_advance_update
;
// estimate UL_CQI for MAC
(from antenna port 0 only)
int
SNRtimes10
=
dB_fixed_times10
(
eNB
->
pusch_vars
[
UE_id
]
->
ulsch_power
[
0
]
)
-
10
*
eNB
->
measurements
.
n0_subband_power_dB
[
0
][
0
]
;
// estimate UL_CQI for MAC
int
SNRtimes10
=
dB_fixed_times10
(
eNB
->
pusch_vars
[
UE_id
]
->
ulsch_power
[
0
]
+
(
eNB
->
frame_parms
.
nb_antennas_rx
>
1
)
?
eNB
->
pusch_vars
[
UE_id
]
->
ulsch_power
[
1
]
:
0
)
-
10
*
eNB
->
measurements
.
n0_subband_power_avg_dB
;
if
(
SNRtimes10
<
-
640
)
pdu
->
rx_indication_rel8
.
ul_cqi
=
0
;
...
...
@@ -1919,7 +1919,7 @@ void fill_uci_harq_indication (int UEid, PHY_VARS_eNB *eNB, LTE_eNB_UCI *uci, in
pdu
->
rx_ue_information
.
rnti
=
uci
->
rnti
;
// estimate UL_CQI for MAC (from antenna port 0 only)
pdu
->
ul_cqi_information
.
tl
.
tag
=
NFAPI_UL_CQI_INFORMATION_TAG
;
int
SNRtimes10
=
dB_fixed_times10
(
uci
->
stat
)
-
10
*
eNB
->
measurements
.
n0_subband_power_
dB
[
0
][
0
]
;
int
SNRtimes10
=
dB_fixed_times10
(
uci
->
stat
)
-
10
*
eNB
->
measurements
.
n0_subband_power_
avg_dB
;
if
(
SNRtimes10
<
-
100
)
LOG_I
(
PHY
,
"uci->stat %d
\n
"
,
uci
->
stat
);
...
...
@@ -2132,17 +2132,17 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc) {
lte_eNB_I0_measurements
(
eNB
,
subframe
,
0
,
eNB
->
first_run_I0_measurements
);
int
min_I0
=
1000
,
max_I0
=
0
;
int
amin
=
0
,
amax
=
0
;
if
((
frame
==
0
)
&&
(
subframe
==
3
))
{
for
(
int
i
=
0
;
i
<
eNB
->
frame_parms
.
N_RB_UL
;
i
++
)
{
if
(
i
==
(
eNB
->
frame_parms
.
N_RB_UL
>>
1
)
-
1
)
i
+=
2
;
if
(
eNB
->
measurements
.
n0_subband_power_tot_dB
[
i
]
<
min_I0
)
min_I0
=
eNB
->
measurements
.
n0_subband_power_tot_dB
[
i
];
if
(
eNB
->
measurements
.
n0_subband_power_tot_dB
[
i
]
<
min_I0
)
{
min_I0
=
eNB
->
measurements
.
n0_subband_power_tot_dB
[
i
];
amin
=
i
;}
if
(
eNB
->
measurements
.
n0_subband_power_tot_dB
[
i
]
>
max_I0
)
max_I0
=
eNB
->
measurements
.
n0_subband_power_tot_dB
[
i
];
if
(
eNB
->
measurements
.
n0_subband_power_tot_dB
[
i
]
>
max_I0
)
{
max_I0
=
eNB
->
measurements
.
n0_subband_power_tot_dB
[
i
];
amax
=
i
;}
}
LOG_I
(
PHY
,
"max_I0 %d
, min_I0 %d
\n
"
,
max_I0
,
min_I0
);
LOG_I
(
PHY
,
"max_I0 %d
(rb %d), min_I0 %d (rb %d), avg I0 %d
\n
"
,
max_I0
,
amax
,
min_I0
,
amin
,
eNB
->
measurements
.
n0_subband_power_avg_dB
);
}
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_RX_UESPEC
,
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